UNPKG

signalk-ais-target-prioritizer

Version:

Plots and priorizes AIS targets according to guard and CPA criteria.

891 lines 1.48 MB
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var f=o((()=>{})),p=o((()=>{})),m=o((()=>{f(),p()}));function h(e){return typeof e==`function`}function g(e){return e()}function _(e){for(var t=0;t<e.length;t++)e[t]()}function v(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function y(e,t,n=!1){return e===void 0?n?t():t:e}function b(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}function x(e,t){var n={};for(var r in e)t.includes(r)||(n[r]=e[r]);for(var i of Object.getOwnPropertySymbols(e))Object.propertyIsEnumerable.call(e,i)&&!t.includes(i)&&(n[i]=e[i]);return n}var S,C,w,T,ee,E,D,O,k,te,ne,A,re=o((()=>{S=Array.isArray,C=Array.prototype.indexOf,w=Array.prototype.includes,T=Array.from,ee=Object.defineProperty,E=Object.getOwnPropertyDescriptor,D=Object.getOwnPropertyDescriptors,O=Object.prototype,k=Array.prototype,te=Object.getPrototypeOf,ne=Object.isExtensible,A=()=>{}})),ie,ae,oe,se,ce,le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae=o((()=>{ie=1<<24,ae=1024,oe=2048,se=4096,ce=8192,le=16384,ue=32768,de=1<<25,fe=65536,pe=1<<19,me=1<<20,he=1<<25,ge=65536,_e=1<<21,ve=1<<22,ye=1<<23,be=Symbol(`$state`),xe=Symbol(`legacy props`),Se=Symbol(``),Ce=Symbol(`attributes`),we=Symbol(`class`),Te=Symbol(`style`),Ee=Symbol(`text`),De=Symbol(`form reset`),Oe=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ke=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`)}));function je(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}var Me=o((()=>{m()}));function Ne(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function Pe(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function Fe(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Ie(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Le(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function Re(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function ze(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Be(){throw Error(`https://svelte.dev/e/set_context_after_init`)}function Ve(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function He(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function j(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Ue(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var We=o((()=>{m(),Me()})),Ge,Ke,qe,Je,Ye,Xe=o((()=>{Ge={},Ke=Symbol(`uninitialized`),qe=`http://www.w3.org/1999/xhtml`,Je=`http://www.w3.org/2000/svg`,Ye=`http://www.w3.org/1998/Math/MathML`}));function Ze(){console.warn(`https://svelte.dev/e/derived_inert`)}function Qe(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function $e(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function M(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var et=o((()=>{m()}));function tt(e){ot=e}function nt(e){if(e===null)throw Qe(),Ge;return st=e}function rt(){return nt(vr(st))}function N(e){if(ot){if(vr(st)!==null)throw Qe(),Ge;st=e}}function P(e=1){if(ot){for(var t=e,n=st;t--;)n=vr(n);st=n}}function it(e=!0){for(var t=0,n=st;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else(r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=vr(n);e&&n.remove(),n=i}}function at(e){if(!e||e.nodeType!==8)throw Qe(),Ge;return e.data}var ot,st,F=o((()=>{Ae(),Xe(),et(),Or(),ot=!1}));function ct(e){return e===this.v}function lt(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function ut(e){return!lt(e,this.v)}var dt=o((()=>{}));function ft(){mt=!0}var pt,mt,ht=o((()=>{pt=!1,mt=!1})),gt=o((()=>{m()}));function _t(e,t=!1,n=!1){return vt(e,new Map,``,yt,null,n)}function vt(e,t,n,r,i=null,a=!1){if(typeof e==`object`&&e){var o=t.get(e);if(o!==void 0)return o;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(S(e)){var s=Array(e.length);t.set(e,s),i!==null&&t.set(i,s);for(var c=0;c<e.length;c+=1){var l=e[c];c in e&&(s[c]=vt(l,t,n,r,null,a))}return s}if(te(e)===O){s={},t.set(e,s),i!==null&&t.set(i,s);for(var u of Object.keys(e))s[u]=vt(e[u],t,n,r,null,a);return s}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON==`function`&&!a)return vt(e.toJSON(),t,n,r,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}var yt,bt=o((()=>{m(),gt(),re(),yt=[]})),xt=o((()=>{bt(),Ae(),ni(),Fi()})),St=o((()=>{m(),re(),Me()}));function Ct(e){At=e}function wt(e){return Ot(`getContext`).get(e)}function Tt(e,t){let n=Ot(`setContext`);if(pt){var r=Di.f;!Ti&&r&32&&!At.i||Be()}return n.set(e,t),t}function Et(){return Ot(`getAllContexts`)}function I(e,t=!1,n){At={p:At,i:!1,c:null,e:null,s:e,x:null,r:Di,l:mt&&!t?{s:null,u:null,$:[]}:null}}function R(e){var t=At,n=t.e;if(n!==null){t.e=null;for(var r of n)Fr(r)}return e!==void 0&&(t.x=e),t.i=!0,At=t.p,e??{}}function Dt(){return!mt||At!==null&&At.l===null}function Ot(e){return At===null&&je(e),At.c??=new Map(kt(At)||void 0)}function kt(e){let t=e.p;for(;t!==null;){let e=t.c;if(e!==null)return e;t=t.p}return null}var At,jt=o((()=>{m(),We(),Fi(),ni(),ht(),Ae(),At=null}));function Mt(){var e=Ft;Ft=[],_(e)}function Nt(e){if(Ft.length===0&&!Un){var t=Ft;queueMicrotask(()=>{t===Ft&&Mt()})}Ft.push(e)}function Pt(){for(;Ft.length>0;)Mt()}var Ft,It=o((()=>{re(),Zn(),Ft=[]}));function Lt(e){var t=Di;if(t===null)return Ti.f|=ye,e;if(!(t.f&32768)&&!(t.f&4))throw e;Rt(e,t)}function Rt(e,t){if(!(t!==null&&t.f&16384)){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}}var zt=o((()=>{m(),Xe(),Or(),Ae(),re(),Fi()}));function Bt(e,t){e.f=e.f&Ht|t}function Vt(e){e.f&512||e.deps===null?Bt(e,ae):Bt(e,se)}var Ht,Ut=o((()=>{Ae(),Ht=~(oe|se|ae)}));function Wt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ge,Wt(t.deps))}function Gt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Wt(e.deps),Bt(e,ae)}var Kt=o((()=>{Ae(),Ut()})),qt=o((()=>{Fi(),re()})),Jt=o((()=>{re(),qt()}));function Yt(e){var t=Zt;try{return Zt=!1,[e(),Zt]}finally{Zt=t}}var Xt,Zt,Qt=o((()=>{qt(),Jt(),re(),Fi(),ni(),lr(),Xt=!1,Zt=!1})),$t=o((()=>{Ae(),bt(),Fi()}));function en(e,t){if(t){let t=document.body;e.autofocus=!0,Nt(()=>{document.activeElement===t&&e.focus()})}}function tn(){nn||(nn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[De]?.()})},{capture:!0}))}var nn,rn=o((()=>{F(),Or(),It(),Ae(),nn=!1}));function an(e,t,n,r=!0){r&&n();for(var i of t)e.addEventListener(i,n);Nr(()=>{for(var r of t)e.removeEventListener(r,n)})}function on(e){var t=Ti,n=Di;oi(null),si(null);try{return e()}finally{oi(t),si(n)}}var sn=o((()=>{ni(),Fi(),Ae(),rn()}));function cn(e){let t=0,n=Qn(0),r;return()=>{Mr()&&(U(n),Br(()=>(t===0&&(r=bi(()=>e(()=>ir(n)))),t+=1,()=>{Nt(()=>{--t,t===0&&(r?.(),r=void 0,ir(n))})})))}}var ln=o((()=>{Fi(),ni(),lr(),xt(),m(),It()}));function un(e,t,n,r){new fn(e,t,n,r)}var dn,fn,pn=o((()=>{Ae(),Xe(),jt(),zt(),ni(),Fi(),F(),It(),We(),et(),m(),Zn(),lr(),xt(),ln(),Or(),Kt(),dn=fe|pe,fn=class{parent;is_pending=!1;transform_error;#e;#t=ot?st:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=cn(()=>(this.#m=Qn(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=Di;t.b=this,t.f|=128,n(e)},this.parent=Di.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Hr(()=>{if(ot){let e=this.#t;rt();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},dn),ot&&(this.#e=st)}#g(){try{this.#a=Wr(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Wr(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Wr(()=>e(this.#e)),Nt(()=>{var e=this.#c=document.createDocumentFragment(),t=gr();e.append(t),this.#a=this.#x(()=>Wr(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Zr(this.#o,()=>{this.#o=null}),this.#b(zn))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Wr(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();ti(this.#a,e);let t=this.#n.pending;this.#o=Wr(()=>t(this.#e))}else this.#b(zn)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){Gt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=Di,n=Ti,r=At;si(this.#i),oi(this.#i),Ct(this.#i.ctx);try{return Yn.ensure(),e()}catch(e){return Lt(e),null}finally{si(t),oi(n),Ct(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Zr(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,Nt(()=>{this.#d=!1,this.#m&&nr(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),U(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;zn?.is_fork?(this.#a&&zn.skip_effect(this.#a),this.#o&&zn.skip_effect(this.#o),this.#s&&zn.skip_effect(this.#s),zn.oncommit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Jr(this.#a),null),this.#o&&=(Jr(this.#o),null),this.#s&&=(Jr(this.#s),null),ot&&(nt(this.#t),P(),nt(it()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){M();return}r=!0,i&&Ue(),this.#s!==null&&Zr(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){Rt(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Wr(()=>{var t=Di;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return Rt(e,this.#i.parent),null}}))};Nt(()=>{var t;try{t=this.transform_error(e)}catch(e){Rt(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>Rt(e,this.#i&&this.#i.parent)):o(t)})}}}));function mn(e,t,n,r){let i=Dt()?yn:xn;var a=e.filter(e=>!e.settled),o=t.map(i);if(n.length===0&&a.length===0){r(o);return}var s=Di,c=hn(),l=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function u(e){if(!(s.f&16384)){c();try{r([...o,...e])}catch(e){Rt(e,s)}gn()}}var d=_n();if(n.length===0){l.then(()=>u([])).finally(d);return}function f(){Promise.all(n.map(e=>bn(e))).then(u).catch(e=>Rt(e,s)).finally(d)}l?l.then(()=>{c(),f(),gn()}):f()}function hn(){var e=Di,t=Ti,n=At,r=zn;return function(i=!0){si(e),oi(t),Ct(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function gn(e=!0){si(null),oi(null),Ct(null),e&&zn?.deactivate()}function _n(){var e=Di,t=e.b,n=zn,r=!!t?.is_rendered();return t?.update_pending_count(1,n),n.increment(r,e),()=>{t?.update_pending_count(-1,n),n.decrement(r,e)}}var vn=o((()=>{Ae(),m(),jt(),pn(),zt(),Fi(),Zn(),On(),ni(),It()}));function yn(e){var t=2|oe;return Di!==null&&(Di.f|=pe),{ctx:At,deps:null,effects:null,equals:ct,f:t,fn:e,reactions:null,rv:0,v:Ke,wv:0,parent:Di,ac:null}}function bn(e,t,n){let r=Di;r===null&&Ne();var i=void 0,a=Qn(Ke),o=!Ti,s=new Set;return zr(()=>{var t=Di,n=v();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==Oe&&n.reject(e)}).finally(gn)}catch(e){n.reject(e),gn()}var c=zn;if(o){if(t.f&32768)var l=_n();if(r.b?.is_rendered())c.async_deriveds.get(t)?.reject(Dn);else for(let e of s.values())e.reject(Dn);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==Dn&&(c.activate(),t?(a.f|=ye,nr(a,t)):(a.f&8388608&&(a.f^=ye),nr(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),Nr(()=>{for(let e of s)e.reject(Dn)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function z(e){let t=yn(e);return pt||ci(t),t}function xn(e){let t=yn(e);return t.equals=ut,t}function Sn(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Jr(t[n])}}function Cn(e){var t,n=Di,r=e.parent;if(!wi&&r!==null&&e.v!==Ke&&r.f&24576)return Ze(),e.v;si(r);try{e.f&=~ge,Sn(e),t=mi(e)}finally{si(n)}return t}function wn(e){var t=Cn(e);if(!e.equals(t)&&(e.wv=di(),(!zn?.is_fork||e.deps===null)&&(zn===null?e.v=t:(zn.capture(e,t,!0),Bn?.capture(e,t,!0)),e.deps===null))){Bt(e,ae);return}wi||(Vn===null?Vt(e):(Mr()||zn?.is_fork)&&Vn.set(e,t))}function Tn(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac!==null&&on(()=>{t.ac.abort(Oe),t.ac=null}),t.fn!==null&&(t.teardown=A),gi(t,0),Kr(t))}function En(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&_i(t)}var Dn,On=o((()=>{m(),Ae(),Fi(),sn(),dt(),We(),et(),ni(),lr(),St(),ht(),jt(),Xe(),Zn(),vn(),re(),Ut(),Dn=Symbol(`obsolete`)}));function kn(e){var t=Un;Un=!0;try{var n;for(e&&(zn!==null&&!zn.is_fork&&zn.flush(),n=e());;){if(Pt(),zn===null)return n;zn.flush()}}finally{Un=t}}function An(){try{Re()}catch(e){Rt(e,Hn)}}function jn(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&fi(r)&&(Xn=new Set,_i(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Xr(r),Xn?.size>0)){sr.clear();for(let e of Xn){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Xn.has(n)&&(Xn.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||_i(n)}}Xn.clear()}}Xn=null}}function Mn(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Mn(i,t,n,r):e&4194320&&!(e&2048)&&Nn(i,t,r)&&(Bt(i,oe),Pn(i))}}function Nn(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(w.call(t,r))return!0;if(r.f&2&&Nn(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function Pn(e){zn.schedule(e)}function Fn(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),Bt(e,ae);for(var n=e.first;n!==null;)Fn(n,t),n=n.next}}function In(e){Bt(e,ae);for(var t=e.first;t!==null;)In(t),t=t.next}var Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn=o((()=>{Ae(),ht(),re(),Fi(),We(),It(),m(),zt(),lr(),ni(),Kt(),Xe(),Ut(),Qt(),St(),$t(),On(),Ln=null,Rn=null,zn=null,Bn=null,Vn=null,Hn=null,Un=!1,Wn=!1,Gn=null,Kn=null,qn=0,Jn=1,Yn=class e{id=Jn++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;#r=new Set;#i=new Set;#a=0;#o=new Map;#s=null;#c=[];#l=[];#u=new Set;#d=new Set;#f=new Map;#p=new Set;is_fork=!1;#m=!1;constructor(){Rn===null?Ln=Rn=this:(Rn.#n=this,this.#t=Rn),Rn=this}#h(){if(this.is_fork)return!0;for(let n of this.#o.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#f.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#f.has(e)||this.#f.set(e,{d:[],m:[]}),this.#p.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#f.get(e);if(n){this.#f.delete(e);for(var r of n.d)Bt(r,oe),t(r);for(r of n.m)Bt(r,se),t(r)}this.#p.add(e)}#g(){this.#e=!0,qn++>1e3&&(this.#S(),An());for(let e of this.#u)this.#d.delete(e),Bt(e,oe),this.schedule(e);for(let e of this.#d)Bt(e,se),this.schedule(e);let t=this.#c;this.#c=[],this.apply();var n=Gn=[],r=[],i=Kn=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw In(e),this.#h()||this.discard(),t}if(zn=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Gn=null,Kn=null,this.#h()){this.#b(r),this.#b(n);for(let[e,t]of this.#f)Fn(e,t);i.length>0&&zn.#g();return}let o=this.#v();if(o){this.#b(r),this.#b(n),o.#y(this);return}this.#u.clear(),this.#d.clear();for(let e of this.#r)e(this);this.#r.clear(),Bn=this,jn(r),jn(n),Bn=null,this.#s?.resolve();var s=zn;if(this.#a===0&&(this.#c.length===0||s!==null)&&(this.#S(),pt&&(this.#x(),zn=s)),this.#c.length>0)if(s!==null){let e=s;e.#c.push(...this.#c.filter(t=>!e.#c.includes(t)))}else s=this;s!==null&&s.#g()}#_(e,t,n){e.f^=ae;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#f.has(r))&&r.fn!==null){a?r.f^=ae:i&4?t.push(r):pt&&i&16777224?n.push(r):fi(r)&&(i&16&&this.#d.add(r),_i(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#y(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve).catch(e.reject)}e.async_deriveds.clear(),this.transfer_effects(e.#u,e.#d);let t=e=>{var n=e.reactions;if(n!==null&&!(e.f&2&&!(e.f&6144)))for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#d.delete(i),Bt(i,oe),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#S(),zn=this,this.#g()}#b(e){for(var t=0;t<e.length;t+=1)Gt(e[t],this.#u,this.#d)}capture(e,t,n=!1){e.v!==Ke&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),Vn?.set(e,t)),this.is_fork||(e.v=t)}activate(){zn=this}deactivate(){zn=null,Vn=null}flush(){try{Wn=!0,zn=this,this.#g()}finally{qn=0,Hn=null,Gn=null,Kn=null,Wn=!1,zn=null,Vn=null,sr.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear();for(let e of this.async_deriveds.values())e.reject(Dn);this.#S(),this.#s?.resolve()}register_created_effect(e){this.#l.push(e)}#x(){for(let u=Ln;u!==null;u=u.#n){var e=u.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(u.current.has(r)){var n=u.current.get(r)[0];if(e&&i!==n)u.current.set(r,[i,a]);else continue}t.push(r)}if(e)for(let[e,t]of this.async_deriveds){let n=u.async_deriveds.get(e);n&&t.promise.then(n.resolve).catch(n.reject)}var r=[...u.current.keys()].filter(e=>!u.current.get(e)[1]);if(!(!u.#e||r.length===0)){var i=r.filter(e=>!this.current.has(e));if(i.length===0)e&&u.discard();else if(t.length>0){if(e)for(let e of this.#p)u.unskip_effect(e,e=>{e.f&4194320?u.schedule(e):u.#b([e])});u.activate();var a=new Set,o=new Map;for(var s of t)Mn(s,i,a,o);o=new Map;var c=[...u.current].filter(([e,t])=>{let n=this.current.get(e);return!n||n[0]!==t[0]||n[1]!==t[1]}).map(([e])=>e);if(c.length>0)for(let e of this.#l)!(e.f&155648)&&Nn(e,c,o)&&(e.f&4194320?(Bt(e,oe),u.schedule(e)):u.#u.add(e));if(u.#c.length>0&&!u.#m){u.apply();for(var l of u.#c)u.#_(l,[],[]);u.#c=[]}u.deactivate()}}}}increment(e,t){if(this.#a+=1,e){let e=this.#o.get(t)??0;this.#o.set(t,e+1)}}decrement(e,t){if(--this.#a,e){let e=this.#o.get(t)??0;e===1?this.#o.delete(t):this.#o.set(t,e-1)}this.#m||(this.#m=!0,Nt(()=>{this.#m=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#u.add(t);for(let e of t)this.#d.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}settled(){return(this.#s??=v()).promise}static ensure(){if(zn===null){let t=zn=new e;!Wn&&!Un&&Nt(()=>{t.#e||t.flush()})}return zn}apply(){if(!pt||!this.is_fork&&this.#t===null&&this.#n===null){Vn=null;return}Vn=new Map;for(let[e,[t]]of this.current)Vn.set(e,t);for(let t=Ln;t!==null;t=t.#n)if(!(t===this||t.is_fork)){var e=!1;if(t.id<this.id){for(let[n,[,r]]of t.current)if(!r&&this.current.has(n)){e=!0;break}}if(!e)for(let[e,n]of t.previous)Vn.has(e)||Vn.set(e,n)}}schedule(e){if(Hn=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Gn!==null&&t===Di&&(pt||(Ti===null||!(Ti.f&2))&&!Xt))return;if(n&96){if(!(n&1024))return;t.f^=ae}}this.#c.push(t)}#S(){if(this.linked){var e=this.#t,t=this.#n;e===null?Ln=t:e.#n=t,t===null?Rn=e:t.#t=e,this.linked=!1}}},Xn=null}));function Qn(e,t){return{f:0,v:e,reactions:null,equals:ct,rv:0,wv:0}}function $n(e,t){let n=Qn(e,t);return ci(n),n}function er(e,t=!1,n=!0){let r=Qn(e);return t||(r.equals=ut),mt&&n&&At!==null&&At.l!==null&&(At.l.s??=[]).push(r),r}function tr(e,t,n=!1){return Ti!==null&&(!Ei||Ti.f&131072)&&Dt()&&Ti.f&4325394&&(Oi===null||!Oi.has(e))&&j(),nr(e,n?ur(t):t,Kn)}function nr(e,t,n=null){if(!e.equals(t)){sr.set(e,wi?t:e.v);var r=Yn.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&Cn(t),Vn===null&&Vt(t)}e.wv=di(),ar(e,oe,n),Dt()&&Di!==null&&Di.f&1024&&!(Di.f&96)&&(ji===null?li([e]):ji.push(e)),!r.is_fork&&or.size>0&&!cr&&rr()}return t}function rr(){cr=!1;for(let e of or){e.f&1024&&Bt(e,se);let t;try{t=fi(e)}catch{t=!0}t&&_i(e)}or.clear()}function ir(e){tr(e,e.v+1)}function ar(e,t,n){var r=e.reactions;if(r!==null)for(var i=Dt(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===Di)){var l=(c&oe)===0;if(l&&Bt(s,t),c&131072)or.add(s);else if(c&2){var u=s;Vn?.delete(u),c&65536||(c&512&&(Di===null||!(Di.f&2097152))&&(s.f|=ge),ar(u,se,n))}else if(l){var d=s;c&16&&Xn!==null&&Xn.add(d),n===null?Pn(d):n.push(d)}}}}var or,sr,cr,lr=o((()=>{m(),Fi(),dt(),Ae(),We(),ht(),xt(),St(),jt(),Zn(),pr(),On(),Ut(),or=new Set,sr=new Map,cr=!1}));function ur(e){if(typeof e!=`object`||!e||be in e)return e;let t=te(e);if(t!==O&&t!==k)return e;var n=new Map,r=S(e),i=$n(0),a=null,o=Pi,s=e=>{if(Pi===o)return e();var t=Ti,n=Pi;oi(null),ui(o);var r=e();return oi(t),ui(n),r};return r&&n.set(`length`,$n(e.length,a)),new Proxy(e,{defineProperty(e,t,r){(!(`value`in r)||r.configurable===!1||r.enumerable===!1||r.writable===!1)&&Ve();var i=n.get(t);return i===void 0?s(()=>{var e=$n(r.value,a);return n.set(t,e),e}):tr(i,r.value,!0),!0},deleteProperty(e,t){var r=n.get(t);if(r===void 0){if(t in e){let e=s(()=>$n(Ke,a));n.set(t,e),ir(i)}}else tr(r,Ke),ir(i);return!0},get(t,r,i){if(r===be)return e;var o=n.get(r),c=r in t;if(o===void 0&&(!c||E(t,r)?.writable)&&(o=s(()=>$n(ur(c?t[r]:Ke),a)),n.set(r,o)),o!==void 0){var l=U(o);return l===Ke?void 0:l}return Reflect.get(t,r,i)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&`value`in r){var i=n.get(t);i&&(r.value=U(i))}else if(r===void 0){var a=n.get(t),o=a?.v;if(a!==void 0&&o!==Ke)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return r},has(e,t){if(t===be)return!0;var r=n.get(t),i=r!==void 0&&r.v!==Ke||Reflect.has(e,t);return(r!==void 0||Di!==null&&(!i||E(e,t)?.writable))&&(r===void 0&&(r=s(()=>$n(i?ur(e[t]):Ke,a)),n.set(t,r)),U(r)===Ke)?!1:i},set(e,t,o,c){var l=n.get(t),u=t in e;if(r&&t===`length`)for(var d=o;d<l.v;d+=1){var f=n.get(d+``);f===void 0?d in e&&(f=s(()=>$n(Ke,a)),n.set(d+``,f)):tr(f,Ke)}if(l===void 0)(!u||E(e,t)?.writable)&&(l=s(()=>$n(void 0,a)),tr(l,ur(o)),n.set(t,l));else{u=l.v!==Ke;var p=s(()=>ur(o));tr(l,p)}var m=Reflect.getOwnPropertyDescriptor(e,t);if(m?.set&&m.set.call(c,o),!u){if(r&&typeof t==`string`){var h=n.get(`length`),g=Number(t);Number.isInteger(g)&&g>=h.v&&tr(h,g+1)}ir(i)}return!0},ownKeys(e){U(i);var t=Reflect.ownKeys(e).filter(e=>{var t=n.get(e);return t===void 0||t.v!==Ke});for(var[r,a]of n)a.v!==Ke&&!(r in e)&&t.push(r);return t},setPrototypeOf(){He()}})}function dr(e){try{if(typeof e==`object`&&e&&be in e)return e[be]}catch{}return e}function fr(e,t){return Object.is(dr(e),dr(t))}var pr=o((()=>{m(),Fi(),re(),lr(),Ae(),Xe(),We(),xt(),St(),ht()})),mr=o((()=>{et(),pr()}));function hr(){if(Cr===void 0){Cr=window,wr=document,Tr=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Er=E(t,`firstChild`).get,Dr=E(t,`nextSibling`).get,ne(e)&&(e[we]=void 0,e[Ce]=null,e[Te]=void 0,e.__e=void 0),ne(n)&&(n[Ee]=void 0)}}function gr(e=``){return document.createTextNode(e)}function _r(e){return Er.call(e)}function vr(e){return Dr.call(e)}function B(e,t){if(!ot)return _r(e);var n=_r(st);if(n===null)n=st.appendChild(gr());else if(t&&n.nodeType!==3){var r=gr();return n?.before(r),nt(r),r}return t&&Sr(n),nt(n),n}function V(e,t=!1){if(!ot){var n=_r(e);return n instanceof Comment&&n.data===``?vr(n):n}if(t){if(st?.nodeType!==3){var r=gr();return st?.before(r),nt(r),r}Sr(st)}return st}function H(e,t=1,n=!1){let r=ot?st:e;for(var i;t--;)i=r,r=vr(r);if(!ot)return r;if(n){if(r?.nodeType!==3){var a=gr();return r===null?i?.after(a):r.before(a),nt(a),a}Sr(r)}return nt(r),r}function yr(e){e.textContent=``}function br(){return!pt||Xn!==null?!1:(Di.f&ue)!==0}function xr(e,t,n){return t==null||t===`http://www.w3.org/1999/xhtml`?n?document.createElement(e,{is:n}):document.createElement(e):n?document.createElementNS(t,e,{is:n}):document.createElementNS(t,e)}function Sr(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}var Cr,wr,Tr,Er,Dr,Or=o((()=>{F(),m(),mr(),re(),Fi(),ht(),Ae(),Zn(),Xe()}));function kr(e){Di===null&&(Ti===null&&Le(e),Ie()),wi&&Fe(e)}function Ar(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function jr(e,t){var n=Di;n!==null&&n.f&8192&&(e|=ce);var r={ctx:At,deps:null,nodes:null,f:e|oe|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};zn?.register_created_effect(r);var i=r;if(e&4)Gn===null?Yn.ensure().schedule(r):Gn.push(r);else if(t!==null){try{_i(r)}catch(e){throw Jr(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=fe))}if(i!==null&&(i.parent=n,n!==null&&Ar(i,n),Ti!==null&&Ti.f&2&&!(e&64))){var a=Ti;(a.effects??=[]).push(i)}return r}function Mr(){return Ti!==null&&!Ei}function Nr(e){let t=jr(8,null);return Bt(t,ae),t.teardown=e,t}function Pr(e){kr(`$effect`);var t=Di.f;if(!Ti&&t&32&&At!==null&&!At.i){var n=At;(n.e??=[]).push(e)}else return Fr(e)}function Fr(e){return jr(4|me,e)}function Ir(e){return kr(`$effect.pre`),jr(8|me,e)}function Lr(e){Yn.ensure();let t=jr(64|pe,e);return(e={})=>new Promise(n=>{e.outro?Zr(t,()=>{Jr(t),n(void 0)}):(Jr(t),n(void 0))})}function Rr(e){return jr(4,e)}function zr(e){return jr(ve|pe,e)}function Br(e,t=0){return jr(8|t,e)}function Vr(e,t=[],n=[],r=[]){mn(r,t,n,t=>{jr(8,()=>{e(...t.map(U))})})}function Hr(e,t=0){return jr(16|t,e)}function Ur(e,t=0){return jr(ie|t,e)}function Wr(e){return jr(32|pe,e)}function Gr(e){var t=e.teardown;if(t!==null){let e=wi,n=Ti;ai(!0),oi(null);try{t.call(null)}finally{ai(e),oi(n)}}}function Kr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&on(()=>{e.abort(Oe)});var r=n.next;n.f&64?n.parent=null:Jr(n,t),n=r}}function qr(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Jr(t),t=n}}function Jr(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Yr(e.nodes.start,e.nodes.end),n=!0),e.f|=de,Kr(e,t&&!n),gi(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Gr(e),e.f^=de,e.f|=le;var i=e.parent;i!==null&&i.first!==null&&Xr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Yr(e,t){for(;e!==null;){var n=e===t?null:vr(e);e.remove(),e=n}}function Xr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Zr(e,t,n=!0){var r=[];Qr(e,r,!0);var i=()=>{n&&Jr(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Qr(e,t,n){if(!(e.f&8192)){e.f^=ce;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Qr(i,t,o?n:!1)}i=a}}}function $r(e){ei(e,!0)}function ei(e,t){if(e.f&8192){e.f^=ce,e.f&1024||(Bt(e,oe),Yn.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;ei(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function ti(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:vr(n);t.append(n),n=i}}var ni=o((()=>{Fi(),Ae(),We(),m(),re(),Or(),jt(),Zn(),vn(),sn(),Ut()})),ri,ii=o((()=>{lr(),Fi(),ri=null}));function ai(e){wi=e}function oi(e){Ti=e}function si(e){Di=e}function ci(e){Ti!==null&&(!pt||Ti.f&2)&&(Oi??=new Set).add(e)}function li(e){ji=e}function ui(e){Pi=e}function di(){return++Mi}function fi(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ge),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(fi(a)&&wn(a),a.wv>e.wv)return!0}t&512&&Vn===null&&Bt(e,ae)}return!1}function pi(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!pt&&Oi!==null&&Oi.has(e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?pi(a,t,!1):t===a&&(n?Bt(a,oe):a.f&1024&&Bt(a,se),Pn(a))}}function mi(e){var t=ki,n=Ai,r=ji,i=Ti,a=Oi,o=At,s=Ei,c=Pi,l=e.f;ki=null,Ai=0,ji=null,Ti=l&96?null:e,Oi=null,Ct(e.ctx),Ei=!1,Pi=++Ni,e.ac!==null&&(on(()=>{e.ac.abort(Oe)}),e.ac=null);try{e.f|=_e;var u=e.fn,d=u();e.f|=ue;var f=e.deps,p=zn?.is_fork;if(ki!==null){var m;if(p||gi(e,Ai),f!==null&&Ai>0)for(f.length=Ai+ki.length,m=0;m<ki.length;m++)f[Ai+m]=ki[m];else e.deps=f=ki;if(Mr()&&e.f&512)for(m=Ai;m<f.length;m++)(f[m].reactions??=[]).push(e)}else!p&&f!==null&&Ai<f.length&&(gi(e,Ai),f.length=Ai);if(Dt()&&ji!==null&&!Ei&&f!==null&&!(e.f&6146))for(m=0;m<ji.length;m++)pi(ji[m],e);if(i!==null&&i!==e){if(Ni++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=Ni;if(t!==null)for(let e of t)e.rv=Ni;ji!==null&&(r===null?r=ji:r.push(...ji))}return e.f&8388608&&(e.f^=ye),d}catch(e){return Lt(e)}finally{e.f^=_e,ki=t,Ai=n,ji=r,Ti=i,Oi=a,Ct(o),Ei=s,Pi=c}}function hi(e,t){let n=t.reactions;if(n!==null){var r=C.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&t.f&2&&(ki===null||!w.call(ki,t))){var a=t;a.f&512&&(a.f^=512,a.f&=~ge),a.v!==Ke&&Vt(a),a.ac!==null&&on(()=>{a.ac.abort(Oe),a.ac=null,Bt(a,oe)}),Tn(a),gi(a,0)}}function gi(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)hi(e,n[r])}function _i(e){var t=e.f;if(!(t&16384)){Bt(e,ae);var n=Di,r=Ci;Di=e,Ci=(t&96)==0;try{t&16777232?qr(e):Kr(e),Gr(e);var i=mi(e);e.teardown=typeof i==`function`?i:null,e.wv=Mi}finally{Ci=r,Di=n}}}function U(e){var t=(e.f&2)!=0;if(ri?.add(e),Ti!==null&&!Ei&&!(Di!==null&&Di.f&16384)&&(Oi===null||!Oi.has(e))){var n=Ti.deps;if(Ti.f&2097152)e.rv<Ni&&(e.rv=Ni,ki===null&&n!==null&&n[Ai]===e?Ai++:ki===null?ki=[e]:ki.push(e));else{Ti.deps??=[],w.call(Ti.deps,e)||Ti.deps.push(e);var r=e.reactions;r===null?e.reactions=[Ti]:w.call(r,Ti)||r.push(Ti)}}if(wi&&sr.has(e))return sr.get(e);if(t){var i=e;if(wi){var a=i.v;return(!(i.f&1024)&&i.reactions!==null||yi(i))&&(a=Cn(i)),sr.set(i,a),a}var o=(i.f&512)==0&&!Ei&&Ti!==null&&(Ci||(Ti.f&512)!=0),s=(i.f&ue)===0;fi(i)&&(o&&(i.f|=512),wn(i)),o&&!s&&(En(i),vi(i))}if(Vn?.has(e))return Vn.get(e);if(e.f&8388608)throw e.v;return e.v}function vi(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(En(t),vi(t))}function yi(e){if(e.v===Ke)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(sr.has(t)||t.f&2&&yi(t))return!0;return!1}function bi(e){var t=Ei;try{return Ei=!0,e()}finally{Ei=t}}function xi(e){if(!(typeof e!=`object`||!e||e instanceof EventTarget)){if(be in e)Si(e);else if(!Array.isArray(e))for(let t in e){let n=e[t];typeof n==`object`&&n&&be in n&&Si(n)}}}function Si(e,t=new Set){if(typeof e==`object`&&e&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let n in e)try{Si(e[n],t)}catch{}let n=te(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){let t=D(n);for(let n in t){let r=t[n].get;if(r)try{r.call(e)}catch{}}}}}var Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni,Pi,Fi=o((()=>{m(),re(),ni(),Ae(),lr(),On(),ht(),xt(),St(),jt(),Zn(),zt(),Xe(),ii(),sn(),Ut(),et(),Ci=!1,wi=!1,Ti=null,Ei=!1,Di=null,Oi=null,ki=null,Ai=0,ji=null,Mi=1,Ni=0,Pi=Ni})),Ii=o((()=>{X(),zs(),ni()}));function Li(e){return e.endsWith(`capture`)&&e!==`gotpointercapture`&&e!==`lostpointercapture`}function Ri(e){return Hi.includes(e)}function zi(e){return e=e.toLowerCase(),Wi[e]??e}function Bi(e){return Gi.includes(e)}function Vi(e){return qi.includes(e)}var Hi,Ui,Wi,Gi,Ki,qi,Ji=o((()=>{Hi=[`beforeinput`,`click`,`change`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`],Ui=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),Wi={formnovalidate:`formNoValidate`,ismap:`isMap`,nomodule:`noModule`,playsinline:`playsInline`,readonly:`readOnly`,defaultvalue:`defaultValue`,defaultchecked:`defaultChecked`,srcobject:`srcObject`,novalidate:`noValidate`,allowfullscreen:`allowFullscreen`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`},[...Ui],Gi=[`touchstart`,`touchmove`],Ki=[`$state`,`$state.raw`,`$derived`,`$derived.by`],[...Ki],qi=[`textarea`,`script`,`style`,`title`]})),Yi=o((()=>{Ae(),Ji(),Fi()})),Xi=o((()=>{Ae(),F(),jt()}));function Zi(e,t,n,r={}){function i(e){if(r.capture||ea.call(t,e),!e.cancelBubble)return on(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?Nt(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Qi(e,t,n){(t[ta]??={})[e]=n}function $i(e){for(var t=0;t<e.length;t++)na.add(e[t]);for(var n of ra)n(e)}function ea(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;ia=e;var o=0,s=ia===e&&e[ta];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[ta]=t;return}var l=i.indexOf(t);if(l===-1)return;c<=l&&(o=c)}if(a=i[o]||e.target,a!==t){ee(e,`currentTarget`,{configurable:!0,get(){return a||n}});var u=Ti,d=Di;oi(null),si(null);try{for(var f,p=[];a!==null&&a!==t;){try{var m=a[ta]?.[r];m!=null&&(!a.disabled||e.target===a)&&m.call(a,e)}catch(e){f?p.push(e):f=e}if(e.cancelBubble)break;o++,a=o<i.length?i[o]:null}if(f){for(let e of p)queueMicrotask(()=>{throw e});throw f}}finally{e[ta]=t,delete e.currentTarget,oi(u),si(d)}}}var ta,na,ra,ia,aa=o((()=>{ni(),re(),F(),It(),Fi(),sn(),ta=Symbol(`events`),na=new Set,ra=new Set,ia=null}));function oa(e){return ca?.createHTML(e)??e}function sa(e){var t=xr(`template`);return t.innerHTML=oa(e.replaceAll(`<!>`,`<!---->`)),t.content}var ca,la=o((()=>{Or(),ca=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e})}));function ua(e,t){var n=Di;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function W(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(ot)return ua(st,null),st;i===void 0&&(i=sa(a?e:`<!>`+e),n||(i=_r(i)));var t=r||Tr?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=_r(t),s=t.lastChild;ua(o,s)}else ua(t,t);return t}}function da(e,t,n=`svg`){var r=!e.startsWith(`<!>`),i=(t&1)!=0,a=`<${n}>${r?e:`<!>`+e}</${n}>`,o;return()=>{if(ot)return ua(st,null),st;if(!o){var e=_r(sa(a));if(i)for(o=document.createDocumentFragment();_r(e);)o.appendChild(_r(e));else o=_r(e)}var t=o.cloneNode(!0);if(i){var n=_r(t),r=t.lastChild;ua(n,r)}else ua(t,t);return t}}function fa(e,t){return da(e,t,`svg`)}function pa(e=``){if(!ot){var t=gr(e+``);return ua(t,t),t}var n=st;return n.nodeType===3?Sr(n):(n.before(n=gr()),nt(n)),ua(n,n),n}function G(){if(ot)return ua(st,null),st;var e=document.createDocumentFragment(),t=document.createComment(``),n=gr();return e.append(t,n),ua(t,n),e}function K(e,t){if(ot){var n=Di;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=st),rt();return}e!==null&&e.before(t)}function ma(){if(ot&&st&&st.nodeType===8&&st.textContent?.startsWith(`$`)){let e=st.textContent.substring(1);return rt(),e}return(window.__svelte??={}).uid??=1,`c${window.__svelte.uid++}`}var ha=o((()=>{F(),Or(),la(),Fi(),Xe(),Ae()}));function ga(e){ba=e}function _a(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[Ee]??=e.nodeValue)&&(e[Ee]=n,e.nodeValue=`${n}`)}function va(e,t){return q(e,t)}function q(e,{target:t,anchor:n,props:r={},events:i,context:a,intro:o=!0,transformError:s}){hr();var c=void 0,l=Lr(()=>{var l=n??t.appendChild(gr());un(l,{pending:()=>{}},t=>{I({});var n=At;if(a&&(n.c=a),i&&(r.$$events=i),ot&&ua(t,null),ba=o,c=e(t,r)||{},ba=!0,ot&&(Di.nodes.end=st,st===null||st.nodeType!==8||st.data!==`]`))throw Qe(),Ge;R()},s);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=Bi(r);for(let e of[t,document]){var a=xa.get(e);a===void 0&&(a=new Map,xa.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,ea,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(T(na)),ra.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=xa.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,ea),r.delete(e),r.size===0&&xa.delete(n)):r.set(e,i)}ra.delete(d),l!==n&&l.parentNode?.removeChild(l)}});return Sa.set(c,l),c}function ya(e,t){let n=Sa.get(e);return n?(Sa.delete(e),n(t)):Promise.resolve()}var ba,xa,Sa,Ca=o((()=>{m(),Or(),Xe(),Fi(),jt(),ni(),F(),re(),aa(),et(),We(),ha(),Ji(),Ae(),pn(),ba=!0,xa=new Map,Sa=new WeakMap})),wa=o((()=>{Ae(),F(),ni(),lr(),Ca(),Fi()})),Ta=o((()=>{re(),Ae(),jt(),Ji()})),Ea=o((()=>{We(),jt()})),Da=o((()=>{bt(),ni(),Fi(),St()})),Oa=o((()=>{vn(),Fi(),F(),ha()})),ka=o((()=>{We()})),Aa,ja=o((()=>{Zn(),ni(),Ae(),F(),Or(),m(),Aa=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)$r(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&($r(r.effect),this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Jr(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();ti(r,t),t.append(gr()),this.#n.set(e,{effect:r,fragment:t})}else Jr(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Zr(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Jr(n.effect),this.#n.delete(e))};ensure(e,t){var n=zn,r=br();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=gr();i.append(a),this.#n.set(e,{effect:Wr(()=>t(a)),fragment:i})}else this.#t.set(e,Wr(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else ot&&(this.anchor=st),this.#a(n)}}})),Ma=o((()=>{re(),ni(),lr(),F(),It(),jt(),Zn(),ja(),vn()}));function J(e,t,n=!1){var r;ot&&(r=st,rt());var i=new Aa(e),a=n?fe:0;function o(e,t){if(ot){var n=at(r);if(e!==parseInt(n.substring(1))){var a=it();nt(a),i.anchor=a,tt(!1),i.ensure(e,t),tt(!0);return}}i.ensure(e,t)}Hr(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}var Na=o((()=>{Ae(),F(),ni(),ja()})),Pa=o((()=>{jt(),ni(),F(),ja()})),Fa=o((()=>{ni(),F(),Or()}));function Ia(e,t){return t}function La(e,t,n){for(var r=[],i=t.length,a,o=t.length,s=0;s<i;s++){let n=t[s];Zr(n,()=>{if(a){if(a.pending.delete(n),a.done.add(n),a.pending.size===0){var t=e.outrogroups;Ra(e,T(a.done)),t.delete(a),t.size===0&&(e.outrogroups=null)}}else--o},!1)}if(o===0){var c=r.length===0&&n!==null;if(c){var l=n,u=l.parentNode;yr(u),u.append(l),e.items.clear()}Ra(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function Ra(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=he,ti(a,document.createDocumentFragment())):Jr(t[i],n)}}function za(e,t,n,r,i,a=null){var o=e,s=new Map;if(t&4){var c=e;o=ot?nt(_r(c)):c.appendChild(gr())}ot&&rt();var l=null,u=xn(()=>{var e=n();return S(e)?e:e==null?[]:T(e)}),d,f=new Map,p=!0;function m(e){g.effect.f&16384||(g.pending.delete(e),g.fallback=l,Va(g,d,o,t,r),l!==null&&(d.length===0?l.f&33554432?(l.f^=he,Ua(l,null,o)):$r(l):Zr(l,()=>{l=null})))}function h(e){g.pending.delete(e)}var g={effect:Hr(()=>{d=U(u);var e=d.length;let c=!1;ot&&at(o)===`[!`!=(e===0)&&(o=it(),nt(o),tt(!1),c=!0);for(var g=new Set,_=zn,v=br(),y=0;y<e;y+=1){ot&&st.nodeType===8&&st.data===`]`&&(o=st,c=!0,tt(!1));var b=d[y],x=r(b,y),S=p?null:s.get(x);S?(S.v&&nr(S.v,b),S.i&&nr(S.i,y),v&&_.unskip_effect(S.e)):(S=Ha(s,p?o:Ga??=gr(),b,x,y,i,t,n),p||(S.e.f|=he),s.set(x,S)),g.add(x)}if(e===0&&a&&!l&&(p?l=Wr(()=>a(o)):(l=Wr(()=>a(Ga??=gr())),l.f|=he)),e>g.size&&Pe(``,``,``),ot&&e>0&&nt(it()),!p)if(f.set(_,g),v){for(let[e,t]of s)g.has(e)||_.skip_effect(t.e);_.oncommit(m),_.ondiscard(h)}else m(_);c&&tt(!0),U(u)}),flags:t,items:s,pending:f,outrogroups:null,fallback:l};p=!1,ot&&(o=st)}function Ba(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Va(e,t,n,r,i){var a=(r&8)!=0,o=t.length,s=e.items,c=Ba(e.effect.first),l,u=null,d,f=[],p=[],m,h,g,_;if(a)for(_=0;_<o;_+=1)m=t[_],h=i(m,_),g=s.get(h).e,g.f&33554432||(g.nodes?.a?.measure(),(d??=new Set).add(g));for(_=0;_<o;_+=1){if(m=t[_],h=i(m,_),g=s.get(h).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(g),t.done.delete(g);if(g.f&8192&&($r(g),a&&(g.nodes?.a?.unfix(),(d??=new Set).delete(g))),g.f&33554432)if(g.f^=he,g===c)Ua(g,null,n);else{var v=u?u.next:c;g===e.effect.last&&(e.effect.last=g.prev),g.prev&&(g.prev.next=g.next),g.next&&(g.next.prev=g.prev),Wa(e,u,g),Wa(e,g,v),Ua(g,v,n),u=g,f=[],p=[],c=Ba(u.next);continue}if(g!==c){if(l!==void 0&&l.has(g)){if(f.length<p.length){var y=p[0],b;u=y.prev;var x=f[0],S=f[f.length-1];for(b=0;b<f.length;b+=1)Ua(f[b],y,n);for(b=0;b<p.length;b+=1)l.delete(p[b]);Wa(e,x.prev,S.next),Wa(e,u,x),Wa(e,S,y),c=y,u=S,--_,f=[],p=[]}else l.delete(g),Ua(g,c,n),Wa(e,g.prev,g.next),Wa(e,g,u===null?e.effect.first:u.next),Wa(e,u,g),u=g;continue}for(f=[],p=[];c!==null&&c!==g;)(l??=new Set).add(c),p.push(c),c=Ba(c.next);if(c===null)continue}g.f&33554432||f.push(g),u=g,c=Ba(g.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Ra(e,T(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||l!==void 0){var C=[];if(l!==void 0)for(g of l)g.f&8192||C.push(g);for(;c!==null;)!(c.f&8192)&&c!==e.fallback&&C.push(c),c=Ba(c.next);var w=C.length;if(w>0){var ee=r&4&&o===0?n:null;if(a){for(_=0;_<w;_+=1)C[_].nodes?.a?.measure();for(_=0;_<w;_+=1)C[_].nodes?.a?.fix()}La(e,C,ee)}}a&&Nt(()=>{if(d!==void 0)for(g of d)g.nodes?.a?.apply()})}function Ha(e,t,n,r,i,a,o,s){var c=o&1?o&16?Qn(n):er(n,!1,!1):null,l=o&2?Qn(i):null;return{v:c,i:l,e:Wr(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function Ua(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=vr(r);if(a.before(r),r===i)return;r=o}}function Wa(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}var Ga,Ka=o((()=>{Xe(),F(),Or(),ni(),lr(),re(),Ae(),It(),Fi(),m(),On(),Zn(),We(),xt()}));function qa(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;ot&&(o=nt(_r(c)))}Vr(()=>{var e=Di;if(s===(s=t()??``)){ot&&rt();return}if(n&&!ot){e.nodes=null,c.innerHTML=s,s!==``&&ua(_r(c),c.lastChild);return}if(e.nodes!==null&&(Yr(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(ot){for(var a=st.data,l=rt(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=vr(l);if(l===null)throw Qe(),Ge;ua(st,u),o=nt(l);return}var d=xr(r?`svg`:i?`math`:`template`,r?Je:i?Ye:void 0);d.innerHTML=s;var f=r||i?d:d.content;if(ua(_r(f),f.lastChild),r||i)for(;_r(f);)o.before(_r(f));else o.before(f)}})}var Ja=o((()=>{Xe(),ni(),F(),ha(),et(),Ji(),m(),jt(),Or(),Fi(),Ae()})),Ya=o((()=>{F()})),Xa=o((()=>{Ji(),Me()}));function Y(e,t,...n){var r=new Aa(e);Hr(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},fe)}var Za=o((()=>{Ae(),ni(),jt(),F(),la(),ha(),We(),m(),Or(),Xa(),ja()}));function Qa(e,t,n){var r;ot&&(r=st,rt());var i=new Aa(e);Hr(()=>{var e=t()??null;if(ot&&at(r)===`[`!=(e!==null)){var a=it();nt(a),i.anchor=a,tt(!1),i.ensure(e,e&&(t=>n(t,e))),tt(!0);return}i.ensure(e,e&&(t=>n(t,e)))},fe)}var $a=o((()=>{Ae(),ni(),F(),ja(),Xe()})),eo,to,no=o((()=>{re(),m(),eo=()=>performance.now(),to={tick:e=>requestAnimationFrame(e),now:()=>eo(),tasks:new Set}}));function ro(){let e=to.now();to.tasks.forEach(t=>{t.c(e)||(to.tasks.delete(t),t.f())}),to.tasks.size!==0&&to.tick(ro)}function io(e){let t;return to.tasks.size===0&&to.tick(ro),{promise:new Promise(n=>{to.tasks.add(t={c:e,f:n})}),abort(){to.tasks.delete(t)}}}var ao=o((()=>{no()}));function oo(e,t){on(()=>{e.dispatchEvent(new CustomEvent(t))})}function so(e){if(e===`float`)return`cssFloat`;if(e===`offset`)return`cssOffset`;if(e.startsWith(`--`))return e;let t=e.split(`-`);return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function co(e){let t={},n=e.split(`;`);for(let e of n){let[n,r]=e.split(`:`);if(!n||r===void 0)break;let i=so(n.trim());t[i]=r.trim()}return t}function lo(e){mo=e}function uo(e,t,n,r){var i=(e&1)!=0,a=(e&2)!=0,o=i&&a,s=(e&4)!=0,c=o?`both`:i?`in`:`out`,l,u=t.inert,d=t.style.overflow,f,p;function m(){return on(()=>l??=n()(t,r?.()??{},{direction:c}))}var h={is_global:s,in(){if(t.inert=u,!i){p?.abort(),p?.reset?.();return}a||f?.abort(),f=fo(t,m(),p,1,()=>{oo(t,`introstart`)},()=>{oo(t,`introend`),f?.abort(),f=l=void 0,t.style.overflow=d})},out(e){if(!a){e?.(),l=void 0;return}t.inert=!0,p=fo(t,m(),f,0,()=>{oo(t,`outrostart`)},()=>{oo(t,`outroend`),e?.()})},stop:()=>{f?.abort(),p?.abort()}},g=Di;if((g.nodes.t??=[]).push(h),i&&ba){var _=s;if(!_){for(var v=g.parent;v&&v.f&65536;)for(;(v=v.parent)&&!(v.f&16););_=!v||(v.f&32768)!=0}_&&Rr(()=>{bi(()=>h.in())})}}function fo(e,t,n,r,i,a){var o=r===1;if(h(t)){var s,c=!1;return Nt(()=>{c||(s=fo(e,t({direction:o?`in`:`out`}),n,r,i,a))}),{abort:()=>{c=!0,s?.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return i(),a(),{abort:A,deactivate:A,reset:A,t:()=>r};let{delay:l=0,css:u,tick:d,easing:f=po}=t;var p=[];if(o&&n===void 0&&(d&&d(0,1),u)){var m=co(u(0,1));p.push(m,m)}var g=()=>1-r,_=e.animate(p,{duration:l,fill:`forwards`});return _.onfinish=()=>{_.cancel(),i();var o=n?.t()??1-r;n?.abort();var s=r-o,c=t.duration*Math.abs(s),l=[];if(c>0){var p=!1;if(u)for(var m=Math.ceil(c/(1e3/60)),h=0;h<=m;h+=1){var v=o+s*f(h/m),y=co(u(v,1-v));l.push(y),p||=y.overflow===`hidden`}p&&(e.style.overflow=`hidden`),g=()=>{var e=_.currentTime;return o+s*f(e/c)},d&&io(()=>{if(_.playState!==`running`)return!1;var e=g();return d(e,1-e),!0})}_=e.animate(l,{duration:c,fill:`forwards`}),_.onfinish=()=>{g=()=>r,d?.(r,1-r),a()}},{abort:()=>{_&&(_.cancel(),_.effect=null,_.onfinish=A)},deactivate:()=>{a=A},reset:()=>{r===0&&d?.(1,0)},t:()=>g()}}var po,mo,ho=o((()=>{re(),ni(),Fi(),ao(),Ca(),Xe(),Ae(),It(),sn(),po=e=>e}));function go(e,t,n,r,i,a){let o=ot;ot&&rt();var s=null;ot&&st.nodeType===1&&(s=st,rt());var c=ot?st:e,l=Di,u=new Aa(c,!1);Hr(()=>{let e=t()||null;var a=i?i():n||e===`svg`?Je:void 0;if(e===null){u.ensure(null,null),ga(!0);return}return u.ensure(e,t=>{if(e){if(s=ot?s:xr(e,a),ua(s,s),r){var n=null;ot&&Vi(e)&&s.append(n=document.createComment(``));var i=ot?_r(s):s.appendChild(gr());ot&&(i===null?tt(!1):nt(i)),lo(l),r(s,i),n?.remove(),lo(null)}Di.nodes.end=s,t.before(s)}ot&&nt(t)}),ga(!0),()=>{e&&ga(!1)}},fe),Nr(()=>{ga(!0)}),o&&(tt(!0),nt(c))}var _o=o((()=>{Xe(),F(),Or(),ni(),Ca(),Fi(),jt(),m(),Ae(),ha(),Ji(),ja(),ho()})),vo=o((()=>{F(),Or(),ni(),Ae()})),yo=o((()=>{ni(),Or()})),bo=o((()=>{ni(),Fi()}));function xo(e,t){var n=void 0,r;Ur(()=>{n!==(n=t())&&(r&&=(Jr(r),null),n&&(r=Wr(()=>{Rr(()=>n(e))})))})}var So=o((()=>{ni()}));function Co(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Co(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function wo(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Co(e))&&(r&&(r+=` `),r+=t);return r}var To=o((()=>{}));function Eo(e){return typeof e==`object`?wo(e):e??``}function Do(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||jo.includes(r[o-1]))&&(s===r.length||jo.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Oo(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function ko(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Ao(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(ko)),i&&c.push(...Object.keys(i).map(ko));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=ko(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=Oo(r)),i&&(n+=Oo(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}var jo,Mo=o((()=>{To(),re(),jo=[...` 	
\r\f\xA0\v`]}));function No(e,t,n,r,i,a){var o=e[we];if(ot||o!==n||o===void 0){var s=Do(n,r,a);(!ot||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[we]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}var Po=o((()=>{Mo(),Ae(),F()}));function Fo(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Io(e,t,n,r){var i=e[Te];if(ot||i!==t){var a=Ao(t,r);(!ot||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e[Te]=t}else r&&(Array.isArray(r)?(Fo(e,n?.[0],r[0]),Fo(e,n?.[1],r[1],`important`)):Fo(e,n,r));return r}var Lo=o((()=>{Mo(),Ae(),F()}));function Ro(e,t,n=!1){if(e.multiple){if(t==null)return;if(!S(t))return $e();for(var r of e.options)r.selected=t.includes(Bo(r));return}for(r of e.options)if(fr(Bo(r),t)){r.selected=!0;return}(!n||t!==void 0)&&(e.selectedIndex=-1)}function zo(e){var t=new MutationObserver(()=>{Ro(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Nr(()=>{t.disconnect()})}function Bo(e){return`__value`in e?e.__value:e.value}var Vo=o((()=>{ni(),sn(),pr(),re(),et(),Zn()}));function Ho(e){if(ot){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Wo(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Wo(e,`checked`,null),e.checked=r}}};e[De]=n,Nt(n),tn()}}function Uo(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function Wo(e,t,n,r){var i=qo(e);ot&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===$o)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[Se]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Jo(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Go(e,t,n,r,i=!1,a=!1){if(ot&&i&&e.nodeName===es){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||Ho(o)}var s=qo(e),c=s[Zo],l=!s[Qo];let u=ot&&c;u&&tt(!1);var d=t||{},f=e.nodeName===ts;for(var p in t)p in n||(n[p]=null);n.class?n.class=Eo(n.class):(r||n[Yo])&&(n.class=null),n[Xo]&&(n.style??=null);var m=Jo(e);if(e.nodeName===es&&`type`in n&&(`value`in n||`__value`in n)){var h=n.type;(h!==d.type||h===void 0&&e.hasAttribute(`type`))&&(d.type=h,Wo(e,`type`,h,a))}for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){No(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[Yo],n[Yo]),d[i]=o,d[Yo]=n[Yo];continue}if(i===`style`){Io(e,o,t?.[Xo],n[Xo]),d[i]=o,d[Xo]=n[Xo];continue}var g=d[i];if(!(o===g&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var _=i[0]+i[1];if(_!==`$$`)if(_===`on`){let t={},n=`$$`+i,r=i.slice(2);var v=Ri(r);if(Li(r)&&(r=r.slice(0,-7),t.capture=!0),!v&&g){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(v)Qi(r,e,o),$i([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=Zi(r,e,a,t)}}else if(i===`style`)Wo(e,i,o);else if(i===`autofocus`)en(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)Uo(e,o);else{var y=i;l||(y=zi(y));var b=y===`defaultValue`||y===`defaultChecked`;if(o==null&&!c&&!b)if(s[i]=null,y===`value`||y===`checked`){let n=e,r=t===void 0;if(y===`value`){let e=n.defaultValue;n.removeAttribute(y),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(y),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else b||m.includes(y)&&(c||typeof o!=`string`)?(e[y]=o,y in s&&(s[y]=Ke)):typeof o!=`function`&&Wo(e,y,o,a)}}}return u&&tt(!0),d}function Ko(e,t,n=[],r=[],i=[],a,o=!1,s=!1){mn(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===ns,l=!1;if(Ur(()=>{var u=t(...n.map(U)),d=Go(e,r,u,a,o,s);l&&c&&`value`in u&&Ro(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||Jr(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&Jr(i[t]),i[t]=Wr(()=>xo(e,()=>f))),d[t]=f}r=d}),c){var u=e;Rr(()=>{Ro(u,r.value,!0),zo(u)})}l=!0})}function qo(e){return e[Ce]??={[Zo]:e.nodeName.includes(`-`),[Qo]:e.namespaceURI===qe}}function Jo(e){var t=e.getAttribute(`is`)||e.nodeName,n=rs.get(t);if(n)return n;rs.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=D(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=te(i)}return n}var Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is=o((()=>{m(),F(),re(),aa(),rn(),et(),Ae(),It(),Ji(),Fi(),So(),Mo(),Po(),Lo(),Xe(),ni(),Vo(),vn(),Yo=Symbol(`class`),Xo=Symbol(`style`),Zo=Symbol(`is custom element`),Qo=Symbol(`is html`),$o=ke?`link`:`LINK`,es=ke?`input`:`INPUT`,ts=ke?`option`:`OPTION`,ns=ke?`select`:`SELECT`,rs=new Map})),as=o((()=>{F(),Or(),la(),So()})),os=o((()=>{sn()})),ss=o((()=>{ni(),sn(),We(),pr(),It(),F(),Fi(),Zn()})),cs=o((()=>{ni(),sn()})),ls=o((()=>{sn()})),us=o((()=>{ni(),re()})),ds=o((()=>{ni(),Fi()}));function fs(e,t){return e===t||e?.[be]===t}function ps(e={},t,n,r){var i=At.r,a=Di;return Rr(()=>{var o,s;return Br(()=>{o=s,s=r?.()||[],bi(()=>{fs(n(...s),e)||(t(e,...s),o&&fs(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&fs(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var ms=o((()=>{Ae(),jt(),ni(),Fi()}));function hs(e,t,n,r,i){var a=()=>{r(n[e])};n.addEventListener(t,a),i?Br(()=>{n[e]=i()}):a(),(n===document.body||n===window||n===document)&&Nr(()=>{n.removeEventListener(t,a)})}var gs=o((()=>{ni(),sn()}));function _s(e,t){an(window,[`resize`],()=>on(()=>t(window[e])))}var vs=o((()=>{ni(),sn()})),ys=o((()=>{re(),ni(),aa()}));function bs(e=!1){let t=At,n=t.l.u;if(!n)return;let r=()=>xi(t.s);if(e){let e=0,n={},i=yn(()=>{let r=!1,i=t.s;for(let e in i)i[e]!==n[e]&&(n[e]=i[e],r=!0);return r&&e++,e});r=()=>U(i)}n.b.length&&Ir(()=>{xs(t,r),_(n.b)}),Pr(()=>{let e=bi(()=>n.m.map(g));return()=>{for(let t of e)typeof t==`function`&&t()}}),n.a.length&&Pr(()=>{xs(t,r),_(n.a)})}function xs(e,t){if(e.l.s)for(let t of e.l.s)U(t);t()}var Ss=o((()=>{re(),jt(),On(),ni(),Fi()}));function Cs(e){var t=Qn(0);return function(){return arguments.length===1?(tr(t,U(t)+1),arguments[0]):(U(t),e())}}var ws=o((()=>{lr(),Fi(),re()}));function Ts(e,t,n){return new Proxy({props:e,exclude:t},Os)}function Es(...e){return new Proxy({props:e},ks)}function Ds(e,t,n,r){var i=!mt||(n&2)!=0,a=(n&8)!=0,o=(n&16)!=0,s=r,c=!0,l=void 0,u=()=>o&&i?(l??=yn(r),U(l)):(c&&(c=!1,s=o?bi(r):r),s);let d;if(a){var f=be in e||xe in e;d=E(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;a?[p,m]=Yt(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=u(),d&&(i&&ze(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?u():(c=!0,n)}:()=>{var n=e[t];return n!==void 0&&(s=void 0),n===void 0?s:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?yn:xn)(()=>(_=!1,h()));a&&U(v);var y=Di;return(function(e,t){if(arguments.length>0){let n=t?U(v):i&&a?ur(e):e;return tr(v,n),_=!0,s!==void 0&&(s=n),e}return wi&&_||y.f&16384?v.v:U(v)})}var Os,ks,As=o((()=>{m(),Xe(),re(),lr(),On(),Fi(),We(),Ae(),pr(),Qt(),ht(),ni(),Os={get(e,t){if(!e.exclude.has(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.has(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return!e.exclude.has(t)&&t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.has(t))}},ks={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(h(r)&&(r=r()),typeof r==`object`&&r&&t in r)return r[t]}},set(e,t,n){let r=e.props.length;for(;r--;){let i=e.props[r];h(i)&&(i=i());let a=E(i,t);if(a&&a.set)return a.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(h(r)&&(r=r()),typeof r==`object`&&r&&t in r){let e=E(r,t);return e&&!e.configurable&&(e.configurable=!0),e}}},has(e,t){if(t===be||t===xe)return!1;for(let n of e.props)if(h(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){let t=[];for(let n of e.props)if(h(n)&&(n=n()),n){for(let e in n)t.includes(e)||t.push(e);for(let e of Object.getOwnPropertySymbols(n))t.includes(e)||t.push(e)}return t}}})),js=o((()=>{jt(),ni(),Qt(),vn()})),Ms=o((()=>{Ae(),ni(),lr(),Ca(),Fi(),Zn(),re(),We(),jt(),ht(),Ut(),ys()})),Ns=o((()=>{Ms(),ni(),ha(),re(),Or()})),Ps=o((()=>{Ae(),bt(),Fi()})),X=o((()=>{Ii(),Xe(),jt(),Yi(),Xi(),wa(),Ta(),Ea(),xt(),Da(),Oa(),ka(),Ma(),Na(),Pa(),Fa(),Ka(),Ja(),Ya(),Za(),$a(),_o(),vo(),yo(),bo(),So(),is(),Po(),aa(),rn(),as(),Lo(),ho(),os(),ss(),cs(),ls(),us(),Vo(),ds(),ms(),gs(),vs(),F(),ys(),Ss(),ws(),ha(),vn(),Zn(),On(),ni(),lr(),As(),Qt(),pn(),ii(),Ca(),Fi(),js(),no(),pr(),Ns(),Or(),Mo(),bt(),re(),Xa(),mr(),Ps()})),Fs=o((()=>{F(),We()}));function Is(e){At===null&&je(`onMount`),mt&&At.l!==null?Rs(At).m.push(e):Pr(()=>{let t=bi(e);if(typeof t==`function`)return t})}function Ls(e){At===null&&je(`onDestroy`),Is(()=>()=>bi(e))}function Rs(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}var zs=o((()=>{Fi(),re(),X(),We(),ht(),jt(),m(),Zn(),Fs(),Ca(),Za()})),Bs=o((()=>{})),Z=o((()=>{Bs(),typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`)}));function Vs(e){let t=Symbol();return{key:t,consume(){return wt(t)||e},provide(e){return Tt(t,e)}}}var Hs=o((()=>{zs()})),Us,Ws,Gs,Ks,qs,Js,Ys,Xs=o((()=>{Us=Object.defineProperty,Ws=e=>{throw TypeError(e)},Gs=(e,t,n)=>t in e?Us(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ks=(e,t,n)=>Gs(e,typeof t==`symbol`?t:t+``,n),qs=(e,t,n)=>t.has(e)||Ws(`Cannot `+n),Js=(e,t,n)=>(qs(e,t,`read from private field`),n?n.call(e):t.get(e)),Ys=(e,t,n)=>t.has(e)?Ws(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n)}));function Zs(e){return e==null?[]:Array.isArray(e)?e:[e]}var Qs,$s,ec=o((()=>{Qs=e=>e[0],$s=e=>e[e.length-1]})),tc,nc,rc,ic=o((()=>{tc=e=>e?.constructor.name===`Array`,nc=(e,t)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!rc(e[n],t[n]))return!1;return!0},rc=(e,t)=>{if(Object.is(e,t))return!0;if(e==null&&t!=null||e!=null&&t==null)return!1;if(typeof e?.isEqual==`function`&&typeof t?.isEqual==`function`)return e.isEqual(t);if(typeof e==`function`&&typeof t==`function`)return e.toString()===t.toString();if(tc(e)&&tc(t))return nc(Array.from(e),Array.from(t));if(typeof e!=`object`||typeof t!=`object`)return!1;let n=Object.keys(t??Object.create(null)),r=n.length;for(let t=0;t<r;t++)if(!Reflect.has(e,n[t]))return!1;for(let i=0;i<r;i++){let r=n[i];if(!rc(e[r],t[r]))return!1}return!0}})),ac,oc,sc,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c=o((()=>{ac=e=>typeof e==`object`&&!!e,oc=e=>typeof e==`string`,sc=e=>typeof e==`function`,cc=e=>e==null,lc=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),uc=e=>Object.prototype.toString.call(e),dc=Function.prototype.toString,fc=dc.call(Object),pc=e=>{if(!ac(e)||uc(e)!=`[object Object]`||gc(e))return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let n=lc(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&dc.call(n)==fc},mc=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&`props`in e,hc=e=>typeof e==`object`&&!!e&&`__v_isVNode`in e,gc=e=>mc(e)||hc(e)})),vc,yc,bc,xc,Sc,Cc=o((()=>{vc=(e,...t)=>(typeof e==`function`?e(...t):e)??void 0,yc=e=>e(),bc=()=>{},xc=(...e)=>(...t)=>{e.forEach(function(e){e?.(...t)})},Sc=(()=>{let e=0;return()=>(e++,e.toString(36))})()}));function wc(e,t){let n=Ic(e,t.values,t.min),r=Lc(e,t.values,t.max),i=t.values.slice();return function(a){let o=Gc(a,n,r,t.step);return i=Kc(i,e,a),i[e]=o,i}}function Tc(e,t){let n=t.values[e]+t.step;return wc(e,t)(n)}function Ec(e,t){let n=t.values[e]-t.step;return wc(e,t)(n)}var Dc,Oc,kc,Ac,jc,Mc,Nc,Pc,Fc,Ic,Lc,Rc,zc,Bc,Vc,Hc,Uc,Wc,Gc,Kc,qc,Jc,Yc,Xc=o((()=>{({floor:Dc,abs:Oc,round:kc,min:Ac,max:jc,pow:Mc,sign:Nc}=Math),Pc=e=>Number.isNaN(e),Fc=e=>Pc(e)?0:e,Ic=(e,t,n)=>e===0?n:t[e-1],Lc=(e,t,n)=>e===t.length-1?n:t[e+1],Rc=(e,t,n)=>{let r=Fc(e);return(t==null||r>=t)&&(n==null||r<=n)},zc=(e,t,n)=>kc((Fc(e)-t)/n)*n+t,Bc=(e,t,n)=>Ac(jc(Fc(e),t),n),Vc=e=>Bc(e,0,1),Hc=(e,t,n)=>(Fc(e)-t)/(n-t),Uc=(e,t,n,r)=>Bc(zc(e*(n-t)+t,t,r),t,n),Wc=(e,t)=>{let n=e,r=t.toString(),i=r.indexOf(`.`),a=i>=0?r.length-i:0;if(a>0){let e=Mc(10,a);n=kc(n*e)/e}return n},Gc=(e,t,n,r)=>{let i=t==null?0:Number(t),a=Number(n),o=(e-i)%r,s=Oc(o)*2>=r?e+Nc(o)*(r-Oc(o)):e-o;if(s=Wc(s,r),!Pc(i)&&s<i)s=i;else if(!Pc(a)&&s>a){let e=Dc((a-i)/r),t=i+e*r;s=e<=0||t<i?a:t}return Wc(s,r)},Kc=(e,t,n)=>e[t]===n?e:[...e.slice(0,t),n,...e.slice(t+1)],qc=(e,t,n,r)=>e.map((i,a)=>({min:a===0?t:e[a-1]+r,max:a===e.length-1?n:e[a+1]-r,value:i})),Jc=(e,t)=>{let[n,r]=e,[i,a]=t;return e=>n===r||i===a?i:i+(a-i)/(r-n)*(e-n)},Yc=e=>typeof e==`number`?`${e}px`:e}));function Zc(e){if(!pc(e)||e===void 0)return e;let t=Reflect.ownKeys(e).filter(e=>typeof e==`string`),n={};for(let r of t){let t=e[r];t!==void 0&&(n[r]=Zc(t))}return n}function Qc(e,t){let n={};for(let r of t){let t=e[r];t!==void 0&&(n[r]=t)}return n}function $c(e,t){let n={},r={},i=new Set(t),a=Reflect.ownKeys(e);for(let t of a)i.has(t)?r[t]=e[t]:n[t]=e[t];return[r,n]}var el,tl=o((()=>{_c(),el=e=>function(t){return $c(t,e)}})),nl=o((()=>{}));function rl(e,t){let n=new ol(({deltaMs:n})=>{if(n>=t)return e(),!1});return n.start(),()=>n.stop()}var il,al,ol,sl=o((()=>{Xs(),il=()=>performance.now(),ol=class{constructor(e){this.onTick=e,Ks(this,`frameId`,null),Ks(this,`pausedAtMs`,null),Ks(this,`context`),Ks(this,`cancelFrame`,()=>{this.frameId!==null&&(cancelAnimationFrame(this.frameId),this.frameId=null)}),Ks(this,`setStartMs`,e=>{this.context.startMs=e}),Ks(this,`start`,()=>{if(this.frameId!==null)return;let e=il();this.pausedAtMs===null?this.context.startMs=e:(this.context.startMs+=e-this.pausedAtMs,this.pausedAtMs=null),this.frameId=requestAnimationFrame(Js(this,al))}),Ks(this,`pause`,()=>{this.frameId!==null&&(this.cancelFrame(),this.pausedAtMs=il())}),Ks(this,`stop`,()=>{this.frameId!==null&&(this.cancelFrame(),this.pausedAtMs=null)}),Ys(this,al,e=>{if(this.context.now=e,this.context.deltaMs=e-this.context.startMs,this.onTick(this.context)===!1){this.stop();return}this.frameId=requestAnimationFrame(Js(this,al))}),this.context={now:0,startMs:il(),deltaMs:0}}get elapsedMs(){return this.pausedAtMs===null?il()-this.context.startMs:this.pausedAtMs-this.context.startMs}},al=new WeakMap}));function cl(...e){e.length===1?e[0]:e[1],e.length===2&&e[0]}function ll(...e){e.length===1?e[0]:e[1],e.length===2&&e[0]}function ul(e,t){if(e==null)throw Error(t())}function dl(e,t,n){let r=[];for(let n of t)e[n]??r.push(n);if(r.length>0)throw Error(`[zag-js${n?` > ${n}`:``}] missing required props: ${r.join(`, `)}`)}var fl=o((()=>{})),pl=o((()=>{ec(),ic(),Cc(),_c(),Xc(),tl(),nl(),sl(),fl()}));function ml(...e){let t={};for(let n of e){if(!n)continue;for(let e in t){if(e.startsWith(`on`)&&typeof t[e]==`function`&&typeof n[e]==`function`){t[e]=xc(n[e],t[e]);continue}if(e===`className`||e===`class`){t[e]=hl(t[e],n[e]);continue}if(e===`style`){t[e]=vl(t[e],n[e]);continue}t[e]=n[e]===void 0?t[e]:n[e]}for(let e in n)t[e]===void 0&&(t[e]=n[e]);let e=Object.getOwnPropertySymbols(n);for(let r of e)t[r]=n[r]}return t}var hl,gl,_l,vl,yl=o((()=>{pl(),hl=(...e)=>e.map(e=>e?.trim?.()).filter(Boolean).join(` `),gl=/((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g,_l=e=>{let t={},n;for(;n=gl.exec(e);)t[n[1]]=n[2];return t},vl=(e,t)=>{if(oc(e)){if(oc(t))return`${e};${t}`;e=_l(e)}else oc(t)&&(t=_l(t));return Object.assign({},e??{},t??{})}}));function bl(e,t,n){let r=[],i;return a=>{let o=e(a);return o.length!==r.length||o.some((e,t)=>!rc(r[t],e))?(r=o,i=t(o,a),n?.onChange?.(i),i):i}}var xl=o((()=>{pl()}));function Sl(e){return e.join(Bl)}function Cl(e){return e.includes(Bl)}function wl(e){return e.startsWith(Vl)}function Tl(e){return e.startsWith(Bl)}function El(e){return wl(e)?e.slice(Vl.length):e}function Dl(e,t){return e?`${e}${Bl}${t}`:t}function Ol(e){let t=new Map,n=new Map,r=(e,i)=>{t.set(e,i);let a=i.id;a&&(n.has(a)&&ll(`[zag-js] Duplicate state id: "${a}"`),n.set(a,e));let o=i.states;if(o){ul(i.initial,()=>`[zag-js] Compound state "${e}" has child states but no "initial" property`),i.initial in o||ll(`[zag-js] Compound state "${e}" has initial "${String(i.initial)}" which is not a child state`);for(let[t,n]of Object.entries(o)){if(!n)continue;let i=Dl(e,t);r(i,n)}}};for(let[t,n]of Object.entries(e.states))n&&r(t,n);return{index:t,idIndex:n}}function kl(e){let t=Hl.get(e);if(t)return t;let{index:n,idIndex:r}=Ol(e);return Hl.set(e,n),Ul.set(e,r),n}function Al(e,t){return kl(e),Ul.get(e)?.get(t)}function jl(e){return e?String(e).split(Bl).filter(Boolean):[]}function Ml(e,t){if(!t)return[];let n=kl(e),r=jl(t),i=[],a=[];for(let e of r){a.push(e);let t=Sl(a),r=n.get(t);if(!r)break;i.push({path:t,state:r})}return i}function Nl(e,t){let n=kl(e),r=jl(t);if(!r.length)return t;let i=[];for(let e of r){i.push(e);let r=Sl(i);if(!n.has(r))return t}let a=Sl(i),o=n.get(a);for(;o?.initial;){let e=`${a}${Bl}${o.initial}`,t=n.get(e);if(!t)break;a=e,o=t}return a}function Pl(e,t){return kl(e).has(t)}function Fl(e,t,n){let r=String(t);if(wl(r)){let t=El(r),n=Al(e,t);return ul(n,()=>`[zag-js] Unknown state id: "${t}"`),Nl(e,n)}if(Tl(r)&&n)return Nl(e,Dl(n,r.slice(1)));if(!Cl(r)&&n){let t=jl(n);for(let n=t.length-1;n>=1;n--){let i=Dl(t.slice(0,n).join(Bl),r);if(Pl(e,i))return Nl(e,i)}if(Pl(e,r))return Nl(e,r)}return Nl(e,r)}function Il(e,t,n){let r=Ml(e,t);for(let e=r.length-1;e>=0;e--){let t=r[e]?.state.on?.[n];if(t)return{transitions:t,source:r[e]?.path}}return{transitions:e.on?.[n],source:void 0}}function Ll(e,t,n,r){let i=t?Ml(e,t):[],a=Ml(e,n),o=0;for(;o<i.length&&o<a.length&&i[o]?.path===a[o]?.path;)o+=1;let s=i.slice(o).reverse(),c=a.slice(o),l=i.at(-1)?.path===a.at(-1)?.path;return r&&l&&(s=i.slice().reverse(),c=a),{exiting:s,entering:c}}function Rl(e,t){return e?e===t||e.startsWith(`${t}${Bl}`):!1}function zl(e,t,n){return Ml(e,t).some(e=>e.state.tags?.includes(n))}var Bl,Vl,Hl,Ul,Wl=o((()=>{pl(),Bl=`.`,Vl=`#`,Hl=new WeakMap,Ul=new WeakMap}));function Gl(){return{and:(...e)=>function(t){return e.every(e=>t.guard(e))},or:(...e)=>function(t){return e.some(e=>t.guard(e))},not:e=>function(t){return!t.guard(e)}}}function Kl(e){return kl(e),e}function ql(){return{guards:Gl(),createMachine:e=>Kl(e),choose:e=>function({choose:t}){return t(e)?.actions}}}var Jl=o((()=>{Wl()})),Yl,Xl,Zl=o((()=>{Yl=(e=>(e.NotStarted=`Not Started`,e.Started=`Started`,e.Stopped=`Stopped`,e))(Yl||{}),Xl=`__init__`})),Ql,$l,eu,tu=o((()=>{Ql=Object.defineProperty,$l=(e,t,n)=>t in e?Ql(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,eu=(e,t,n)=>$l(e,typeof t==`symbol`?t:t+``,n)})),nu=o((()=>{})),ru,iu,au,ou,su,cu,lu=o((()=>{ru=(...e)=>t=>e.reduce((e,t)=>t(e),t),iu=()=>void 0,au=e=>typeof e==`object`&&!!e,ou=2147483647,su=e=>e?``:void 0,cu=e=>e?`true`:void 0}));function uu(e){return[`html`,`body`,`#document`].includes(Eu(e))}function du(e){return e?_u(e.getRootNode())===e:!1}function fu(e){if(e==null||!Cu(e))return!1;try{return ku(e)&&e.selectionStart!=null||Mu.test(e.localName)||e.isContentEditable||e.getAttribute(`contenteditable`)===`true`||e.getAttribute(`contenteditable`)===``}catch{return!1}}function pu(e,t){if(!e||!t||!Cu(e)||!Du(t))return!1;if(Cu(t)&&e===t||e.contains(t))return!0;let n=t.getRootNode?.();if(n&&Ou(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function mu(e){return wu(e)?e:Tu(e)?e.document:e?.ownerDocument??document}function hu(e){return mu(e).documentElement}function gu(e){return Ou(e)?gu(e.host):wu(e)?e.defaultView??window:Cu(e)?e.ownerDocument?.defaultView??window:window}function _u(e){let t=e.activeElement;for(;t?.shadowRoot;){let e=t.shadowRoot.activeElement;if(!e||e===t)break;t=e}return t}function vu(e){if(Eu(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ou(e)&&e.host||hu(e);return Ou(t)?t.host:t}function yu(e){let t;try{if(t=e.getRootNode({composed:!0}),wu(t)||Ou(t))return t}catch{}return e.ownerDocument??document}var bu,xu,Su,Cu,wu,Tu,Eu,Du,Ou,ku,Au,ju,Mu,Nu=o((()=>{lu(),bu=1,xu=9,Su=11,Cu=e=>au(e)&&e.nodeType===bu&&typeof e.nodeName==`string`,wu=e=>au(e)&&e.nodeType===xu,Tu=e=>au(e)&&e===e.window,Eu=e=>Cu(e)?e.localName||``:`#document`,Du=e=>au(e)&&e.nodeType!==void 0,Ou=e=>Du(e)&&e.nodeType===Su&&`host`in e,ku=e=>Cu(e)&&e.localName===`input`,Au=e=>!!e?.matches(`a[href]`),ju=e=>Cu(e)?e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0:!1,Mu=/(textarea|select)/}));function Pu(e){return Fu.has(e)||Fu.set(e,gu(e).getComputedStyle(e)),Fu.get(e)}var Fu,Iu=o((()=>{Nu(),Fu=new WeakMap}));function Lu(e,t){let n=new Set,r=yu(e),i=e=>{let a=e.querySelectorAll(`[aria-controls]`);for(let e of a){if(e.getAttribute(`aria-expanded`)!==`true`)continue;let a=Ku(e);for(let e of a){if(!e||n.has(e))continue;n.add(e);let a=r.getElementById(e);if(a){let e=a.getAttribute(`role`),n=a.getAttribute(`aria-modal`)===`true`;if(e&&Gu(e)&&!n&&(a===t||a.contains(t)||i(a)))return!0}}}return!1};return i(e)}function Ru(e,t){let n=yu(e),r=new Set,i=e=>{let a=e.querySelectorAll(`[aria-controls]`);for(let e of a){if(e.getAttribute(`aria-expanded`)!==`true`)continue;let a=Ku(e);for(let e of a){if(!e||r.has(e))continue;r.add(e);let a=n.getElementById(e);if(a){let e=a.getAttribute(`role`),n=a.getAttribute(`aria-modal`)===`true`;e&&Wu.has(e)&&!n&&(t(a),i(a))}}}};i(e)}function zu(e){let t=new Set;return Ru(e,n=>{e.contains(n)||t.add(n)}),Array.from(t)}function Bu(e){let t=e.getAttribute(`role`);return!!(t&&Wu.has(t))}function Vu(e){return e.hasAttribute(`aria-controls`)&&e.getAttribute(`aria-expanded`)===`true`}function Hu(e){return Vu(e)?!0:!!e.querySelector?.(`[aria-controls][aria-expanded="true"]`)}function Uu(e){if(!e.id)return!1;let t=yu(e),n=CSS.escape(e.id),r=`[aria-controls~="${n}"][aria-expanded="true"], [aria-controls="${n}"][aria-expanded="true"]`;return!!(t.querySelector(r)&&Bu(e))}var Wu,Gu,Ku,qu=o((()=>{Nu(),Wu=new Set([`menu`,`listbox`,`dialog`,`grid`,`tree`,`region`]),Gu=e=>Wu.has(e),Ku=e=>e.getAttribute(`aria-controls`)?.split(` `)||[]})),Ju=o((()=>{}));function Yu(){return navigator.userAgentData?.platform??navigator.platform}function Xu(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:e,version:t})=>`${e}/${t}`).join(` `):navigator.userAgent}var Zu,Qu,$u,ed,td,nd,rd,id,ad,od,sd,cd,ld,ud=o((()=>{Zu=()=>typeof document<`u`,Qu=e=>Zu()&&e.test(Yu()),$u=e=>Zu()&&e.test(Xu()),ed=e=>Zu()&&e.test(navigator.vendor),td=()=>Zu()&&!!navigator.maxTouchPoints,nd=()=>Qu(/^iPhone/i),rd=()=>Qu(/^iPad/i)||od()&&navigator.maxTouchPoints>1,id=()=>nd()||rd(),ad=()=>od()||id(),od=()=>Qu(/^Mac/i),sd=()=>ad()&&ed(/apple/i),cd=()=>$u(/Firefox/i),ld=()=>$u(/Android/i)}));function dd(e){return e.composedPath?.()??e.nativeEvent?.composedPath?.()}function fd(e){return dd(e)?.[0]??e.target}function pd(e){let t=e.currentTarget;if(!t||!t.matches(`a[href], button[type='submit'], input[type='submit']`))return!1;let n=e.button===1,r=hd(e);return n||r}function md(e){return vd(e).isComposing||e.keyCode===229}function hd(e){return od()?e.metaKey:e.ctrlKey}function gd(e){return e.pointerType===``&&e.isTrusted?!0:ld()&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function _d(e,t={}){let{dir:n=`ltr`,orientation:r=`horizontal`}=t,i=e.key;return i=Td[i]??i,n===`rtl`&&r===`horizontal`&&i in Ed&&(i=Ed[i]),i}function vd(e){return e.nativeEvent??e}function yd(e){return e.ctrlKey||e.metaKey?.1:Dd.has(e.key)||e.shiftKey&&Od.has(e.key)?10:1}function bd(e,t=`client`){let n=wd(e)?e.touches[0]||e.changedTouches[0]:e;return{x:n[`${t}X`],y:n[`${t}Y`]}}var xd,Sd,Cd,wd,Td,Ed,Dd,Od,kd,Ad=o((()=>{ud(),xd=e=>e.button===0,Sd=e=>e.button===2||od()&&e.ctrlKey&&e.button===0,Cd=e=>e.ctrlKey||e.altKey||e.metaKey,wd=e=>`touches`in e&&e.touches.length>0,Td={Up:`ArrowUp`,Down:`ArrowDown`,Esc:`Escape`," ":`Space`,",":`Comma`,Left:`ArrowLeft`,Right:`ArrowRight`},Ed={ArrowLeft:`ArrowRight`,ArrowRight:`ArrowLeft`},Dd=new Set([`PageUp`,`PageDown`]),Od=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`]),kd=(e,t,n,r)=>{let i=typeof e==`function`?e():e;return i?.addEventListener(t,n,r),()=>{i?.removeEventListener(t,n,r)}}}));function jd(e,t){let{type:n=`HTMLInputElement`,property:r=`value`}=t,i=gu(e)[n].prototype;return Object.getOwnPropertyDescriptor(i,r)??{}}function Md(e){if(e.localName===`input`)return`HTMLInputElement`;if(e.localName===`textarea`)return`HTMLTextAreaElement`;if(e.localName===`select`)return`HTMLSelectElement`}function Nd(e,t,n=`value`){if(!e)return;let r=Md(e);r&&jd(e,{type:r,property:n}).set?.call(e,t),e.setAttribute(n,t)}function Pd(e,t){e&&(jd(e,{type:`HTMLInputElement`,property:`checked`}).set?.call(e,t),t?e.setAttribute(`checked`,``):e.removeAttribute(`checked`))}function Fd(e,t){let{value:n,bubbles:r=!0}=t;if(!e)return;let i=gu(e);if(!(e instanceof i.HTMLInputElement))return;Nd(e,`${n}`);let a=new i.Event(`input`,{bubbles:r});e.dispatchEvent(Hd(a))}function Id(e,t){let{checked:n,bubbles:r=!0}=t;if(!e)return;let i=gu(e);if(!(e instanceof i.HTMLInputElement))return;Pd(e,n);let a=new i.Event(`click`,{bubbles:r});e.dispatchEvent(Hd(a))}function Ld(e){return e.matches(`textarea, input, select, button`)}function Rd(e,t){if(!e)return;let n=Ld(e)?e.form:e.closest(`form`),r=e=>{e.defaultPrevented||t()};return n?.addEventListener(`reset`,r,{passive:!0}),()=>n?.removeEventListener(`reset`,r)}function zd(e,t){let n=e?.closest(`fieldset`);if(!n)return;t(n.disabled);let r=new(gu(n)).MutationObserver(()=>t(n.disabled));return r.observe(n,{attributes:!0,attributeFilter:[`disabled`]}),()=>r.disconnect()}function Bd(e,t){if(!e)return;let{onFieldsetDisabledChange:n,onFormReset:r}=t,i=[Rd(e,r),zd(e,n)];return()=>i.forEach(e=>e?.())}function Vd(e){return Object.prototype.hasOwnProperty.call(e,Ud)}function Hd(e){return Vd(e)||Object.defineProperty(e,Ud,{value:!0}),e}var Ud,Wd=o((()=>{Nu(),Ud=Symbol.for(`zag.changeEvent`)}));function Gd(e){let t=e.getAttribute(`tabindex`);return t?parseInt(t,10):NaN}function Kd(e){return ku(e)&&e.type===`radio`}function qd(e){if(!Kd(e)||!e.name||e.checked)return!0;let t=`input[type="radio"][name="${CSS.escape(e.name)}"]`,n=e.form??e.ownerDocument,r=Array.from(n.querySelectorAll(t)).filter(t=>t.form===e.form&&Xd(t)),i=r.find(e=>e.checked);return i?i===e:r[0]===e}function Jd(e,t){if(!t)return null;if(t===!0)return e.shadowRoot||null;let n=t(e);return(n===!0?e.shadowRoot:n)||null}function Yd(e,t,n){let r=[...e],i=[...e],a=new Set,o=new Map;e.forEach((e,t)=>o.set(e,t));let s=0;for(;s<i.length;){let e=i[s++];if(!e||a.has(e))continue;a.add(e);let c=Jd(e,t);if(c){let t=Array.from(c.querySelectorAll(sf)).filter(n),a=o.get(e);if(a!==void 0){let e=a+1;r.splice(e,0,...t),t.forEach((t,n)=>{o.set(t,e+n)});for(let n=e+t.length;n<r.length;n++)o.set(r[n],n)}else{let e=r.length;r.push(...t),t.forEach((t,n)=>{o.set(t,e+n)})}i.push(...t)}}return r}function Xd(e){return!Cu(e)||e.closest(`[inert]`)?!1:e.matches(sf)&&ju(e)}function Zd(e,t={}){if(!e)return[];let{includeContainer:n,getShadowRoot:r}=t,i=Array.from(e.querySelectorAll(sf));n&&Qd(e)&&i.unshift(e);let a=[];for(let e of i)if(Qd(e)){if(nf(e)&&e.contentDocument){let t=e.contentDocument.body;a.push(...Zd(t,{getShadowRoot:r}));continue}a.push(e)}if(r){let e=Yd(a,r,Qd);return!e.length&&n?i:e}return!a.length&&n?i:a}function Qd(e){return Cu(e)&&e.tabIndex>0?!0:!Xd(e)||of(e)?!1:qd(e)}function $d(e,t={}){let n=Zd(e,t);return[n[0]||null,n[n.length-1]||null]}function ef(e,t={}){let{current:n,getShadowRoot:r}=t,i=Zd(e,{getShadowRoot:r}),a=e?.ownerDocument||document,o=n??_u(a);return o&&i[i.indexOf(o)+1]||null}function tf(e){return e.tabIndex<0&&(rf.test(e.localName)||fu(e))&&!af(e)?0:e.tabIndex}var nf,rf,af,of,sf,cf,lf=o((()=>{Nu(),nf=e=>Cu(e)&&e.tagName===`IFRAME`,rf=/^(audio|video|details)$/,af=e=>!Number.isNaN(Gd(e)),of=e=>Gd(e)<0,sf=`input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false']), details > summary:first-of-type`,cf=(e,t={})=>{if(!e)return[];let{includeContainer:n=!1,getShadowRoot:r}=t,i=Array.from(e.querySelectorAll(sf));(n==1||n==`if-empty`&&i.length===0)&&Cu(e)&&Xd(e)&&i.unshift(e);let a=[];for(let e of i)if(Xd(e)){if(nf(e)&&e.contentDocument){let t=e.contentDocument.body;a.push(...cf(t,{getShadowRoot:r}));continue}a.push(e)}return r?Yd(a,r,Xd):a}}));function uf(e){let{root:t,getInitialEl:n,filter:r,enabled:i=!0}=e;if(!i)return;let a=null;if(a||=typeof n==`function`?n():n,a||=t?.querySelector(`[data-autofocus],[autofocus]`),!a){let e=Zd(t);a=r?e.filter(r)[0]:e[0]}return a||t||void 0}var df=o((()=>{lf()}));function ff(e){let t=hf.create();return t.request(e),t.cleanup}function pf(e){let t=new Set;function n(e){let n=globalThis.requestAnimationFrame(e);t.add(()=>globalThis.cancelAnimationFrame(n))}return n(()=>n(e)),function(){t.forEach(e=>e())}}function mf(e,t,n){let r=ff(()=>{e.removeEventListener(t,i,!0),n()}),i=()=>{r(),n()};return e.addEventListener(t,i,{once:!0,capture:!0}),r}var hf,gf=o((()=>{tu(),hf=class e{constructor(){eu(this,`id`,null),eu(this,`fn_cleanup`),eu(this,`cleanup`,()=>{this.cancel()})}static create(){return new e}request(e){this.cancel(),this.id=globalThis.requestAnimationFrame(()=>{this.id=null,this.fn_cleanup=e?.()})}cancel(){this.id!==null&&(globalThis.cancelAnimationFrame(this.id),this.id=null),this.fn_cleanup?.(),this.fn_cleanup=void 0}isActive(){return this.id!==null}}})),_f=o((()=>{}));function vf(e){let t=()=>{let t=gu(e);e.dispatchEvent(new t.MouseEvent(`click`))};cd()?mf(e,`keyup`,t):queueMicrotask(t)}var yf=o((()=>{Nu(),ud(),gf()}));function bf(e){let t=vu(e);return uu(t)?mu(t).body:Cu(t)&&xf(t)?t:bf(t)}function xf(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=gu(e).getComputedStyle(e);return Sf.test(t+r+n)&&!Cf.has(i)}var Sf,Cf,wf=o((()=>{Nu(),Sf=/auto|scroll|overlay|hidden|clip/,Cf=new Set([`inline`,`contents`])})),Tf=o((()=>{})),Ef=o((()=>{}));function Df(e={}){let{target:t,doc:n}=e,r=n??document,i=r.documentElement;return id()?(Af==="default"&&(jf=i.style.webkitUserSelect,i.style.webkitUserSelect=`none`),Af=`disabled`):t&&(Mf.set(t,t.style.userSelect),t.style.userSelect=`none`),()=>Of({target:t,doc:r})}function Of(e={}){let{target:t,doc:n}=e,r=(n??document).documentElement;if(id()){if(Af!==`disabled`)return;Af=`restoring`,setTimeout(()=>{pf(()=>{Af===`restoring`&&(r.style.webkitUserSelect===`none`&&(r.style.webkitUserSelect=jf||``),jf=``,Af=`default`)})},300)}else if(t&&Mf.has(t)){let e=Mf.get(t);t.style.userSelect===`none`&&(t.style.userSelect=e??``),t.getAttribute(`style`)===``&&t.removeAttribute(`style`),Mf.delete(t)}}function kf(e={}){let{defer:t,target:n,...r}=e,i=t?ff:e=>e(),a=[];return a.push(i(()=>{let e=typeof n==`function`?n():n;a.push(Df({...r,target:e}))})),()=>{a.forEach(e=>e?.())}}var Af,jf,Mf,Nf=o((()=>{ud(),gf(),Af=`default`,jf=``,Mf=new WeakMap}));function Pf(e,t){let{onPointerMove:n,onPointerUp:r}=t,i=e=>{let t=bd(e);if(!(Math.sqrt(t.x**2+t.y**2)<(e.pointerType===`touch`?10:5))){if(e.pointerType===`mouse`&&e.buttons===0){a(e);return}n({point:t,event:e})}},a=e=>{let t=bd(e);r({point:t,event:e})},o=[kd(e,`pointermove`,i,!1),kd(e,`pointerup`,a,!1),kd(e,`pointercancel`,a,!1),kd(e,`contextmenu`,a,!1),kf({doc:e})];return()=>{o.forEach(e=>e())}}var Ff=o((()=>{Ad(),Nf()}));function If(e){let{pointerNode:t,keyboardNode:n=t,onPress:r,onPressStart:i,onPressEnd:a,isValidKey:o=e=>e.key===`Enter`}=e;if(!t)return iu;let s=gu(t),c=iu,l=iu,u=iu,d=e=>({point:bd(e),event:e});function f(e){i?.(d(e))}function p(e){a?.(d(e))}c=ru(kd(t,`pointerdown`,e=>{l(),l=ru(kd(s,`pointerup`,e=>{let n=fd(e);pu(t,n)?r?.(d(e)):a?.(d(e))},{passive:!r,once:!0}),kd(s,`pointercancel`,p,{passive:!a,once:!0})),du(n)&&e.pointerType===`mouse`&&e.preventDefault(),f(e)},{passive:!i}),kd(n,`focus`,m));function m(){u=ru(kd(n,`keydown`,e=>{o(e)&&(l(),l=kd(n,`keyup`,e=>{if(!o(e))return;let t=new s.PointerEvent(`pointerup`),n=d(t);r?.(n),a?.(n)}),f(new s.PointerEvent(`pointerdown`)))}),kd(n,`blur`,()=>{p(new s.PointerEvent(`pointercancel`))}))}return()=>{c(),l(),u()}}var Lf=o((()=>{Ad(),Nu(),lu()}));function Rf(e,t={}){let{triggerElement:n,onFocus:r,onFocusEnter:i,getShadowRoot:a}=t,o=e?.ownerDocument||document,s=o.body;function c(t){if(t.key!==`Tab`)return;let o=null,[c,l]=$d(e,{includeContainer:!0,getShadowRoot:a}),u=ef(s,{current:n,getShadowRoot:a}),d=!c&&!l;t.shiftKey&&du(u)?(i?.(),o=l):t.shiftKey&&(du(c)||d)?o=n:!t.shiftKey&&du(n)?(i?.(),o=c):!t.shiftKey&&(du(l)||d)&&(o=u),o&&(t.preventDefault(),typeof r==`function`?r(o):o.focus())}return kd(o,`keydown`,c,!0)}function zf(e,t){let{defer:n,triggerElement:r,...i}=t,a=n?ff:e=>e(),o=[];return o.push(a(()=>{let t=typeof e==`function`?e():e,n=typeof r==`function`?r():r;o.push(Rf(t,{triggerElement:n,...i}))})),()=>{o.forEach(e=>e?.())}}var Bf=o((()=>{Ad(),Nu(),gf(),lf()}));function Vf(e,t){return Array.from(e?.querySelectorAll(t)??[])}function Hf(e,t,n=Kf){return e.find(e=>n(e)===t)}function Uf(e,t,n=Kf){let r=Hf(e,t,n);return r?e.indexOf(r):-1}function Wf(e,t,n=!0){let r=Uf(e,t);return r=n?(r+1)%e.length:Math.min(r+1,e.length-1),e[r]}function Gf(e,t,n=!0){let r=Uf(e,t);return r===-1?n?e[e.length-1]:null:(r=n?(r-1+e.length)%e.length:Math.max(0,r-1),e[r])}var Kf,qf=o((()=>{Kf=e=>e.id}));function Jf(e){let t=new WeakMap,n,r=new WeakMap,i=e=>n||(n=new e.ResizeObserver(e=>{for(let n of e){r.set(n.target,n);let e=t.get(n.target);if(e)for(let t of e)t(n)}}),n);return{observe:(n,r)=>{let a=t.get(n)||new Set;a.add(r),t.set(n,a);let o=gu(n);return i(o).observe(n,e),()=>{let e=t.get(n);e&&(e.delete(r),e.size===0&&(t.delete(n),i(o).unobserve(n)))}},unobserve:e=>{t.delete(e),n?.unobserve(e)}}}var Yf,Xf=o((()=>{Nu(),Yf=Jf({box:`border-box`})})),Zf=o((()=>{})),Qf=o((()=>{})),$f=o((()=>{}));function ep(e,t){if(!e)return iu;let n=Object.keys(t).reduce((t,n)=>(t[n]=e.style.getPropertyValue(n),t),{});return np(n,t)?iu:(Object.assign(e.style,t),()=>{Object.assign(e.style,n),e.style.length===0&&e.removeAttribute(`style`)})}function tp(e,t,n){if(!e)return iu;let r=e.style.getPropertyValue(t);return r===n?iu:(e.style.setProperty(t,n),()=>{e.style.setProperty(t,r),e.style.length===0&&e.removeAttribute(`style`)})}function np(e,t){return Object.keys(e).every(n=>e[n]===t[n])}var rp=o((()=>{lu()})),ip=o((()=>{})),ap=o((()=>{})),op,sp=o((()=>{op={border:`0`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0`,position:`absolute`,width:`1px`,whiteSpace:`nowrap`,wordWrap:`normal`}}));function cp(e,t,n){let{signal:r}=t;return[new Promise((t,i)=>{let a=setTimeout(()=>{i(Error(`Timeout of ${n}ms exceeded`))},n);r.addEventListener(`abort`,()=>{clearTimeout(a),i(new DOMException(`Promise aborted`,`AbortError`))}),e.then(e=>{r.aborted||(clearTimeout(a),t(e))}).catch(e=>{r.aborted||(clearTimeout(a),i(e))})}),()=>t.abort()]}function lp(e,t){let{timeout:n,rootNode:r}=t,i=gu(r),a=mu(r),o=new i.AbortController;return cp(new Promise(t=>{let n=e();if(n){t(n);return}let r=new i.MutationObserver(()=>{let n=e();n&&n.isConnected&&(r.disconnect(),t(n))});r.observe(a.body,{childList:!0,subtree:!0})}),o,n)}var up=o((()=>{Nu()})),dp=o((()=>{nu(),Iu(),qu(),Ju(),Ad(),Wd(),df(),_f(),yf(),Nu(),wf(),ud(),Tf(),Ef(),Ff(),Lf(),Bf(),qf(),gf(),Xf(),Zf(),Qf(),$f(),rp(),lu(),lf(),Nf(),ip(),ap(),sp(),up()}));function fp(e){let t=()=>e.getRootNode?.()??document,n=()=>mu(t()),r=()=>n().defaultView??window,i=()=>_u(t()),a=e=>t().getElementById(e);return{...e,getRootNode:t,getDoc:n,getWin:r,getActiveElement:i,isActiveElement:du,getById:a}}var pp=o((()=>{dp()})),mp=o((()=>{yl(),xl(),Jl(),Wl(),Zl(),pp()}));function hp(e){return new Proxy({},{get(t,n){return n===`style`?t=>e({style:t}).style:e}})}var gp=o((()=>{})),_p,vp=o((()=>{_p=()=>e=>Array.from(new Set(e))})),yp=o((()=>{gp(),vp()}));function bp(e){let t=``;for(let n in e){let r=e[n];r!=null&&(n.startsWith(`--`)||(n=n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)),t+=`${n}:${r};`)}return t}function xp(e){return e in Cp?Cp[e]:wp.has(e)?e:e.toLowerCase()}function Sp(e,t){return e===`style`&&typeof t==`object`?bp(t):t}var Cp,wp,Tp,Ep=o((()=>{yp(),Cp={className:`class`,defaultChecked:`checked`,defaultValue:`value`,htmlFor:`for`,onBlur:`onfocusout`,onChange:`oninput`,onFocus:`onfocusin`,onDoubleClick:`ondblclick`},wp=new Set(`viewBox,className,preserveAspectRatio,fillRule,clipPath,clipRule,strokeWidth,strokeLinecap,strokeLinejoin,strokeDasharray,strokeDashoffset,strokeMiterlimit`.split(`,`)),Tp=hp(e=>{let t={};for(let n in e)t[xp(n)]=Sp(n,e[n]);return t})}));function Dp(...e){let t=[];for(let n of e)n&&`class`in n&&n.class!=null&&t.push(n.class);let n=ml(...e);return t.length>0&&(n.class=t.length===1?t[0]:t),`style`in n&&(typeof n.style==`string`&&(n.style=kp(n.style)),n.style=bp(n.style)),n}var Op,kp,Ap=o((()=>{mp(),Ep(),Op=/((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g,kp=e=>{let t={},n;for(;n=Op.exec(e);)t[n[1]]=n[2];return t}}));function jp(e){let t=e().defaultValue??e().value,n=e().isEqual??Object.is,r=$n(ur(t)),i=z(()=>e().value!==void 0),a={current:bi(()=>U(r))},o={current:void 0};Ir(()=>{let t=U(i)?e().value:U(r);a={current:t},o={current:t}});let s=t=>{let s=sc(t)?t(a.current):t,c=o.current;e().debug&&console.log(`[bindable > ${e().debug}] setValue`,{next:s,prev:c}),U(i)||tr(r,s,!0),n(s,c)||e().onChange?.(s,c)};function c(){return U(i)?e().value:U(r)}return{initial:t,ref:a,get:c,set(t){let n=e().sync?kn:yc;bi(()=>n(()=>s(t)))},invoke(t,n){e().onChange?.(t,n)},hash(t){return e().hash?.(t)??String(t)}}}var Mp=o((()=>{X(),pl(),zs(),jp.cleanup=e=>{Ls(()=>e())},jp.ref=e=>{let t=e;return{get:()=>t,set:e=>{t=e}}}}));function Np(e){let t={current:e};return{get(e){return t.current[e]},set(e,n){t.current[e]=n}}}var Pp=o((()=>{X()})),Fp,Ip,Lp=o((()=>{X(),pl(),Fp=e=>typeof e==`function`?e():e,Ip=(e,t)=>{let n=[],r=!0;Pr(()=>{if(r){n=e.map(e=>Fp(e)),r=!1;return}let i=!1;for(let t=0;t<e.length;t++)if(!rc(n[t],Fp(e[t]))){i=!0;break}i&&(n=e.map(e=>Fp(e)),t())})}}));function Rp(e){return sc(e)?e():e}function zp(e,t){let n=z(()=>{let{id:e,ids:n,getRootNode:r}=Rp(t);return fp({id:e,ids:n,getRootNode:r})}),r=(...t)=>{e.debug&&console.log(...t)},i=z(()=>e.props?.({props:Zc(Rp(t)),scope:U(n)})??Rp(t)),a=Bp(()=>U(i)),o=e.context?.({prop:a,bindable:jp,get scope(){return U(n)},flush:Vp,getContext(){return s},getComputed(){return b},getRefs(){return m},getEvent(){return f()}}),s={get(e){return o?.[e].get()},set(e,t){o?.[e].set(t)},initial(e){return o?.[e].initial},hash(e){let t=o?.[e].get();return o?.[e].hash(t)}},c=new Map,l={current:null},u={current:null},d={current:{type:``}},f=()=>({...d.current,current(){return d.current},previous(){return u.current}}),p=()=>({...x,hasTag(t){return zl(e,x.get(),t)},matches(...e){let t=x.get();return e.some(e=>Rl(t,e))}}),m=Np(e.refs?.({prop:a,context:s})??{}),h=()=>({state:p(),context:s,event:f(),prop:a,send:C,action:g,guard:_,track:Ip,refs:m,computed:b,flush:Vp,scope:U(n),choose:y}),g=t=>{let n=sc(t)?t(h()):t;if(!n)return;let r=n.map(t=>{let n=e.implementations?.actions?.[t];return n||cl(`[zag-js] No implementation found for action "${JSON.stringify(t)}"`),n});for(let e of r)e?.(h())},_=t=>sc(t)?t(h()):e.implementations?.guards?.[t](h()),v=t=>{let n=sc(t)?t(h()):t;if(!n)return;let r=n.map(t=>{let n=e.implementations?.effects?.[t];return n||cl(`[zag-js] No implementation found for effect "${JSON.stringify(t)}"`),n}),i=[];for(let e of r){let t=e?.(h());t&&i.push(t)}return()=>i.forEach(e=>e?.())},y=e=>Zs(e).find(e=>{let t=!e.guard;return oc(e.guard)?t=!!_(e.guard):sc(e.guard)&&(t=e.guard(h())),t}),b=t=>{ul(e.computed,()=>`[zag-js] No computed object found on machine`);let r=e.computed[t];return r({context:s,event:f(),prop:a,refs:m,scope:U(n),computed:b})},x=jp(()=>({defaultValue:Fl(e,e.initialState({prop:a})),onChange(t,n){let{exiting:r,entering:i}=Ll(e,n,t,l.current?.reenter);if(r.forEach(e=>{c.get(e.path)?.(),c.delete(e.path)}),r.forEach(e=>{g(e.state?.exit)}),g(l.current?.actions),i.forEach(e=>{let t=v(e.state?.effects);t&&c.set(e.path,t)}),n===`__init__`){g(e.entry);let t=v(e.effects);t&&c.set(Xl,t)}i.forEach(e=>{g(e.state?.entry)})}})),S=Yl.NotStarted;Is(()=>{let e=S===Yl.Started;S=Yl.Started,r(e?`rehydrating...`:`initializing...`),x.invoke(x.initial,Xl)}),Ls(()=>{r(`unmounting...`),S=Yl.Stopped,c.forEach(e=>e?.()),c=new Map,l.current=null,g(e.exit)});let C=t=>{if(S!==Yl.Started)return;u.current=d.current,d.current=t;let n=x.get(),{transitions:i,source:a}=Il(e,n,t.type),o=y(i);if(!o)return;l.current=o;let s=Fl(e,o.target??n,a);r(`transition`,t.type,o.target||n,`(${o.actions})`),s===n?o.reenter?x.invoke(n,n):g(o.actions):x.set(s)};return e.watch?.(h()),{get state(){return p()},send:C,context:s,prop:a,get scope(){return U(n)},refs:m,computed:b,get event(){return f()},getStatus:()=>S}}function Bp(e){return function(t){return e()[t]}}function Vp(e){kn(()=>{queueMicrotask(()=>e())})}var Hp=o((()=>{X(),mp(),pl(),zs(),Mp(),Pp(),Lp()})),Q=o((()=>{Ap(),Ep(),Hp(),X()})),Up,Wp,Gp,Kp=o((()=>{Up=(e,t=[])=>({parts:(...n)=>{if(Gp(t))return Up(e,n);throw Error(`createAnatomy().parts(...) should only be called once. Did you mean to use .extendWith(...) ?`)},extendWith:(...n)=>Up(e,[...t,...n]),omit:(...n)=>Up(e,t.filter(e=>!n.includes(e))),rename:e=>Up(e,t),keys:()=>t,build:()=>[...new Set(t)].reduce((t,n)=>Object.assign(t,{[n]:{selector:[`&[data-scope="${Wp(e)}"][data-part="${Wp(n)}"]`,`& [data-scope="${Wp(e)}"][data-part="${Wp(n)}"]`].join(`, `),attrs:{"data-scope":Wp(e),"data-part":Wp(n)}}}),{})}),Wp=e=>e.replace(/([A-Z])([A-Z])/g,`$1-$2`).replace(/([a-z])([A-Z])/g,`$1-$2`).replace(/[\s_]+/g,`-`).toLowerCase(),Gp=e=>e.length===0})),qp=o((()=>{Kp()})),Jp=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),pl(),mp(),yp()})),Yp=o((()=>{Z(),X(),Q()})),Xp=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),mp(),yp(),pl()})),Zp=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),pl(),mp(),yp()})),Qp=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),pl(),mp(),yp()}));function $p(e,t,n){return vm(e,_m(t,n))}function em(e,t){return typeof e==`function`?e(t):e}function tm(e){return e.split(`-`)[0]}function nm(e){return e.split(`-`)[1]}function rm(e){return e===`x`?`y`:`x`}function im(e){return e===`y`?`height`:`width`}function am(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function om(e){return rm(am(e))}function sm(e,t,n){n===void 0&&(n=!1);let r=nm(e),i=om(e),a=im(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=fm(o)),[o,fm(o)]}function cm(e){let t=fm(e);return[lm(e),t,lm(t)]}function lm(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}function um(e,t,n){switch(e){case`top`:case`bottom`:return n?t?wm:Cm:t?Cm:wm;case`left`:case`right`:return t?Tm:Em;default:return[]}}function dm(e,t,n,r){let i=nm(e),a=um(tm(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(lm)))),a}function fm(e){let t=tm(e);return Sm[t]+e.slice(t.length)}function pm(e){return{top:0,right:0,bottom:0,left:0,...e}}function mm(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:pm(e)}function hm(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}var gm,_m,vm,ym,bm,xm,Sm,Cm,wm,Tm,Em,Dm=o((()=>{gm=[`top`,`right`,`bottom`,`left`],_m=Math.min,vm=Math.max,ym=Math.round,bm=Math.floor,xm=e=>({x:e,y:e}),Sm={left:`right`,right:`left`,bottom:`top`,top:`bottom`},Cm=[`left`,`right`],wm=[`right`,`left`],Tm=[`top`,`bottom`],Em=[`bottom`,`top`]}));function Om(e,t,n){let{reference:r,floating:i}=e,a=am(t),o=om(t),s=im(o),c=tm(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(nm(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function km(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=em(t,e),p=mm(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=hm(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=hm(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}function Am(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function jm(e){return gm.some(t=>e[t]>=0)}async function Mm(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=tm(n),s=nm(n),c=am(n)===`y`,l=Rm.has(o)?-1:1,u=a&&c?-1:1,d=em(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Nm,Pm,Fm,Im,Lm,Rm,zm,Bm,Vm,Hm,Um=o((()=>{Dm(),Nm=50,Pm=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:km},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Om(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Nm&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Om(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Fm=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=em(e,t)||{};if(l==null)return{};let d=mm(u),f={x:n,y:r},p=om(i),m=im(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,ee=_m(d[_],T),E=_m(d[v],T),D=ee,O=C-h[m]-E,k=C/2-h[m]/2+w,te=$p(D,k,O),ne=!c.arrow&&nm(i)!=null&&k!==te&&a.reference[m]/2-(k<D?ee:E)-h[m]/2<0,A=ne?k<D?k-D:k-O:0;return{[p]:f[p]+A,data:{[p]:te,centerOffset:k-te-A,...ne&&{alignmentOffset:A}},reset:ne}}}),Im=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=em(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=tm(r),_=am(o),v=tm(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[fm(o)]:cm(o)),x=p!==`none`;!d&&x&&b.push(...dm(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=sm(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==am(t))||T.every(e=>am(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=am(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Lm=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=em(e,t);switch(i){case`referenceHidden`:{let e=Am(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:jm(e)}}}case`escaped`:{let e=Am(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:jm(e)}}}default:return{}}}}},Rm=new Set([`left`,`top`]),zm=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Mm(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Bm=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=em(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=am(tm(i)),p=rm(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=$p(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=$p(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Vm=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=em(e,t),u={x:n,y:r},d=am(i),f=rm(d),p=u[f],m=u[d],h=em(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Rm.has(tm(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Hm=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=em(e,t),u=await o.detectOverflow(t,l),d=tm(i),f=nm(i),p=am(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=_m(h-u[g],v),x=_m(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=vm(u.left,0),t=vm(u.right,0),n=vm(u.top,0),r=vm(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:vm(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:vm(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}}}));function Wm(){return typeof window<`u`}function Gm(e){return Jm(e)?(e.nodeName||``).toLowerCase():`#document`}function Km(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function qm(e){return((Jm(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Jm(e){return Wm()?e instanceof Node||e instanceof Km(e).Node:!1}function Ym(e){return Wm()?e instanceof Element||e instanceof Km(e).Element:!1}function Xm(e){return Wm()?e instanceof HTMLElement||e instanceof Km(e).HTMLElement:!1}function Zm(e){return!Wm()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Km(e).ShadowRoot}function Qm(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ah(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function $m(e){return/^(table|td|th)$/.test(Gm(e))}function eh(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}function th(e){let t=Ym(e)?ah(e):e;return ph(t.transform)||ph(t.translate)||ph(t.scale)||ph(t.rotate)||ph(t.perspective)||!rh()&&(ph(t.backdropFilter)||ph(t.filter))||dh.test(t.willChange||``)||fh.test(t.contain||``)}function nh(e){let t=sh(e);for(;Xm(t)&&!ih(t);){if(th(t))return t;if(eh(t))return null;t=sh(t)}return null}function rh(){return mh??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),mh}function ih(e){return/^(html|body|#document)$/.test(Gm(e))}function ah(e){return Km(e).getComputedStyle(e)}function oh(e){return Ym(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function sh(e){if(Gm(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Zm(e)&&e.host||qm(e);return Zm(t)?t.host:t}function ch(e){let t=sh(e);return ih(t)?e.ownerDocument?e.ownerDocument.body:e.body:Xm(t)&&Qm(t)?t:ch(t)}function lh(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ch(e),i=r===e.ownerDocument?.body,a=Km(r);if(i){let e=uh(a);return t.concat(a,a.visualViewport||[],Qm(r)?r:[],e&&n?lh(e):[])}else return t.concat(r,lh(r,[],n))}function uh(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var dh,fh,ph,mh,hh=o((()=>{dh=/transform|translate|scale|rotate|perspective|filter/,fh=/paint|layout|strict|content/,ph=e=>!!e&&e!==`none`}));function gh(e){let t=ah(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Xm(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ym(n)!==a||ym(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function _h(e){return Ym(e)?e:e.contextElement}function vh(e){let t=_h(e);if(!Xm(t))return xm(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=gh(t),o=(a?ym(n.width):n.width)/r,s=(a?ym(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}function yh(e){let t=Km(e);return!rh()||!t.visualViewport?Hh:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function bh(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Km(e)?!1:t}function xh(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=_h(e),o=xm(1);t&&(r?Ym(r)&&(o=vh(r)):o=vh(e));let s=bh(a,n,r)?yh(a):xm(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=Km(a),t=r&&Ym(r)?Km(r):r,n=e,i=uh(n);for(;i&&r&&t!==n;){let e=vh(i),t=i.getBoundingClientRect(),r=ah(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Km(i),i=uh(n)}}return hm({width:u,height:d,x:c,y:l})}function Sh(e,t){let n=oh(e).scrollLeft;return t?t.left+n:xh(qm(e)).left+n}function Ch(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Sh(e,n),y:n.top+t.scrollTop}}function wh(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=qm(r),s=t?eh(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=xm(1),u=xm(0),d=Xm(r);if((d||!d&&!a)&&((Gm(r)!==`body`||Qm(o))&&(c=oh(r)),d)){let e=xh(r);l=vh(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Ch(o,c):xm(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Th(e){return Array.from(e.getClientRects())}function Eh(e){let t=qm(e),n=oh(e),r=e.ownerDocument.body,i=vm(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=vm(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Sh(e),s=-n.scrollTop;return ah(r).direction===`rtl`&&(o+=vm(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function Dh(e,t){let n=Km(e),r=qm(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=rh();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Sh(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Uh&&(a-=o)}else l<=Uh&&(a+=l);return{width:a,height:o,x:s,y:c}}function Oh(e,t){let n=xh(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Xm(e)?vh(e):xm(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function kh(e,t,n){let r;if(t===`viewport`)r=Dh(e,n);else if(t===`document`)r=Eh(qm(e));else if(Ym(t))r=Oh(t,n);else{let n=yh(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return hm(r)}function Ah(e,t){let n=sh(e);return n===t||!Ym(n)||ih(n)?!1:ah(n).position===`fixed`||Ah(n,t)}function jh(e,t){let n=t.get(e);if(n)return n;let r=lh(e,[],!1).filter(e=>Ym(e)&&Gm(e)!==`body`),i=null,a=ah(e).position===`fixed`,o=a?sh(e):e;for(;Ym(o)&&!ih(o);){let t=ah(o),n=th(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Qm(o)&&!n&&Ah(e,o))?r=r.filter(e=>e!==o):i=t,o=sh(o)}return t.set(e,r),r}function Mh(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?eh(t)?[]:jh(t,this._c):[].concat(n),r],o=kh(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=kh(t,a[e],i);s=vm(n.top,s),c=_m(n.right,c),l=_m(n.bottom,l),u=vm(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Nh(e){let{width:t,height:n}=gh(e);return{width:t,height:n}}function Ph(e,t,n){let r=Xm(t),i=qm(t),a=n===`fixed`,o=xh(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=xm(0);function l(){c.x=Sh(i)}if(r||!r&&!a)if((Gm(t)!==`body`||Qm(i))&&(s=oh(t)),r){let e=xh(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Ch(i,s):xm(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Fh(e){return ah(e).position===`static`}function Ih(e,t){if(!Xm(e)||ah(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return qm(e)===n&&(n=n.ownerDocument.body),n}function Lh(e,t){let n=Km(e);if(eh(e))return n;if(!Xm(e)){let t=sh(e);for(;t&&!ih(t);){if(Ym(t)&&!Fh(t))return t;t=sh(t)}return n}let r=Ih(e,t);for(;r&&$m(r)&&Fh(r);)r=Ih(r,t);return r&&ih(r)&&Fh(r)&&!th(r)?n:r||nh(e)||n}function Rh(e){return ah(e).direction===`rtl`}function zh(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Bh(e,t){let n=null,r,i=qm(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=bm(d),h=bm(i.clientWidth-(u+f)),g=bm(i.clientHeight-(d+p)),_=bm(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:vm(0,_m(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!zh(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Vh(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=_h(e),u=i||a?[...l?lh(l):[],...t?lh(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Bh(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?xh(e):null;c&&g();function g(){let t=xh(e);h&&!zh(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Hh,Uh,Wh,Gh,Kh,qh,Jh,Yh,Xh,Zh,Qh,$h,eg=o((()=>{Um(),Dm(),hh(),Hh=xm(0),Uh=25,Wh=async function(e){let t=this.getOffsetParent||Lh,n=this.getDimensions,r=await n(e.floating);return{reference:Ph(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},Gh={convertOffsetParentRelativeRectToViewportRelativeRect:wh,getDocumentElement:qm,getClippingRect:Mh,getOffsetParent:Lh,getElementRects:Wh,getClientRects:Th,getDimensions:Nh,getScale:vh,isElement:Ym,isRTL:Rh},Kh=zm,qh=Bm,Jh=Im,Yh=Hm,Xh=Lm,Zh=Fm,Qh=Vm,$h=(e,t,n)=>{let r=new Map,i={platform:Gh,...n},a={...i.platform,_c:r};return Pm(e,t,{...i,platform:a})}}));function tg(e=0,t=0,n=0,r=0){if(typeof DOMRect==`function`)return new DOMRect(e,t,n,r);let i={x:e,y:t,width:n,height:r,top:t,right:e+n,bottom:t+r,left:e};return{...i,toJSON:()=>i}}function ng(e){if(!e)return tg();let{x:t,y:n,width:r,height:i}=e;return tg(t,n,r,i)}function rg(e,t){return{contextElement:Cu(e)?e:e?.contextElement,getBoundingClientRect:()=>{let n=e,r=t?.(n);return r||!n?ng(r):n.getBoundingClientRect()}}}var ig=o((()=>{dp()}));function ag(e,t){return{name:`transformOrigin`,fn(n){let{elements:r,middlewareData:i,placement:a,rects:o,y:s}=n,c=a.split(`-`)[0],l=cg(c),u=i.arrow?.x||0,d=i.arrow?.y||0,f=t?.clientWidth||0,p=t?.clientHeight||0,m=u+f/2,h=d+p/2,g=Math.abs(i.shift?.y||0),_=o.reference.height/2,v=p/2,y=e.offset?.mainAxis??e.gutter,b=typeof y==`number`?y+v:y??v,x=g>b,S={top:`${m}px calc(100% + ${b}px)`,bottom:`${m}px ${-b}px`,left:`calc(100% + ${b}px) ${h}px`,right:`${-b}px ${h}px`}[c],C=`${m}px ${o.reference.y+_-s}px`,w=!!e.overlap&&l===`y`&&x;return r.floating.style.setProperty(sg.transformOrigin.variable,w?C:S),{data:{transformOrigin:w?C:S}}}}}var og,sg,cg,lg,ug,dg=o((()=>{og=e=>({variable:e,reference:`var(${e})`}),sg={arrowSize:og(`--arrow-size`),arrowSizeHalf:og(`--arrow-size-half`),arrowBg:og(`--arrow-background`),transformOrigin:og(`--transform-origin`),arrowOffset:og(`--arrow-offset`)},cg=e=>e===`top`||e===`bottom`?`y`:`x`,lg={name:`rects`,fn({rects:e}){return{data:e}}},ug=e=>{if(e)return{name:`shiftArrow`,fn({placement:t,middlewareData:n}){if(!n.arrow)return{};let{x:r,y:i}=n.arrow,a=t.split(`-`)[0];return Object.assign(e.style,{left:r==null?``:`${r}px`,top:i==null?``:`${i}px`,[a]:`calc(100% + ${sg.arrowOffset.reference})`}),{}}}}}));function fg(e){let[t,n]=e.split(`-`);return{side:t,align:n,hasAlign:n!=null}}var pg=o((()=>{}));function mg(e,t){let n=e.devicePixelRatio||1;return Math.round(t*n)/n}function hg(e,t){return e!=null&&Math.abs(e-t)<.5}function gg(e){return typeof e==`function`?e():e===`clipping-ancestors`?`clippingAncestors`:e}function _g(e,t,n){return Zh({element:e||t.createElement(`div`),padding:n.arrowPadding})}function vg(e,t){if(!cc(t.offset??t.gutter))return Kh(({placement:n})=>{let r=(e?.clientHeight||0)/2,i=t.offset?.mainAxis??t.gutter,a=typeof i==`number`?i+r:i??r,{hasAlign:o}=fg(n),s=o?void 0:t.shift;return Zc({crossAxis:t.offset?.crossAxis??s,mainAxis:a,alignmentAxis:t.shift})})}function yg(e){if(!e.flip)return;let t=gg(e.boundary);return Jh({...t?{boundary:t}:void 0,padding:e.overflowPadding,fallbackPlacements:e.flip===!0?void 0:e.flip})}function bg(e){if(!e.slide&&!e.overlap)return;let t=gg(e.boundary);return qh({...t?{boundary:t}:void 0,mainAxis:e.slide,crossAxis:e.overlap,padding:e.overflowPadding,limiter:Qh()})}function xg(e){if(e.sizeMiddleware===!1&&!e.sameWidth&&!e.fitViewport)return;let t,n,r,i;return Yh({padding:e.overflowPadding,apply({elements:e,rects:a,availableHeight:o,availableWidth:s}){let c=e.floating,l=Math.round(a.reference.width),u=Math.round(a.reference.height);s=Math.floor(s),o=Math.floor(o),hg(t,l)||(c.style.setProperty(`--reference-width`,`${l}px`),t=l),hg(n,u)||(c.style.setProperty(`--reference-height`,`${u}px`),n=u),hg(r,s)||(c.style.setProperty(`--available-width`,`${s}px`),r=s),hg(i,o)||(c.style.setProperty(`--available-height`,`${o}px`),i=o)}})}function Sg(e){if(e.hideWhenDetached)return Xh({strategy:`referenceHidden`,boundary:gg(e.boundary)??`clippingAncestors`})}function Cg(e){return e?e===!0?{ancestorResize:!0,ancestorScroll:!0,elementResize:!0,layoutShift:!0}:e:{}}function wg(e,t){if(!e)return bc;let n=new Map(t.map(t=>[t,e.style.getPropertyValue(t)]));return()=>{n.forEach((t,n)=>{t?e.style.setProperty(n,t):e.style.removeProperty(n)}),e.style.length===0&&e.removeAttribute(`style`)}}function Tg(e){return e==null?null:Cu(e)?e:typeof e==`object`&&e&&`contextElement`in e&&e.contextElement?e.contextElement:e}function Eg(e,t,n={}){let r=()=>(typeof t==`function`?t():t)??null,i=()=>{let t=typeof e==`function`?e():e;return n.getAnchorElement?.()??t},a=()=>{let e=i();return!e&&!n.getAnchorRect?null:rg(e,n.getAnchorRect)},o=Object.assign({},Og,n),s=[],c=null,l,u;function d(e){l?.(),u?.(),c=e,l=o.restoreStyles?wg(e,kg):void 0;let t=e.querySelector(`[data-part=arrow]`);u=o.restoreStyles?wg(t,Ag):void 0,s=[vg(t,o),yg(o),bg(o),_g(t,e.ownerDocument,o),ug(t),ag({gutter:o.gutter,offset:o.offset,overlap:o.overlap},t),xg(o),Sg(o),lg]}let{placement:f,strategy:p,onComplete:m,onPositioned:h}=o,g,_,v=!1,y,b,x=bc,S=Cg(o.listeners);function C(){if(!o.listeners)return;let e=i(),t=a(),n=r();!t||!n||(Tg(e)!==Tg(y)||n!==b)&&(x(),y=e,b=n,x=Vh(t,n,T,S))}async function w(){C();let e=r();if(!e)return;e!==c&&(d(e),v=!1);let t=a();if(!t)return;let n=await $h(t,e,{placement:f,middleware:s,strategy:p});m?.(n);let i=gu(e),l=mg(i,n.x),u=mg(i,n.y);if(hg(g,l)||(e.style.setProperty(`--x`,`${l}px`),g=l),hg(_,u)||(e.style.setProperty(`--y`,`${u}px`),_=u),o.hideWhenDetached&&(n.middlewareData.hide?.referenceHidden?(e.style.setProperty(`visibility`,`hidden`),e.style.setProperty(`pointer-events`,`none`)):(e.style.removeProperty(`visibility`),e.style.removeProperty(`pointer-events`))),!v){let t=e.firstElementChild;t&&(e.style.setProperty(`--z-index`,Pu(t).zIndex),v=!0)}}async function T(){n.updatePosition?(await n.updatePosition({updatePosition:w,floatingElement:r()}),h?.({placed:!0})):await w()}return T(),()=>{x(),u?.(),l?.(),h?.({placed:!1})}}function Dg(e,t,n={}){let{defer:r,...i}=n,a=r?ff:e=>e(),o=[];return o.push(a(()=>{o.push(Eg(e,t,i))})),()=>{o.forEach(e=>e?.())}}var Og,kg,Ag,jg=o((()=>{eg(),dp(),pl(),ig(),dg(),pg(),Og={strategy:`absolute`,placement:`bottom`,listeners:!0,restoreStyles:!1,gutter:8,flip:!0,slide:!0,overlap:!1,sameWidth:!1,fitViewport:!1,overflowPadding:8,arrowPadding:4},kg=[`transform`,`visibility`,`pointer-events`,`--x`,`--y`,`--z-index`,`--reference-width`,`--reference-height`,`--available-width`,`--available-height`,`--transform-origin`],Ag=[`top`,`right`,`bottom`,`left`]}));function Mg(e={}){let{placement:t,sameWidth:n,fitViewport:r,strategy:i=`absolute`}=e;return{arrow:{position:`absolute`,width:sg.arrowSize.reference,height:sg.arrowSize.reference,[sg.arrowSizeHalf.variable]:`calc(${sg.arrowSize.reference} / 2)`,[sg.arrowOffset.variable]:`calc(${sg.arrowSizeHalf.reference} * -1)`},arrowTip:{transform:t?Ng[t.split(`-`)[0]]:void 0,background:sg.arrowBg.reference,top:`0`,left:`0`,width:`100%`,height:`100%`,position:`absolute`,zIndex:`inherit`},floating:{position:i,isolation:`isolate`,minWidth:n?void 0:`max-content`,width:n?`var(--reference-width)`:void 0,maxWidth:r?`var(--available-width)`:void 0,maxHeight:r?`var(--available-height)`:void 0,pointerEvents:t?void 0:`none`,top:`0px`,left:`0px`,transform:t?`translate3d(var(--x), var(--y), 0)`:`translate3d(0, -100vh, 0)`,zIndex:`var(--z-index)`}}}var Ng,Pg=o((()=>{dg(),Ng={bottom:`rotate(45deg)`,left:`rotate(135deg)`,top:`rotate(225deg)`,right:`rotate(315deg)`}})),Fg=o((()=>{jg(),Pg()}));function Ig(e){let t={each(t){for(let n=0;n<e.frames?.length;n+=1){let r=e.frames[n];r&&t(r)}},addEventListener(e,n,r){return t.each(t=>{try{t.document.addEventListener(e,n,r)}catch{}}),()=>{try{t.removeEventListener(e,n,r)}catch{}}},removeEventListener(e,n,r){t.each(t=>{try{t.document.removeEventListener(e,n,r)}catch{}})}};return t}function Lg(e){let t=e.frameElement==null?null:e.parent;return{addEventListener:(e,n,r)=>{try{t?.addEventListener(e,n,r)}catch{}return()=>{try{t?.removeEventListener(e,n,r)}catch{}}},removeEventListener:(e,n,r)=>{try{t?.removeEventListener(e,n,r)}catch{}}}}var Rg=o((()=>{}));function zg(e){for(let t of e)if(Cu(t)&&Xd(t))return!0;return!1}function Bg(e,t){if(!Jg(t)||!e)return!1;let n=e.getBoundingClientRect();return n.width===0||n.height===0?!1:n.top<=t.clientY&&t.clientY<=n.top+n.height&&n.left<=t.clientX&&t.clientX<=n.left+n.width}function Vg(e,t){return e.y<=t.y&&t.y<=e.y+e.height&&e.x<=t.x&&t.x<=e.x+e.width}function Hg(e,t){if(!t||!Jg(e))return!1;let n=t.scrollHeight>t.clientHeight,r=n&&e.clientX>t.offsetLeft+t.clientWidth,i=t.scrollWidth>t.clientWidth,a=i&&e.clientY>t.offsetTop+t.clientHeight;return Vg({x:t.offsetLeft,y:t.offsetTop,width:t.clientWidth+(n?16:0),height:t.clientHeight+(i?16:0)},{x:e.clientX,y:e.clientY})?r||a:!1}function Ug(e,t){let{exclude:n,onFocusOutside:r,onPointerDownOutside:i,onInteractOutside:a,defer:o,followControlledElements:s=!0}=t;if(!e)return;let c=mu(e),l=gu(e),u=Ig(l),d=Lg(l);function f(t,r){if(!Cu(r)||!r.isConnected||pu(e,r)||Bg(e,t)||s&&Lu(e,r))return!1;let i=c.querySelector(`[aria-controls="${e.id}"]`);return i&&Hg(t,bf(i))||Hg(t,bf(e))?!1:!n?.(r)}let p=new Set,m=Ou(e?.getRootNode()),h=!1;function g(t){h=!0;let n=()=>{h=!1};c.addEventListener(`pointerup`,n,{once:!0}),l.addEventListener(`pointerup`,n,{once:!0});function r(n){let r=o&&!td()?ff:e=>e(),s=n??t,c=s?.composedPath?.()??[s?.target];r(()=>{let n=m?c[0]:fd(t);if(!(!e||!f(t,n))){if(i||a){let t=xc(i,a);e.addEventListener(Kg,t,{once:!0})}Gg(e,Kg,{bubbles:!1,cancelable:!0,detail:{originalEvent:s,contextmenu:Sd(s),focusable:zg(c),target:n}})}})}t.pointerType===`touch`?(p.forEach(e=>e()),p.add(kd(c,`click`,r,{once:!0})),p.add(d.addEventListener(`click`,r,{once:!0})),p.add(u.addEventListener(`click`,r,{once:!0}))):r()}let _=new Set,v=setTimeout(()=>{_.add(kd(c,`pointerdown`,g,!0)),_.add(d.addEventListener(`pointerdown`,g,!0)),_.add(u.addEventListener(`pointerdown`,g,!0))},0);function y(t){h||(o?ff:e=>e())(()=>{let n=t?.composedPath?.()??[t?.target],i=m?n[0]:fd(t);if(!(!e||!f(t,i))){if(r||a){let t=xc(r,a);e.addEventListener(qg,t,{once:!0})}Gg(e,qg,{bubbles:!1,cancelable:!0,detail:{originalEvent:t,contextmenu:!1,focusable:Xd(i),target:i}})}})}return td()||(_.add(kd(c,`focusin`,y,!0)),_.add(d.addEventListener(`focusin`,y,!0)),_.add(u.addEventListener(`focusin`,y,!0))),()=>{clearTimeout(v),p.forEach(e=>e()),_.forEach(e=>e())}}function Wg(e,t){let{defer:n}=t,r=n?ff:e=>e(),i=[];return i.push(r(()=>{let n=typeof e==`function`?e():e;i.push(Ug(n,t))})),()=>{i.forEach(e=>e?.())}}function Gg(e,t,n){let r=new(e.ownerDocument.defaultView||window).CustomEvent(t,n);return e.dispatchEvent(r)}var Kg,qg,Jg,Yg=o((()=>{dp(),pl(),Rg(),Kg=`pointerdown.outside`,qg=`focus.outside`,Jg=e=>`clientY`in e}));function Xg(e,t){return kd(mu(e),`keydown`,e=>{e.key===`Escape`&&(e.isComposing||t?.(e))},{capture:!0})}var Zg=o((()=>{dp()}));function Qg(e,t,n){let r=new(e.ownerDocument.defaultView||window).CustomEvent(t,{cancelable:!0,bubbles:!0,detail:n});return e.dispatchEvent(r)}function $g(e,t,n){e.addEventListener(t,n,{once:!0})}var e_,t_,n_=o((()=>{dp(),e_=`layer:request-dismiss`,t_={layers:[],branches:[],recentlyRemoved:new Set,count(){return this.layers.length},pointerBlockingLayers(){return this.layers.filter(e=>e.pointerBlocking)},topMostPointerBlockingLayer(){return[...this.pointerBlockingLayers()].slice(-1)[0]},hasPointerBlockingLayer(){return this.pointerBlockingLayers().length>0},isBelowPointerBlockingLayer(e){return this.indexOf(e)<(this.topMostPointerBlockingLayer()?this.indexOf(this.topMostPointerBlockingLayer()?.node):-1)},isTopMost(e){return this.layers[this.count()-1]?.node===e},getNestedLayers(e){return Array.from(this.layers).slice(this.indexOf(e)+1)},getLayersByType(e){return this.layers.filter(t=>t.type===e)},getNestedLayersByType(e,t){let n=this.indexOf(e);return n===-1?[]:this.layers.slice(n+1).filter(e=>e.type===t)},getParentLayerOfType(e,t){let n=this.indexOf(e);if(!(n<=0))return this.layers.slice(0,n).reverse().find(e=>e.type===t)},countNestedLayersOfType(e,t){return this.getNestedLayersByType(e,t).length},isInNestedLayer(e,t){return!!(this.getNestedLayers(e).some(e=>pu(e.node,t))||this.recentlyRemoved.size>0)},isInBranch(e){return Array.from(this.branches).some(t=>pu(t,e))},add(e){this.layers.push(e),this.syncLayers()},addBranch(e){this.branches.push(e)},remove(e){let t=this.indexOf(e);t<0||(this.recentlyRemoved.add(e),pf(()=>this.recentlyRemoved.delete(e)),t<this.count()-1&&this.getNestedLayers(e).forEach(t=>t_.dismiss(t.node,e)),this.layers.splice(t,1),this.syncLayers())},removeBranch(e){let t=this.branches.indexOf(e);t>=0&&this.branches.splice(t,1)},syncLayers(){this.layers.forEach((e,t)=>{e.node.style.setProperty(`--layer-index`,`${t}`),e.node.removeAttribute(`data-nested`),e.node.removeAttribute(`data-has-nested`),this.getParentLayerOfType(e.node,e.type)&&e.node.setAttribute(`data-nested`,e.type);let n=this.countNestedLayersOfType(e.node,e.type);n>0&&e.node.setAttribute(`data-has-nested`,e.type),e.node.style.setProperty(`--nested-layer-count`,`${n}`)})},indexOf(e){return this.layers.findIndex(t=>t.node===e)},dismiss(e,t){let n=this.indexOf(e);if(n===-1)return;let r=this.layers[n];$g(e,e_,e=>{r.requestDismiss?.(e),e.defaultPrevented||r?.dismiss()}),Qg(e,e_,{originalLayer:e,targetLayer:t,originalIndex:n,targetIndex:t?this.indexOf(t):-1}),this.syncLayers()},clear(){this.remove(this.layers[0].node)}}}));function r_(){t_.layers.forEach(({node:e})=>{e.style.pointerEvents=t_.isBelowPointerBlockingLayer(e)?`none`:`auto`})}function i_(e){e.style.pointerEvents=``}function a_(e,t){let n=mu(e),r=[];return t_.hasPointerBlockingLayer()&&!n.body.hasAttribute(`data-inert`)&&(o_=document.body.style.pointerEvents,queueMicrotask(()=>{n.body.style.pointerEvents=`none`,n.body.setAttribute(`data-inert`,``)})),t?.forEach(e=>{let[t,n]=lp(()=>{let t=e();return Cu(t)?t:null},{timeout:1e3});t.then(e=>r.push(ep(e,{pointerEvents:`auto`}))),r.push(n)}),()=>{t_.hasPointerBlockingLayer()||(queueMicrotask(()=>{n.body.style.pointerEvents=o_,n.body.removeAttribute(`data-inert`),n.body.style.length===0&&n.body.removeAttribute(`style`)}),r.forEach(e=>e()))}}var o_,s_=o((()=>{dp(),n_()}));function c_(e,t){let{warnOnMissingNode:n=!0}=t;if(n&&!e){cl("[@zag-js/dismissable] node is `null` or `undefined`");return}if(!e)return;let{onDismiss:r,onRequestDismiss:i,pointerBlocking:a,exclude:o,debug:s,type:c=`dialog`}=t,l={dismiss:r,node:e,type:c,pointerBlocking:a,requestDismiss:i};t_.add(l),r_();function u(n){let i=fd(n.detail.originalEvent);t_.isBelowPointerBlockingLayer(e)||t_.isInBranch(i)||(t.onPointerDownOutside?.(n),t.onInteractOutside?.(n),!n.defaultPrevented&&(s&&console.log(`onPointerDownOutside:`,n.detail.originalEvent),r?.()))}function d(e){let n=fd(e.detail.originalEvent);t_.isInBranch(n)||(t.onFocusOutside?.(e),t.onInteractOutside?.(e),!e.defaultPrevented&&(s&&console.log(`onFocusOutside:`,e.detail.originalEvent),r?.()))}function f(n){t_.isTopMost(e)&&(t.onEscapeKeyDown?.(n),!n.defaultPrevented&&r&&(n.preventDefault(),r()))}function p(n){if(!e)return!1;let r=typeof o==`function`?o():o,i=Array.isArray(r)?r:[r],a=t.persistentElements?.map(e=>e()).filter(Cu);return a&&i.push(...a),i.some(e=>pu(e,n))||t_.isInNestedLayer(e,n)}let m=[a?a_(e,t.persistentElements):void 0,Xg(e,f),Wg(e,{exclude:p,onFocusOutside:d,onPointerDownOutside:u,defer:t.defer})];return()=>{t_.remove(e),r_(),i_(e),m.forEach(e=>e?.())}}function l_(e,t){let{defer:n}=t,r=n?ff:e=>e(),i=[];return i.push(r(()=>{let n=sc(e)?e():e;i.push(c_(n,t))})),()=>{i.forEach(e=>e?.())}}function u_(e,t={}){let{defer:n}=t,r=n?ff:e=>e(),i=[];return i.push(r(()=>{let t=sc(e)?e():e;if(!t){cl("[@zag-js/dismissable] branch node is `null` or `undefined`");return}t_.addBranch(t),i.push(()=>{t_.removeBranch(t)})})),()=>{i.forEach(e=>e?.())}}var d_=o((()=>{dp(),Yg(),pl(),Zg(),n_(),s_()})),f_=o((()=>{d_()}));function p_(e){return!(e.metaKey||!od()&&e.altKey||e.ctrlKey||e.key===`Control`||e.key===`Shift`||e.key===`Meta`)}function m_(e,t,n){let r=n?fd(n):null,i=mu(r),a=gu(r),o=_u(i);return e=e||o instanceof a.HTMLInputElement&&!w_.has(o?.type)||o instanceof a.HTMLTextAreaElement||o instanceof a.HTMLElement&&o.isContentEditable,!(e&&t===`keyboard`&&n instanceof a.KeyboardEvent&&!Reflect.has(A_,n.key))}function h_(e,t){for(let n of E_)n(e,t)}function g_(e){O_=!0,p_(e)&&(T_=`keyboard`,h_(`keyboard`,e))}function __(e){T_=`pointer`,(e.type===`mousedown`||e.type===`pointerdown`)&&(O_=!0,h_(`pointer`,e))}function v_(e){gd(e)&&(O_=!0,T_=`virtual`)}function y_(e){let t=fd(e);t===gu(t)||t===mu(t)||!e.isTrusted||(!O_&&!k_&&(T_=`virtual`,h_(`virtual`,e)),O_=!1,k_=!1)}function b_(){O_=!1,k_=!0}function x_(e){if(typeof window>`u`||D_.get(gu(e)))return;let t=gu(e),n=mu(e),r=t.HTMLElement.prototype.focus;function i(){O_=!0,r.apply(this,arguments)}try{Object.defineProperty(t.HTMLElement.prototype,"focus",{configurable:!0,value:i})}catch{}n.addEventListener(`keydown`,g_,!0),n.addEventListener(`keyup`,g_,!0),n.addEventListener(`click`,v_,!0),t.addEventListener(`focus`,y_,!0),t.addEventListener(`blur`,b_,!1),t.PointerEvent===void 0?(n.addEventListener(`mousedown`,__,!0),n.addEventListener(`mousemove`,__,!0),n.addEventListener(`mouseup`,__,!0)):(n.addEventListener(`pointerdown`,__,!0),n.addEventListener(`pointermove`,__,!0),n.addEventListener(`pointerup`,__,!0)),t.addEventListener(`beforeunload`,()=>{j_(e)},{once:!0}),D_.set(t,{focus:r})}function S_(){return T_===`keyboard`||T_===`virtual`}function C_(e={}){let{isTextInput:t,autoFocus:n,onChange:r,root:i}=e;x_(i),r?.({isFocusVisible:n||S_(),modality:T_});let a=(e,n)=>{m_(!!t,e,n)&&r?.({isFocusVisible:S_(),modality:e})};return E_.add(a),()=>{E_.delete(a)}}var w_,T_,E_,D_,O_,k_,A_,j_,M_=o((()=>{dp(),w_=new Set([`checkbox`,`radio`,`range`,`color`,`file`,`image`,`button`,`submit`,`reset`]),T_=null,E_=new Set,D_=new Map,O_=!1,k_=!1,A_={Tab:!0,Escape:!0},j_=(e,t)=>{let n=gu(e),r=mu(e);t&&r.removeEventListener(`DOMContentLoaded`,t);let i=D_.get(n);if(i){try{Object.defineProperty(n.HTMLElement.prototype,"focus",{configurable:!0,value:i.focus})}catch{}r.removeEventListener(`keydown`,g_,!0),r.removeEventListener(`keyup`,g_,!0),r.removeEventListener(`click`,v_,!0),n.removeEventListener(`focus`,y_,!0),n.removeEventListener(`blur`,b_,!1),n.PointerEvent===void 0?(r.removeEventListener(`mousedown`,__,!0),r.removeEventListener(`mousemove`,__,!0),r.removeEventListener(`mouseup`,__,!0)):(r.removeEventListener(`pointerdown`,__,!0),r.removeEventListener(`pointermove`,__,!0),r.removeEventListener(`pointerup`,__,!0)),D_.delete(n)}}})),N_=o((()=>{Z(),X(),Hs(),Q(),qp(),pl(),dp(),Fg(),mp(),f_(),M_(),yp()})),P_=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),Fg(),pl(),mp(),f_(),yp()})),F_,I_=o((()=>{Hs(),F_=Vs()}));function L_(e,t){I(t,!0);let n=Ts(t,R_),r=F_.consume(),i=z(()=>t.element),a=z(()=>x(n,[`element`])),o=z(()=>Dp(r().getBackdropProps(),U(a)));var s=G(),c=V(s),l=e=>{var t=G();Y(V(t),()=>U(i),()=>U(o)),K(e,t)},u=e=>{var t=z_();Ko(t,()=>({...U(o)})),K(e,t)};J(c,e=>{U(i)?e(l):e(u,-1)}),K(e,s),R()}var R_,z_,B_=o((()=>{Z(),X(),I_(),Q(),R_=new Set([`$$slots`,`$$events`,`$$legacy`]),z_=W(`<div></div>`)}));function V_(e,t){I(t,!0);let n=Ts(t,H_),r=F_.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getCloseTriggerProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=U_();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var H_,U_,W_=o((()=>{Z(),X(),I_(),Q(),H_=new Set([`$$slots`,`$$events`,`$$legacy`]),U_=W(`<button><!></button>`)}));function G_(e,t){I(t,!0);let n=Ts(t,K_),r=F_.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getContentProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=q_();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var K_,q_,J_=o((()=>{Z(),X(),I_(),Q(),K_=new Set([`$$slots`,`$$events`,`$$legacy`]),q_=W(`<div><!></div>`)}));function Y_(e,t){I(t,!0);let n=Ts(t,X_),r=F_.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getDescriptionProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Z_();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var X_,Z_,Q_=o((()=>{Z(),X(),I_(),Q(),X_=new Set([`$$slots`,`$$events`,`$$legacy`]),Z_=W(`<div><!></div>`)}));function $_(e,t){I(t,!0);let n=Ts(t,ev),r=F_.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getPositionerProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=tv();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var ev,tv,nv=o((()=>{Z(),X(),I_(),Q(),ev=new Set([`$$slots`,`$$events`,`$$legacy`]),tv=W(`<div><!></div>`)}));function rv(e,t){I(t,!0);let n=F_.consume(),r=z(()=>t.children);var i=G();Y(V(i),()=>U(r),()=>n),K(e,i),R()}var iv=o((()=>{Z(),X(),I_()}));function av(e,t){I(t,!0);let n=z(()=>t.children),r=z(()=>t.value);F_.provide(()=>U(r)());var i=G();Y(V(i),()=>U(n)??A),K(e,i),R()}var ov=o((()=>{Z(),X(),I_()})),sv,cv,lv=o((()=>{qp(),sv=Up(`dialog`).parts(`trigger`,`backdrop`,`positioner`,`content`,`title`,`description`,`closeTrigger`),cv=sv.build()})),uv,dv,fv,pv,mv,hv,gv,_v,vv,yv,bv,xv,Sv,Cv,wv,Tv=o((()=>{dp(),pl(),uv=e=>e.ids?.positioner??`dialog:${e.id}:positioner`,dv=e=>e.ids?.backdrop??`dialog:${e.id}:backdrop`,fv=e=>e.ids?.content??`dialog:${e.id}:content`,pv=(e,t)=>{let n=e.ids?.trigger;return n==null?t?`dialog:${e.id}:trigger:${t}`:`dialog:${e.id}:trigger`:sc(n)?n(t):n},mv=e=>e.ids?.title??`dialog:${e.id}:title`,hv=e=>e.ids?.description??`dialog:${e.id}:description`,gv=e=>e.ids?.closeTrigger??`dialog:${e.id}:close`,_v=e=>e.getById(fv(e)),vv=e=>e.getById(uv(e)),yv=e=>e.getById(dv(e)),bv=e=>e.getById(mv(e)),xv=e=>e.getById(hv(e)),Sv=e=>e.getById(gv(e)),Cv=e=>Vf(e.getDoc(),`[data-scope="dialog"][data-part="trigger"][data-ownedby="${e.id}"]`),wv=(e,t)=>t==null?Cv(e)[0]:e.getById(pv(e,t))}));function Ev(e,t){let{state:n,send:r,context:i,prop:a,scope:o}=e,s=a(`aria-label`),c=n.matches(`open`),l=i.get(`triggerValue`);return{open:c,setOpen(e){n.matches(`open`)!==e&&r({type:e?`OPEN`:`CLOSE`})},triggerValue:l,setTriggerValue(e){r({type:`TRIGGER_VALUE.SET`,value:e})},getTriggerProps(e={}){let{value:n}=e,i=n!=null&&l===n;return t.button({...cv.trigger.attrs,dir:a(`dir`),id:pv(o,n),"data-ownedby":o.id,"data-value":n,"aria-haspopup":`dialog`,type:`button`,"aria-expanded":n==null?c:c&&i,"data-state":c?`open`:`closed`,"aria-controls":fv(o),"data-current":su(i),onClick(e){e.defaultPrevented||r({type:c&&n!=null&&!i?`TRIGGER_VALUE.SET`:`TOGGLE`,value:n})}})},getBackdropProps(){return t.element({...cv.backdrop.attrs,dir:a(`dir`),hidden:!c,id:dv(o),"data-state":c?`open`:`closed`})},getPositionerProps(){return t.element({...cv.positioner.attrs,dir:a(`dir`),id:uv(o),style:Zc({pointerEvents:!c||!a(`modal`)?`none`:void 0})})},getContentProps(){let e=i.get(`rendered`);return t.element({...cv.content.attrs,dir:a(`dir`),role:a(`role`),hidden:!c,id:fv(o),tabIndex:-1,"data-state":c?`open`:`closed`,"aria-modal":a(`modal`),"aria-label":s||void 0,"aria-labelledby":s||!e.title?void 0:mv(o),"aria-describedby":e.description?hv(o):void 0,style:Zc({pointerEvents:a(`modal`)?void 0:`auto`})})},getTitleProps(){return t.element({...cv.title.attrs,dir:a(`dir`),id:mv(o)})},getDescriptionProps(){return t.element({...cv.description.attrs,dir:a(`dir`),id:hv(o)})},getCloseTriggerProps(){return t.button({...cv.closeTrigger.attrs,dir:a(`dir`),id:gv(o),type:`button`,onClick(e){e.defaultPrevented||(e.stopPropagation(),r({type:`CLOSE`}))}})}}}var Dv=o((()=>{dp(),pl(),lv(),Tv()})),Ov,kv,Av,jv,Mv,Nv,Pv,Fv,Iv,Lv=o((()=>{dp(),Ov=new WeakMap,kv=new WeakMap,Av={},jv=0,Mv=e=>e&&(e.host||Mv(e.parentNode)),Nv=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=Mv(t);return n&&e.contains(n)?n:(console.error(`[zag-js > ariaHidden] target`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(e=>!!e),Pv=new Set([`script`,`output`,`status`,`next-route-announcer`]),Fv=e=>Pv.has(e.localName)||e.role===`status`||e.hasAttribute(`aria-live`)?!0:e.matches(`[data-live-announcer]`),Iv=(e,t)=>{let{parentNode:n,markerName:r,controlAttribute:i,explicitBooleanValue:a,followControlledElements:o=!0}=t,s=Nv(n,Array.isArray(e)?e:[e]);Av[r]||(Av[r]=new WeakMap);let c=Av[r],l=[],u=new Set,d=new Set(s),f=e=>{!e||u.has(e)||(u.add(e),f(e.parentNode))};s.forEach(e=>{f(e),o&&Cu(e)&&Ru(e,e=>{f(e)})});let p=e=>{!e||d.has(e)||Array.prototype.forEach.call(e.children,e=>{if(u.has(e))p(e);else try{if(Fv(e))return;let t=e.getAttribute(i),n=a?t===`true`:t!==null&&t!==`false`,o=(Ov.get(e)||0)+1,s=(c.get(e)||0)+1;Ov.set(e,o),c.set(e,s),l.push(e),o===1&&n&&kv.set(e,!0),s===1&&e.setAttribute(r,``),n||e.setAttribute(i,a?`true`:``)}catch(t){console.error(`[zag-js > ariaHidden] cannot operate on `,e,t)}})};return p(n),u.clear(),jv++,()=>{l.forEach(e=>{let t=Ov.get(e)-1,n=c.get(e)-1;Ov.set(e,t),c.set(e,n),t||(kv.has(e)||e.removeAttribute(i),kv.delete(e)),n||e.removeAttribute(r)}),jv--,jv||(Ov=new WeakMap,Ov=new WeakMap,kv=new WeakMap,Av={})}}})),Rv,zv,Bv=o((()=>{Lv(),Rv=e=>(Array.isArray(e)?e[0]:e).ownerDocument.body,zv=(e,t=Rv(e),n=`data-aria-hidden`,r=!0)=>{if(t)return Iv(e,{parentNode:t,markerName:n,controlAttribute:`aria-hidden`,explicitBooleanValue:!0,followControlledElements:r})}}));function Vv(e,t={}){let{defer:n=!0}=t,r=n?Hv:e=>e(),i=[];return i.push(r(()=>{let t=(typeof e==`function`?e():e).filter(Boolean);t.length!==0&&i.push(zv(t))})),()=>{i.forEach(e=>e?.())}}var Hv,Uv=o((()=>{Bv(),Hv=e=>{let t=requestAnimationFrame(()=>e());return()=>cancelAnimationFrame(t)}})),Wv,Gv,Kv,qv=o((()=>{Wv=Object.defineProperty,Gv=(e,t,n)=>t in e?Wv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Kv=(e,t,n)=>Gv(e,typeof t==`symbol`?t:t+``,n)})),Jv,Yv,Xv,Zv,Qv,$v,ey,ty,ny,ry,iy,ay=o((()=>{qv(),dp(),Jv={activateTrap(e,t){if(e.length>0){let n=e[e.length-1];n!==t&&n.pause()}let n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap(e,t){let n=e.indexOf(t);n!==-1&&e.splice(n,1),e.length>0&&e[e.length-1].unpause()}},Yv=[],Xv=class{constructor(e,t){Kv(this,`trapStack`),Kv(this,`config`),Kv(this,`doc`),Kv(this,`state`,{containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0}),Kv(this,`portalContainers`,new Set),Kv(this,`listenerCleanups`,[]),Kv(this,`handleFocus`,e=>{let t=fd(e),n=this.findContainerIndex(t,e)>=0;if(n||wu(t))n&&(this.state.mostRecentlyFocusedNode=t);else{e.stopImmediatePropagation();let t,n=!0;if(this.state.mostRecentlyFocusedNode)if(tf(this.state.mostRecentlyFocusedNode)>0){let e=this.findContainerIndex(this.state.mostRecentlyFocusedNode),{tabbableNodes:r}=this.state.containerGroups[e];if(r.length>0){let e=r.findIndex(e=>e===this.state.mostRecentlyFocusedNode);e>=0&&(this.config.isKeyForward(this.state.recentNavEvent)?e+1<r.length&&(t=r[e+1],n=!1):e-1>=0&&(t=r[e-1],n=!1))}}else this.state.containerGroups.some(e=>e.tabbableNodes.some(e=>tf(e)>0))||(n=!1);else n=!1;n&&(t=this.findNextNavNode({target:this.state.mostRecentlyFocusedNode,isBackward:this.config.isKeyBackward(this.state.recentNavEvent)})),t?this.tryFocus(t):this.tryFocus(this.state.mostRecentlyFocusedNode||this.getInitialFocusNode())}this.state.recentNavEvent=void 0}),Kv(this,`handlePointerDown`,e=>{let t=fd(e);if(!(this.findContainerIndex(t,e)>=0)){if(ty(this.config.clickOutsideDeactivates,e)){this.deactivate({returnFocus:this.config.returnFocusOnDeactivate});return}ty(this.config.allowOutsideClick,e)||e.preventDefault()}}),Kv(this,`handleClick`,e=>{let t=fd(e);this.findContainerIndex(t,e)>=0||ty(this.config.clickOutsideDeactivates,e)||ty(this.config.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())}),Kv(this,`handleTabKey`,e=>{if(this.config.isKeyForward(e)||this.config.isKeyBackward(e)){this.state.recentNavEvent=e;let t=this.config.isKeyBackward(e),n=this.findNextNavNode({event:e,isBackward:t});if(!n)return;Qv(e)&&e.preventDefault(),this.tryFocus(n)}}),Kv(this,`handleEscapeKey`,e=>{ny(e)&&ty(this.config.escapeDeactivates,e)!==!1&&(e.preventDefault(),this.deactivate())}),Kv(this,`_mutationObserver`),Kv(this,`setupMutationObserver`,()=>{let e=this.doc.defaultView||window;this._mutationObserver=new e.MutationObserver(e=>{e.some(e=>Array.from(e.removedNodes).some(e=>e===this.state.mostRecentlyFocusedNode))&&this.tryFocus(this.getInitialFocusNode()),e.some(e=>e.type===`attributes`&&(e.attributeName===`aria-controls`||e.attributeName===`aria-expanded`)||e.type===`childList`&&e.addedNodes.length>0&&Array.from(e.addedNodes).some(e=>{if(e.nodeType!==Node.ELEMENT_NODE)return!1;let t=e;return Hu(t)?!0:t.id&&!this.state.containers.some(e=>e.contains(t))?Uu(t):!1}))&&this.state.active&&!this.state.paused&&(this.updateTabbableNodes(),this.updatePortalContainers())})}),Kv(this,`updateObservedNodes`,()=>{this._mutationObserver?.disconnect(),this.state.active&&!this.state.paused&&(this.state.containers.map(e=>{this._mutationObserver?.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`aria-controls`,`aria-expanded`]})}),this.portalContainers.forEach(e=>{this.observePortalContainer(e)}))}),Kv(this,`getInitialFocusNode`,()=>{let e=this.getNodeForOption(`initialFocus`,{hasFallback:!0});if(e===!1)return!1;if(e===void 0||e&&!Xd(e)){let t=_u(this.doc);if(t&&this.findContainerIndex(t)>=0)e=t;else{let t=this.state.tabbableGroups[0];e=t&&t.firstTabbableNode||this.getNodeForOption(`fallbackFocus`)}}else e===null&&(e=this.getNodeForOption(`fallbackFocus`));if(!e||(e.isConnected||(e=this.getNodeForOption(`fallbackFocus`)),!e||!e.isConnected))throw Error(`Your focus-trap needs to have at least one focusable element`);return e}),Kv(this,`tryFocus`,e=>{if(e!==!1&&e!==_u(this.doc)){if(!e||!e.focus){this.tryFocus(this.getInitialFocusNode());return}e.focus({preventScroll:!!this.config.preventScroll}),this.state.mostRecentlyFocusedNode=e,iy(e)&&e.select()}}),Kv(this,`deactivate`,e=>{if(!this.state.active)return this;let t={onDeactivate:this.config.onDeactivate,onPostDeactivate:this.config.onPostDeactivate,checkCanReturnFocus:this.config.checkCanReturnFocus,...e};clearTimeout(this.state.delayInitialFocusTimer),this.state.delayInitialFocusTimer=void 0,this.removeListeners(),this.state.active=!1,this.state.paused=!1,this.updateObservedNodes(),Jv.deactivateTrap(this.trapStack,this),this.portalContainers.clear();let n=this.getOption(t,`onDeactivate`),r=this.getOption(t,`onPostDeactivate`),i=this.getOption(t,`checkCanReturnFocus`),a=this.getOption(t,`returnFocus`,`returnFocusOnDeactivate`);n?.();let o=()=>{ry(()=>{if(a){let e=this.getReturnFocusNode(this.state.nodeFocusedBeforeActivation);this.tryFocus(e)}r?.()})};return a&&i?(i(this.getReturnFocusNode(this.state.nodeFocusedBeforeActivation)).then(o,o),this):(o(),this)}),Kv(this,`pause`,e=>{if(this.state.paused||!this.state.active)return this;let t=this.getOption(e,`onPause`),n=this.getOption(e,`onPostPause`);return this.state.paused=!0,t?.(),this.removeListeners(),this.updateObservedNodes(),n?.(),this}),Kv(this,`unpause`,e=>{if(!this.state.paused||!this.state.active)return this;let t=this.getOption(e,`onUnpause`),n=this.getOption(e,`onPostUnpause`);return this.state.paused=!1,t?.(),this.updateTabbableNodes(),this.addListeners(),this.updateObservedNodes(),n?.(),this}),Kv(this,`updateContainerElements`,e=>(this.state.containers=Array.isArray(e)?e.filter(Boolean):[e].filter(Boolean),this.state.active&&this.updateTabbableNodes(),this.updateObservedNodes(),this)),Kv(this,`getReturnFocusNode`,e=>{let t=this.getNodeForOption(`setReturnFocus`,{params:[e]});return t||t!==!1&&e}),Kv(this,`getOption`,(e,t,n)=>e&&e[t]!==void 0?e[t]:this.config[n||t]),Kv(this,`getNodeForOption`,(e,{hasFallback:t=!1,params:n=[]}={})=>{let r=this.config[e];if(typeof r==`function`&&(r=r(...n)),r===!0&&(r=void 0),!r){if(r===void 0||r===!1)return r;throw Error(`\`${e}\` was specified but was not a node, or did not return a node`)}let i=r;if(typeof r==`string`){try{i=this.doc.querySelector(r)}catch(t){throw Error(`\`${e}\` appears to be an invalid selector; error="${t.message}"`)}if(!i&&!t)throw Error(`\`${e}\` as selector refers to no known node`)}return i}),Kv(this,`findNextNavNode`,e=>{let{event:t,isBackward:n=!1}=e,r=e.target||fd(t);this.updateTabbableNodes();let i=null;if(this.state.tabbableGroups.length>0){let e=this.findContainerIndex(r,t),a=e>=0?this.state.containerGroups[e]:void 0;if(e<0)i=n?this.state.tabbableGroups[this.state.tabbableGroups.length-1].lastTabbableNode:this.state.tabbableGroups[0].firstTabbableNode;else if(n){let n=this.state.tabbableGroups.findIndex(({firstTabbableNode:e})=>r===e);if(n<0&&(a?.container===r||Xd(r)&&!Qd(r)&&!a?.nextTabbableNode(r,!1))&&(n=e),n>=0){let e=n===0?this.state.tabbableGroups.length-1:n-1,t=this.state.tabbableGroups[e];i=tf(r)>=0?t.lastTabbableNode:t.lastDomTabbableNode}else Qv(t)||(i=a?.nextTabbableNode(r,!1))}else{let n=this.state.tabbableGroups.findIndex(({lastTabbableNode:e})=>r===e);if(n<0&&(a?.container===r||Xd(r)&&!Qd(r)&&!a?.nextTabbableNode(r))&&(n=e),n>=0){let e=n===this.state.tabbableGroups.length-1?0:n+1,t=this.state.tabbableGroups[e];i=tf(r)>=0?t.firstTabbableNode:t.firstDomTabbableNode}else Qv(t)||(i=a?.nextTabbableNode(r))}}else i=this.getNodeForOption(`fallbackFocus`);return i}),this.trapStack=t.trapStack||Yv;let n={returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,followControlledElements:!0,isKeyForward:$v,isKeyBackward:ey,...t};this.doc=n.document||mu(Array.isArray(e)?e[0]:e),this.config=n,this.updateContainerElements(e),this.setupMutationObserver()}addPortalContainer(e){let t=e.parentElement;t&&!this.portalContainers.has(t)&&(this.portalContainers.add(t),this.state.active&&!this.state.paused&&this.observePortalContainer(t))}observePortalContainer(e){this._mutationObserver?.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`aria-controls`,`aria-expanded`]})}updatePortalContainers(){this.config.followControlledElements&&this.state.containers.forEach(e=>{zu(e).forEach(e=>{this.addPortalContainer(e)})})}get active(){return this.state.active}get paused(){return this.state.paused}findContainerIndex(e,t){let n=typeof t?.composedPath==`function`?t.composedPath():void 0;return this.state.containerGroups.findIndex(({container:t,tabbableNodes:r})=>t.contains(e)||n?.includes(t)||r.find(t=>t===e)||this.isControlledElement(t,e))}isControlledElement(e,t){return this.config.followControlledElements?Lu(e,t):!1}updateTabbableNodes(){if(this.state.containerGroups=this.state.containers.map(e=>{let t=Zd(e,{getShadowRoot:this.config.getShadowRoot}),n=cf(e,{getShadowRoot:this.config.getShadowRoot}),r=t[0],i=t[t.length-1],a=r,o=i,s=!1;for(let e=0;e<t.length;e++)if(tf(t[e])>0){s=!0;break}function c(e,r=!0){let i=t.indexOf(e);if(i>=0)return t[i+(r?1:-1)];let a=n.indexOf(e);if(!(a<0)){if(r){for(let e=a+1;e<n.length;e++)if(Qd(n[e]))return n[e]}else for(let e=a-1;e>=0;e--)if(Qd(n[e]))return n[e]}}return{container:e,tabbableNodes:t,focusableNodes:n,posTabIndexesFound:s,firstTabbableNode:r,lastTabbableNode:i,firstDomTabbableNode:a,lastDomTabbableNode:o,nextTabbableNode:c}}),this.state.tabbableGroups=this.state.containerGroups.filter(e=>e.tabbableNodes.length>0),this.state.tabbableGroups.length<=0&&!this.getNodeForOption(`fallbackFocus`))throw Error(`Your focus-trap must have at least one container with at least one tabbable node in it at all times`);if(this.state.containerGroups.find(e=>e.posTabIndexesFound)&&this.state.containerGroups.length>1)throw Error(`At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.`)}addListeners(){if(this.state.active)return Jv.activateTrap(this.trapStack,this),this.state.delayInitialFocusTimer=this.config.delayInitialFocus?ry(()=>{this.tryFocus(this.getInitialFocusNode())}):this.tryFocus(this.getInitialFocusNode()),this.listenerCleanups.push(kd(this.doc,`focusin`,this.handleFocus,!0),kd(this.doc,`mousedown`,this.handlePointerDown,{capture:!0,passive:!1}),kd(this.doc,`touchstart`,this.handlePointerDown,{capture:!0,passive:!1}),kd(this.doc,`click`,this.handleClick,{capture:!0,passive:!1}),kd(this.doc,`keydown`,this.handleTabKey,{capture:!0,passive:!1}),kd(this.doc,`keydown`,this.handleEscapeKey)),this}removeListeners(){if(this.state.active)return this.listenerCleanups.forEach(e=>e()),this.listenerCleanups=[],this}activate(e){if(this.state.active)return this;let t=this.getOption(e,`onActivate`),n=this.getOption(e,`onPostActivate`),r=this.getOption(e,`checkCanFocusTrap`);r||this.updateTabbableNodes(),this.state.active=!0,this.state.paused=!1,this.state.nodeFocusedBeforeActivation=_u(this.doc),t?.();let i=()=>{r&&this.updateTabbableNodes(),this.addListeners(),this.updateObservedNodes(),n?.()};return r?(r(this.state.containers.concat()).then(i,i),this):(i(),this)}},Zv=e=>e?.type===`keydown`,Qv=e=>Zv(e)&&e?.key===`Tab`,$v=e=>Zv(e)&&e.key===`Tab`&&!e?.shiftKey,ey=e=>Zv(e)&&e.key===`Tab`&&e?.shiftKey,ty=(e,...t)=>typeof e==`function`?e(...t):e,ny=e=>!e.isComposing&&e.key===`Escape`,ry=e=>setTimeout(e,0),iy=e=>e.localName===`input`&&`select`in e&&typeof e.select==`function`}));function oy(e,t={}){let n,r=ff(()=>{let r=(Array.isArray(e)?e:[e]).map(e=>typeof e==`function`?e():e).filter(e=>e!=null);if(r.length===0)return;let i=r[0];n=new Xv(r,{escapeDeactivates:!1,allowOutsideClick:!0,preventScroll:!0,returnFocusOnDeactivate:!0,delayInitialFocus:!1,fallbackFocus:i,...t,document:mu(i)});try{n.activate()}catch{}});return function(){n?.deactivate(),r()}}var sy=o((()=>{dp(),ay()}));function cy(e){let t=e.getBoundingClientRect().left;return Math.round(t)+e.scrollLeft?`paddingLeft`:`paddingRight`}function ly(e){let t=Pu(e)?.scrollbarGutter;return t===`stable`||t?.startsWith(`stable `)===!0}function uy(e){let t=e??document,n=t.defaultView??window,{documentElement:r,body:i}=t;if(i.hasAttribute(dy))return;let a=ly(r)||ly(i),o=n.innerWidth-r.clientWidth;i.setAttribute(dy,``);let s=()=>tp(r,`--scrollbar-width`,`${o}px`),c=cy(r),l=[s(),id()?(()=>{let{scrollX:e,scrollY:t,visualViewport:r}=n,s=r?.offsetLeft??0,l=r?.offsetTop??0,u={position:`fixed`,overflow:`hidden`,top:`${-(t-Math.floor(l))}px`,left:`${-(e-Math.floor(s))}px`,right:`0`};!a&&o>0&&(u[c]=`${o}px`);let d=ep(i,u);return()=>{d?.(),n.scrollTo({left:e,top:t,behavior:`instant`})}})():(()=>{let e={overflow:`hidden`};return!a&&o>0&&(e[c]=`${o}px`),ep(i,e)})()];return()=>{l.forEach(e=>e?.()),i.removeAttribute(dy)}}var dy,fy=o((()=>{dp(),dy=`data-scroll-lock`})),py,my=o((()=>{Uv(),mp(),f_(),dp(),sy(),fy(),Tv(),py=Kl({props({props:e,scope:t}){let n=e.role===`alertdialog`,r=n?()=>Sv(t):void 0,i=typeof e.modal!=`boolean`||e.modal;return{role:`dialog`,modal:i,trapFocus:i,preventScroll:i,closeOnInteractOutside:i&&!n,closeOnEscape:!0,restoreFocus:!0,initialFocusEl:r,...e}},initialState({prop:e}){return e(`open`)||e(`defaultOpen`)?`open`:`closed`},context({bindable:e,prop:t,scope:n}){return{rendered:e(()=>({defaultValue:{title:!0,description:!0}})),triggerValue:e(()=>({defaultValue:t(`defaultTriggerValue`)??null,value:t(`triggerValue`),onChange(e){let r=t(`onTriggerValueChange`);r&&r({value:e,triggerElement:wv(n,e)})}}))}},watch({track:e,action:t,prop:n}){e([()=>n(`open`)],()=>{t([`toggleVisibility`])})},states:{open:{entry:[`checkRenderedElements`,`syncZIndex`,`setInitialFocus`],effects:[`trackDismissableElement`,`trapFocus`,`preventScroll`,`hideContentBelow`],on:{"CONTROLLED.CLOSE":{target:`closed`},CLOSE:[{guard:`isOpenControlled`,actions:[`invokeOnClose`]},{target:`closed`,actions:[`invokeOnClose`]}],TOGGLE:[{guard:`isOpenControlled`,actions:[`invokeOnClose`]},{target:`closed`,actions:[`invokeOnClose`]}],"TRIGGER_VALUE.SET":{actions:[`setTriggerValue`]}}},closed:{on:{"CONTROLLED.OPEN":{target:`open`},OPEN:[{guard:`isOpenControlled`,actions:[`invokeOnOpen`,`setTriggerValue`]},{target:`open`,actions:[`invokeOnOpen`,`setTriggerValue`]}],TOGGLE:[{guard:`isOpenControlled`,actions:[`invokeOnOpen`,`setTriggerValue`]},{target:`open`,actions:[`invokeOnOpen`,`setTriggerValue`]}],"TRIGGER_VALUE.SET":{actions:[`setTriggerValue`]}}}},implementations:{guards:{isOpenControlled:({prop:e})=>e(`open`)!=null},effects:{trackDismissableElement({scope:e,send:t,prop:n}){return l_(()=>_v(e),{type:`dialog`,defer:!0,pointerBlocking:n(`modal`),exclude:Cv(e),onInteractOutside(e){n(`onInteractOutside`)?.(e),n(`closeOnInteractOutside`)||e.preventDefault()},persistentElements:n(`persistentElements`),onFocusOutside:n(`onFocusOutside`),onPointerDownOutside:n(`onPointerDownOutside`),onRequestDismiss:n(`onRequestDismiss`),onEscapeKeyDown(e){n(`onEscapeKeyDown`)?.(e),n(`closeOnEscape`)||e.preventDefault()},onDismiss(){t({type:`CLOSE`,src:`interact-outside`})}})},preventScroll({scope:e,prop:t}){if(t(`preventScroll`))return uy(e.getDoc())},trapFocus({scope:e,prop:t,context:n}){return t(`trapFocus`)?oy(()=>_v(e),{preventScroll:!0,returnFocusOnDeactivate:!!t(`restoreFocus`),initialFocus:t(`initialFocusEl`),setReturnFocus:r=>{let i=t(`finalFocusEl`)?.();if(i)return i;let a=n.get(`triggerValue`);if(a){let t=wv(e,a);if(t)return t}return Cv(e)[0]||r},getShadowRoot:!0}):void 0},hideContentBelow({scope:e,prop:t}){return t(`modal`)?Vv(()=>[_v(e)],{defer:!0}):void 0}},actions:{setInitialFocus({prop:e,scope:t}){e(`trapFocus`)||ff(()=>{uf({root:_v(t),getInitialEl:e(`initialFocusEl`)})?.focus({preventScroll:!0})})},checkRenderedElements({context:e,scope:t}){ff(()=>{e.set(`rendered`,{title:!!bv(t),description:!!xv(t)})})},syncZIndex({scope:e}){ff(()=>{let t=_v(e);if(!t)return;let n=Pu(t);[vv(e),yv(e)].forEach(e=>{e?.style.setProperty(`--z-index`,n.zIndex),e?.style.setProperty(`--layer-index`,n.getPropertyValue(`--layer-index`))})})},invokeOnClose({prop:e}){e(`onOpenChange`)?.({open:!1})},invokeOnOpen({prop:e}){e(`onOpenChange`)?.({open:!0})},setTriggerValue({context:e,event:t}){t.value!==void 0&&e.set(`triggerValue`,t.value)},toggleVisibility({prop:e,send:t,event:n}){t({type:e(`open`)?`CONTROLLED.OPEN`:`CONTROLLED.CLOSE`,previousEvent:n})}}}})})),hy,gy,_y=o((()=>{yp(),pl(),hy=_p()(`triggerValue.aria-label.closeOnEscape.closeOnInteractOutside.defaultTriggerValue.defaultOpen.dir.finalFocusEl.getRootNode.id.ids.initialFocusEl.modal.onTriggerValueChange.onEscapeKeyDown.onFocusOutside.onInteractOutside.onOpenChange.onPointerDownOutside.onRequestDismiss.open.persistentElements.preventScroll.restoreFocus.role.trapFocus`.split(`.`)),gy=el(hy)})),vy=o((()=>{Dv(),my(),_y()}));function yy(e){let t=zp(py,e),n=z(()=>Ev(t,Tp));return()=>U(n)}var by=o((()=>{X(),vy(),Q()}));function xy(e,t){let n=ma();I(t,!0);let r=Ts(t,Sy),i=z(()=>gy(r)),a=z(()=>b(U(i),2)),o=z(()=>U(a)[0]),s=z(()=>U(a)[1]),c=z(()=>U(s).children),l=yy(()=>({...U(o),id:n}));F_.provide(()=>l());var u=G();Y(V(u),()=>U(c)??A),K(e,u),R()}var Sy,Cy=o((()=>{Z(),X(),by(),I_(),vy(),Sy=new Set([`$$slots`,`$$events`,`$$legacy`])}));function wy(e,t){I(t,!0);let n=Ts(t,Ty),r=F_.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getTitleProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Ey();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var Ty,Ey,Dy=o((()=>{Z(),X(),I_(),Q(),Ty=new Set([`$$slots`,`$$events`,`$$legacy`]),Ey=W(`<div><!></div>`)}));function Oy(e,t){I(t,!0);let n=Ts(t,ky),r=F_.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getTriggerProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Ay();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var ky,Ay,jy=o((()=>{Z(),X(),I_(),Q(),ky=new Set([`$$slots`,`$$events`,`$$legacy`]),Ay=W(`<button><!></button>`)})),My,Ny=o((()=>{B_(),W_(),J_(),Q_(),nv(),iv(),ov(),Cy(),Dy(),jy(),My=Object.assign(xy,{Provider:av,Context:rv,Trigger:Oy,Backdrop:L_,Positioner:$_,Content:G_,Title:wy,Description:Y_,CloseTrigger:V_})})),Py=o((()=>{Ny(),by()})),Fy=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),yp(),pl(),mp()})),Iy=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),pl(),mp(),yp()})),Ly=o((()=>{Z(),X(),Hs(),Q(),qp(),pl(),dp(),mp(),M_(),yp()})),Ry=o((()=>{Z(),X(),Hs(),Q(),qp(),mp(),dp(),Fg(),pl(),f_(),M_(),yp(),zs()})),zy=o((()=>{Z(),X(),Hs(),Q()})),By=o((()=>{Z(),qp(),dp(),pl(),mp(),yp(),X(),Hs(),Q()})),Vy,Hy=o((()=>{Hs(),Vy=Vs()}));function Uy(e,t){I(t,!0);let n=Ts(t,Wy),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getAnchorProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Gy();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var Wy,Gy,Ky=o((()=>{Z(),X(),Hy(),Q(),Wy=new Set([`$$slots`,`$$events`,`$$legacy`]),Gy=W(`<div><!></div>`)}));function qy(e,t){I(t,!0);let n=Ts(t,Jy),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getArrowTipProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Yy();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var Jy,Yy,Xy=o((()=>{Z(),X(),Hy(),Q(),Jy=new Set([`$$slots`,`$$events`,`$$legacy`]),Yy=W(`<div><!></div>`)}));function Zy(e,t){I(t,!0);let n=Ts(t,Qy),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getArrowProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=$y();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var Qy,$y,eb=o((()=>{Z(),X(),Hy(),Q(),Qy=new Set([`$$slots`,`$$events`,`$$legacy`]),$y=W(`<div><!></div>`)}));function tb(e,t){I(t,!0);let n=Ts(t,nb),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getCloseTriggerProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=rb();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var nb,rb,ib=o((()=>{Z(),X(),Hy(),Q(),nb=new Set([`$$slots`,`$$events`,`$$legacy`]),rb=W(`<button><!></button>`)}));function ab(e,t){I(t,!0);let n=Ts(t,ob),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getContentProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=sb();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var ob,sb,cb=o((()=>{Z(),X(),Hy(),Q(),ob=new Set([`$$slots`,`$$events`,`$$legacy`]),sb=W(`<div><!></div>`)}));function lb(e,t){I(t,!0);let n=Ts(t,ub),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getDescriptionProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=db();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var ub,db,fb=o((()=>{Z(),X(),Hy(),Q(),ub=new Set([`$$slots`,`$$events`,`$$legacy`]),db=W(`<div><!></div>`)}));function pb(e,t){I(t,!0);let n=Ts(t,mb),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getPositionerProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=hb();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var mb,hb,gb=o((()=>{Z(),X(),Hy(),Q(),mb=new Set([`$$slots`,`$$events`,`$$legacy`]),hb=W(`<div><!></div>`)}));function _b(e,t){I(t,!0);let n=Vy.consume(),r=z(()=>t.children);var i=G();Y(V(i),()=>U(r),()=>n),K(e,i),R()}var vb=o((()=>{Z(),X(),Hy()}));function yb(e,t){I(t,!0);let n=z(()=>t.children),r=z(()=>t.value);Vy.provide(()=>U(r)());var i=G();Y(V(i),()=>U(n)??A),K(e,i),R()}var bb=o((()=>{Z(),X(),Hy()})),xb,Sb,Cb=o((()=>{qp(),xb=Up(`popover`).parts(`arrow`,`arrowTip`,`anchor`,`trigger`,`indicator`,`positioner`,`content`,`title`,`description`,`closeTrigger`),Sb=xb.build()})),wb,Tb,Eb,Db,Ob,kb,Ab,jb,Mb,Nb,Pb,Fb,Ib,Lb,Rb,zb=o((()=>{dp(),pl(),wb=e=>e.ids?.anchor??`popover:${e.id}:anchor`,Tb=(e,t)=>{let n=e.ids?.trigger;return n==null?t?`popover:${e.id}:trigger:${t}`:`popover:${e.id}:trigger`:sc(n)?n(t):n},Eb=e=>e.ids?.content??`popover:${e.id}:content`,Db=e=>e.ids?.positioner??`popover:${e.id}:popper`,Ob=e=>e.ids?.arrow??`popover:${e.id}:arrow`,kb=e=>e.ids?.title??`popover:${e.id}:title`,Ab=e=>e.ids?.description??`popover:${e.id}:desc`,jb=e=>e.ids?.closeTrigger??`popover:${e.id}:close`,Mb=e=>e.getById(wb(e)),Nb=e=>Vf(e.getDoc(),`[data-scope="popover"][data-part="trigger"][data-ownedby="${e.id}"]`),Pb=(e,t)=>t==null?Nb(e)[0]:e.getById(Tb(e,t)),Fb=e=>e.getById(Eb(e)),Ib=e=>e.getById(Db(e)),Lb=e=>e.getById(kb(e)),Rb=e=>e.getById(Ab(e))}));function Bb(e,t){let{state:n,context:r,send:i,computed:a,prop:o,scope:s}=e,c=o(`translations`),l=n.matches(`open`),u=r.get(`currentPlacement`),d=a(`currentPortalled`),f=r.get(`renderedElements`),p=r.get(`triggerValue`),m=Mg({...o(`positioning`),placement:u});return{portalled:d,open:l,setOpen(e){n.matches(`open`)!==e&&i({type:e?`OPEN`:`CLOSE`})},triggerValue:p,setTriggerValue(e){i({type:`TRIGGER_VALUE.SET`,value:e})},reposition(e={}){i({type:`POSITIONING.SET`,options:e})},getArrowProps(){return t.element({id:Ob(s),...Sb.arrow.attrs,dir:o(`dir`),style:m.arrow})},getArrowTipProps(){return t.element({...Sb.arrowTip.attrs,dir:o(`dir`),style:m.arrowTip})},getAnchorProps(){return t.element({...Sb.anchor.attrs,dir:o(`dir`),id:wb(s)})},getTriggerProps(e={}){let{value:n}=e,r=n!=null&&p===n;return t.button({...Sb.trigger.attrs,dir:o(`dir`),type:`button`,"data-placement":u,id:Tb(s,n),"data-ownedby":s.id,"data-value":n,"data-current":su(r),"aria-haspopup":`dialog`,"aria-expanded":n==null?l:l&&r,"data-state":l?`open`:`closed`,"aria-controls":Eb(s),onPointerDown(e){xd(e)&&sd()&&e.currentTarget.focus()},onClick(e){e.defaultPrevented||i({type:l&&n!=null&&!r?`TRIGGER_VALUE.SET`:`TOGGLE`,value:n})},onBlur(e){i({type:`TRIGGER_BLUR`,target:e.relatedTarget})}})},getIndicatorProps(){return t.element({...Sb.indicator.attrs,dir:o(`dir`),"data-state":l?`open`:`closed`})},getPositionerProps(){return t.element({id:Db(s),...Sb.positioner.attrs,dir:o(`dir`),style:m.floating})},getContentProps(){return t.element({...Sb.content.attrs,dir:o(`dir`),id:Eb(s),tabIndex:-1,role:`dialog`,"aria-modal":cu(o(`modal`)),hidden:!l,"data-state":l?`open`:`closed`,"data-expanded":su(l),"aria-labelledby":f.title?kb(s):void 0,"aria-describedby":f.description?Ab(s):void 0,"data-placement":u})},getTitleProps(){return t.element({...Sb.title.attrs,id:kb(s),dir:o(`dir`)})},getDescriptionProps(){return t.element({...Sb.description.attrs,id:Ab(s),dir:o(`dir`)})},getCloseTriggerProps(){return t.button({...Sb.closeTrigger.attrs,dir:o(`dir`),id:jb(s),type:`button`,"aria-label":c.closeTriggerLabel,onClick(e){e.defaultPrevented||(e.stopPropagation(),i({type:`CLOSE`}))}})}}}var Vb=o((()=>{dp(),Fg(),Cb(),zb()})),Hb,Ub=o((()=>{Uv(),mp(),f_(),dp(),sy(),Fg(),fy(),zb(),Hb=Kl({props({props:e}){return{closeOnInteractOutside:!0,closeOnEscape:!0,autoFocus:!0,modal:!1,portalled:!0,...e,translations:{closeTriggerLabel:`close`,...e.translations},positioning:{placement:`bottom`,...e.positioning}}},initialState({prop:e}){return e(`open`)||e(`defaultOpen`)?`open`:`closed`},context({bindable:e,prop:t,scope:n}){return{currentPlacement:e(()=>({defaultValue:void 0})),renderedElements:e(()=>({defaultValue:{title:!0,description:!0}})),triggerValue:e(()=>({defaultValue:t(`defaultTriggerValue`)??null,value:t(`triggerValue`),onChange(e){let r=t(`onTriggerValueChange`);r&&r({value:e,triggerElement:Pb(n,e)})}}))}},computed:{currentPortalled:({prop:e})=>!!e(`modal`)||!!e(`portalled`)},watch({track:e,prop:t,action:n}){e([()=>t(`open`)],()=>{n([`toggleVisibility`])})},entry:[`checkRenderedElements`],on:{"TRIGGER_VALUE.SET":{actions:[`setTriggerValue`,`reposition`]}},states:{closed:{on:{"CONTROLLED.OPEN":{target:`open`,actions:[`setInitialFocus`]},TOGGLE:[{guard:`isOpenControlled`,actions:[`invokeOnOpen`,`setTriggerValue`]},{target:`open`,actions:[`invokeOnOpen`,`setTriggerValue`,`setInitialFocus`]}],OPEN:[{guard:`isOpenControlled`,actions:[`invokeOnOpen`,`setTriggerValue`]},{target:`open`,actions:[`invokeOnOpen`,`setTriggerValue`,`setInitialFocus`]}]}},open:{effects:[`trapFocus`,`preventScroll`,`hideContentBelow`,`trackDismissableElement`,`trackPositioning`,`proxyTabFocus`],on:{"CONTROLLED.CLOSE":{target:`closed`,actions:[`setFinalFocus`]},CLOSE:[{guard:`isOpenControlled`,actions:[`invokeOnClose`]},{target:`closed`,actions:[`invokeOnClose`,`setFinalFocus`]}],TOGGLE:[{guard:`isOpenControlled`,actions:[`invokeOnClose`]},{target:`closed`,actions:[`invokeOnClose`]}],"POSITIONING.SET":{actions:[`reposition`]}}}},implementations:{guards:{isOpenControlled:({prop:e})=>e(`open`)!=null},effects:{trackPositioning({context:e,prop:t,scope:n}){e.set(`currentPlacement`,t(`positioning`).placement);let r=Mb(n);return Dg(()=>r??Pb(n,e.get(`triggerValue`)),()=>Ib(n),{...t(`positioning`),defer:!0,onComplete(t){e.set(`currentPlacement`,t.placement)}})},trackDismissableElement({send:e,prop:t,scope:n}){let r=()=>Fb(n),i=!0;return l_(r,{type:`popover`,pointerBlocking:t(`modal`),exclude:Nb(n),defer:!0,onEscapeKeyDown(e){t(`onEscapeKeyDown`)?.(e),!t(`closeOnEscape`)&&e.preventDefault()},onInteractOutside(e){t(`onInteractOutside`)?.(e),!e.defaultPrevented&&(i=!(e.detail.focusable||e.detail.contextmenu),t(`closeOnInteractOutside`)||e.preventDefault())},onPointerDownOutside:t(`onPointerDownOutside`),onFocusOutside:t(`onFocusOutside`),persistentElements:t(`persistentElements`),onRequestDismiss:t(`onRequestDismiss`),onDismiss(){e({type:`CLOSE`,src:`interact-outside`,restoreFocus:i})}})},proxyTabFocus({prop:e,scope:t,context:n}){return e(`modal`)||!e(`portalled`)?void 0:zf(()=>Fb(t),{triggerElement:Pb(t,n.get(`triggerValue`)),defer:!0,getShadowRoot:!0,onFocus(e){e.focus({preventScroll:!0})}})},hideContentBelow({prop:e,scope:t,context:n}){return e(`modal`)?Vv(()=>[Fb(t),Pb(t,n.get(`triggerValue`))],{defer:!0}):void 0},preventScroll({prop:e,scope:t}){if(e(`modal`))return uy(t.getDoc())},trapFocus({prop:e,scope:t}){return e(`modal`)?oy(()=>Fb(t),{initialFocus:()=>uf({root:Fb(t),getInitialEl:e(`initialFocusEl`),enabled:e(`autoFocus`)}),getShadowRoot:!0}):void 0}},actions:{reposition({event:e,prop:t,scope:n,context:r}){let i=Mb(n);Dg(()=>i??Pb(n,r.get(`triggerValue`)),()=>Ib(n),{...t(`positioning`),...e.options,defer:!0,listeners:!1,onComplete(e){r.set(`currentPlacement`,e.placement)}})},setTriggerValue({context:e,event:t}){t.value!==void 0&&e.set(`triggerValue`,t.value)},checkRenderedElements({context:e,scope:t}){ff(()=>{Object.assign(e.get(`renderedElements`),{title:!!Lb(t),description:!!Rb(t)})})},setInitialFocus({prop:e,scope:t}){e(`modal`)||ff(()=>{uf({root:Fb(t),getInitialEl:e(`initialFocusEl`),enabled:e(`autoFocus`)})?.focus({preventScroll:!0})})},setFinalFocus({event:e,scope:t,context:n}){let r=e.restoreFocus??e.previousEvent?.restoreFocus;r!=null&&!r||ff(()=>{Pb(t,n.get(`triggerValue`))?.focus({preventScroll:!0})})},invokeOnOpen({prop:e,flush:t}){t(()=>{e(`onOpenChange`)?.({open:!0})})},invokeOnClose({prop:e,flush:t}){t(()=>{e(`onOpenChange`)?.({open:!1})})},toggleVisibility({event:e,send:t,prop:n}){t({type:n(`open`)?`CONTROLLED.OPEN`:`CONTROLLED.CLOSE`,previousEvent:e})}}}})})),Wb,Gb,Kb=o((()=>{yp(),pl(),Wb=_p()([`autoFocus`,`closeOnEscape`,`closeOnInteractOutside`,`defaultOpen`,`defaultTriggerValue`,`dir`,`getRootNode`,`id`,`ids`,`initialFocusEl`,`modal`,`onEscapeKeyDown`,`onFocusOutside`,`onInteractOutside`,`onOpenChange`,`onPointerDownOutside`,`onTriggerValueChange`,`onRequestDismiss`,`open`,`persistentElements`,`portalled`,`positioning`,`translations`,`triggerValue`]),Gb=el(Wb)})),qb=o((()=>{Vb(),Ub(),Kb()}));function Jb(e){let t=zp(Hb,e),n=z(()=>Bb(t,Tp));return()=>U(n)}var Yb=o((()=>{X(),qb(),Q()}));function Xb(e,t){let n=ma();I(t,!0);let r=Ts(t,Zb),i=z(()=>Gb(r)),a=z(()=>b(U(i),2)),o=z(()=>U(a)[0]),s=z(()=>U(a)[1]),c=z(()=>U(s).children),l=Jb(()=>({...U(o),id:n}));Vy.provide(()=>l());var u=G();Y(V(u),()=>U(c)??A),K(e,u),R()}var Zb,Qb=o((()=>{Z(),X(),Yb(),Hy(),qb(),Zb=new Set([`$$slots`,`$$events`,`$$legacy`])}));function $b(e,t){I(t,!0);let n=Ts(t,ex),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getTitleProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=tx();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var ex,tx,nx=o((()=>{Z(),X(),Hy(),Q(),ex=new Set([`$$slots`,`$$events`,`$$legacy`]),tx=W(`<div><!></div>`)}));function rx(e,t){I(t,!0);let n=Ts(t,ix),r=Vy.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getTriggerProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=ax();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var ix,ax,ox=o((()=>{Z(),X(),Hy(),Q(),ix=new Set([`$$slots`,`$$events`,`$$legacy`]),ax=W(`<button><!></button>`)})),sx,cx=o((()=>{Ky(),Xy(),eb(),ib(),cb(),fb(),gb(),vb(),bb(),Qb(),nx(),ox(),sx=Object.assign(Xb,{Provider:yb,Context:_b,Anchor:Uy,Trigger:rx,Positioner:pb,Content:ab,Arrow:Zy,ArrowTip:qy,Title:$b,Description:lb,CloseTrigger:tb})})),lx=o((()=>{cx(),Yb()}));function ux(e,t){I(t,!0);let n=Et(),r=z(()=>t.children),i=z(()=>y(t.disabled,!1)),a=z(()=>y(t.target,()=>typeof window>`u`?void 0:document.body,!0));Pr(()=>{if(U(i)||!U(a))return;let e=va(U(r),{target:U(a),context:n});return()=>ya(e)});var o=G(),s=V(o),c=e=>{var t=G();Y(V(t),()=>U(r)),K(e,t)};J(s,e=>{(U(i)||!U(a))&&e(c)}),K(e,o),R()}var dx=o((()=>{Z(),X(),zs()})),fx,px=o((()=>{dx(),fx=ux})),mx=o((()=>{px()})),hx=o((()=>{Z(),X(),Hs(),Q(),qp(),mp(),pl(),yp()})),gx=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),mp(),yp(),pl()})),_x=o((()=>{Z(),X(),Q(),Hs(),qp(),dp(),M_(),pl(),mp(),yp()})),vx,yx=o((()=>{Hs(),vx=Vs()}));function bx(e,t){I(t,!0);let n=Ts(t,xx),r=vx.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getControlProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Sx();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var xx,Sx,Cx=o((()=>{Z(),X(),yx(),Q(),xx=new Set([`$$slots`,`$$events`,`$$legacy`]),Sx=W(`<div><!></div>`)})),wx,Tx=o((()=>{Hs(),wx=Vs()}));function Ex(e,t){I(t,!0);let n=Ts(t,Dx),r=vx.consume(),i=wx.consume(),a=z(()=>t.element),o=z(()=>x(n,[`element`])),s=z(()=>Dp(r().getHiddenInputProps(i()),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(a),()=>U(s)),K(e,t)},d=e=>{var t=Ox();Ko(t,()=>({...U(s)}),void 0,void 0,void 0,void 0,!0),K(e,t)};J(l,e=>{U(a)?e(u):e(d,-1)}),K(e,c),R()}var Dx,Ox,kx=o((()=>{Z(),X(),yx(),Tx(),Q(),Dx=new Set([`$$slots`,`$$events`,`$$legacy`]),Ox=W(`<input/>`)}));function Ax(e,t){I(t,!0);let n=Ts(t,jx),r=vx.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getLabelProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Mx();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var jx,Mx,Nx=o((()=>{Z(),X(),yx(),Q(),jx=new Set([`$$slots`,`$$events`,`$$legacy`]),Mx=W(`<label><!></label>`)}));function Px(e,t){I(t,!0);let n=Ts(t,Fx),r=vx.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getMarkerGroupProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Ix();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var Fx,Ix,Lx=o((()=>{Z(),X(),yx(),Q(),Fx=new Set([`$$slots`,`$$events`,`$$legacy`]),Ix=W(`<div><!></div>`)}));function Rx(e,t){I(t,!0);let n=Ts(t,zx),r=vx.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>t.value),s=z(()=>x(n,[`element`,`children`,`value`])),c=z(()=>Dp(r().getMarkerProps({value:U(o)}),U(s)));var l=G(),u=V(l),d=e=>{var t=G();Y(V(t),()=>U(i),()=>U(c)),K(e,t)},f=e=>{var t=Bx();Ko(t,()=>({...U(c)}));var n=B(t),r=e=>{var t=G();Y(V(t),()=>U(a)),K(e,t)},i=e=>{var t=pa();Vr(()=>_a(t,U(o))),K(e,t)};J(n,e=>{U(a)?e(r):e(i,-1)}),N(t),K(e,t)};J(u,e=>{U(i)?e(d):e(f,-1)}),K(e,l),R()}var zx,Bx,Vx=o((()=>{Z(),X(),yx(),Q(),zx=new Set([`$$slots`,`$$events`,`$$legacy`]),Bx=W(`<div><!></div>`)}));function Hx(e,t){I(t,!0);let n=Ts(t,Ux),r=vx.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getRangeProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Wx();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var Ux,Wx,Gx=o((()=>{Z(),X(),yx(),Q(),Ux=new Set([`$$slots`,`$$events`,`$$legacy`]),Wx=W(`<div><!></div>`)}));function Kx(e,t){I(t,!0);let n=vx.consume(),r=z(()=>t.children);var i=G();Y(V(i),()=>U(r),()=>n),K(e,i),R()}var qx=o((()=>{Z(),X(),yx()}));function Jx(e,t){I(t,!0);let n=Ts(t,Yx),r=z(()=>t.element),i=z(()=>t.children),a=z(()=>t.value),o=z(()=>x(n,[`element`,`children`,`value`])),s=z(()=>Dp(U(a)().getRootProps(),U(o)));vx.provide(()=>U(a)());var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(r),()=>U(s)),K(e,t)},d=e=>{var t=Xx();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(i)??A),N(t),K(e,t)};J(l,e=>{U(r)?e(u):e(d,-1)}),K(e,c),R()}var Yx,Xx,Zx=o((()=>{Z(),X(),yx(),Q(),Yx=new Set([`$$slots`,`$$events`,`$$legacy`]),Xx=W(`<div><!></div>`)})),Qx,$x,eS=o((()=>{qp(),Qx=Up(`slider`).parts(`root`,`label`,`thumb`,`valueText`,`track`,`range`,`control`,`markerGroup`,`marker`,`draggingIndicator`),$x=Qx.build()}));function tS(e,t,n){let{left:r,top:i,width:a,height:o}=t.getBoundingClientRect(),s=a-n*2,c=o-n*2,l=r+n,u=i+n,d={x:e.x-l,y:e.y-u},f={x:s>0?Vc(d.x/s):0,y:c>0?Vc(d.y/c):0};function p(e={}){let{dir:t=`ltr`,orientation:n=`horizontal`,inverted:r}=e,i=typeof r==`object`?r.x:r,a=typeof r==`object`?r.y:r;return n===`horizontal`?t===`rtl`||i?1-f.x:f.x:a?1-f.y:f.y}return{offset:d,percent:f,getPercentValue:p}}var nS,rS,iS,aS,oS,sS,cS,lS,uS,dS,fS,pS,mS,hS,gS,_S,vS,yS,bS,xS=o((()=>{dp(),pl(),nS=e=>e.ids?.root??`slider:${e.id}`,rS=(e,t)=>e.ids?.thumb?.(t)??`slider:${e.id}:thumb:${t}`,iS=(e,t)=>e.ids?.hiddenInput?.(t)??`slider:${e.id}:input:${t}`,aS=e=>e.ids?.control??`slider:${e.id}:control`,oS=e=>e.ids?.track??`slider:${e.id}:track`,sS=e=>e.ids?.range??`slider:${e.id}:range`,cS=e=>e.ids?.label??`slider:${e.id}:label`,lS=e=>e.ids?.valueText??`slider:${e.id}:value-text`,uS=(e,t)=>e.ids?.marker?.(t)??`slider:${e.id}:marker:${t}`,dS=e=>e.getById(nS(e)),fS=(e,t)=>e.getById(rS(e,t)),pS=e=>Vf(gS(e),`[role=slider]`),mS=e=>pS(e)[0],hS=(e,t)=>e.getById(iS(e,t)),gS=e=>e.getById(aS(e)),_S=(e,t,n)=>t===`contain`?(n===`vertical`?e?.height??0:e?.width??0)/2:0,vS=(e,t)=>{let{context:n,prop:r,scope:i,refs:a}=e,o=gS(i);if(!o)return;let s=a.get(`thumbDragOffset`);return Uc(tS({x:t.x-(s?.x??0),y:t.y-(s?.y??0)},o,_S(n.get(`thumbSize`),r(`thumbAlignment`),r(`orientation`))).getPercentValue({orientation:r(`orientation`),dir:r(`dir`),inverted:{y:!0}}),r(`min`),r(`max`),r(`step`))},yS=(e,t)=>{t.forEach((t,n)=>{let r=hS(e,n);r&&Fd(r,{value:t})})},bS=e=>({left:e?.offsetLeft??0,top:e?.offsetTop??0,width:e?.offsetWidth??0,height:e?.offsetHeight??0})}));function SS(e){return[e[0],e[e.length-1]]}function CS(e){let{prop:t,computed:n}=e,r=n(`valuePercent`),[i,a]=SS(r);if(r.length===1){if(t(`origin`)===`center`){let e=r[0]<50;return{start:e?`${r[0]}%`:`50%`,end:e?`50%`:`${100-r[0]}%`}}return t(`origin`)===`end`?{start:`${a}%`,end:`0%`}:{start:`0%`,end:`${100-a}%`}}return{start:`${i}%`,end:`${100-a}%`}}function wS(e){let{computed:t}=e,n=t(`isVertical`),r=t(`isRtl`);return n?{position:`absolute`,bottom:`var(--slider-range-start)`,top:`var(--slider-range-end)`}:{position:`absolute`,[r?`right`:`left`]:`var(--slider-range-start)`,[r?`left`:`right`]:`var(--slider-range-end)`}}function TS(e,t){let{context:n,prop:r}=e,{height:i=0}=n.get(`thumbSize`)??{},a=Jc([r(`min`),r(`max`)],[-i/2,i/2]);return parseFloat(a(t).toFixed(2))}function ES(e,t){let{computed:n,context:r,prop:i}=e,{width:a=0}=r.get(`thumbSize`)??{};if(n(`isRtl`)){let e=Jc([i(`max`),i(`min`)],[-a/2,a/2]);return-1*parseFloat(e(t).toFixed(2))}let o=Jc([i(`min`),i(`max`)],[-a/2,a/2]);return parseFloat(o(t).toFixed(2))}function DS(e,t,n){let{computed:r,prop:i}=e;return i(`thumbAlignment`)===`center`?`${t}%`:`calc(${t}% - ${r(`isVertical`)?TS(e,n):ES(e,n)}px)`}function OS(e,t){let{prop:n}=e;return DS(e,Hc(t,n(`min`),n(`max`))*100,t)}function kS(e){let{computed:t,prop:n}=e,r=`visible`;return n(`thumbAlignment`)===`contain`&&!t(`hasMeasuredThumbSize`)&&(r=`hidden`),r}function AS(e,t){let{computed:n,context:r}=e,i=n(`isVertical`)?`bottom`:`insetInlineStart`,a=r.get(`focusedIndex`);return{visibility:kS(e),position:`absolute`,transform:`var(--slider-thumb-transform)`,[i]:`var(--slider-thumb-offset-${t})`,zIndex:a===t?1:void 0}}function jS(){return{touchAction:`none`,userSelect:`none`,WebkitUserSelect:`none`,position:`relative`}}function MS(e){let{context:t,computed:n}=e,r=n(`isVertical`),i=n(`isRtl`),a=CS(e),o=t.get(`thumbSize`);return{...t.get(`value`).reduce((t,n,r)=>{let i=OS(e,n);return{...t,[`--slider-thumb-offset-${r}`]:i}},{}),"--slider-thumb-width":Yc(o?.width),"--slider-thumb-height":Yc(o?.height),"--slider-thumb-transform":r?`translateY(50%)`:i?`translateX(50%)`:`translateX(-50%)`,"--slider-range-start":a.start,"--slider-range-end":a.end}}function NS(e,t){let{computed:n}=e,r=n(`isHorizontal`),i=n(`isRtl`);return{visibility:kS(e),position:`absolute`,pointerEvents:`none`,[r?`insetInlineStart`:`bottom`]:OS(e,t),translate:`var(--translate-x) var(--translate-y)`,"--translate-x":r?i?`50%`:`-50%`:`0%`,"--translate-y":r?`0%`:`50%`}}function PS(){return{userSelect:`none`,WebkitUserSelect:`none`,pointerEvents:`none`,position:`relative`}}var FS=o((()=>{pl()}));function IS(e){let{index:t,values:n,min:r,max:i,gap:a}=e,o=n[t-1],s=n[t+1];return{min:o==null?r:o+a,max:s==null?i:s-a}}function LS(e){return Math.round(e*1e10)/1e10}function RS(e){let{index:t,value:n,values:r}=e,i=IS(e),a=r.slice();return a[t]=LS(Bc(n,i.min,i.max)),{values:a,index:t,swapped:!1}}function zS(e){let{index:t,value:n,values:r,min:i,max:a,gap:o}=e,s=r.slice();s[t]=LS(Bc(n,i+t*o,a-(r.length-1-t)*o));for(let e=t+1;e<r.length;e++){let t=s[e-1]+o;s[e]<t&&(s[e]=LS(t))}for(let e=t-1;e>=0;e--){let t=s[e+1]-o;s[e]>t&&(s[e]=LS(t))}return{values:s,index:t,swapped:!1}}function BS(e,t){let{index:n,value:r,values:i,gap:a}=e,o=i[n-1],s=i[n+1],c=s!=null&&r>=s&&r>t,l=o!=null&&r<=o&&r<t;if(!c&&!l)return RS(e);let u=c?n+1:n-1,d=i.slice(),f=IS({...e,index:u});return d[u]=LS(Bc(r,f.min,f.max)),d[n]=i[u],c&&d[n]>d[u]-a?d[n]=LS(d[u]-a):l&&d[n]<d[u]+a&&(d[n]=LS(d[u]+a)),{values:d,index:u,swapped:!0}}function VS(e,t,n,r,i,a,o,s,c){if(r.length===1)return{values:[LS(Bc(n,i,a))],index:0,swapped:!1};let l={behavior:e,index:t,value:n,values:r,min:i,max:a,gap:o*s};switch(e){case`push`:return zS(l);case`swap`:return BS(l,c??r[t]);default:return RS(l)}}function HS(e,t){return t.map((t,n)=>WS(e,t,n))}function US(e,t){let{context:n,prop:r}=e,i=r(`step`)*r(`minStepsBetweenThumbs`);return qc(n.get(`value`),r(`min`),r(`max`),i)[t]}function WS(e,t,n){let{prop:r}=e,i=US(e,n);return Bc(Gc(t,r(`min`),r(`max`),r(`step`)),i.min,i.max)}function GS(e,t,n){let{context:r,prop:i}=e,a=t??r.get(`focusedIndex`),o=US(e,a),s=Ec(a,{...o,step:n??i(`step`),values:r.get(`value`)});return s[a]=Bc(s[a],o.min,o.max),s}function KS(e,t,n){let{context:r,prop:i}=e,a=t??r.get(`focusedIndex`),o=US(e,a),s=Tc(a,{...o,step:n??i(`step`),values:r.get(`value`)});return s[a]=Bc(s[a],o.min,o.max),s}function qS(e,t){let{context:n}=e,r=n.get(`value`),i=0,a=Math.abs(r[0]-t);for(let e=1;e<r.length;e++){let n=Math.abs(r[e]-t);n<=a&&(i=e,a=n)}return JS(e,i)}function JS(e,t){let{context:n,prop:r}=e,i=n.get(`value`),a=r(`max`);if(i[t]===a){let e=t;for(;e>0&&i[e-1]===a;)--e;return e}return t}var YS=o((()=>{pl()}));function XS(e,t){let{state:n,send:r,context:i,prop:a,computed:o,scope:s}=e,c=a(`aria-label`),l=a(`aria-labelledby`),u=i.get(`value`),d=i.get(`focusedIndex`),f=n.matches(`focus`),p=n.matches(`dragging`),m=o(`isDisabled`),h=a(`invalid`),g=o(`isInteractive`),_=a(`orientation`)===`horizontal`,v=a(`orientation`)===`vertical`;function y(e){return Hc(e,a(`min`),a(`max`))}function b(e){return Uc(e,a(`min`),a(`max`),a(`step`))}return{value:u,dragging:p,focused:f,setValue(e){r({type:`SET_VALUE`,value:e})},getThumbValue(e){return u[e]},setThumbValue(e,t){r({type:`SET_VALUE`,index:e,value:t})},getValuePercent:y,getPercentValue:b,getThumbPercent(e){return y(u[e])},setThumbPercent(e,t){let n=b(t);r({type:`SET_VALUE`,index:e,value:n})},getThumbMin(t){return US(e,t).min},getThumbMax(t){return US(e,t).max},increment(e){r({type:`INCREMENT`,index:e})},decrement(e){r({type:`DECREMENT`,index:e})},focus(){g&&r({type:`FOCUS`,index:0})},getLabelProps(){return t.label({...$x.label.attrs,dir:a(`dir`),"data-disabled":su(m),"data-orientation":a(`orientation`),"data-invalid":su(h),"data-dragging":su(p),"data-focus":su(f),id:cS(s),htmlFor:iS(s,0),onClick(e){g&&(e.preventDefault(),mS(s)?.focus())},style:{userSelect:`none`,WebkitUserSelect:`none`}})},getRootProps(){return t.element({...$x.root.attrs,"data-disabled":su(m),"data-orientation":a(`orientation`),"data-dragging":su(p),"data-invalid":su(h),"data-focus":su(f),id:nS(s),dir:a(`dir`),style:MS(e)})},getValueTextProps(){return t.element({...$x.valueText.attrs,dir:a(`dir`),"data-disabled":su(m),"data-orientation":a(`orientation`),"data-invalid":su(h),"data-focus":su(f),id:lS(s)})},getTrackProps(){return t.element({...$x.track.attrs,dir:a(`dir`),id:oS(s),"data-disabled":su(m),"data-invalid":su(h),"data-dragging":su(p),"data-orientation":a(`orientation`),"data-focus":su(f),style:{position:`relative`}})},getThumbProps(n){let{index:i=0,name:o}=n,h=u[i],y=US(e,i),b=a(`getAriaValueText`)?.({value:h,index:i}),x=Array.isArray(c)?c[i]:c,S=Array.isArray(l)?l[i]:l;return t.element({...$x.thumb.attrs,dir:a(`dir`),"data-index":i,"data-name":o,id:rS(s,i),"data-disabled":su(m),"data-orientation":a(`orientation`),"data-focus":su(f&&d===i),"data-dragging":su(p&&d===i),draggable:!1,"aria-disabled":cu(m),"aria-label":x,"aria-labelledby":S??cS(s),"aria-orientation":a(`orientation`),"aria-valuemax":y.max,"aria-valuemin":y.min,"aria-valuenow":u[i],"aria-valuetext":b,role:`slider`,tabIndex:m?void 0:0,style:AS(e,i),onPointerDown(e){if(!g||!xd(e))return;let t=e.currentTarget.getBoundingClientRect(),n={x:t.left+t.width/2,y:t.top+t.height/2},a={x:e.clientX-n.x,y:e.clientY-n.y};r({type:`THUMB_POINTER_DOWN`,index:i,offset:a}),e.stopPropagation()},onBlur(){g&&r({type:`BLUR`})},onFocus(){g&&r({type:`FOCUS`,index:i})},onKeyDown(e){if(e.defaultPrevented||!g)return;let t=yd(e)*a(`step`),n={ArrowUp(){_||r({type:`ARROW_INC`,step:t,src:`ArrowUp`})},ArrowDown(){_||r({type:`ARROW_DEC`,step:t,src:`ArrowDown`})},ArrowLeft(){v||r({type:`ARROW_DEC`,step:t,src:`ArrowLeft`})},ArrowRight(){v||r({type:`ARROW_INC`,step:t,src:`ArrowRight`})},PageUp(){r({type:`ARROW_INC`,step:t,src:`PageUp`})},PageDown(){r({type:`ARROW_DEC`,step:t,src:`PageDown`})},Home(){r({type:`HOME`})},End(){r({type:`END`})}}[_d(e,{dir:a(`dir`),orientation:a(`orientation`)})];n&&(n(e),e.preventDefault(),e.stopPropagation())}})},getHiddenInputProps(e){let{index:n=0,name:r}=e;return t.input({name:r??(a(`name`)?a(`name`)+(u.length>1?`[]`:``):void 0),form:a(`form`),type:`text`,hidden:!0,defaultValue:u[n],id:iS(s,n)})},getRangeProps(){return t.element({id:sS(s),...$x.range.attrs,dir:a(`dir`),"data-dragging":su(p),"data-focus":su(f),"data-invalid":su(h),"data-disabled":su(m),"data-orientation":a(`orientation`),style:wS(e)})},getControlProps(){return t.element({...$x.control.attrs,dir:a(`dir`),id:aS(s),"data-dragging":su(p),"data-disabled":su(m),"data-orientation":a(`orientation`),"data-invalid":su(h),"data-focus":su(f),style:jS(),onPointerDown(e){if(!g||!xd(e)||Cd(e))return;let t=bd(e);r({type:`POINTER_DOWN`,point:t}),e.preventDefault(),e.stopPropagation()}})},getMarkerGroupProps(){return t.element({...$x.markerGroup.attrs,role:`presentation`,dir:a(`dir`),"aria-hidden":!0,"data-orientation":a(`orientation`),style:PS()})},getMarkerProps(n){let r=NS(e,n.value),i;return i=n.value<Qs(u)?`under-value`:n.value>$s(u)?`over-value`:`at-value`,t.element({...$x.marker.attrs,id:uS(s,n.value),role:`presentation`,dir:a(`dir`),"data-orientation":a(`orientation`),"data-value":n.value,"data-disabled":su(m),"data-state":i,style:r})},getDraggingIndicatorProps(n){let{index:r=0}=n,i=r===d&&p;return t.element({...$x.draggingIndicator.attrs,role:`presentation`,dir:a(`dir`),hidden:!i,"data-orientation":a(`orientation`),"data-state":i?`open`:`closed`,style:AS(e,r)})}}}var ZS=o((()=>{dp(),pl(),eS(),xS(),FS(),YS()})),QS,$S,eC,tC=o((()=>{mp(),dp(),pl(),xS(),YS(),QS=(e,t)=>e?.width===t?.width&&e?.height===t?.height,$S=(e,t,n,r,i)=>qc(e,t,n,i*r).map(e=>{let i=Bc(Gc(e.value,e.min,e.max,r),e.min,e.max);if(!Rc(i,t,n))throw Error("[zag-js/slider] The configured `min`, `max`, `step` or `minStepsBetweenThumbs` values are invalid");return i}),eC=Kl({props({props:e}){let t=e.min??0,n=e.max??100,r=e.step??1,i=e.defaultValue??[t],a=e.minStepsBetweenThumbs??0;return{dir:`ltr`,thumbAlignment:`contain`,origin:`start`,orientation:`horizontal`,thumbCollisionBehavior:`none`,minStepsBetweenThumbs:a,...e,defaultValue:$S(i,t,n,r,a),value:e.value?$S(e.value,t,n,r,a):void 0,max:n,step:r,min:t}},initialState(){return`idle`},context({prop:e,bindable:t,getContext:n}){return{thumbSize:t(()=>({defaultValue:e(`thumbSize`)||null})),value:t(()=>({defaultValue:e(`defaultValue`),value:e(`value`),isEqual:rc,hash(e){return e.join(`,`)},onChange(t){e(`onValueChange`)?.({value:t})}})),focusedIndex:t(()=>({defaultValue:-1,onChange(t){let r=n();e(`onFocusChange`)?.({focusedIndex:t,value:r.get(`value`)})}})),fieldsetDisabled:t(()=>({defaultValue:!1}))}},refs(){return{thumbDragOffset:null,thumbDragStartValue:null}},computed:{isHorizontal:({prop:e})=>e(`orientation`)===`horizontal`,isVertical:({prop:e})=>e(`orientation`)===`vertical`,isRtl:({prop:e})=>e(`orientation`)===`horizontal`&&e(`dir`)===`rtl`,isDisabled:({context:e,prop:t})=>!!t(`disabled`)||e.get(`fieldsetDisabled`),isInteractive:({prop:e,computed:t})=>!(e(`readOnly`)||t(`isDisabled`)),hasMeasuredThumbSize:({context:e})=>e.get(`thumbSize`)!=null,valuePercent:bl(({context:e,prop:t})=>[e.get(`value`),t(`min`),t(`max`)],([e,t,n])=>e.map(e=>100*Hc(e,t,n)))},watch({track:e,action:t,context:n,computed:r,send:i}){e([()=>n.hash(`value`)],()=>{t([`syncInputElements`,`dispatchChangeEvent`])}),e([()=>r(`isDisabled`)],()=>{r(`isDisabled`)&&i({type:`POINTER_CANCEL`})})},effects:[`trackFormControlState`,`trackThumbSize`],on:{SET_VALUE:[{guard:`hasIndex`,actions:[`setValueAtIndex`,`invokeOnChangeEnd`]},{actions:[`setValue`,`invokeOnChangeEnd`]}],INCREMENT:{actions:[`incrementThumbAtIndex`,`invokeOnChangeEnd`]},DECREMENT:{actions:[`decrementThumbAtIndex`,`invokeOnChangeEnd`]}},states:{idle:{on:{POINTER_DOWN:{target:`dragging`,actions:[`setClosestThumbIndex`,`setThumbDragStartValue`,`setPointerValue`,`focusActiveThumb`]},FOCUS:{target:`focus`,actions:[`setFocusedIndex`]},THUMB_POINTER_DOWN:{target:`dragging`,actions:[`setFocusedIndex`,`setThumbDragOffset`,`setThumbDragStartValue`,`focusActiveThumb`]}}},focus:{entry:[`focusActiveThumb`],on:{POINTER_DOWN:{target:`dragging`,actions:[`setClosestThumbIndex`,`setThumbDragStartValue`,`setPointerValue`,`focusActiveThumb`]},THUMB_POINTER_DOWN:{target:`dragging`,actions:[`setFocusedIndex`,`setThumbDragOffset`,`setThumbDragStartValue`,`focusActiveThumb`]},ARROW_DEC:{actions:[`decrementThumbAtIndex`,`invokeOnChangeEnd`]},ARROW_INC:{actions:[`incrementThumbAtIndex`,`invokeOnChangeEnd`]},HOME:{actions:[`setFocusedThumbToMin`,`invokeOnChangeEnd`]},END:{actions:[`setFocusedThumbToMax`,`invokeOnChangeEnd`]},BLUR:{target:`idle`,actions:[`clearFocusedIndex`]}}},dragging:{entry:[`focusActiveThumb`],effects:[`trackPointerMove`],on:{POINTER_UP:{target:`focus`,actions:[`invokeOnChangeEnd`,`clearThumbDragOffset`,`clearThumbDragStartValue`]},POINTER_MOVE:{actions:[`setPointerValue`]},POINTER_CANCEL:{target:`idle`,actions:[`clearFocusedIndex`,`clearThumbDragOffset`,`clearThumbDragStartValue`]}}}},implementations:{guards:{hasIndex:({event:e})=>e.index!=null},effects:{trackFormControlState({context:e,scope:t}){return Bd(dS(t),{onFieldsetDisabledChange(t){e.set(`fieldsetDisabled`,t)},onFormReset(){e.set(`value`,e.initial(`value`))}})},trackPointerMove({scope:e,send:t}){return Pf(e.getDoc(),{onPointerMove(e){t({type:`POINTER_MOVE`,point:e.point})},onPointerUp(){t({type:`POINTER_UP`})}})},trackThumbSize({context:e,scope:t,prop:n}){if(n(`thumbAlignment`)!==`contain`||n(`thumbSize`))return;let r=t=>{let n=Qc(bS(t),[`width`,`height`]);QS(e.get(`thumbSize`),n)||e.set(`thumbSize`,n)},i=pS(t);return i.forEach(r),xc(...i.map(e=>Yf.observe(e,()=>r(e))))}},actions:{dispatchChangeEvent({context:e,scope:t}){yS(t,e.get(`value`))},syncInputElements({context:e,scope:t}){e.get(`value`).forEach((e,n)=>{Nd(hS(t,n),e.toString())})},invokeOnChangeEnd({prop:e,context:t}){queueMicrotask(()=>{e(`onValueChangeEnd`)?.({value:t.get(`value`)})})},setClosestThumbIndex(e){let{context:t,event:n}=e,r=vS(e,n.point);if(r==null)return;let i=qS(e,r);t.set(`focusedIndex`,i)},setFocusedIndex(e){let{context:t,event:n}=e,r=JS(e,n.index);t.set(`focusedIndex`,r)},clearFocusedIndex({context:e}){e.set(`focusedIndex`,-1)},setThumbDragOffset(e){let{refs:t,event:n}=e;t.set(`thumbDragOffset`,n.offset??null)},clearThumbDragOffset({refs:e}){e.set(`thumbDragOffset`,null)},setThumbDragStartValue({refs:e,context:t}){e.set(`thumbDragStartValue`,t.get(`value`).slice())},clearThumbDragStartValue({refs:e}){e.set(`thumbDragStartValue`,null)},setPointerValue(e){queueMicrotask(()=>{let{context:t,event:n,prop:r,refs:i}=e,a=vS(e,n.point);if(a==null)return;let o=t.get(`focusedIndex`),s=i.get(`thumbDragStartValue`),c=VS(r(`thumbCollisionBehavior`),o,a,t.get(`value`),r(`min`),r(`max`),r(`step`),r(`minStepsBetweenThumbs`),s?.[o]);c.swapped&&t.set(`focusedIndex`,c.index),t.set(`value`,c.values)})},focusActiveThumb({scope:e,context:t}){ff(()=>{fS(e,t.get(`focusedIndex`))?.focus({preventScroll:!0})})},decrementThumbAtIndex(e){let{context:t,event:n}=e,r=GS(e,n.index,n.step);t.set(`value`,r)},incrementThumbAtIndex(e){let{context:t,event:n}=e,r=KS(e,n.index,n.step);t.set(`value`,r)},setFocusedThumbToMin(e){let{context:t}=e,n=t.get(`focusedIndex`),{min:r}=US(e,n);t.set(`value`,e=>Kc(e,n,r))},setFocusedThumbToMax(e){let{context:t}=e,n=t.get(`focusedIndex`),{max:r}=US(e,n);t.set(`value`,e=>Kc(e,n,r))},setValueAtIndex(e){let{context:t,event:n}=e,r=WS(e,n.value,n.index);t.set(`value`,e=>Kc(e,n.index,r))},setValue(e){let{context:t,event:n}=e,r=HS(e,n.value);t.set(`value`,r)}}}})})),nC,rC,iC,aC,oC,sC=o((()=>{yp(),pl(),nC=_p()(`aria-label.aria-labelledby.dir.disabled.form.getAriaValueText.getRootNode.id.ids.invalid.max.min.minStepsBetweenThumbs.name.onFocusChange.onValueChange.onValueChangeEnd.orientation.origin.readOnly.step.thumbAlignment.thumbCollisionBehavior.thumbSize.value.defaultValue`.split(`.`)),rC=el(nC),iC=_p()([`index`,`name`]),aC=el(iC),oC=_p()([`value`]),el(oC)})),cC=o((()=>{ZS(),tC(),sC()}));function lC(e){let t=zp(eC,e),n=z(()=>XS(t,Tp));return()=>U(n)}var uC=o((()=>{X(),cC(),Q()}));function dC(e,t){let n=ma();I(t,!0);let r=Ts(t,fC),i=z(()=>rC(r)),a=z(()=>b(U(i),2)),o=z(()=>U(a)[0]),s=z(()=>U(a)[1]),c=z(()=>U(s).element),l=z(()=>U(s).children),u=z(()=>x(U(s),[`element`,`children`])),d=lC(()=>({...U(o),id:n})),f=z(()=>Dp(d().getRootProps(),U(u)));vx.provide(()=>d());var p=G(),m=V(p),h=e=>{var t=G();Y(V(t),()=>U(c),()=>U(f)),K(e,t)},g=e=>{var t=pC();Ko(t,()=>({...U(f)})),Y(B(t),()=>U(l)??A),N(t),K(e,t)};J(m,e=>{U(c)?e(h):e(g,-1)}),K(e,p),R()}var fC,pC,mC=o((()=>{Z(),X(),uC(),yx(),cC(),Q(),fC=new Set([`$$slots`,`$$events`,`$$legacy`]),pC=W(`<div><!></div>`)}));function hC(e,t){I(t,!0);let n=Ts(t,gC),r=vx.consume(),i=z(()=>aC(n)),a=z(()=>b(U(i),2)),o=z(()=>U(a)[0]),s=z(()=>U(a)[1]),c=z(()=>U(s).element),l=z(()=>U(s).children),u=z(()=>x(U(s),[`element`,`children`])),d=z(()=>Dp(r().getThumbProps(U(o)),U(u)));wx.provide(()=>U(o));var f=G(),p=V(f),m=e=>{var t=G();Y(V(t),()=>U(c),()=>U(d)),K(e,t)},h=e=>{var t=_C();Ko(t,()=>({...U(d)})),Y(B(t),()=>U(l)??A),N(t),K(e,t)};J(p,e=>{U(c)?e(m):e(h,-1)}),K(e,f),R()}var gC,_C,vC=o((()=>{Z(),cC(),X(),yx(),Tx(),Q(),gC=new Set([`$$slots`,`$$events`,`$$legacy`]),_C=W(`<div><!></div>`)}));function yC(e,t){I(t,!0);let n=Ts(t,bC),r=vx.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getTrackProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=xC();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var bC,xC,SC=o((()=>{Z(),X(),yx(),Q(),bC=new Set([`$$slots`,`$$events`,`$$legacy`]),xC=W(`<div><!></div>`)}));function CC(e,t){I(t,!0);let n=Ts(t,wC),r=vx.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getValueTextProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=TC();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var wC,TC,EC=o((()=>{Z(),X(),yx(),Q(),wC=new Set([`$$slots`,`$$events`,`$$legacy`]),TC=W(`<output><!></output>`)})),DC,OC=o((()=>{Cx(),kx(),Nx(),Lx(),Vx(),Gx(),qx(),Zx(),mC(),vC(),SC(),EC(),DC=Object.assign(dC,{Provider:Jx,Context:Kx,Label:Ax,ValueText:CC,Control:bx,Track:yC,Range:Hx,Thumb:hC,HiddenInput:Ex,MarkerGroup:Px,Marker:Rx})})),kC=o((()=>{OC(),uC()})),AC=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),pl(),mp(),yp()})),jC,MC=o((()=>{Hs(),jC=Vs()}));function NC(e,t){I(t,!0);let n=Ts(t,PC),r=jC.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getControlProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=FC();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var PC,FC,IC=o((()=>{Z(),X(),MC(),Q(),PC=new Set([`$$slots`,`$$events`,`$$legacy`]),FC=W(`<span><!></span>`)}));function LC(e,t){I(t,!0);let n=Ts(t,RC),r=jC.consume(),i=z(()=>t.element),a=z(()=>x(n,[`element`])),o=z(()=>Dp(r().getHiddenInputProps(),U(a)));var s=G(),c=V(s),l=e=>{var t=G();Y(V(t),()=>U(i),()=>U(o)),K(e,t)},u=e=>{var t=zC();Ko(t,()=>({...U(o)}),void 0,void 0,void 0,void 0,!0),K(e,t)};J(c,e=>{U(i)?e(l):e(u,-1)}),K(e,s),R()}var RC,zC,BC=o((()=>{Z(),X(),MC(),Q(),RC=new Set([`$$slots`,`$$events`,`$$legacy`]),zC=W(`<input/>`)}));function VC(e,t){I(t,!0);let n=Ts(t,HC),r=jC.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getLabelProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=UC();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var HC,UC,WC=o((()=>{Z(),X(),MC(),Q(),HC=new Set([`$$slots`,`$$events`,`$$legacy`]),UC=W(`<span><!></span>`)}));function GC(e,t){I(t,!0);let n=jC.consume(),r=z(()=>t.children);var i=G();Y(V(i),()=>U(r),()=>n),K(e,i),R()}var KC=o((()=>{Z(),X(),MC()}));function qC(e,t){I(t,!0);let n=Ts(t,JC),r=z(()=>t.element),i=z(()=>t.children),a=z(()=>t.value),o=z(()=>x(n,[`element`,`children`,`value`])),s=z(()=>Dp(U(a)().getRootProps(),U(o)));jC.provide(()=>U(a)());var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(r),()=>U(s)),K(e,t)},d=e=>{var t=YC();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(i)??A),N(t),K(e,t)};J(l,e=>{U(r)?e(u):e(d,-1)}),K(e,c),R()}var JC,YC,XC=o((()=>{Z(),X(),MC(),Q(),JC=new Set([`$$slots`,`$$events`,`$$legacy`]),YC=W(`<label><!></label>`)})),ZC,QC,$C=o((()=>{qp(),ZC=Up(`switch`).parts(`root`,`label`,`control`,`thumb`),QC=ZC.build()})),ew,tw,nw,rw,iw,aw,ow,sw=o((()=>{ew=e=>e.ids?.root??`switch:${e.id}`,tw=e=>e.ids?.label??`switch:${e.id}:label`,nw=e=>e.ids?.thumb??`switch:${e.id}:thumb`,rw=e=>e.ids?.control??`switch:${e.id}:control`,iw=e=>e.ids?.hiddenInput??`switch:${e.id}:input`,aw=e=>e.getById(ew(e)),ow=e=>e.getById(iw(e))}));function cw(e,t){let{context:n,send:r,prop:i,scope:a}=e,o=!!i(`disabled`),s=!!i(`readOnly`),c=!!i(`required`),l=!!n.get(`checked`),u=!o&&n.get(`focused`),d=!o&&n.get(`focusVisible`),f={"data-active":su(!o&&n.get(`active`)),"data-focus":su(u),"data-focus-visible":su(d),"data-readonly":su(s),"data-hover":su(n.get(`hovered`)),"data-disabled":su(o),"data-state":l?`checked`:`unchecked`,"data-invalid":su(i(`invalid`)),"data-required":su(c)};return{checked:l,disabled:o,focused:u,setChecked(e){r({type:`CHECKED.SET`,checked:e,isTrusted:!1})},toggleChecked(){r({type:`CHECKED.TOGGLE`,checked:l,isTrusted:!1})},getRootProps(){return t.label({...QC.root.attrs,...f,dir:i(`dir`),id:ew(a),htmlFor:iw(a),onPointerMove(){o||r({type:`CONTEXT.SET`,context:{hovered:!0}})},onPointerLeave(){o||r({type:`CONTEXT.SET`,context:{hovered:!1}})},onClick(e){o||(fd(e)===ow(a)&&e.stopPropagation(),sd()&&ow(a)?.focus())}})},getLabelProps(){return t.element({...QC.label.attrs,...f,dir:i(`dir`),id:tw(a)})},getThumbProps(){return t.element({...QC.thumb.attrs,...f,dir:i(`dir`),id:nw(a),"aria-hidden":!0})},getControlProps(){return t.element({...QC.control.attrs,...f,dir:i(`dir`),id:rw(a),"aria-hidden":!0})},getHiddenInputProps(){return t.input({id:iw(a),type:`checkbox`,required:i(`required`),defaultChecked:l,disabled:o,"aria-labelledby":tw(a),"aria-invalid":i(`invalid`),name:i(`name`),form:i(`form`),value:i(`value`),style:op,onFocus(){let e=S_();r({type:`CONTEXT.SET`,context:{focused:!0,focusVisible:e}})},onBlur(){r({type:`CONTEXT.SET`,context:{focused:!1,focusVisible:!1}})},onClick(e){if(s){e.preventDefault();return}let t=e.currentTarget.checked;r({type:`CHECKED.SET`,checked:t,isTrusted:!0})}})}}}var lw=o((()=>{dp(),M_(),$C(),sw()})),uw,dw,fw=o((()=>{mp(),dp(),M_(),sw(),{not:uw}=Gl(),dw=Kl({props({props:e}){return{defaultChecked:!1,label:`switch`,value:`on`,...e}},initialState(){return`ready`},context({prop:e,bindable:t}){return{checked:t(()=>({defaultValue:e(`defaultChecked`),value:e(`checked`),onChange(t){e(`onCheckedChange`)?.({checked:t})}})),fieldsetDisabled:t(()=>({defaultValue:!1})),focusVisible:t(()=>({defaultValue:!1})),active:t(()=>({defaultValue:!1})),focused:t(()=>({defaultValue:!1})),hovered:t(()=>({defaultValue:!1}))}},computed:{isDisabled:({context:e,prop:t})=>t(`disabled`)||e.get(`fieldsetDisabled`)},watch({track:e,prop:t,context:n,action:r}){e([()=>t(`disabled`)],()=>{r([`removeFocusIfNeeded`])}),e([()=>n.get(`checked`)],()=>{r([`syncInputElement`])})},effects:[`trackFormControlState`,`trackPressEvent`,`trackFocusVisible`],on:{"CHECKED.TOGGLE":[{guard:uw(`isTrusted`),actions:[`toggleChecked`,`dispatchChangeEvent`]},{actions:[`toggleChecked`]}],"CHECKED.SET":[{guard:uw(`isTrusted`),actions:[`setChecked`,`dispatchChangeEvent`]},{actions:[`setChecked`]}],"CONTEXT.SET":{actions:[`setContext`]}},states:{ready:{}},implementations:{guards:{isTrusted:({event:e})=>!!e.isTrusted},effects:{trackPressEvent({computed:e,scope:t,context:n}){if(!e(`isDisabled`))return If({pointerNode:aw(t),keyboardNode:ow(t),isValidKey:e=>e.key===` `,onPress:()=>n.set(`active`,!1),onPressStart:()=>n.set(`active`,!0),onPressEnd:()=>n.set(`active`,!1)})},trackFocusVisible({computed:e,scope:t}){if(!e(`isDisabled`))return C_({root:t.getRootNode()})},trackFormControlState({context:e,send:t,scope:n}){return Bd(ow(n),{onFieldsetDisabledChange(t){e.set(`fieldsetDisabled`,t)},onFormReset(){t({type:`CHECKED.SET`,checked:!!e.initial(`checked`),src:`form-reset`})}})}},actions:{setContext({context:e,event:t}){for(let n in t.context)e.set(n,t.context[n])},syncInputElement({context:e,scope:t}){let n=ow(t);n&&Pd(n,!!e.get(`checked`))},removeFocusIfNeeded({context:e,prop:t}){t(`disabled`)&&e.set(`focused`,!1)},setChecked({context:e,event:t}){e.set(`checked`,t.checked)},toggleChecked({context:e}){e.set(`checked`,!e.get(`checked`))},dispatchChangeEvent({context:e,scope:t}){queueMicrotask(()=>{Id(ow(t),{checked:e.get(`checked`)})})}}}})})),pw,mw,hw=o((()=>{yp(),pl(),pw=_p()([`checked`,`defaultChecked`,`dir`,`disabled`,`form`,`getRootNode`,`id`,`ids`,`invalid`,`label`,`name`,`onCheckedChange`,`readOnly`,`required`,`value`]),mw=el(pw)})),gw=o((()=>{lw(),fw(),hw()}));function _w(e){let t=zp(dw,e),n=z(()=>cw(t,Tp));return()=>U(n)}var vw=o((()=>{X(),Q(),gw()}));function yw(e,t){let n=ma();I(t,!0);let r=Ts(t,bw),i=z(()=>mw(r)),a=z(()=>b(U(i),2)),o=z(()=>U(a)[0]),s=z(()=>U(a)[1]),c=z(()=>U(s).element),l=z(()=>U(s).children),u=z(()=>x(U(s),[`element`,`children`])),d=_w(()=>({...U(o),id:n})),f=z(()=>Dp(d().getRootProps(),U(u)));jC.provide(()=>d());var p=G(),m=V(p),h=e=>{var t=G();Y(V(t),()=>U(c),()=>U(f)),K(e,t)},g=e=>{var t=xw();Ko(t,()=>({...U(f)})),Y(B(t),()=>U(l)??A),N(t),K(e,t)};J(m,e=>{U(c)?e(h):e(g,-1)}),K(e,p),R()}var bw,xw,Sw=o((()=>{Z(),X(),vw(),MC(),Q(),gw(),bw=new Set([`$$slots`,`$$events`,`$$legacy`]),xw=W(`<label><!></label>`)}));function Cw(e,t){I(t,!0);let n=Ts(t,ww),r=jC.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getThumbProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=Tw();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var ww,Tw,Ew=o((()=>{Z(),X(),MC(),Q(),ww=new Set([`$$slots`,`$$events`,`$$legacy`]),Tw=W(`<span><!></span>`)})),Dw,Ow=o((()=>{IC(),BC(),WC(),KC(),XC(),Sw(),Ew(),Dw=Object.assign(yw,{Provider:qC,Context:GC,Control:NC,Thumb:Cw,Label:VC,HiddenInput:LC})})),kw=o((()=>{Ow(),vw()})),Aw,jw=o((()=>{Hs(),Aw=Vs()})),Mw,Nw,Pw=o((()=>{qp(),Mw=Up(`tabs`).parts(`root`,`list`,`trigger`,`content`,`indicator`),Nw=Mw.build()})),Fw,Iw,Lw,Rw,zw,Bw,Vw,Hw,Uw,Ww,Gw,Kw,qw,Jw,Yw,Xw,Zw=o((()=>{dp(),pl(),Fw=e=>e.ids?.root??`tabs:${e.id}`,Iw=e=>e.ids?.list??`tabs:${e.id}:list`,Lw=(e,t)=>e.ids?.content?.(t)??`tabs:${e.id}:content-${t}`,Rw=(e,t)=>e.ids?.trigger?.(t)??`tabs:${e.id}:trigger-${t}`,zw=e=>e.ids?.indicator??`tabs:${e.id}:indicator`,Bw=e=>e.getById(Iw(e)),Vw=(e,t)=>e.getById(Lw(e,t)),Hw=(e,t)=>t==null?null:e.getById(Rw(e,t)),Uw=e=>e.getById(zw(e)),Ww=e=>{let t=`[role=tab][data-ownedby='${CSS.escape(Iw(e))}']:not([disabled])`;return Vf(Bw(e),t)},Gw=e=>Qs(Ww(e)),Kw=e=>$s(Ww(e)),qw=(e,t)=>Wf(Ww(e),Rw(e,t.value),t.loopFocus),Jw=(e,t)=>Gf(Ww(e),Rw(e,t.value),t.loopFocus),Yw=e=>({x:e?.offsetLeft??0,y:e?.offsetTop??0,width:e?.offsetWidth??0,height:e?.offsetHeight??0}),Xw=(e,t)=>Yw(Hf(Ww(e),Rw(e,t)))}));function Qw(e,t){let{state:n,send:r,context:i,prop:a,scope:o}=e,s=a(`translations`),c=n.matches(`focused`),l=a(`orientation`)===`vertical`,u=a(`orientation`)===`horizontal`,d=a(`composite`);function f(e){return{selected:i.get(`value`)===e.value,focused:i.get(`focusedValue`)===e.value,disabled:!!e.disabled}}return{value:i.get(`value`),focusedValue:i.get(`focusedValue`),setValue(e){r({type:`SET_VALUE`,value:e})},clearValue(){r({type:`CLEAR_VALUE`})},setIndicatorRect(e){let t=Rw(o,e);r({type:`SET_INDICATOR_RECT`,id:t})},syncTabIndex(){r({type:`SYNC_TAB_INDEX`})},selectNext(e){r({type:`TAB_FOCUS`,value:e,src:`selectNext`}),r({type:`ARROW_NEXT`,src:`selectNext`})},selectPrev(e){r({type:`TAB_FOCUS`,value:e,src:`selectPrev`}),r({type:`ARROW_PREV`,src:`selectPrev`})},focus(){let e=i.get(`value`);e&&Hw(o,e)?.focus()},getRootProps(){return t.element({...Nw.root.attrs,id:Fw(o),"data-orientation":a(`orientation`),"data-focus":su(c),dir:a(`dir`)})},getListProps(){return t.element({...Nw.list.attrs,id:Iw(o),role:`tablist`,dir:a(`dir`),"data-focus":su(c),"aria-orientation":a(`orientation`),"data-orientation":a(`orientation`),"aria-label":s?.listLabel,onKeyDown(e){if(e.defaultPrevented||md(e)||!pu(e.currentTarget,fd(e)))return;let t={ArrowDown(){u||r({type:`ARROW_NEXT`,key:`ArrowDown`})},ArrowUp(){u||r({type:`ARROW_PREV`,key:`ArrowUp`})},ArrowLeft(){l||r({type:`ARROW_PREV`,key:`ArrowLeft`})},ArrowRight(){l||r({type:`ARROW_NEXT`,key:`ArrowRight`})},Home(){r({type:`HOME`})},End(){r({type:`END`})}}[_d(e,{dir:a(`dir`),orientation:a(`orientation`)})];if(t){e.preventDefault(),t(e);return}}})},getTriggerState:f,getTriggerProps(e){let{value:n,disabled:s}=e,c=f(e);return t.button({...Nw.trigger.attrs,role:`tab`,type:`button`,disabled:s,dir:a(`dir`),"data-orientation":a(`orientation`),"data-disabled":su(s),"aria-disabled":s,"data-value":n,"aria-selected":c.selected,"data-selected":su(c.selected),"data-focus":su(c.focused),"aria-controls":c.selected?Lw(o,n):void 0,"data-ownedby":Iw(o),"data-ssr":su(i.get(`ssr`)),id:Rw(o,n),tabIndex:c.selected&&d?0:-1,onFocus(){r({type:`TAB_FOCUS`,value:n})},onBlur(e){e.relatedTarget?.getAttribute(`role`)!==`tab`&&r({type:`TAB_BLUR`})},onClick(e){e.defaultPrevented||pd(e)||s||(sd()&&e.currentTarget.focus(),r({type:`TAB_CLICK`,value:n}))}})},getContentProps(e){let{value:n}=e,r=i.get(`value`)===n;return t.element({...Nw.content.attrs,dir:a(`dir`),id:Lw(o,n),tabIndex:d?0:-1,"aria-labelledby":Rw(o,n),role:`tabpanel`,"data-ownedby":Iw(o),"data-selected":su(r),"data-orientation":a(`orientation`),hidden:!r})},getIndicatorProps(){let e=i.get(`indicatorRect`),n=i.get(`animateIndicator`);return t.element({id:zw(o),...Nw.indicator.attrs,dir:a(`dir`),"data-orientation":a(`orientation`),hidden:$w(e),onTransitionEnd(e){fd(e)===e.currentTarget&&r({type:`INDICATOR_TRANSITION_END`})},style:{"--transition-property":`left, right, top, bottom, width, height`,"--left":Yc(e?.x),"--top":Yc(e?.y),"--width":Yc(e?.width),"--height":Yc(e?.height),position:`absolute`,willChange:n?`var(--transition-property)`:`auto`,transitionProperty:n?`var(--transition-property)`:`none`,transitionDuration:n?`var(--transition-duration, 150ms)`:`0ms`,transitionTimingFunction:`var(--transition-timing-function)`,[u?`left`:`top`]:u?`var(--left)`:`var(--top)`}})}}}var $w,eT=o((()=>{dp(),pl(),Pw(),Zw(),$w=e=>e==null||e.width===0&&e.height===0&&e.x===0&&e.y===0})),tT,nT,rT=o((()=>{mp(),dp(),pl(),Zw(),{createMachine:tT}=ql(),nT=tT({props({props:e}){return{dir:`ltr`,orientation:`horizontal`,activationMode:`automatic`,loopFocus:!0,composite:!0,navigate(e){vf(e.node)},defaultValue:null,...e}},initialState(){return`idle`},context({prop:e,bindable:t}){return{value:t(()=>({defaultValue:e(`defaultValue`),value:e(`value`),onChange(t){e(`onValueChange`)?.({value:t})}})),focusedValue:t(()=>({defaultValue:e(`value`)||e(`defaultValue`),sync:!0,onChange(t){e(`onFocusChange`)?.({focusedValue:t})}})),ssr:t(()=>({defaultValue:!0})),indicatorRect:t(()=>({defaultValue:null})),animateIndicator:t(()=>({defaultValue:!1}))}},refs(){return{indicatorCleanup:null,prevValue:null}},watch({context:e,prop:t,track:n,action:r}){n([()=>e.get(`value`)],()=>{r([`syncIndicatorAnimation`,`syncIndicatorRect`,`syncTabIndex`,`navigateIfNeeded`])}),n([()=>t(`dir`),()=>t(`orientation`)],()=>{r([`syncIndicatorRect`])})},on:{SET_VALUE:{actions:[`setValue`]},CLEAR_VALUE:{actions:[`clearValue`]},SET_INDICATOR_RECT:{actions:[`setIndicatorRect`]},SYNC_TAB_INDEX:{actions:[`syncTabIndex`]},INDICATOR_TRANSITION_END:{actions:[`clearIndicatorAnimation`]}},entry:[`syncPrevValue`,`syncIndicatorRect`,`syncTabIndex`,`syncSsr`],exit:[`cleanupObserver`],states:{idle:{on:{TAB_FOCUS:{target:`focused`,actions:[`setFocusedValue`]},TAB_CLICK:{target:`focused`,actions:[`setFocusedValue`,`setValue`]}}},focused:{on:{TAB_CLICK:{actions:[`setFocusedValue`,`setValue`]},ARROW_PREV:[{guard:`selectOnFocus`,actions:[`focusPrevTab`,`selectFocusedTab`]},{actions:[`focusPrevTab`]}],ARROW_NEXT:[{guard:`selectOnFocus`,actions:[`focusNextTab`,`selectFocusedTab`]},{actions:[`focusNextTab`]}],HOME:[{guard:`selectOnFocus`,actions:[`focusFirstTab`,`selectFocusedTab`]},{actions:[`focusFirstTab`]}],END:[{guard:`selectOnFocus`,actions:[`focusLastTab`,`selectFocusedTab`]},{actions:[`focusLastTab`]}],TAB_FOCUS:{actions:[`setFocusedValue`]},TAB_BLUR:{target:`idle`,actions:[`clearFocusedValue`]}}}},implementations:{guards:{selectOnFocus:({prop:e})=>e(`activationMode`)===`automatic`},actions:{selectFocusedTab({context:e,prop:t}){ff(()=>{let n=e.get(`focusedValue`);if(!n)return;let r=t(`deselectable`)&&e.get(`value`)===n?null:n;e.set(`value`,r)})},setFocusedValue({context:e,event:t,flush:n}){t.value!=null&&n(()=>{e.set(`focusedValue`,t.value)})},clearFocusedValue({context:e}){e.set(`focusedValue`,null)},setValue({context:e,event:t,prop:n}){let r=n(`deselectable`)&&e.get(`value`)===e.get(`focusedValue`);e.set(`value`,r?null:t.value)},clearValue({context:e}){e.set(`value`,null)},focusFirstTab({scope:e}){ff(()=>{Gw(e)?.focus()})},focusLastTab({scope:e}){ff(()=>{Kw(e)?.focus()})},focusNextTab({context:e,prop:t,scope:n,event:r}){let i=r.value??e.get(`focusedValue`);if(!i)return;let a=qw(n,{value:i,loopFocus:t(`loopFocus`)});ff(()=>{t(`composite`)?a?.focus():a?.dataset.value!=null&&e.set(`focusedValue`,a.dataset.value)})},focusPrevTab({context:e,prop:t,scope:n,event:r}){let i=r.value??e.get(`focusedValue`);if(!i)return;let a=Jw(n,{value:i,loopFocus:t(`loopFocus`)});ff(()=>{t(`composite`)?a?.focus():a?.dataset.value!=null&&e.set(`focusedValue`,a.dataset.value)})},syncTabIndex({context:e,scope:t}){ff(()=>{let n=e.get(`value`);if(!n)return;let r=Vw(t,n);r&&(cf(r).length>0?r.removeAttribute(`tabindex`):r.setAttribute(`tabindex`,`0`))})},cleanupObserver({refs:e}){let t=e.get(`indicatorCleanup`);t&&t()},setIndicatorRect({context:e,event:t,scope:n}){let r=t.id??e.get(`value`);Uw(n)&&r&&Hw(n,r)&&e.set(`indicatorRect`,Xw(n,r))},syncSsr({context:e}){e.set(`ssr`,!1)},syncPrevValue({context:e,refs:t}){t.set(`prevValue`,e.get(`value`))},syncIndicatorAnimation({context:e,refs:t}){let n=t.get(`prevValue`),r=e.get(`value`),i=n!=null&&r!=null&&n!==r;e.set(`animateIndicator`,i),t.set(`prevValue`,r)},clearIndicatorAnimation({context:e}){e.set(`animateIndicator`,!1)},syncIndicatorRect({context:e,refs:t,scope:n}){let r=t.get(`indicatorCleanup`);if(r&&r(),!Uw(n))return;let i=()=>{let t=Hw(n,e.get(`value`));if(!t)return;let r=Yw(t);e.set(`indicatorRect`,e=>rc(e,r)?e:r)};i();let a=xc(...Ww(n).map(e=>Yf.observe(e,i)));t.set(`indicatorCleanup`,a)},navigateIfNeeded({context:e,prop:t,scope:n}){let r=e.get(`value`);if(!r)return;let i=Hw(n,r);Au(i)&&t(`navigate`)?.({value:r,node:i,href:i.href})}}}})})),iT,aT,oT,sT,cT,lT,uT=o((()=>{yp(),pl(),iT=_p()([`activationMode`,`composite`,`deselectable`,`dir`,`getRootNode`,`id`,`ids`,`loopFocus`,`navigate`,`onFocusChange`,`onValueChange`,`orientation`,`translations`,`value`,`defaultValue`]),aT=el(iT),oT=_p()([`disabled`,`value`]),sT=el(oT),cT=_p()([`value`]),lT=el(cT)})),dT=o((()=>{eT(),rT(),uT()}));function fT(e,t){I(t,!0);let n=Ts(t,pT),r=Aw.consume(),i=z(()=>lT(n)),a=z(()=>b(U(i),2)),o=z(()=>U(a)[0]),s=z(()=>U(a)[1]),c=z(()=>U(s).element),l=z(()=>U(s).children),u=z(()=>x(U(s),[`element`,`children`])),d=z(()=>Dp(r().getContentProps(U(o)),U(u)));var f=G(),p=V(f),m=e=>{var t=G();Y(V(t),()=>U(c),()=>U(d)),K(e,t)},h=e=>{var t=mT();Ko(t,()=>({...U(d)})),Y(B(t),()=>U(l)??A),N(t),K(e,t)};J(p,e=>{U(c)?e(m):e(h,-1)}),K(e,f),R()}var pT,mT,hT=o((()=>{Z(),X(),jw(),Q(),dT(),pT=new Set([`$$slots`,`$$events`,`$$legacy`]),mT=W(`<div><!></div>`)}));function gT(e,t){I(t,!0);let n=Ts(t,_T),r=Aw.consume(),i=z(()=>t.element),a=z(()=>x(n,[`element`])),o=z(()=>Dp(r().getIndicatorProps(),U(a)));var s=G(),c=V(s),l=e=>{var t=G();Y(V(t),()=>U(i),()=>U(o)),K(e,t)},u=e=>{var t=vT();Ko(t,()=>({...U(o)})),K(e,t)};J(c,e=>{U(i)?e(l):e(u,-1)}),K(e,s),R()}var _T,vT,yT=o((()=>{Z(),X(),jw(),Q(),_T=new Set([`$$slots`,`$$events`,`$$legacy`]),vT=W(`<div></div>`)}));function bT(e,t){I(t,!0);let n=Ts(t,xT),r=Aw.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getListProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=ST();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var xT,ST,CT=o((()=>{Z(),X(),jw(),Q(),xT=new Set([`$$slots`,`$$events`,`$$legacy`]),ST=W(`<div><!></div>`)}));function wT(e,t){I(t,!0);let n=Aw.consume(),r=z(()=>t.children);var i=G();Y(V(i),()=>U(r),()=>n),K(e,i),R()}var TT=o((()=>{Z(),X(),jw()}));function ET(e,t){I(t,!0);let n=Ts(t,DT),r=z(()=>t.element),i=z(()=>t.children),a=z(()=>t.value),o=z(()=>x(n,[`element`,`children`,`value`])),s=z(()=>Dp(U(a)().getRootProps(),U(o)));Aw.provide(()=>U(a)());var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(r),()=>U(s)),K(e,t)},d=e=>{var t=OT();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(i)??A),N(t),K(e,t)};J(l,e=>{U(r)?e(u):e(d,-1)}),K(e,c),R()}var DT,OT,kT=o((()=>{Z(),X(),jw(),Q(),DT=new Set([`$$slots`,`$$events`,`$$legacy`]),OT=W(`<div><!></div>`)}));function AT(e){let t=zp(nT,e),n=z(()=>Qw(t,Tp));return()=>U(n)}var jT=o((()=>{X(),Q(),dT()}));function MT(e,t){let n=ma();I(t,!0);let r=Ts(t,NT),i=z(()=>aT(r)),a=z(()=>b(U(i),2)),o=z(()=>U(a)[0]),s=z(()=>U(a)[1]),c=z(()=>U(s).element),l=z(()=>U(s).children),u=z(()=>x(U(s),[`element`,`children`])),d=AT(()=>({...U(o),id:n})),f=z(()=>Dp(d().getRootProps(),U(u)));Aw.provide(()=>d());var p=G(),m=V(p),h=e=>{var t=G();Y(V(t),()=>U(c),()=>U(f)),K(e,t)},g=e=>{var t=PT();Ko(t,()=>({...U(f)})),Y(B(t),()=>U(l)??A),N(t),K(e,t)};J(m,e=>{U(c)?e(h):e(g,-1)}),K(e,p),R()}var NT,PT,FT=o((()=>{Z(),X(),jT(),jw(),Q(),dT(),NT=new Set([`$$slots`,`$$events`,`$$legacy`]),PT=W(`<div><!></div>`)}));function IT(e,t){I(t,!0);let n=Ts(t,LT),r=Aw.consume(),i=z(()=>sT(n)),a=z(()=>b(U(i),2)),o=z(()=>U(a)[0]),s=z(()=>U(a)[1]),c=z(()=>U(s).element),l=z(()=>U(s).children),u=z(()=>x(U(s),[`element`,`children`])),d=z(()=>Dp(r().getTriggerProps(U(o)),U(u)));var f=G(),p=V(f),m=e=>{var t=G();Y(V(t),()=>U(c),()=>U(d)),K(e,t)},h=e=>{var t=RT();Ko(t,()=>({...U(d)})),Y(B(t),()=>U(l)??A),N(t),K(e,t)};J(p,e=>{U(c)?e(m):e(h,-1)}),K(e,f),R()}var LT,RT,zT=o((()=>{Z(),X(),jw(),Q(),dT(),LT=new Set([`$$slots`,`$$events`,`$$legacy`]),RT=W(`<button><!></button>`)})),BT,VT=o((()=>{hT(),yT(),CT(),TT(),kT(),FT(),zT(),BT=Object.assign(MT,{Provider:ET,Context:wT,List:bT,Trigger:IT,Indicator:gT,Content:fT})})),HT=o((()=>{VT(),jT()})),UT=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),mp(),Yg(),pl(),yp()})),WT,GT=o((()=>{Hs(),WT=Vs()}));function KT(e,t){I(t,!0);let n=Ts(t,qT),r=WT.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getActionTriggerProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=JT();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var qT,JT,YT=o((()=>{Z(),X(),GT(),Q(),qT=new Set([`$$slots`,`$$events`,`$$legacy`]),JT=W(`<button><!></button>`)}));function XT(e,t){I(t,!0);let n=Ts(t,ZT),r=z(()=>x(n,[])),i=z(()=>Dp({xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},U(r)));var a=QT();Ko(a,()=>({...U(i)})),K(e,a),R()}var ZT,QT,$T=o((()=>{Z(),Q(),X(),ZT=new Set([`$$slots`,`$$events`,`$$legacy`]),QT=fa(`<svg><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>`)}));function eE(e,t){I(t,!0);let n=Ts(t,nE),r=WT.consume(),i=z(()=>t.element),a=z(()=>y(t.children,tE)),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getCloseTriggerProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=rE();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var tE,nE,rE,iE=o((()=>{Z(),X(),$T(),GT(),Q(),tE=e=>{XT(e,{})},nE=new Set([`$$slots`,`$$events`,`$$legacy`]),rE=W(`<button><!></button>`)}));function aE(e,t){I(t,!0);let n=Ts(t,oE),r=WT.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getDescriptionProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=sE();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var oE,sE,cE=o((()=>{Z(),X(),GT(),Q(),oE=new Set([`$$slots`,`$$events`,`$$legacy`]),sE=W(`<div><!></div>`)})),lE,uE=o((()=>{Hs(),lE=Vs()})),dE,fE,pE=o((()=>{qp(),dE=Up(`toast`).parts(`group`,`root`,`title`,`description`,`actionTrigger`,`closeTrigger`),fE=dE.build()})),mE,hE,gE,_E,vE,yE,bE,xE=o((()=>{mE=e=>`toast-group:${e}`,hE=(e,t)=>e.getById(`toast-group:${t}`),gE=e=>`toast:${e.id}`,_E=e=>e.getById(gE(e)),vE=e=>`toast:${e.id}:title`,yE=e=>`toast:${e.id}:description`,bE=e=>`toast${e.id}:close`}));function SE(e,t){return e??DE[t]??DE.DEFAULT}function CE(e,t){let{prop:n,computed:r,context:i}=e,{offsets:a,gap:o}=n(`store`).attrs,s=i.get(`heights`),c=OE(a),l=n(`dir`)===`rtl`,u=t.replace(`-start`,l?`-right`:`-left`).replace(`-end`,l?`-left`:`-right`),d=u.includes(`right`),f=u.includes(`left`),p={position:`fixed`,pointerEvents:r(`count`)>0?void 0:`none`,display:`flex`,flexDirection:`column`,"--gap":`${o}px`,"--first-height":`${s[0]?.height||0}px`,"--viewport-offset-left":c.left,"--viewport-offset-right":c.right,"--viewport-offset-top":c.top,"--viewport-offset-bottom":c.bottom,zIndex:ou},m=`center`;return d&&(m=`flex-end`),f&&(m=`flex-start`),p.alignItems=m,u.includes(`top`)&&(p.top=`max(env(safe-area-inset-top, 0px), ${c.top})`),u.includes(`bottom`)&&(p.bottom=`max(env(safe-area-inset-bottom, 0px), ${c.bottom})`),u.includes(`left`)||(p.insetInlineEnd=`calc(env(safe-area-inset-right, 0px) + ${c.right})`),u.includes(`right`)||(p.insetInlineStart=`calc(env(safe-area-inset-left, 0px) + ${c.left})`),p}function wE(e,t){let{prop:n,context:r,computed:i}=e,a=n(`parent`),o=a.computed(`placement`),{gap:s}=a.prop(`store`).attrs,[c]=o.split(`-`),l=r.get(`mounted`),u=r.get(`remainingTime`),d=i(`height`),f=i(`frontmost`),p=!f,m=!n(`stacked`),h=n(`stacked`),g=n(`type`)===`loading`?2**53-1:u,_=i(`heightIndex`)*s+i(`heightBefore`),v={position:`absolute`,pointerEvents:`auto`,"--opacity":`0`,"--remove-delay":`${n(`removeDelay`)}ms`,"--duration":`${g}ms`,"--initial-height":`${d}px`,"--offset":`${_}px`,"--index":n(`index`),"--z-index":i(`zIndex`),"--lift-amount":`calc(var(--lift) * var(--gap))`,"--y":`100%`,"--x":`0`},y=e=>Object.assign(v,e);return c===`top`?y({top:`0`,"--sign":`-1`,"--y":`-100%`,"--lift":`1`}):c===`bottom`&&y({bottom:`0`,"--sign":`1`,"--y":`100%`,"--lift":`-1`}),l&&(y({"--y":`0`,"--opacity":`1`}),h&&y({"--y":`calc(var(--lift) * var(--offset))`,"--height":`var(--initial-height)`})),t||y({"--opacity":`0`,pointerEvents:`none`}),p&&m&&(y({"--base-scale":`var(--index) * 0.05 + 1`,"--y":`calc(var(--lift-amount) * var(--index))`,"--scale":`calc(-1 * var(--base-scale))`,"--height":`var(--first-height)`}),t||y({"--y":`calc(var(--sign) * 40%)`})),p&&h&&!t&&y({"--y":`calc(var(--lift) * var(--offset) + var(--lift) * -100%)`}),f&&!t&&y({"--y":`calc(var(--lift) * -100%)`}),v}function TE(e,t){let{computed:n}=e,r={position:`absolute`,inset:`0`,scale:`1 2`,pointerEvents:t?`none`:`auto`};return n(`frontmost`)&&!t&&(e=>Object.assign(r,e))({height:`calc(var(--initial-height) + 80%)`}),r}function EE(){return{position:`absolute`,left:`0`,height:`calc(var(--gap) + 2px)`,bottom:`100%`,width:`100%`}}var DE,OE,kE=o((()=>{dp(),DE={info:5e3,error:5e3,success:2e3,loading:1/0,warning:5e3,DEFAULT:5e3},OE=e=>typeof e==`string`?{left:e,right:e,bottom:e,top:e}:e}));function AE(e,t){let{context:n,prop:r,send:i,refs:a,computed:o}=e;return{getCount(){return n.get(`toasts`).length},getToasts(){return n.get(`toasts`)},getGroupProps(n={}){let{label:s=`Notifications`}=n,{hotkey:c}=r(`store`).attrs,l=c.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),u=o(`placement`),[d,f=`center`]=u.split(`-`);return t.element({...fE.group.attrs,dir:r(`dir`),tabIndex:-1,role:`region`,"aria-label":`${s}, ${u} (${l})`,id:mE(u),"data-placement":u,"data-side":d,"data-align":f,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,style:CE(e,u),onMouseEnter(){a.get(`ignoreMouseTimer`).isActive()||i({type:`REGION.POINTER_ENTER`,placement:u})},onMouseMove(){a.get(`ignoreMouseTimer`).isActive()||i({type:`REGION.POINTER_ENTER`,placement:u})},onMouseLeave(){a.get(`ignoreMouseTimer`).isActive()||i({type:`REGION.POINTER_LEAVE`,placement:u})},onFocus(e){i({type:`REGION.FOCUS`,target:e.relatedTarget})},onBlur(e){a.get(`isFocusWithin`)&&!pu(e.currentTarget,e.relatedTarget)&&queueMicrotask(()=>i({type:`REGION.BLUR`}))}})},subscribe(e){return r(`store`).subscribe(()=>e(n.get(`toasts`)))}}}var jE=o((()=>{dp(),pE(),xE(),kE()})),ME,NE,PE,FE,IE=o((()=>{mp(),f_(),dp(),pl(),xE(),{guards:ME,createMachine:NE}=ql(),{and:PE}=ME,FE=NE({props({props:e}){return{dir:`ltr`,id:Sc(),...e,store:e.store}},initialState({prop:e}){return e(`store`).attrs.overlap?`overlap`:`stack`},refs(){return{lastFocusedEl:null,isFocusWithin:!1,isPointerWithin:!1,ignoreMouseTimer:hf.create(),dismissableCleanup:void 0}},context({bindable:e}){return{toasts:e(()=>({defaultValue:[],sync:!0,hash:e=>e.map(e=>e.id).join(`,`)})),heights:e(()=>({defaultValue:[],sync:!0}))}},computed:{count:({context:e})=>e.get(`toasts`).length,overlap:({prop:e})=>e(`store`).attrs.overlap,placement:({prop:e})=>e(`store`).attrs.placement},effects:[`subscribeToStore`,`trackDocumentVisibility`,`trackHotKeyPress`],watch({track:e,context:t,action:n}){e([()=>t.hash(`toasts`)],()=>{queueMicrotask(()=>{n([`collapsedIfEmpty`,`setDismissableBranch`])})})},exit:[`clearDismissableBranch`,`clearLastFocusedEl`,`clearMouseEventTimer`],on:{"DOC.HOTKEY":{actions:[`focusRegionEl`]},"REGION.BLUR":[{guard:PE(`isOverlapping`,`isPointerOut`),target:`overlap`,actions:[`collapseToasts`,`resumeToasts`,`restoreFocusIfPointerOut`]},{guard:`isPointerOut`,target:`stack`,actions:[`resumeToasts`,`restoreFocusIfPointerOut`]},{actions:[`clearFocusWithin`]}],"TOAST.REMOVE":{actions:[`removeToast`,`removeHeight`,`ignoreMouseEventsTemporarily`]},"TOAST.PAUSE":{actions:[`pauseToasts`]}},states:{stack:{on:{"REGION.POINTER_LEAVE":[{guard:`isOverlapping`,target:`overlap`,actions:[`clearPointerWithin`,`resumeToasts`,`collapseToasts`]},{actions:[`clearPointerWithin`,`resumeToasts`]}],"REGION.OVERLAP":{target:`overlap`,actions:[`collapseToasts`]},"REGION.FOCUS":{actions:[`setLastFocusedEl`,`pauseToasts`]},"REGION.POINTER_ENTER":{actions:[`setPointerWithin`,`pauseToasts`]}}},overlap:{on:{"REGION.STACK":{target:`stack`,actions:[`expandToasts`]},"REGION.POINTER_ENTER":{target:`stack`,actions:[`setPointerWithin`,`pauseToasts`,`expandToasts`]},"REGION.FOCUS":{target:`stack`,actions:[`setLastFocusedEl`,`pauseToasts`,`expandToasts`]}}}},implementations:{guards:{isOverlapping:({computed:e})=>e(`overlap`),isPointerOut:({refs:e})=>!e.get(`isPointerWithin`)},effects:{subscribeToStore({context:e,prop:t}){let n=t(`store`);return e.set(`toasts`,n.getVisibleToasts()),n.subscribe(t=>{if(t.dismiss){e.set(`toasts`,e=>e.filter(e=>e.id!==t.id));return}e.set(`toasts`,e=>{let n=e.findIndex(e=>e.id===t.id);return n===-1?[t,...e]:[...e.slice(0,n),{...e[n],...t},...e.slice(n+1)]})})},trackHotKeyPress({prop:e,send:t}){return kd(document,`keydown`,n=>{let{hotkey:r}=e(`store`).attrs;r.every(e=>n[e]||n.code===e)&&t({type:`DOC.HOTKEY`})},{capture:!0})},trackDocumentVisibility({prop:e,send:t,scope:n}){let{pauseOnPageIdle:r}=e(`store`).attrs;if(!r)return;let i=n.getDoc();return kd(i,`visibilitychange`,()=>{t({type:i.visibilityState===`hidden`?`PAUSE_ALL`:`RESUME_ALL`})})}},actions:{setDismissableBranch({refs:e,context:t,computed:n,scope:r}){let i=t.get(`toasts`),a=n(`placement`),o=i.length>0;if(!o){e.get(`dismissableCleanup`)?.();return}if(o&&e.get(`dismissableCleanup`))return;let s=u_(()=>hE(r,a),{defer:!0});e.set(`dismissableCleanup`,s)},clearDismissableBranch({refs:e}){e.get(`dismissableCleanup`)?.()},focusRegionEl({scope:e,computed:t}){queueMicrotask(()=>{hE(e,t(`placement`))?.focus()})},pauseToasts({prop:e}){e(`store`).pause()},resumeToasts({prop:e}){e(`store`).resume()},expandToasts({prop:e}){e(`store`).expand()},collapseToasts({prop:e}){e(`store`).collapse()},removeToast({prop:e,event:t}){e(`store`).remove(t.id)},removeHeight({event:e,context:t}){e?.id!=null&&queueMicrotask(()=>{t.set(`heights`,t=>t.filter(t=>t.id!==e.id))})},collapsedIfEmpty({send:e,computed:t}){!t(`overlap`)||t(`count`)>1||e({type:`REGION.OVERLAP`})},setLastFocusedEl({refs:e,event:t}){e.get(`isFocusWithin`)||!t.target||(e.set(`isFocusWithin`,!0),e.set(`lastFocusedEl`,t.target))},restoreFocusIfPointerOut({refs:e}){!e.get(`lastFocusedEl`)||e.get(`isPointerWithin`)||(e.get(`lastFocusedEl`)?.focus({preventScroll:!0}),e.set(`lastFocusedEl`,null),e.set(`isFocusWithin`,!1))},setPointerWithin({refs:e}){e.set(`isPointerWithin`,!0)},clearPointerWithin({refs:e}){e.set(`isPointerWithin`,!1),e.get(`lastFocusedEl`)&&!e.get(`isFocusWithin`)&&(e.get(`lastFocusedEl`)?.focus({preventScroll:!0}),e.set(`lastFocusedEl`,null))},clearFocusWithin({refs:e}){e.set(`isFocusWithin`,!1)},clearLastFocusedEl({refs:e}){e.get(`lastFocusedEl`)&&(e.get(`lastFocusedEl`)?.focus({preventScroll:!0}),e.set(`lastFocusedEl`,null),e.set(`isFocusWithin`,!1))},ignoreMouseEventsTemporarily({refs:e}){e.get(`ignoreMouseTimer`).request()},clearMouseEventTimer({refs:e}){e.get(`ignoreMouseTimer`).cancel()}}}})}));function LE(e,t){let{state:n,send:r,prop:i,scope:a,context:o,computed:s}=e,c=i(`translations`),l=n.hasTag(`visible`),u=n.hasTag(`paused`),d=o.get(`mounted`),f=s(`frontmost`),p=i(`parent`).computed(`placement`),m=i(`type`),h=i(`stacked`),g=i(`title`),_=i(`description`),v=i(`action`),[y,b=`center`]=p.split(`-`);return{type:m,title:g,description:_,placement:p,visible:l,paused:u,closable:!!i(`closable`),pause(){r({type:`PAUSE`})},resume(){r({type:`RESUME`})},dismiss(){r({type:`DISMISS`,src:`programmatic`})},getRootProps(){return t.element({...fE.root.attrs,dir:i(`dir`),id:gE(a),"data-state":l?`open`:`closed`,"data-type":m,"data-placement":p,"data-align":b,"data-side":y,"data-mounted":su(d),"data-paused":su(u),"data-first":su(f),"data-sibling":su(!f),"data-stack":su(h),"data-overlap":su(!h),role:`status`,"aria-atomic":`true`,"aria-describedby":_?yE(a):void 0,"aria-labelledby":g?vE(a):void 0,tabIndex:0,style:wE(e,l),onKeyDown(e){e.defaultPrevented||e.key==`Escape`&&(r({type:`DISMISS`,src:`keyboard`}),e.preventDefault())}})},getGhostBeforeProps(){return t.element({"data-ghost":`before`,style:TE(e,l)})},getGhostAfterProps(){return t.element({"data-ghost":`after`,style:EE()})},getTitleProps(){return t.element({...fE.title.attrs,id:vE(a)})},getDescriptionProps(){return t.element({...fE.description.attrs,id:yE(a)})},getActionTriggerProps(){return t.button({...fE.actionTrigger.attrs,type:`button`,onClick(e){e.defaultPrevented||(v?.onClick?.(),r({type:`DISMISS`,src:`user`}))}})},getCloseTriggerProps(){return t.button({id:bE(a),...fE.closeTrigger.attrs,type:`button`,"aria-label":c?.closeTriggerLabel,onClick(e){e.defaultPrevented||r({type:`DISMISS`,src:`user`})}})}}}var RE=o((()=>{dp(),pE(),xE(),kE()}));function zE(e,t){let{id:n,height:r}=t;e.context.set(`heights`,e=>e.find(e=>e.id===n)?e.map(e=>e.id===n?{...e,height:r}:e):[{id:n,height:r},...e])}var BE,VE,HE=o((()=>{mp(),dp(),pl(),xE(),kE(),{not:BE}=Gl(),VE=Kl({props({props:e}){return dl(e,[`id`,`type`,`parent`,`removeDelay`],`toast`),{closable:!0,...e,translations:{closeTriggerLabel:`Dismiss notification`,...e.translations},duration:SE(e.duration,e.type)}},initialState({prop:e}){return e(`type`)===`loading`||e(`duration`)===1/0?`visible:persist`:`visible`},context({prop:e,bindable:t}){return{remainingTime:t(()=>({defaultValue:SE(e(`duration`),e(`type`))})),createdAt:t(()=>({defaultValue:Date.now()})),mounted:t(()=>({defaultValue:!1})),initialHeight:t(()=>({defaultValue:0}))}},refs(){return{closeTimerStartTime:Date.now(),lastCloseStartTimerStartTime:0}},computed:{zIndex:({prop:e})=>{let t=e(`parent`).context.get(`toasts`),n=t.findIndex(t=>t.id===e(`id`));return t.length-n},height:({prop:e})=>e(`parent`).context.get(`heights`).find(t=>t.id===e(`id`))?.height??0,heightIndex:({prop:e})=>e(`parent`).context.get(`heights`).findIndex(t=>t.id===e(`id`)),frontmost:({prop:e})=>e(`index`)===0,heightBefore:({prop:e})=>{let t=e(`parent`).context.get(`heights`),n=t.findIndex(t=>t.id===e(`id`));return t.reduce((e,t,r)=>r>=n?e:e+t.height,0)},shouldPersist:({prop:e})=>e(`type`)===`loading`||e(`duration`)===1/0},watch({track:e,prop:t,send:n}){e([()=>t(`message`)],()=>{let e=t(`message`);e&&n({type:e,src:`programmatic`})}),e([()=>t(`type`),()=>t(`duration`)],()=>{n({type:`UPDATE`})})},on:{UPDATE:[{guard:`shouldPersist`,target:`visible:persist`,actions:[`resetCloseTimer`]},{target:`visible:updating`,actions:[`resetCloseTimer`]}],MEASURE:{actions:[`measureHeight`]}},entry:[`setMounted`,`measureHeight`,`invokeOnVisible`],effects:[`trackHeight`],states:{"visible:updating":{tags:[`visible`,`updating`],effects:[`waitForNextTick`],on:{SHOW:{target:`visible`}}},"visible:persist":{tags:[`visible`,`paused`],on:{RESUME:{guard:BE(`isLoadingType`),target:`visible`,actions:[`setCloseTimer`]},DISMISS:{target:`dismissing`}}},visible:{tags:[`visible`],effects:[`waitForDuration`],on:{DISMISS:{target:`dismissing`},PAUSE:{target:`visible:persist`,actions:[`syncRemainingTime`]}}},dismissing:{entry:[`invokeOnDismiss`],effects:[`waitForRemoveDelay`],on:{REMOVE:{target:`unmounted`,actions:[`notifyParentToRemove`]}}},unmounted:{entry:[`invokeOnUnmount`]}},implementations:{effects:{waitForRemoveDelay({prop:e,send:t}){return rl(()=>{t({type:`REMOVE`,src:`timer`})},e(`removeDelay`))},waitForDuration({send:e,context:t,computed:n}){if(!n(`shouldPersist`))return rl(()=>{e({type:`DISMISS`,src:`timer`})},t.get(`remainingTime`))},waitForNextTick({send:e}){return rl(()=>{e({type:`SHOW`,src:`timer`})},0)},trackHeight({scope:e,prop:t}){let n;return ff(()=>{let r=_E(e);if(!r)return;let i=new(e.getWin()).MutationObserver(()=>{let e=r.style.height;r.style.height=`auto`;let n=r.getBoundingClientRect().height;r.style.height=e;let i={id:t(`id`),height:n};zE(t(`parent`),i)});i.observe(r,{childList:!0,subtree:!0,characterData:!0}),n=()=>i.disconnect()}),()=>n?.()}},guards:{isLoadingType:({prop:e})=>e(`type`)===`loading`,shouldPersist:({computed:e})=>e(`shouldPersist`)},actions:{setMounted({context:e}){ff(()=>{e.set(`mounted`,!0)})},measureHeight({scope:e,prop:t,context:n}){queueMicrotask(()=>{let r=_E(e);if(!r)return;let i=r.style.height;r.style.height=`auto`;let a=r.getBoundingClientRect().height;r.style.height=i,n.set(`initialHeight`,a);let o={id:t(`id`),height:a};zE(t(`parent`),o)})},setCloseTimer({refs:e}){e.set(`closeTimerStartTime`,Date.now())},resetCloseTimer({context:e,refs:t,prop:n}){t.set(`closeTimerStartTime`,Date.now()),e.set(`remainingTime`,SE(n(`duration`),n(`type`)))},syncRemainingTime({context:e,refs:t}){e.set(`remainingTime`,e=>{let n=t.get(`closeTimerStartTime`),r=Date.now()-n;return t.set(`lastCloseStartTimerStartTime`,Date.now()),e-r})},notifyParentToRemove({prop:e}){e(`parent`).send({type:`TOAST.REMOVE`,id:e(`id`)})},invokeOnDismiss({prop:e,event:t}){e(`onStatusChange`)?.({status:`dismissing`,src:t.src})},invokeOnUnmount({prop:e}){e(`onStatusChange`)?.({status:`unmounted`})},invokeOnVisible({prop:e}){e(`onStatusChange`)?.({status:`visible`})}}}})}));function UE(e={}){let t=WE(e,{placement:`bottom`,overlap:!1,max:24,gap:16,offsets:`1rem`,hotkey:[`altKey`,`KeyT`],removeDelay:200,pauseOnPageIdle:!0}),n=[],r=[],i=new Set,a=[],o=e=>(n.push(e),()=>{let t=n.indexOf(e);n.splice(t,1)}),s=e=>(n.forEach(t=>t(e)),e),c=e=>{if(r.length>=t.max){a.push(e);return}s(e),r.unshift(e)},l=()=>{for(a=JE(a);a.length>0&&r.length<t.max;){let e=a.shift();e&&(s(e),r.unshift(e))}},u=e=>{let n=e.id??`toast:${Sc()}`,a=r.find(e=>e.id===n);if(i.has(n)&&i.delete(n),a)r=r.map(t=>t.id===n?s({...t,...e,id:n}):t);else{let r={id:n,duration:t.duration,removeDelay:t.removeDelay,type:KE,...e,stacked:!t.overlap,gap:t.gap},i=r.priority??qE(r.type,!!r.action);c({...r,priority:i})}return n},d=e=>(i.add(e),e?(n.forEach(t=>t({id:e,dismiss:!0})),r=r.filter(t=>t.id!==e),l()):(r.forEach(e=>{n.forEach(t=>t({id:e.id,dismiss:!0}))}),r=[],a=[]),e);return{attrs:t,subscribe:o,create:u,update:(e,t)=>u({id:e,...t}),remove:d,dismiss:e=>{r=e==null?r.map(e=>s({...e,message:`DISMISS`})):r.map(t=>t.id===e?s({...t,message:`DISMISS`}):t)},error:e=>u({...e,type:`error`}),success:e=>u({...e,type:`success`}),info:e=>u({...e,type:`info`}),warning:e=>u({...e,type:`warning`}),loading:e=>u({...e,type:`loading`}),getVisibleToasts:()=>r.filter(e=>!i.has(e.id)),getCount:()=>r.length,promise:(e,t,n={})=>{if(!t||!t.loading){cl(`[zag-js > toast] toaster.promise() requires at least a 'loading' option to be specified`);return}let r=u({...n,...t.loading,promise:e,type:`loading`}),i=!0,a,o=vc(e).then(async e=>{if(a=[`resolve`,e],YE(e)&&!e.ok){i=!1;let a=vc(t.error,`HTTP Error! status: ${e.status}`);u({...n,...a,id:r,type:`error`})}else if(t.success!==void 0){i=!1;let a=vc(t.success,e);u({...n,...a,id:r,type:a.type??`success`})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let a=vc(t.error,e);u({...n,...a,id:r,type:`error`})}}).finally(()=>{i&&d(r),t.finally?.()});return{id:r,unwrap:()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t))}},pause:e=>{r=e==null?r.map(e=>s({...e,message:`PAUSE`})):r.map(t=>t.id===e?s({...t,message:`PAUSE`}):t)},resume:e=>{r=e==null?r.map(e=>s({...e,message:`RESUME`})):r.map(t=>t.id===e?s({...t,message:`RESUME`}):t)},isVisible:e=>!i.has(e)&&!!r.find(t=>t.id===e),isDismissed:e=>i.has(e),expand:()=>{r=r.map(e=>s({...e,stacked:!0}))},collapse:()=>{r=r.map(e=>s({...e,stacked:!1}))}}}var WE,GE,KE,qE,JE,YE,XE=o((()=>{pl(),WE=(e,t)=>({...t,...Zc(e)}),GE={error:[1,2],warning:[3,6],loading:[4,5],success:[5,7],info:[6,8]},KE=`info`,qE=(e,t)=>{let[n,r]=GE[e??KE];return t?n:r},JE=e=>e.sort((e,t)=>(e.priority??qE(e.type,!!e.action))-(t.priority??qE(t.type,!!t.action))),YE=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`})),ZE,QE=o((()=>{jE(),IE(),RE(),HE(),XE(),ZE={connect:AE,machine:FE}}));function $E(e,t){let n=ma();I(t,!0);let r=Ts(t,eD),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>t.toaster),s=z(()=>x(r,[`element`,`children`,`toaster`])),c=zp(ZE.machine,()=>({id:n,store:U(o)})),l=z(()=>ZE.connect(c,Tp)),u=z(()=>Dp(U(l).getGroupProps(),U(s)));lE.provide(()=>c);var d=G(),f=V(d),p=e=>{var t=G();Y(V(t),()=>U(i),()=>U(u)),K(e,t)},m=e=>{var t=tD();Ko(t,()=>({...U(u)})),za(t,23,()=>U(l).getToasts(),e=>e.id,(e,t,n)=>{var r=G(),i=V(r);{let e=z(()=>({...U(t),index:U(n)}));Y(i,()=>U(a)??A,()=>U(e))}K(e,r)}),N(t),K(e,t)};J(f,e=>{U(i)?e(p):e(m,-1)}),K(e,d),R()}var eD,tD,nD=o((()=>{Z(),X(),uE(),Q(),QE(),eD=new Set([`$$slots`,`$$events`,`$$legacy`]),tD=W(`<div></div>`)}));function rD(e,t){I(t,!0);let n=Ts(t,iD),r=z(()=>t.element),i=z(()=>t.children),a=z(()=>x(n,[`element`,`children`])),o=z(()=>Dp({"data-scope":`toast`,"data-part":`message`},U(a)));var s=G(),c=V(s),l=e=>{var t=G();Y(V(t),()=>U(r),()=>U(o)),K(e,t)},u=e=>{var t=aD();Ko(t,()=>({...U(o)})),Y(B(t),()=>U(i)??A),N(t),K(e,t)};J(c,e=>{U(r)?e(l):e(u,-1)}),K(e,s),R()}var iD,aD,oD=o((()=>{Z(),X(),Q(),iD=new Set([`$$slots`,`$$events`,`$$legacy`]),aD=W(`<div><!></div>`)}));function sD(e,t){I(t,!0);let n=WT.consume(),r=z(()=>t.children);var i=G();Y(V(i),()=>U(r),()=>n),K(e,i),R()}var cD=o((()=>{Z(),X(),GT()}));function lD(e,t){I(t,!0);let n=Ts(t,uD),r=lE.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>t.toast),s=z(()=>x(n,[`element`,`children`,`toast`])),c=zp(VE,()=>({...U(o),parent:r()})),l=z(()=>LE(c,Tp)),u=z(()=>Dp(U(l).getRootProps(),U(s)));WT.provide(()=>U(l));var d=G(),f=V(d),p=e=>{var t=G();Y(V(t),()=>U(i),()=>U(u)),K(e,t)},m=e=>{var t=dD();Ko(t,()=>({...U(u)}));var n=B(t);Ko(n,e=>({...e}),[()=>U(l).getGhostBeforeProps()]);var r=H(n,2);Y(r,()=>U(a)??A),Ko(H(r,2),e=>({...e}),[()=>U(l).getGhostAfterProps()]),N(t),K(e,t)};J(f,e=>{U(i)?e(p):e(m,-1)}),K(e,d),R()}var uD,dD,fD=o((()=>{Z(),X(),uE(),GT(),Q(),QE(),uD=new Set([`$$slots`,`$$events`,`$$legacy`]),dD=W(`<div><div></div> <!> <div></div></div>`)}));function pD(e,t){I(t,!0);let n=Ts(t,mD),r=WT.consume(),i=z(()=>t.element),a=z(()=>t.children),o=z(()=>x(n,[`element`,`children`])),s=z(()=>Dp(r().getTitleProps(),U(o)));var c=G(),l=V(c),u=e=>{var t=G();Y(V(t),()=>U(i),()=>U(s)),K(e,t)},d=e=>{var t=hD();Ko(t,()=>({...U(s)})),Y(B(t),()=>U(a)??A),N(t),K(e,t)};J(l,e=>{U(i)?e(u):e(d,-1)}),K(e,c),R()}var mD,hD,gD=o((()=>{Z(),X(),GT(),Q(),mD=new Set([`$$slots`,`$$events`,`$$legacy`]),hD=W(`<div><!></div>`)})),_D,vD=o((()=>{YT(),iE(),cE(),nD(),oD(),cD(),fD(),gD(),_D=Object.assign(lD,{Context:sD,Group:$E,Message:rD,Title:pD,Description:aE,ActionTrigger:KT,CloseTrigger:eE})})),yD=o((()=>{vD(),QE()})),bD=o((()=>{Z(),X(),Hs(),Q(),qp(),dp(),pl(),mp(),yp()})),xD=o((()=>{Z(),X(),Hs(),Q(),Ii(),qp(),dp(),M_(),Fg(),pl(),mp(),yp()})),SD=o((()=>{Z(),X(),Hs(),Q(),qp(),pl(),dp(),mp(),yp()})),CD=o((()=>{})),wD=o((()=>{Jp(),Yp(),Xp(),Zp(),Qp(),N_(),P_(),Py(),Fy(),Iy(),Ly(),Ry(),zy(),By(),lx(),mx(),hx(),gx(),_x(),kC(),AC(),kw(),HT(),UT(),yD(),bD(),xD(),SD(),CD()})),TD,ED=o((()=>{wD(),TD=UE({overlap:!0,max:5})}));function DD(e,{delay:t=0,duration:n=400,easing:r=OD}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}var OD,kD=o((()=>{OD=e=>e})),AD=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.maplibregl=r())})(e,(function(){var e={},t={};function n(n,r,i){if(t[n]=i,n===`index`){var a=`var sharedModule = {}; (`+t.shared+`)(sharedModule); (`+t.worker+`)(sharedModule);`,o={};return t.shared(o),t.index(e,o),typeof window<`u`&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([a],{type:`text/javascript`}))),e}}return n(`shared`,[`exports`],(function(e){function t(e,t,n,r){return new(n||=Promise)((function(i,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}c((r=r.apply(e,t||[])).next())}))}function n(e,t){this.x=e,this.y=t}function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var i,a;n.prototype={clone(){return new n(this.x,this.y)},add(e){return this.clone()._add(e)},sub(e){return this.clone()._sub(e)},multByPoint(e){return this.clone()._multByPoint(e)},divByPoint(e){return this.clone()._divByPoint(e)},mult(e){return this.clone()._mult(e)},div(e){return this.clone()._div(e)},rotate(e){return this.clone()._rotate(e)},rotateAround(e,t){return this.clone()._rotateAround(e,t)},matMult(e){return this.clone()._matMult(e)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(e){return this.x===e.x&&this.y===e.y},dist(e){return Math.sqrt(this.distSqr(e))},distSqr(e){let t=e.x-this.x,n=e.y-this.y;return t*t+n*n},angle(){return Math.atan2(this.y,this.x)},angleTo(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith(e){return this.angleWithSep(e.x,e.y)},angleWithSep(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult(e){let t=e[2]*this.x+e[3]*this.y;return this.x=e[0]*this.x+e[1]*this.y,this.y=t,this},_add(e){return this.x+=e.x,this.y+=e.y,this},_sub(e){return this.x-=e.x,this.y-=e.y,this},_mult(e){return this.x*=e,this.y*=e,this},_div(e){return this.x/=e,this.y/=e,this},_multByPoint(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint(e){return this.x/=e.x,this.y/=e.y,this},_unit(){return this._div(this.mag()),this},_perp(){let e=this.y;return this.y=this.x,this.x=-e,this},_rotate(e){let t=Math.cos(e),n=Math.sin(e),r=n*this.x+t*this.y;return this.x=t*this.x-n*this.y,this.y=r,this},_rotateAround(e,t){let n=Math.cos(e),r=Math.sin(e),i=t.y+r*(this.x-t.x)+n*(this.y-t.y);return this.x=t.x+n*(this.x-t.x)-r*(this.y-t.y),this.y=i,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:n},n.convert=function(e){if(e instanceof n)return e;if(Array.isArray(e))return new n(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new n(+e.x,+e.y);throw Error(`Expected [x, y] or {x, y} point format`)};var o=r(function(){if(a)return i;function e(e,t,n,r){this.cx=3*e,this.bx=3*(n-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(r-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=n,this.p2y=r}return a=1,i=e,e.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(t===void 0&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var n=e,r=0;r<8;r++){var i=this.sampleCurveX(n)-e;if(Math.abs(i)<t)return n;var a=this.sampleCurveDerivativeX(n);if(Math.abs(a)<1e-6)break;n-=i/a}var o=0,s=1;for(n=e,r=0;r<20&&(i=this.sampleCurveX(n),!(Math.abs(i-e)<t));r++)e>i?o=n:s=n,n=.5*(s-o)+o;return n},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}},i}());let s,c;function l(){return s??=typeof OffscreenCanvas<`u`&&new OffscreenCanvas(1,1).getContext(`2d`)&&typeof createImageBitmap==`function`,s}function u(){if(c==null&&(c=!1,l())){let e=new OffscreenCanvas(5,5).getContext(`2d`,{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let n=4*t;e.fillStyle=`rgb(${n},${n+1},${n+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){c=!0;break}}}return c||!1}var d=1e-6,f=typeof Float32Array<`u`?Float32Array:Array;function p(){var e=new f(9);return f!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function m(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function h(){var e=new f(3);return f!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function g(e){var t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function _(e,t,n){var r=new f(3);return r[0]=e,r[1]=t,r[2]=n,r}function v(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}function y(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function b(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[0],s=n[1],c=n[2];return e[0]=i*c-a*s,e[1]=a*o-r*c,e[2]=r*s-i*o,e}var x,S=g;function C(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}function w(){var e=new f(4);return f!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function T(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:`zyx`,a=Math.PI/360;t*=a,r*=a,n*=a;var o=Math.sin(t),s=Math.cos(t),c=Math.sin(n),l=Math.cos(n),u=Math.sin(r),d=Math.cos(r);switch(i){case`xyz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`xzy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d+o*c*u;break;case`yxz`:e[0]=o*l*d+s*c*u,e[1]=s*c*d-o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;case`yzx`:e[0]=o*l*d+s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d-o*c*u;break;case`zxy`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u+o*c*d,e[3]=s*l*d-o*c*u;break;case`zyx`:e[0]=o*l*d-s*c*u,e[1]=s*c*d+o*l*u,e[2]=s*l*u-o*c*d,e[3]=s*l*d+o*c*u;break;default:throw Error(`Unknown angle order `+i)}return e}function ee(){var e=new f(2);return f!=Float32Array&&(e[0]=0,e[1]=0),e}function E(e,t){var n=new f(2);return n[0]=e,n[1]=t,n}h(),x=new f(4),f!=Float32Array&&(x[0]=0,x[1]=0,x[2]=0,x[3]=0),h(),_(1,0,0),_(0,1,0),w(),w(),p(),ee();let D=8192;function O(e,t,n){return t*(D/(e.tileSize*2**(n-e.tileID.overscaledZ)))}function k(e){return e instanceof Error?e:Error(typeof e==`string`?e:String(e))}function te(e,t){return(e%t+t)%t}function ne(e,t,n){return e*(1-n)+t*n}function A(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,n=t*e;return 4*(e<.5?n:3*(e-t)+n-.75)}function re(e,t,n,r){let i=new o(e,t,n,r);return e=>i.solve(e)}let ie=re(.25,.1,.25,1);function ae(e,t,n){return Math.min(n,Math.max(t,e))}function oe(e,t,n){let r=n-t,i=((e-t)%r+r)%r+t;return i===t?n:i}function se(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}let ce=1;function le(e,t,n){let r={};for(let n in e)r[n]=t.call(this,e[n],n,e);return r}function ue(e,t,n){let r={};for(let n in e)t.call(this,e[n],n,e)&&(r[n]=e[n]);return r}function de(e){return Array.isArray(e)?e.map(de):typeof e==`object`&&e?le(e,de):e}let fe={};function pe(e){fe[e]||(typeof console<`u`&&console.warn(e),fe[e]=!0)}function me(e,t,n){return(n.y-e.y)*(t.x-e.x)>(t.y-e.y)*(n.x-e.x)}function he(e){return typeof WorkerGlobalScope<`u`&&e!==void 0&&e instanceof WorkerGlobalScope}let ge=null;function _e(e){return typeof ImageBitmap<`u`&&e instanceof ImageBitmap}let ve=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=`;function ye(e,n,r,i,a){return t(this,void 0,void 0,(function*(){if(typeof VideoFrame>`u`)throw Error(`VideoFrame not supported`);let t=new VideoFrame(e,{timestamp:0});try{let o=t?.format;if(!o||!o.startsWith(`BGR`)&&!o.startsWith(`RGB`))throw Error(`Unrecognized format ${o}`);let s=o.startsWith(`BGR`),c=new Uint8ClampedArray(i*a*4);if(yield t.copyTo(c,function(e,t,n,r,i){let a=4*Math.max(-t,0),o=(Math.max(0,n)-n)*r*4+a,s=4*r,c=Math.max(0,t),l=Math.max(0,n);return{rect:{x:c,y:l,width:Math.min(e.width,t+r)-c,height:Math.min(e.height,n+i)-l},layout:[{offset:o,stride:s}]}}(e,n,r,i,a)),s)for(let e=0;e<c.length;e+=4){let t=c[e];c[e]=c[e+2],c[e+2]=t}return c}finally{t.close()}}))}let be,xe;function Se(e,t,n,r){return e.addEventListener(t,n,r),{unsubscribe:()=>{e.removeEventListener(t,n,r)}}}function Ce(e){return e*Math.PI/180}function we(e){return e/Math.PI*180}let Te={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},Ee={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0},De=`AbortError`;class Oe extends Error{constructor(e=De){super(e instanceof Error?e.message:e),this.name=De,e instanceof Error&&e.stack&&(this.stack=e.stack)}}function ke(e){return e instanceof Error&&e.name===De}function Ae(e){if(e.aborted)throw new Oe(e.reason)}let je={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:``};function Me(e){return je.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf(`://`))]}let Ne=`global-dispatcher`;class Pe extends Error{constructor(e,t,n,r){super(`AJAXError: ${t} (${e}): ${n}`),this.status=e,this.statusText=t,this.url=n,this.body=r}}let Fe=()=>he(self)?self.worker?.referrer:(window.location.protocol===`blob:`?window.parent:window).location.href,Ie=function(e,n){return t(this,void 0,void 0,(function*(){if(e.url.includes(`://`)&&!/^https?:|^file:/.test(e.url)){let t=Me(e.url);if(t){let r=yield t(e,n);return r.data||e.type!==`arrayBuffer`?r:se(r,{data:new ArrayBuffer(0)})}if(he(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,targetMapId:Ne},n)}if(!(e=>e.startsWith(`file:`)||Fe()?.startsWith(`file:`)&&!/^\w+:/.test(e))(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,`signal`))return function(e,n){return t(this,void 0,void 0,(function*(){let t=new Request(e.url,{method:e.method||`GET`,body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:Fe(),referrerPolicy:e.referrerPolicy,signal:n.signal}),r,i;e.type!==`json`||t.headers.has(`Accept`)||t.headers.set(`Accept`,`application/json`);try{r=yield fetch(t)}catch(t){throw ke(t)?t:new Pe(0,k(t).message,e.url,new Blob)}if(!r.ok){let t=yield r.blob();throw new Pe(r.status,r.statusText,e.url,t)}i=e.type===`arrayBuffer`||e.type===`image`?r.arrayBuffer():e.type===`json`?r.json():r.text();let a=yield i;return Ae(n.signal),{data:a,cacheControl:r.headers.get(`Cache-Control`),expires:r.headers.get(`Expires`),etag:r.headers.get(`ETag`)}}))}(e,n);if(he(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:`GR`,data:e,mustQueue:!0,targetMapId:Ne},n)}return function(e,t){return new Promise(((n,r)=>{var i;let a=new XMLHttpRequest;a.open(e.method||`GET`,e.url,!0),e.type!==`arrayBuffer`&&e.type!==`image`||(a.responseType=`arraybuffer`);for(let t in e.headers)a.setRequestHeader(t,e.headers[t]);e.type===`json`&&(a.responseType=`text`,(i=e.headers)!=null&&i.Accept||a.setRequestHeader(`Accept`,`application/json`)),a.withCredentials=e.credentials===`include`,a.onerror=()=>{r(Error(a.statusText))},a.onload=()=>{if(!t.signal.aborted)if((a.status>=200&&a.status<300||a.status===0)&&a.response!==null){let t=a.response;if(e.type===`json`)try{t=JSON.parse(a.response)}catch(e){r(e);return}n({data:t,cacheControl:a.getResponseHeader(`Cache-Control`),expires:a.getResponseHeader(`Expires`),etag:a.getResponseHeader(`ETag`)})}else{let t=new Blob([a.response],{type:a.getResponseHeader(`Content-Type`)});r(new Pe(a.status,a.statusText,e.url,t))}},t.signal.addEventListener(`abort`,(()=>{a.abort(),r(new Oe(t.signal.reason))})),a.send(e.body)}))}(e,n)}))};function Le(e){if(!e||e.indexOf(`://`)<=0||e.startsWith(`data:image/`)||e.startsWith(`blob:`))return!0;let t=new URL(e),n=window.location;return t.protocol===n.protocol&&t.host===n.host}function Re(e,t,n){var r;(r=n[e])!=null&&r.includes(t)||(n[e]||(n[e]=[]),n[e].push(t))}function ze(e,t,n){if(n?.[e]){let r=n[e].indexOf(t);r!==-1&&n[e].splice(r,1)}}class Be{constructor(e,t={}){se(this,t),this.type=e}}class Ve extends Be{constructor(e,t={}){super(`error`,se({error:e},t))}}class He{on(e,t){return this._listeners||={},Re(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return ze(e,t,this._listeners),ze(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||={},Re(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){typeof e==`string`&&(e=new Be(e,t||{}));let n=e.type;if(this.listens(n)){e.target=this;let t=this._listeners?.[n]?this._listeners[n].slice():[];for(let n of t)n.call(this,e);let r=this._oneTimeListeners?.[n]?this._oneTimeListeners[n].slice():[];for(let t of r)ze(n,t,this._oneTimeListeners),t.call(this,e);let i=this._eventedParent;i&&(se(e,typeof this._eventedParentData==`function`?this._eventedParentData():this._eventedParentData),i.fire(e))}else e instanceof Ve&&console.error(e.error);return this}listens(e){return this._listeners?.[e]?.length>0||this._oneTimeListeners?.[e]?.length>0||this._eventedParent?.listens(e)}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var j={$version:8,$root:{version:{required:!0,type:`enum`,values:[8]},name:{type:`string`},metadata:{type:`*`},center:{type:`array`,value:`number`,length:2},centerAltitude:{type:`number`},zoom:{type:`number`},bearing:{type:`number`,default:0,period:360,units:`degrees`},pitch:{type:`number`,default:0,units:`degrees`},roll:{type:`number`,default:0,units:`degrees`},state:{type:`state`,default:{}},light:{type:`light`},sky:{type:`sky`},projection:{type:`projection`},terrain:{type:`terrain`},sources:{required:!0,type:`sources`},sprite:{type:`sprite`},glyphs:{type:`string`},"font-faces":{type:`fontFaces`},transition:{type:`transition`},layers:{required:!0,type:`array`,value:`layer`}},sources:{"*":{type:`source`}},source:[`source_vector`,`source_raster`,`source_raster_dem`,`source_geojson`,`source_video`,`source_image`],source_vector:{type:{required:!0,type:`enum`,values:{vector:{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:`enum`,values:{xyz:{},tms:{}},default:`xyz`},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},attribution:{type:`string`},promoteId:{type:`promoteId`},volatile:{type:`boolean`,default:!1},encoding:{type:`enum`,values:{mvt:{},mlt:{}},default:`mvt`},"*":{type:`*`}},source_raster:{type:{required:!0,type:`enum`,values:{raster:{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},tileSize:{type:`number`,default:512,units:`pixels`},scheme:{type:`enum`,values:{xyz:{},tms:{}},default:`xyz`},attribution:{type:`string`},volatile:{type:`boolean`,default:!1},"*":{type:`*`}},source_raster_dem:{type:{required:!0,type:`enum`,values:{"raster-dem":{}}},url:{type:`string`},tiles:{type:`array`,value:`string`},bounds:{type:`array`,value:`number`,length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:`number`,default:0},maxzoom:{type:`number`,default:22},tileSize:{type:`number`,default:512,units:`pixels`},attribution:{type:`string`},encoding:{type:`enum`,values:{terrarium:{},mapbox:{},custom:{}},default:`mapbox`},redFactor:{type:`number`,default:1},blueFactor:{type:`number`,default:1},greenFactor:{type:`number`,default:1},baseShift:{type:`number`,default:0},volatile:{type:`boolean`,default:!1},"*":{type:`*`}},source_geojson:{type:{required:!0,type:`enum`,values:{geojson:{}}},data:{required:!0,type:`*`},maxzoom:{type:`number`,default:18},attribution:{type:`string`},buffer:{type:`number`,default:128,maximum:512,minimum:0},filter:{type:`filter`},tolerance:{type:`number`,default:.375},cluster:{type:`boolean`,default:!1},clusterRadius:{type:`number`,default:50,minimum:0},clusterMaxZoom:{type:`number`},clusterMinPoints:{type:`number`},clusterProperties:{type:`*`},lineMetrics:{type:`boolean`,default:!1},generateId:{type:`boolean`,default:!1},promoteId:{type:`promoteId`}},source_video:{type:{required:!0,type:`enum`,values:{video:{}}},urls:{required:!0,type:`array`,value:`string`},coordinates:{required:!0,type:`array`,length:4,value:{type:`array`,length:2,value:`number`}}},source_image:{type:{required:!0,type:`enum`,values:{image:{}}},url:{required:!0,type:`string`},coordinates:{required:!0,type:`array`,length:4,value:{type:`array`,length:2,value:`number`}}},layer:{id:{type:`string`,required:!0},type:{type:`enum`,values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},"color-relief":{},background:{}},required:!0},metadata:{type:`*`},source:{type:`string`},"source-layer":{type:`string`},minzoom:{type:`number`,minimum:0,maximum:24},maxzoom:{type:`number`,minimum:0,maximum:24},filter:{type:`filter`},layout:{type:`layout`},paint:{type:`paint`}},layout:[`layout_fill`,`layout_line`,`layout_circle`,`layout_heatmap`,`layout_fill-extrusion`,`layout_symbol`,`layout_raster`,`layout_hillshade`,`layout_color-relief`,`layout_background`],layout_background:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_fill:{"fill-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_circle:{"circle-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_heatmap:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},"layout_fill-extrusion":{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_line:{"line-cap":{type:`enum`,values:{butt:{},round:{},square:{}},default:`butt`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-join":{type:`enum`,values:{bevel:{},round:{},miter:{}},default:`miter`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-miter-limit":{type:`number`,default:2,requires:[{"line-join":`miter`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-round-limit":{type:`number`,default:1.05,requires:[{"line-join":`round`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"line-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_symbol:{"symbol-placement":{type:`enum`,values:{point:{},line:{},"line-center":{}},default:`point`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-spacing":{type:`number`,default:250,minimum:1,units:`pixels`,requires:[{"symbol-placement":`line`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-avoid-edges":{type:`boolean`,default:!1,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"symbol-sort-key":{type:`number`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"symbol-z-order":{type:`enum`,values:{auto:{},"viewport-y":{},source:{}},default:`auto`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-allow-overlap":{type:`boolean`,default:!1,requires:[`icon-image`,{"!":`icon-overlap`}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-overlap":{type:`enum`,values:{never:{},always:{},cooperative:{}},requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-ignore-placement":{type:`boolean`,default:!1,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-optional":{type:`boolean`,default:!1,requires:[`icon-image`,`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-rotation-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-size":{type:`number`,default:1,minimum:0,units:`factor of the original icon size`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-text-fit":{type:`enum`,values:{none:{},width:{},height:{},both:{}},default:`none`,requires:[`icon-image`,`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-text-fit-padding":{type:`array`,value:`number`,length:4,default:[0,0,0,0],units:`pixels`,requires:[`icon-image`,`text-field`,{"icon-text-fit":[`both`,`width`,`height`]}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"icon-image":{type:`resolvedImage`,tokens:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-rotate":{type:`number`,default:0,period:360,units:`degrees`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-padding":{type:`padding`,default:[2],units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-keep-upright":{type:`boolean`,default:!1,requires:[`icon-image`,{"icon-rotation-alignment":`map`},{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"icon-offset":{type:`array`,value:`number`,length:2,default:[0,0],requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-anchor":{type:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:`center`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"icon-pitch-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-pitch-alignment":{type:`enum`,values:{map:{},viewport:{},auto:{}},default:`auto`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-rotation-alignment":{type:`enum`,values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:`auto`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-field":{type:`formatted`,default:``,tokens:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-font":{type:`array`,value:`string`,default:[`Open Sans Regular`,`Arial Unicode MS Regular`],requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-size":{type:`number`,default:16,minimum:0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-max-width":{type:`number`,default:10,minimum:0,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-line-height":{type:`number`,default:1.2,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-letter-spacing":{type:`number`,default:0,units:`ems`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-justify":{type:`enum`,values:{auto:{},left:{},center:{},right:{}},default:`center`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-radial-offset":{type:`number`,units:`ems`,default:0,requires:[`text-field`],"property-type":`data-driven`,expression:{interpolated:!0,parameters:[`zoom`,`feature`]}},"text-variable-anchor":{type:`array`,value:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-variable-anchor-offset":{type:`variableAnchorOffsetCollection`,requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-anchor":{type:`enum`,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:`center`,requires:[`text-field`,{"!":`text-variable-anchor`}],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-max-angle":{type:`number`,default:45,units:`degrees`,requires:[`text-field`,{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-writing-mode":{type:`array`,value:`enum`,values:{horizontal:{},vertical:{}},requires:[`text-field`,{"symbol-placement":[`point`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-rotate":{type:`number`,default:0,period:360,units:`degrees`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-padding":{type:`number`,default:2,minimum:0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-keep-upright":{type:`boolean`,default:!0,requires:[`text-field`,{"text-rotation-alignment":`map`},{"symbol-placement":[`line`,`line-center`]}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-transform":{type:`enum`,values:{none:{},uppercase:{},lowercase:{}},default:`none`,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-offset":{type:`array`,value:`number`,units:`ems`,length:2,default:[0,0],requires:[`text-field`,{"!":`text-radial-offset`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},"text-allow-overlap":{type:`boolean`,default:!1,requires:[`text-field`,{"!":`text-overlap`}],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-overlap":{type:`enum`,values:{never:{},always:{},cooperative:{}},requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-ignore-placement":{type:`boolean`,default:!1,requires:[`text-field`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-optional":{type:`boolean`,default:!1,requires:[`text-field`,`icon-image`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_raster:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},layout_hillshade:{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},"layout_color-relief":{visibility:{type:`enum`,values:{visible:{},none:{}},default:`visible`,expression:{interpolated:!1,parameters:[`global-state`]},"property-type":`data-constant`}},filter:{type:`boolean`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`data-driven`},filter_operator:{type:`enum`,values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:`enum`,values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:`expression`},stops:{type:`array`,value:`function_stop`},base:{type:`number`,default:1,minimum:0},property:{type:`string`,default:`$zoom`},type:{type:`enum`,values:{identity:{},exponential:{},interval:{},categorical:{}},default:`exponential`},colorSpace:{type:`enum`,values:{rgb:{},lab:{},hcl:{}},default:`rgb`},default:{type:`*`,required:!1}},function_stop:{type:`array`,minimum:0,maximum:24,value:[`number`,`color`],length:2},expression:{type:`array`,value:`expression_name`,minimum:1},light:{anchor:{type:`enum`,default:`viewport`,values:{map:{},viewport:{}},"property-type":`data-constant`,transition:!1,expression:{interpolated:!1,parameters:[`zoom`]}},position:{type:`array`,default:[1.15,210,30],length:3,value:`number`,"property-type":`data-constant`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]}},color:{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},intensity:{type:`number`,"property-type":`data-constant`,default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0}},sky:{"sky-color":{type:`color`,"property-type":`data-constant`,default:`#88C6FC`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"horizon-color":{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"fog-color":{type:`color`,"property-type":`data-constant`,default:`#ffffff`,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"fog-ground-blend":{type:`number`,"property-type":`data-constant`,default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"horizon-fog-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"sky-horizon-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0},"atmosphere-blend":{type:`number`,"property-type":`data-constant`,default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[`zoom`]},transition:!0}},terrain:{source:{type:`string`,required:!0},exaggeration:{type:`number`,minimum:0,default:1}},projection:{type:{type:`projectionDefinition`,default:`mercator`,"property-type":`data-constant`,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]}}},paint:[`paint_fill`,`paint_line`,`paint_circle`,`paint_heatmap`,`paint_fill-extrusion`,`paint_symbol`,`paint_raster`,`paint_hillshade`,`paint_color-relief`,`paint_background`],paint_fill:{"fill-antialias":{type:`boolean`,default:!0,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`fill-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-outline-color":{type:`color`,transition:!0,requires:[{"!":`fill-pattern`},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`fill-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`fill-extrusion-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`fill-extrusion-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"fill-extrusion-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`},"fill-extrusion-height":{type:`number`,default:0,minimum:0,units:`meters`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-base":{type:`number`,default:0,minimum:0,units:`meters`,transition:!0,requires:[`fill-extrusion-height`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"fill-extrusion-vertical-gradient":{type:`boolean`,default:!0,transition:!1,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_line:{"line-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`line-pattern`}],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"line-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`line-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"line-width":{type:`number`,default:1,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-gap-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-offset":{type:`number`,default:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"line-dasharray":{type:`array`,value:`number`,minimum:0,transition:!0,units:`line widths`,requires:[{"!":`line-pattern`}],expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`},"line-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`,`feature`]},"property-type":`cross-faded-data-driven`},"line-gradient":{type:`color`,transition:!1,requires:[{"!":`line-dasharray`},{"!":`line-pattern`},{source:`geojson`,has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[`line-progress`]},"property-type":`color-ramp`}},paint_circle:{"circle-radius":{type:`number`,default:5,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-blur":{type:`number`,default:0,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"circle-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`circle-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-pitch-scale":{type:`enum`,values:{map:{},viewport:{}},default:`map`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-pitch-alignment":{type:`enum`,values:{map:{},viewport:{}},default:`viewport`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"circle-stroke-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-stroke-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"circle-stroke-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`}},paint_heatmap:{"heatmap-radius":{type:`number`,default:30,minimum:1,transition:!0,units:`pixels`,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"heatmap-weight":{type:`number`,default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"heatmap-intensity":{type:`number`,default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"heatmap-color":{type:`color`,default:[`interpolate`,[`linear`],[`heatmap-density`],0,`rgba(0, 0, 255, 0)`,.1,`royalblue`,.3,`cyan`,.5,`lime`,.7,`yellow`,1,`red`],transition:!1,expression:{interpolated:!0,parameters:[`heatmap-density`]},"property-type":`color-ramp`},"heatmap-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},paint_symbol:{"icon-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-color":{type:`color`,default:`#000000`,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-color":{type:`color`,default:`rgba(0, 0, 0, 0)`,transition:!0,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-halo-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"icon-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,requires:[`icon-image`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"icon-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`icon-image`,`icon-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"text-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-color":{type:`color`,default:`#000000`,transition:!0,overridable:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-color":{type:`color`,default:`rgba(0, 0, 0, 0)`,transition:!0,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-width":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-halo-blur":{type:`number`,default:0,minimum:0,transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`,`feature`,`feature-state`]},"property-type":`data-driven`},"text-translate":{type:`array`,value:`number`,length:2,default:[0,0],transition:!0,units:`pixels`,requires:[`text-field`],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"text-translate-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`map`,requires:[`text-field`,`text-translate`],expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_raster:{"raster-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-hue-rotate":{type:`number`,default:0,period:360,transition:!0,units:`degrees`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-brightness-min":{type:`number`,default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-brightness-max":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-saturation":{type:`number`,default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"raster-contrast":{type:`number`,default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"raster-resampling":{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"raster-fade-duration":{type:`number`,default:300,minimum:0,transition:!1,units:`milliseconds`,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},paint_hillshade:{"hillshade-illumination-direction":{type:`numberArray`,default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-illumination-altitude":{type:`numberArray`,default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-illumination-anchor":{type:`enum`,values:{map:{},viewport:{}},default:`viewport`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-exaggeration":{type:`number`,default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-shadow-color":{type:`colorArray`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-highlight-color":{type:`colorArray`,default:`#FFFFFF`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-accent-color":{type:`color`,default:`#000000`,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"hillshade-method":{type:`enum`,values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:`standard`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},"paint_color-relief":{"color-relief-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"color-relief-color":{type:`color`,transition:!1,expression:{interpolated:!0,parameters:[`elevation`]},"property-type":`color-ramp`},resampling:{type:`enum`,values:{linear:{},nearest:{}},default:`linear`,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`data-constant`}},paint_background:{"background-color":{type:`color`,default:`#000000`,transition:!0,requires:[{"!":`background-pattern`}],expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`},"background-pattern":{type:`resolvedImage`,transition:!0,expression:{interpolated:!1,parameters:[`zoom`]},"property-type":`cross-faded`},"background-opacity":{type:`number`,default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[`zoom`]},"property-type":`data-constant`}},transition:{duration:{type:`number`,default:300,minimum:0,units:`milliseconds`},delay:{type:`number`,default:0,minimum:0,units:`milliseconds`}},"property-type":{"data-driven":{type:`property-type`},"cross-faded":{type:`property-type`},"cross-faded-data-driven":{type:`property-type`},"color-ramp":{type:`property-type`},"data-constant":{type:`property-type`},constant:{type:`property-type`}},promoteId:{"*":{type:`string`}},interpolation:{type:`array`,value:`interpolation_name`,minimum:1},interpolation_name:{type:`enum`,values:{linear:{syntax:{overloads:[{parameters:[],"output-type":`interpolation`}],parameters:[]}},exponential:{syntax:{overloads:[{parameters:[`base`],"output-type":`interpolation`}],parameters:[{name:`base`,type:`number literal`}]}},"cubic-bezier":{syntax:{overloads:[{parameters:[`x1`,`y1`,`x2`,`y2`],"output-type":`interpolation`}],parameters:[{name:`x1`,type:`number literal`},{name:`y1`,type:`number literal`},{name:`x2`,type:`number literal`},{name:`y2`,type:`number literal`}]}}}}};let Ue=[`type`,`source`,`source-layer`,`minzoom`,`maxzoom`,`filter`,`layout`];function We(e,t){let n={};for(let t in e)t!==`ref`&&(n[t]=e[t]);return Ue.forEach((e=>{e in t&&(n[e]=t[e])})),n}function Ge(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Ge(e[n],t[n]))return!1;return!0}if(typeof e==`object`&&e&&t!==null){if(typeof t!=`object`||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!Ge(e[n],t[n]))return!1;return!0}return e===t}function Ke(e,t){e.push(t)}function qe(e,t,n){Ke(n,{command:`addSource`,args:[e,t[e]]})}function Je(e,t,n){Ke(t,{command:`removeSource`,args:[e]}),n[e]=!0}function Ye(e,t,n,r){Je(e,n,r),qe(e,t,n)}function Xe(e,t,n){let r;for(r in e[n])if(Object.prototype.hasOwnProperty.call(e[n],r)&&r!==`data`&&!Ge(e[n][r],t[n][r]))return!1;for(r in t[n])if(Object.prototype.hasOwnProperty.call(t[n],r)&&r!==`data`&&!Ge(e[n][r],t[n][r]))return!1;return!0}function Ze(e,t,n,r,i,a){e||={},t||={};for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(Ge(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}));for(let o in t)Object.prototype.hasOwnProperty.call(t,o)&&!Object.prototype.hasOwnProperty.call(e,o)&&(Ge(e[o],t[o])||n.push({command:a,args:[r,o,t[o],i]}))}function Qe(e){return e.id}function $e(e,t){return e[t.id]=t,e}class M{constructor(e,t,n,r){this.message=(e?`${e}: `:``)+n,r&&(this.identifier=r),t!=null&&t.__line__&&(this.line=t.__line__)}}function et(e,...t){for(let n of t)for(let t in n)e[t]=n[t];return e}class tt extends Error{constructor(e,t){super(t),this.message=t,this.key=e}}class nt{constructor(e,t=[]){this.parent=e,this.bindings={};for(let[e,n]of t)this.bindings[e]=n}concat(e){return new nt(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}let rt={kind:`null`},N={kind:`number`},P={kind:`string`},it={kind:`boolean`},at={kind:`color`},ot={kind:`projectionDefinition`},st={kind:`object`},F={kind:`value`},ct={kind:`collator`},lt={kind:`formatted`},ut={kind:`padding`},dt={kind:`colorArray`},ft={kind:`numberArray`},pt={kind:`resolvedImage`},mt={kind:`variableAnchorOffsetCollection`};function ht(e,t){return{kind:`array`,itemType:e,N:t}}function gt(e){if(e.kind===`array`){let t=gt(e.itemType);return typeof e.N==`number`?`array<${t}, ${e.N}>`:e.itemType.kind===`value`?`array`:`array<${t}>`}return e.kind}let _t=[rt,N,P,it,at,ot,lt,st,ht(F),ut,ft,dt,pt,mt];function vt(e,t){if(t.kind===`error`)return null;if(e.kind===`array`){if(t.kind===`array`&&(t.N===0&&t.itemType.kind===`value`||!vt(e.itemType,t.itemType))&&(typeof e.N!=`number`||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if(e.kind===`value`){for(let e of _t)if(!vt(e,t))return null}}return`Expected ${gt(e)} but found ${gt(t)} instead.`}function yt(e,t){return t.some((t=>t.kind===e.kind))}function bt(e,t){return t.some((t=>t===`null`?e===null:t===`array`?Array.isArray(e):t===`object`?e&&!Array.isArray(e)&&typeof e==`object`:t===typeof e))}function xt(e,t){return e.kind===`array`&&t.kind===`array`?e.itemType.kind===t.itemType.kind&&typeof e.N==`number`:e.kind===t.kind}let St=.96422,Ct=.82521,wt=4/29,Tt=6/29,Et=3*Tt*Tt,I=Math.PI/180,R=180/Math.PI;function Dt(e){return(e%=360)<0&&(e+=360),e}function Ot([e,t,n,r]){let i,a,o=At((.2225045*(e=kt(e))+.7168786*(t=kt(t))+.0606169*(n=kt(n)))/1);e===t&&t===n?i=a=o:(i=At((.4360747*e+.3850649*t+.1430804*n)/St),a=At((.0139322*e+.0971045*t+.7141733*n)/Ct));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),r]}function kt(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function At(e){return e>.008856451679035631?e**(1/3):e/Et+wt}function jt([e,t,n,r]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(n)?i:i-n/200;return i=1*Nt(i),a=St*Nt(a),o=Ct*Nt(o),[Mt(3.1338561*a-1.6168667*i-.4906146*o),Mt(-.9787684*a+1.9161415*i+.033454*o),Mt(.0719453*a-.2289914*i+1.4052427*o),r]}function Mt(e){return(e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055)<0?0:e>1?1:e}function Nt(e){return e>Tt?e*e*e:Et*(e-wt)}let Pt=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function Ft(e,t){return Pt(e,t)?e[t]:void 0}function It(e){return parseInt(e.padEnd(2,e),16)/255}function Lt(e,t){return Rt(t?e/100:e,0,1)}function Rt(e,t,n){return Math.min(Math.max(t,e),n)}function zt(e){return!e.some(Number.isNaN)}let Bt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function Vt(e,t,n){return e+n*(t-e)}function Ht(e,t,n){return e.map(((e,r)=>Vt(e,t[r],n)))}class Ut{constructor(e,t,n,r=1,i=!0){this.r=e,this.g=t,this.b=n,this.a=r,i||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter(`rgb`,[e,t,n,r]))}static parse(e){if(e instanceof Ut)return e;if(typeof e!=`string`)return;let t=function(e){if((e=e.toLowerCase().trim())===`transparent`)return[0,0,0,0];let t=Ft(Bt,e);if(t){let[e,n,r]=t;return[e/255,n/255,r/255,1]}if(e.startsWith(`#`)&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,n=1;return[It(e.slice(n,n+=t)),It(e.slice(n,n+=t)),It(e.slice(n,n+=t)),It(e.slice(n,n+t)||`ff`)]}if(e.startsWith(`rgb`)){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,n,r,i,a,o,s,c,l,u,d,f]=t,p=[i||` `,s||` `,u].join(``);if(p===`  `||p===`  /`||p===`,,`||p===`,,,`){let e=[r,o,l].join(``),t=e===`%%%`?100:e===``?255:0;if(t){let e=[Rt(+n/t,0,1),Rt(+a/t,0,1),Rt(+c/t,0,1),d?Lt(+d,f):1];if(zt(e))return e}}return}}let n=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){let[e,t,r,i,a,o,s,c,l]=n,u=[r||` `,a||` `,s].join(``);if(u===`  `||u===`  /`||u===`,,`||u===`,,,`){let e=[+t,Rt(+i,0,100),Rt(+o,0,100),c?Lt(+c,l):1];if(zt(e))return function([e,t,n,r]){function i(r){let i=(r+e/30)%12,a=t*Math.min(n,1-n);return n-a*Math.max(-1,Math.min(i-3,9-i,1))}return e=Dt(e),t/=100,n/=100,[i(0),i(8),i(4),r]}(e)}}}(e);return t?new Ut(...t,!1):void 0}get rgb(){let{r:e,g:t,b:n,a:r}=this,i=r||1/0;return this.overwriteGetter(`rgb`,[e/i,t/i,n/i,r])}get hcl(){return this.overwriteGetter(`hcl`,function(e){let[t,n,r,i]=Ot(e),a=Math.sqrt(n*n+r*r);return[Math.round(1e4*a)?Dt(Math.atan2(r,n)*R):NaN,a,t,i]}(this.rgb))}get lab(){return this.overwriteGetter(`lab`,Ot(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,n,r]=this.rgb;return`rgba(${[e,t,n].map((e=>Math.round(255*e))).join(`,`)},${r})`}static interpolate(e,t,n,r=`rgb`){switch(r){case`rgb`:{let[r,i,a,o]=Ht(e.rgb,t.rgb,n);return new Ut(r,i,a,o,!1)}case`hcl`:{let[r,i,a,o]=e.hcl,[s,c,l,u]=t.hcl,d,f;if(isNaN(r)||isNaN(s))isNaN(r)?isNaN(s)?d=NaN:(d=s,a!==1&&a!==0||(f=c)):(d=r,l!==1&&l!==0||(f=i));else{let e=s-r;s>r&&e>180?e-=360:s<r&&r-s>180&&(e+=360),d=r+n*e}let[p,m,h,g]=function([e,t,n,r]){return e=isNaN(e)?0:e*I,jt([n,Math.cos(e)*t,Math.sin(e)*t,r])}([d,f??Vt(i,c,n),Vt(a,l,n),Vt(o,u,n)]);return new Ut(p,m,h,g,!1)}case`lab`:{let[r,i,a,o]=jt(Ht(e.lab,t.lab,n));return new Ut(r,i,a,o,!1)}}}}Ut.black=new Ut(0,0,0,1),Ut.white=new Ut(1,1,1,1),Ut.transparent=new Ut(0,0,0,0),Ut.red=new Ut(1,0,0,1);class Wt{constructor(e,t,n){this.sensitivity=e?t?`variant`:`case`:t?`accent`:`base`,this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:`search`})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}let Gt=[`bottom`,`center`,`top`];class Kt{constructor(e,t,n,r,i,a){this.text=e,this.image=t,this.scale=n,this.fontStack=r,this.textColor=i,this.verticalAlign=a}}class qt{constructor(e){this.sections=e}static fromString(e){return new qt([new Kt(e,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some((e=>e.text.length!==0||e.image&&e.image.name.length!==0))}static factory(e){return e instanceof qt?e:qt.fromString(e)}toString(){return this.sections.length===0?``:this.sections.map((e=>e.text)).join(``)}}class Jt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Jt)return e;if(typeof e==`number`)return new Jt([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(let t of e)if(typeof t!=`number`)return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new Jt(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){return new Jt(Ht(e.values,t.values,n))}}class Yt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Yt)return e;if(typeof e==`number`)return new Yt([e]);if(Array.isArray(e)){for(let t of e)if(typeof t!=`number`)return;return new Yt(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){return new Yt(Ht(e.values,t.values,n))}}class Xt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Xt)return e;if(typeof e==`string`){let t=Ut.parse(e);return t?new Xt([t]):void 0}if(!Array.isArray(e))return;let t=[];for(let n of e){if(typeof n!=`string`)return;let e=Ut.parse(n);if(!e)return;t.push(e)}return new Xt(t)}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n,r=`rgb`){let i=[];if(e.values.length!=t.values.length)throw Error(`colorArray: Arrays have mismatched length (${e.values.length} vs. ${t.values.length}), cannot interpolate.`);for(let a=0;a<e.values.length;a++)i.push(Ut.interpolate(e.values[a],t.values[a],n,r));return new Xt(i)}}class Zt extends Error{constructor(e){super(e),this.name=`RuntimeError`}toJSON(){return this.message}}let Qt=new Set([`center`,`left`,`right`,`top`,`bottom`,`top-left`,`top-right`,`bottom-left`,`bottom-right`]);class $t{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof $t)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let t=0;t<e.length;t+=2){let n=e[t],r=e[t+1];if(typeof n!=`string`||!Qt.has(n)||!Array.isArray(r)||r.length!==2||typeof r[0]!=`number`||typeof r[1]!=`number`)return}return new $t(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){let r=e.values,i=t.values;if(r.length!==i.length)throw new Zt(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${t.toString()}`);let a=[];for(let e=0;e<r.length;e+=2){if(r[e]!==i[e])throw new Zt(`Cannot interpolate values containing mismatched anchors. from[${e}]: ${r[e]}, to[${e}]: ${i[e]}`);a.push(r[e]);let[t,o]=r[e+1],[s,c]=i[e+1];a.push([Vt(t,s,n),Vt(o,c,n)])}return new $t(a)}}class en{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(e){return e?new en({name:e,available:!1}):null}}class tn{constructor(e,t,n){this.from=e,this.to=t,this.transition=n}static interpolate(e,t,n){return new tn(e,t,n)}static parse(e){return e instanceof tn?e:Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`?new tn(e[0],e[1],e[2]):typeof e==`object`&&typeof e.from==`string`&&typeof e.to==`string`&&typeof e.transition==`number`?new tn(e.from,e.to,e.transition):typeof e==`string`?new tn(e,e,1):void 0}}function nn(e,t,n,r){return typeof e==`number`&&e>=0&&e<=255&&typeof t==`number`&&t>=0&&t<=255&&typeof n==`number`&&n>=0&&n<=255?r===void 0||typeof r==`number`&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,n,r].join(`, `)}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof r==`number`?[e,t,n,r]:[e,t,n]).join(`, `)}]: 'r', 'g', and 'b' must be between 0 and 255.`}function rn(e){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`||e instanceof tn||e instanceof Ut||e instanceof Wt||e instanceof qt||e instanceof Jt||e instanceof Yt||e instanceof Xt||e instanceof $t||e instanceof en)return!0;if(Array.isArray(e)){for(let t of e)if(!rn(t))return!1;return!0}if(typeof e==`object`){for(let t in e)if(!rn(e[t]))return!1;return!0}return!1}function an(e){if(e===null)return rt;if(typeof e==`string`)return P;if(typeof e==`boolean`)return it;if(typeof e==`number`)return N;if(e instanceof Ut)return at;if(e instanceof tn)return ot;if(e instanceof Wt)return ct;if(e instanceof qt)return lt;if(e instanceof Jt)return ut;if(e instanceof Yt)return ft;if(e instanceof Xt)return dt;if(e instanceof $t)return mt;if(e instanceof en)return pt;if(Array.isArray(e)){let t=e.length,n;for(let t of e){let e=an(t);if(n){if(n===e)continue;n=F;break}n=e}return ht(n||F,t)}return st}function on(e){let t=typeof e;return e===null?``:t===`string`||t===`number`||t===`boolean`?String(e):e instanceof Ut||e instanceof tn||e instanceof qt||e instanceof Jt||e instanceof Yt||e instanceof Xt||e instanceof $t||e instanceof en?e.toString():JSON.stringify(e)}class sn{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(e.length!==2)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!rn(e[1]))return t.error(`invalid value`);let n=e[1],r=an(n),i=t.expectedType;return r.kind!==`array`||r.N!==0||!i||i.kind!==`array`||typeof i.N==`number`&&i.N!==0||(r=i),new sn(r,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}let cn={string:P,number:N,boolean:it,object:st};class ln{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n,r=1,i=e[0];if(i===`array`){let i,a;if(e.length>2){let n=e[1];if(typeof n!=`string`||!(n in cn)||n===`object`)return t.error(`The item type argument of "array" must be one of string, number, boolean`,1);i=cn[n],r++}else i=F;if(e.length>3){if(e[2]!==null&&(typeof e[2]!=`number`||e[2]<0||e[2]!==Math.floor(e[2])))return t.error(`The length argument to "array" must be a positive integer literal`,2);a=e[2],r++}n=ht(i,a)}else{if(!cn[i])throw Error(`Types doesn't contain name = ${i}`);n=cn[i]}let a=[];for(;r<e.length;r++){let n=t.parse(e[r],r,F);if(!n)return null;a.push(n)}return new ln(n,a)}evaluate(e){for(let t=0;t<this.args.length;t++){let n=this.args[t].evaluate(e);if(!vt(this.type,an(n)))return n;if(t===this.args.length-1)throw new Zt(`Expected value to be of type ${gt(this.type)}, but found ${gt(an(n))} instead.`)}throw Error()}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let un={"to-boolean":it,"to-color":at,"to-number":N,"to-string":P};class dn{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=e[0];if(!un[n])throw Error(`Can't parse ${n} as it is not part of the known types`);if((n===`to-boolean`||n===`to-string`)&&e.length!==2)return t.error(`Expected one argument.`);let r=un[n],i=[];for(let n=1;n<e.length;n++){let r=t.parse(e[n],n,F);if(!r)return null;i.push(r)}return new dn(r,i)}evaluate(e){switch(this.type.kind){case`boolean`:return!!this.args[0].evaluate(e);case`color`:{let t,n;for(let r of this.args){if(t=r.evaluate(e),n=null,t instanceof Ut)return t;if(typeof t==`string`){let n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rgba value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:nn(t[0],t[1],t[2],t[3]),!n))return new Ut(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new Zt(n||`Could not parse color from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`padding`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Jt.parse(t);if(r)return r}throw new Zt(`Could not parse padding from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`numberArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Yt.parse(t);if(r)return r}throw new Zt(`Could not parse numberArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`colorArray`:{let t;for(let n of this.args){t=n.evaluate(e);let r=Xt.parse(t);if(r)return r}throw new Zt(`Could not parse colorArray from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`variableAnchorOffsetCollection`:{let t;for(let n of this.args){t=n.evaluate(e);let r=$t.parse(t);if(r)return r}throw new Zt(`Could not parse variableAnchorOffsetCollection from value '${typeof t==`string`?t:JSON.stringify(t)}'`)}case`number`:{let t=null;for(let n of this.args){if(t=n.evaluate(e),t===null)return 0;let r=Number(t);if(!isNaN(r))return r}throw new Zt(`Could not convert ${JSON.stringify(t)} to number.`)}case`formatted`:return qt.fromString(on(this.args[0].evaluate(e)));case`resolvedImage`:return en.fromString(on(this.args[0].evaluate(e)));case`projectionDefinition`:return this.args[0].evaluate(e);default:return on(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}let fn=[`Unknown`,`Point`,`LineString`,`Polygon`];class pn{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&`id`in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==`number`?fn[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&`geometry`in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let t=this._parseColorCache.get(e);return t||(t=Ut.parse(e),this._parseColorCache.set(e,t)),t}}class mn{constructor(e,t,n=[],r,i=new nt,a=[]){this.registry=e,this.path=n,this.key=n.map((e=>`[${e}]`)).join(``),this.scope=i,this.errors=a,this.expectedType=r,this._isConstant=t}parse(e,t,n,r,i={}){return t?this.concat(t,n,r)._parse(e,i):this._parse(e,i)}_parse(e,t){function n(e,t,n){return n===`assert`?new ln(t,[e]):n===`coerce`?new dn(t,[e]):e}if(e!==null&&typeof e!=`string`&&typeof e!=`boolean`&&typeof e!=`number`||(e=[`literal`,e]),Array.isArray(e)){if(e.length===0)return this.error(`Expected an array with at least one element. If you wanted a literal array, use ["literal", []].`);let r=e[0];if(typeof r!=`string`)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[r];if(i){let r=i.parse(e,this);if(!r)return null;if(this.expectedType){let e=this.expectedType,i=r.type;if(e.kind!==`string`&&e.kind!==`number`&&e.kind!==`boolean`&&e.kind!==`object`&&e.kind!==`array`||i.kind!==`value`){if(e.kind===`projectionDefinition`&&[`string`,`array`].includes(i.kind)||[`color`,`formatted`,`resolvedImage`].includes(e.kind)&&[`value`,`string`].includes(i.kind)||[`padding`,`numberArray`].includes(e.kind)&&[`value`,`number`,`array`].includes(i.kind)||e.kind===`colorArray`&&[`value`,`string`,`array`].includes(i.kind)||e.kind===`variableAnchorOffsetCollection`&&[`value`,`array`].includes(i.kind))r=n(r,e,t.typeAnnotation||`coerce`);else if(this.checkSubtype(e,i))return null}else r=n(r,e,t.typeAnnotation||`assert`)}if(!(r instanceof sn)&&r.type.kind!==`resolvedImage`&&this._isConstant(r)){let e=new pn;try{r=new sn(r.type,r.evaluate(e))}catch(e){return this.error(e.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(e===void 0?`'undefined' value invalid. Use null instead.`:typeof e==`object`?`Bare objects invalid. Use ["literal", {...}] instead.`:`Expected an array, but found ${typeof e} instead.`)}concat(e,t,n){let r=typeof e==`number`?this.path.concat(e):this.path,i=n?this.scope.concat(n):this.scope;return new mn(this.registry,this._isConstant,r,t||null,i,this.errors)}error(e,...t){let n=`${this.key}${t.map((e=>`[${e}]`)).join(``)}`;this.errors.push(new tt(n,e))}checkSubtype(e,t){let n=vt(e,t);return n&&this.error(n),n}}class hn{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);let n=[];for(let r=1;r<e.length-1;r+=2){let i=e[r];if(typeof i!=`string`)return t.error(`Expected string, but found ${typeof i} instead.`,r);if(/[^a-zA-Z0-9_]/.test(i))return t.error(`Variable names must contain only alphanumeric characters or '_'.`,r);let a=t.parse(e[r+1],r+1);if(!a)return null;n.push([i,a])}let r=t.parse(e[e.length-1],e.length-1,t.expectedType,n);return r?new hn(n,r):null}outputDefined(){return this.result.outputDefined()}}class gn{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(e.length!==2||typeof e[1]!=`string`)return t.error(`'var' expression requires exactly one string literal argument.`);let n=e[1];return t.scope.has(n)?new gn(n,t.scope.get(n)):t.error(`Unknown variable "${n}". Make sure "${n}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}}class _n{constructor(e,t,n){this.type=e,this.index=t,this.input=n}static parse(e,t){if(e.length!==3)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,N),r=t.parse(e[2],2,ht(t.expectedType||F));return n&&r?new _n(r.type.itemType,n,r):null}evaluate(e){let t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new Zt(`Array index out of bounds: ${t} < 0.`);if(t>=n.length)throw new Zt(`Array index out of bounds: ${t} > ${n.length-1}.`);if(t!==Math.floor(t))throw new Zt(`Array index must be an integer, but found ${t} instead.`);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class vn{constructor(e,t){this.type=it,this.needle=e,this.haystack=t}static parse(e,t){if(e.length!==3)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,F),r=t.parse(e[2],2,F);return n&&r?yt(n.type,[it,P,N,rt,F])?new vn(n,r):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${gt(n.type)} instead`):null}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!bt(t,[`boolean`,`string`,`number`,`null`]))throw new Zt(`Expected first argument to be of type boolean, string, number or null, but found ${gt(an(t))} instead.`);if(!bt(n,[`string`,`array`]))throw new Zt(`Expected second argument to be of type array or string, but found ${gt(an(n))} instead.`);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class yn{constructor(e,t,n){this.type=N,this.needle=e,this.haystack=t,this.fromIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 2 or 3 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,F),r=t.parse(e[2],2,F);if(!n||!r)return null;if(!yt(n.type,[it,P,N,rt,F]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${gt(n.type)} instead`);if(e.length===4){let i=t.parse(e[3],3,N);return i?new yn(n,r,i):null}return new yn(n,r)}evaluate(e){let t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!bt(t,[`boolean`,`string`,`number`,`null`]))throw new Zt(`Expected first argument to be of type boolean, string, number or null, but found ${gt(an(t))} instead.`);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(e)),bt(n,[`string`])){let e=n.indexOf(t,r);return e===-1?-1:[...n.slice(0,e)].length}if(bt(n,[`array`]))return n.indexOf(t,r);throw new Zt(`Expected second argument to be of type array or string, but found ${gt(an(n))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class bn{constructor(e,t,n,r,i,a){this.inputType=e,this.type=t,this.input=n,this.cases=r,this.outputs=i,this.otherwise=a}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error(`Expected an even number of arguments.`);let n,r;t.expectedType&&t.expectedType.kind!==`value`&&(r=t.expectedType);let i={},a=[];for(let o=2;o<e.length-1;o+=2){let s=e[o],c=e[o+1];Array.isArray(s)||(s=[s]);let l=t.concat(o);if(s.length===0)return l.error(`Expected at least one branch label.`);for(let e of s){if(typeof e!=`number`&&typeof e!=`string`)return l.error(`Branch labels must be numbers or strings.`);if(typeof e==`number`&&Math.abs(e)>2**53-1)return l.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof e==`number`&&Math.floor(e)!==e)return l.error(`Numeric branch labels must be integer values.`);if(n){if(l.checkSubtype(n,an(e)))return null}else n=an(e);if(i[String(e)]!==void 0)return l.error(`Branch labels must be unique.`);i[String(e)]=a.length}let u=t.parse(c,o,r);if(!u)return null;r||=u.type,a.push(u)}let o=t.parse(e[1],1,F);if(!o)return null;let s=t.parse(e[e.length-1],e.length-1,r);return s?o.type.kind!==`value`&&t.concat(1).checkSubtype(n,o.type)?null:new bn(n,r,o,i,a,s):null}evaluate(e){let t=this.input.evaluate(e);return(an(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}}class z{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error(`Expected an odd number of arguments.`);let n;t.expectedType&&t.expectedType.kind!==`value`&&(n=t.expectedType);let r=[];for(let i=1;i<e.length-1;i+=2){let a=t.parse(e[i],i,it);if(!a)return null;let o=t.parse(e[i+1],i+1,n);if(!o)return null;r.push([a,o]),n||=o.type}let i=t.parse(e[e.length-1],e.length-1,n);if(!i)return null;if(!n)throw Error(`Can't infer output type`);return new z(n,r,i)}evaluate(e){for(let[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(let[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every((([e,t])=>t.outputDefined()))&&this.otherwise.outputDefined()}}class xn{constructor(e,t,n,r){this.type=e,this.input=t,this.beginIndex=n,this.endIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 2 or 3 arguments, but found ${e.length-1} instead.`);let n=t.parse(e[1],1,F),r=t.parse(e[2],2,N);if(!n||!r)return null;if(!yt(n.type,[ht(F),P,F]))return t.error(`Expected first argument to be of type array or string, but found ${gt(n.type)} instead`);if(e.length===4){let i=t.parse(e[3],3,N);return i?new xn(n.type,n,r,i):null}return new xn(n.type,n,r)}evaluate(e){let t=this.input.evaluate(e),n=this.beginIndex.evaluate(e),r;if(this.endIndex&&(r=this.endIndex.evaluate(e)),bt(t,[`string`]))return[...t].slice(n,r).join(``);if(bt(t,[`array`]))return t.slice(n,r);throw new Zt(`Expected first argument to be of type array or string, but found ${gt(an(t))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function Sn(e,t){let n=e.length-1,r,i,a=0,o=n,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),r=e[s],i=e[s+1],r<=t){if(s===n||t<i)return s;a=s+1}else{if(!(r>t))throw new Zt(`Input is not a number.`);o=s-1}return 0}class Cn{constructor(e,t,n){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(let[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error(`Expected an even number of arguments.`);let n=t.parse(e[1],1,N);if(!n)return null;let r=[],i=null;t.expectedType&&t.expectedType.kind!==`value`&&(i=t.expectedType);for(let n=1;n<e.length;n+=2){let a=n===1?-1/0:e[n],o=e[n+1],s=n,c=n+1;if(typeof a!=`number`)return t.error(`Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,s);if(r.length&&r[r.length-1][0]>=a)return t.error(`Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.`,s);let l=t.parse(o,c,i);if(!l)return null;i||=l.type,r.push([a,l])}return new Cn(i,n,r)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;return r>=t[i-1]?n[i-1].evaluate(e):n[Sn(t,r)].evaluate(e)}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function wn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var Tn,En,Dn=wn(function(){if(En)return Tn;function e(e,t,n,r){this.cx=3*e,this.bx=3*(n-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(r-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=n,this.p2y=r}return En=1,Tn=e,e.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(t===void 0&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var n=e,r=0;r<8;r++){var i=this.sampleCurveX(n)-e;if(Math.abs(i)<t)return n;var a=this.sampleCurveDerivativeX(n);if(Math.abs(a)<1e-6)break;n-=i/a}var o=0,s=1;for(n=e,r=0;r<20&&(i=this.sampleCurveX(n),!(Math.abs(i-e)<t));r++)e>i?o=n:s=n,n=.5*(s-o)+o;return n},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}},Tn}());class On{constructor(e,t,n,r,i){this.type=e,this.operator=t,this.interpolation=n,this.input=r,this.labels=[],this.outputs=[];for(let[e,t]of i)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,r){let i=0;if(e.name===`exponential`)i=kn(t,e.base,n,r);else if(e.name===`linear`)i=kn(t,1,n,r);else if(e.name===`cubic-bezier`){let a=e.controlPoints;i=new Dn(a[0],a[1],a[2],a[3]).solve(kn(t,1,n,r))}return i}static parse(e,t){let[n,r,i,...a]=e;if(!Array.isArray(r)||r.length===0)return t.error(`Expected an interpolation type expression.`,1);if(r[0]===`linear`)r={name:`linear`};else if(r[0]===`exponential`){let e=r[1];if(typeof e!=`number`)return t.error(`Exponential interpolation requires a numeric base.`,1,1);r={name:`exponential`,base:e}}else{if(r[0]!==`cubic-bezier`)return t.error(`Unknown interpolation type ${String(r[0])}`,1,0);{let e=r.slice(1);if(e.length!==4||e.some((e=>typeof e!=`number`||e<0||e>1)))return t.error(`Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.`,1);r={name:`cubic-bezier`,controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error(`Expected an even number of arguments.`);if(i=t.parse(i,2,N),!i)return null;let o=[],s=null;n!==`interpolate-hcl`&&n!==`interpolate-lab`||t.expectedType==dt?t.expectedType&&t.expectedType.kind!==`value`&&(s=t.expectedType):s=at;for(let e=0;e<a.length;e+=2){let n=a[e],r=a[e+1],i=e+3,c=e+4;if(typeof n!=`number`)return t.error(`Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.`,i);if(o.length&&o[o.length-1][0]>=n)return t.error(`Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.`,i);let l=t.parse(r,c,s);if(!l)return null;s||=l.type,o.push([n,l])}return xt(s,N)||xt(s,ot)||xt(s,at)||xt(s,ut)||xt(s,ft)||xt(s,dt)||xt(s,mt)||xt(s,ht(N))?new On(s,n,r,i,o):t.error(`Type ${gt(s)} is not interpolatable.`)}evaluate(e){let t=this.labels,n=this.outputs;if(t.length===1)return n[0].evaluate(e);let r=this.input.evaluate(e);if(r<=t[0])return n[0].evaluate(e);let i=t.length;if(r>=t[i-1])return n[i-1].evaluate(e);let a=Sn(t,r),o=On.interpolationFactor(this.interpolation,r,t[a],t[a+1]),s=n[a].evaluate(e),c=n[a+1].evaluate(e);switch(this.operator){case`interpolate`:switch(this.type.kind){case`number`:return Vt(s,c,o);case`color`:return Ut.interpolate(s,c,o);case`padding`:return Jt.interpolate(s,c,o);case`colorArray`:return Xt.interpolate(s,c,o);case`numberArray`:return Yt.interpolate(s,c,o);case`variableAnchorOffsetCollection`:return $t.interpolate(s,c,o);case`array`:return Ht(s,c,o);case`projectionDefinition`:return tn.interpolate(s,c,o)}case`interpolate-hcl`:switch(this.type.kind){case`color`:return Ut.interpolate(s,c,o,`hcl`);case`colorArray`:return Xt.interpolate(s,c,o,`hcl`)}case`interpolate-lab`:switch(this.type.kind){case`color`:return Ut.interpolate(s,c,o,`lab`);case`colorArray`:return Xt.interpolate(s,c,o,`lab`)}}}eachChild(e){e(this.input);for(let t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}}function kn(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}let An={color:Ut.interpolate,number:Vt,padding:Jt.interpolate,numberArray:Yt.interpolate,colorArray:Xt.interpolate,variableAnchorOffsetCollection:$t.interpolate,array:Ht};class jn{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=null,r=t.expectedType;r&&r.kind!==`value`&&(n=r);let i=[];for(let r of e.slice(1)){let e=t.parse(r,1+i.length,n,void 0,{typeAnnotation:`omit`});if(!e)return null;n||=e.type,i.push(e)}if(!n)throw Error(`No output type`);let a=r&&i.some((e=>vt(r,e.type)));return new jn(a?F:n,i)}evaluate(e){let t,n=null,r=0;for(let i of this.args)if(r++,n=i.evaluate(e),n&&n instanceof en&&!n.available&&(t||=n.name,n=null,r===this.args.length&&(n=t)),n!==null)break;return n}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}}function Mn(e,t){return e===`==`||e===`!=`?t.kind===`boolean`||t.kind===`string`||t.kind===`number`||t.kind===`null`||t.kind===`value`:t.kind===`string`||t.kind===`number`||t.kind===`value`}function Nn(e,t,n,r){return r.compare(t,n)===0}function Pn(e,t,n){let r=e!==`==`&&e!==`!=`;return class i{constructor(e,t,n){this.type=it,this.lhs=e,this.rhs=t,this.collator=n,this.hasUntypedArgument=e.type.kind===`value`||t.type.kind===`value`}static parse(e,t){if(e.length!==3&&e.length!==4)return t.error(`Expected two or three arguments.`);let n=e[0],a=t.parse(e[1],1,F);if(!a)return null;if(!Mn(n,a.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${gt(a.type)}'.`);let o=t.parse(e[2],2,F);if(!o)return null;if(!Mn(n,o.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${gt(o.type)}'.`);if(a.type.kind!==o.type.kind&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot compare types '${gt(a.type)}' and '${gt(o.type)}'.`);r&&(a.type.kind===`value`&&o.type.kind!==`value`?a=new ln(o.type,[a]):a.type.kind!==`value`&&o.type.kind===`value`&&(o=new ln(a.type,[o])));let s=null;if(e.length===4){if(a.type.kind!==`string`&&o.type.kind!==`string`&&a.type.kind!==`value`&&o.type.kind!==`value`)return t.error(`Cannot use collator to compare non-string types.`);if(s=t.parse(e[3],3,ct),!s)return null}return new i(a,o,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(r&&this.hasUntypedArgument){let t=an(a),n=an(o);if(t.kind!==n.kind||t.kind!==`string`&&t.kind!==`number`)throw new Zt(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${n.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){let e=an(a),n=an(o);if(e.kind!==`string`||n.kind!==`string`)return t(i,a,o)}return this.collator?n(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}let Fn=Pn(`==`,(function(e,t,n){return t===n}),Nn),In=Pn(`!=`,(function(e,t,n){return t!==n}),(function(e,t,n,r){return!Nn(0,t,n,r)})),Ln=Pn(`<`,(function(e,t,n){return t<n}),(function(e,t,n,r){return r.compare(t,n)<0})),Rn=Pn(`>`,(function(e,t,n){return t>n}),(function(e,t,n,r){return r.compare(t,n)>0})),zn=Pn(`<=`,(function(e,t,n){return t<=n}),(function(e,t,n,r){return r.compare(t,n)<=0})),Bn=Pn(`>=`,(function(e,t,n){return t>=n}),(function(e,t,n,r){return r.compare(t,n)>=0}));class Vn{constructor(e,t,n){this.type=ct,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(e.length!==2)return t.error(`Expected one argument.`);let n=e[1];if(typeof n!=`object`||Array.isArray(n))return t.error(`Collator options argument must be an object.`);let r=t.parse(n[`case-sensitive`]!==void 0&&n[`case-sensitive`],1,it);if(!r)return null;let i=t.parse(n[`diacritic-sensitive`]!==void 0&&n[`diacritic-sensitive`],1,it);if(!i)return null;let a=null;return n.locale&&(a=t.parse(n.locale,1,P),!a)?null:new Vn(r,i,a)}evaluate(e){return new Wt(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class Hn{constructor(e,t,n,r,i,a){this.type=P,this.number=e,this.locale=t,this.currency=n,this.unit=r,this.minFractionDigits=i,this.maxFractionDigits=a}static parse(e,t){if(e.length!==3)return t.error(`Expected two arguments.`);let n=t.parse(e[1],1,N);if(!n)return null;let r=e[2];if(typeof r!=`object`||Array.isArray(r))return t.error(`NumberFormat options argument must be an object.`);let i=null;if(r.locale&&(i=t.parse(r.locale,1,P),!i))return null;let a=null;if(r.currency&&(a=t.parse(r.currency,1,P),!a))return null;let o=null;if(r.unit&&(o=t.parse(r.unit,1,P),!o))return null;if(a&&o)return t.error("NumberFormat options `currency` and `unit` are mutually exclusive");let s=null;if(r[`min-fraction-digits`]&&(s=t.parse(r[`min-fraction-digits`],1,N),!s))return null;let c=null;return r[`max-fraction-digits`]&&(c=t.parse(r[`max-fraction-digits`],1,N),!c)?null:new Hn(n,i,a,o,s,c)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?`currency`:this.unit?`unit`:`decimal`,currency:this.currency?this.currency.evaluate(e):void 0,unit:this.unit?this.unit.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.unit&&e(this.unit),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class Un{constructor(e){this.type=lt,this.sections=e}static parse(e,t){if(e.length<2)return t.error(`Expected at least one argument.`);let n=e[1];if(!Array.isArray(n)&&typeof n==`object`)return t.error(`First argument must be an image or text section.`);let r=[],i=!1;for(let n=1;n<=e.length-1;++n){let a=e[n];if(i&&typeof a==`object`&&!Array.isArray(a)){i=!1;let e=null;if(a[`font-scale`]&&(e=t.parse(a[`font-scale`],1,N),!e))return null;let n=null;if(a[`text-font`]&&(n=t.parse(a[`text-font`],1,ht(P)),!n))return null;let o=null;if(a[`text-color`]&&(o=t.parse(a[`text-color`],1,at),!o))return null;let s=null;if(a[`vertical-align`]){if(typeof a[`vertical-align`]==`string`&&!Gt.includes(a[`vertical-align`]))return t.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${a[`vertical-align`]}' instead.`);if(s=t.parse(a[`vertical-align`],1,P),!s)return null}let c=r[r.length-1];c.scale=e,c.font=n,c.textColor=o,c.verticalAlign=s}else{let a=t.parse(e[n],1,F);if(!a)return null;let o=a.type.kind;if(o!==`string`&&o!==`value`&&o!==`null`&&o!==`resolvedImage`)return t.error(`Formatted text type must be 'string', 'value', 'image' or 'null'.`);i=!0,r.push({content:a,scale:null,font:null,textColor:null,verticalAlign:null})}}return new Un(r)}evaluate(e){return new qt(this.sections.map((t=>{let n=t.content.evaluate(e);return an(n)===pt?new Kt(``,n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new Kt(on(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(`,`):null,t.textColor?t.textColor.evaluate(e):null,t.verticalAlign?t.verticalAlign.evaluate(e):null)})))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor),t.verticalAlign&&e(t.verticalAlign)}outputDefined(){return!1}}class Wn{constructor(e){this.type=pt,this.input=e}static parse(e,t){if(e.length!==2)return t.error(`Expected two arguments.`);let n=t.parse(e[1],1,P);return n?new Wn(n):t.error(`No image name provided.`)}evaluate(e){let t=this.input.evaluate(e),n=en.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}}class Gn{constructor(e){this.type=N,this.input=e}static parse(e,t){if(e.length!==2)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let n=t.parse(e[1],1);return n?n.type.kind!==`array`&&n.type.kind!==`string`&&n.type.kind!==`value`?t.error(`Expected argument of type string or array, but found ${gt(n.type)} instead.`):new Gn(n):null}evaluate(e){let t=this.input.evaluate(e);if(typeof t==`string`)return[...t].length;if(Array.isArray(t))return t.length;throw new Zt(`Expected value to be of type string or array, but found ${gt(an(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}let Kn=8192;function qn(e,t){let n=(180+e[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,i=2**t.z;return[Math.round(n*i*Kn),Math.round(r*i*Kn)]}function Jn(e,t){let n=2**t.z;return[(i=(e[0]/Kn+t.x)/n,360*i-180),(r=(e[1]/Kn+t.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90)];var r,i}function Yn(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function Xn(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Zn(e,t,n){let r=e[0]-t[0],i=e[1]-t[1],a=e[0]-n[0],o=e[1]-n[1];return r*o-a*i==0&&r*a<=0&&i*o<=0}function Qn(e,t,n,r){return(i=[r[0]-n[0],r[1]-n[1]])[0]*(a=[t[0]-e[0],t[1]-e[1]])[1]-i[1]*a[0]!=0&&!(!ir(e,t,n,r)||!ir(n,r,e,t));var i,a}function $n(e,t,n){for(let r of n)for(let n=0;n<r.length-1;++n)if(Qn(e,t,r[n],r[n+1]))return!0;return!1}function er(e,t,n=!1){let r=!1;for(let s of t)for(let t=0;t<s.length-1;t++){if(Zn(e,s[t],s[t+1]))return n;(a=s[t])[1]>(i=e)[1]!=(o=s[t+1])[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(r=!r)}var i,a,o;return r}function tr(e,t){for(let n of t)if(er(e,n))return!0;return!1}function nr(e,t){for(let n of e)if(!er(n,t))return!1;for(let n=0;n<e.length-1;++n)if($n(e[n],e[n+1],t))return!1;return!0}function rr(e,t){for(let n of t)if(nr(e,n))return!0;return!1}function ir(e,t,n,r){let i=r[0]-n[0],a=r[1]-n[1],o=(e[0]-n[0])*a-i*(e[1]-n[1]),s=(t[0]-n[0])*a-i*(t[1]-n[1]);return o>0&&s<0||o<0&&s>0}function ar(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=[];for(let r=0;r<e[i].length;r++){let o=qn(e[i][r],n);Yn(t,o),a.push(o)}r.push(a)}return r}function or(e,t,n){let r=[];for(let i=0;i<e.length;i++){let a=ar(e[i],t,n);r.push(a)}return r}function sr(e,t,n,r){if(e[0]<n[0]||e[0]>n[2]){let t=.5*r,i=e[0]-n[0]>t?-r:n[0]-e[0]>t?r:0;i===0&&(i=e[0]-n[2]>t?-r:n[2]-e[0]>t?r:0),e[0]+=i}Yn(t,e)}function cr(e,t,n,r){let i=2**r.z*Kn,a=[r.x*Kn,r.y*Kn],o=[];for(let r of e)for(let e of r){let r=[e.x+a[0],e.y+a[1]];sr(r,t,n,i),o.push(r)}return o}function lr(e,t,n,r){let i=2**r.z*Kn,a=[r.x*Kn,r.y*Kn],o=[];for(let n of e){let e=[];for(let r of n){let n=[r.x+a[0],r.y+a[1]];Yn(t,n),e.push(n)}o.push(e)}if(t[2]-t[0]<=i/2){(s=t)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(let e of o)for(let r of e)sr(r,t,n,i)}var s;return o}class ur{constructor(e,t){this.type=it,this.geojson=e,this.geometries=t}static parse(e,t){if(e.length!==2)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(rn(e[1])){let t=e[1];if(t.type===`FeatureCollection`){let e=[];for(let n of t.features){let{type:t,coordinates:r}=n.geometry;t===`Polygon`&&e.push(r),t===`MultiPolygon`&&e.push(...r)}if(e.length)return new ur(t,{type:`MultiPolygon`,coordinates:e})}else if(t.type===`Feature`){let e=t.geometry.type;if(e===`Polygon`||e===`MultiPolygon`)return new ur(t,t.geometry)}else if(t.type===`Polygon`||t.type===`MultiPolygon`)return new ur(t,t)}return t.error(`'within' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return function(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=ar(t.coordinates,r,i),o=cr(e.geometry(),n,r,i);if(!Xn(n,r))return!1;for(let e of o)if(!er(e,a))return!1}if(t.type===`MultiPolygon`){let a=or(t.coordinates,r,i),o=cr(e.geometry(),n,r,i);if(!Xn(n,r))return!1;for(let e of o)if(!tr(e,a))return!1}return!0}(e,this.geometries);if(e.geometryType()===`LineString`)return function(e,t){let n=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if(t.type===`Polygon`){let a=ar(t.coordinates,r,i),o=lr(e.geometry(),n,r,i);if(!Xn(n,r))return!1;for(let e of o)if(!nr(e,a))return!1}if(t.type===`MultiPolygon`){let a=or(t.coordinates,r,i),o=lr(e.geometry(),n,r,i);if(!Xn(n,r))return!1;for(let e of o)if(!rr(e,a))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let dr=class{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=1+(e<<1),a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}};function fr(e,t,n=0,r=e.length-1,i=mr){for(;r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1);fr(e,t,Math.max(n,Math.floor(t-o*c/a+l)),Math.min(r,Math.floor(t+(a-o)*c/a+l)),i)}let a=e[t],o=n,s=r;for(pr(e,n,t),i(e[r],a)>0&&pr(e,n,r);o<s;){for(pr(e,o,s),o++,s--;i(e[o],a)<0;)o++;for(;i(e[s],a)>0;)s--}i(e[n],a)===0?pr(e,n,s):(s++,pr(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}}function pr(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function mr(e,t){return e<t?-1:+(e>t)}function hr(e,t){if(e.length<=1)return[e];let n=[],r,i;for(let t of e){let e=_r(t);e!==0&&(t.area=Math.abs(e),i===void 0&&(i=e<0),i===e<0?(r&&n.push(r),r=[t]):r.push(t))}if(r&&n.push(r),t>1)for(let e=0;e<n.length;e++)n[e].length<=t||(fr(n[e],t,1,n[e].length-1,gr),n[e]=n[e].slice(0,t));return n}function gr(e,t){return t.area-e.area}function _r(e){let t=0;for(let n,r,i=0,a=e.length,o=a-1;i<a;o=i++)n=e[i],r=e[o],t+=(r.x-n.x)*(n.y+r.y);return t}let vr=1/298.257223563,B=vr*(2-vr),V=Math.PI/180;class H{constructor(e){let t=6378.137*V*1e3,n=Math.cos(e*V),r=1/(1-B*(1-n*n)),i=Math.sqrt(r);this.kx=t*i*n,this.ky=t*i*r*(1-B)}distance(e,t){let n=this.wrap(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(e,t){let n,r,i,a,o=1/0;for(let s=0;s<e.length-1;s++){let c=e[s][0],l=e[s][1],u=this.wrap(e[s+1][0]-c)*this.kx,d=(e[s+1][1]-l)*this.ky,f=0;u===0&&d===0||(f=(this.wrap(t[0]-c)*this.kx*u+(t[1]-l)*this.ky*d)/(u*u+d*d),f>1?(c=e[s+1][0],l=e[s+1][1]):f>0&&(c+=u/this.kx*f,l+=d/this.ky*f)),u=this.wrap(t[0]-c)*this.kx,d=(t[1]-l)*this.ky;let p=u*u+d*d;p<o&&(o=p,n=c,r=l,i=s,a=f)}return{point:[n,r],index:i,t:Math.max(0,Math.min(1,a))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}}function yr(e,t){return t[0]-e[0]}function br(e){return e[1]-e[0]+1}function xr(e,t){return e[1]>=e[0]&&e[1]<t}function Sr(e,t){if(e[0]>e[1])return[null,null];let n=br(e);if(t){if(n===2)return[e,null];let t=Math.floor(n/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(n===1)return[e,null];let r=Math.floor(n/2)-1;return[[e[0],e[0]+r],[e[0]+r+1,e[1]]]}function Cr(e,t){if(!xr(t,e.length))return[1/0,1/0,-1/0,-1/0];let n=[1/0,1/0,-1/0,-1/0];for(let r=t[0];r<=t[1];++r)Yn(n,e[r]);return n}function wr(e){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)for(let e of n)Yn(t,e);return t}function Tr(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function Er(e,t,n){if(!Tr(e)||!Tr(t))return NaN;let r=0,i=0;return e[2]<t[0]&&(r=t[0]-e[2]),e[0]>t[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]<t[1]&&(i=t[1]-e[3]),n.distance([0,0],[r,i])}function Dr(e,t,n){let r=n.pointOnLine(t,e);return n.distance(e,r.point)}function Or(e,t,n,r,i){let a=Math.min(Dr(e,[n,r],i),Dr(t,[n,r],i)),o=Math.min(Dr(n,[e,t],i),Dr(r,[e,t],i));return Math.min(a,o)}function kr(e,t,n,r,i){if(!xr(t,e.length)||!xr(r,n.length))return 1/0;let a=1/0;for(let o=t[0];o<t[1];++o){let t=e[o],s=e[o+1];for(let e=r[0];e<r[1];++e){let r=n[e],o=n[e+1];if(Qn(t,s,r,o))return 0;a=Math.min(a,Or(t,s,r,o,i))}}return a}function Ar(e,t,n,r,i){if(!xr(t,e.length)||!xr(r,n.length))return NaN;let a=1/0;for(let o=t[0];o<=t[1];++o)for(let t=r[0];t<=r[1];++t)if(a=Math.min(a,i.distance(e[o],n[t])),a===0)return a;return a}function jr(e,t,n){if(er(e,t,!0))return 0;let r=1/0;for(let i of t){let t=i[0],a=i[i.length-1];if(t!==a&&(r=Math.min(r,Dr(e,[a,t],n)),r===0))return r;let o=n.pointOnLine(i,e);if(r=Math.min(r,n.distance(e,o.point)),r===0)return r}return r}function Mr(e,t,n,r){if(!xr(t,e.length))return NaN;for(let r=t[0];r<=t[1];++r)if(er(e[r],n,!0))return 0;let i=1/0;for(let a=t[0];a<t[1];++a){let t=e[a],o=e[a+1];for(let e of n)for(let n=0,a=e.length,s=a-1;n<a;s=n++){let a=e[s],c=e[n];if(Qn(t,o,a,c))return 0;i=Math.min(i,Or(t,o,a,c,r))}}return i}function Nr(e,t){for(let n of e)for(let e of n)if(er(e,t,!0))return!0;return!1}function Pr(e,t,n,r=1/0){let i=wr(e),a=wr(t);if(r!==1/0&&Er(i,a,n)>=r)return r;if(Xn(i,a)){if(Nr(e,t))return 0}else if(Nr(t,e))return 0;let o=1/0;for(let r of e)for(let e=0,i=r.length,a=i-1;e<i;a=e++){let i=r[a],s=r[e];for(let e of t)for(let t=0,r=e.length,a=r-1;t<r;a=t++){let r=e[a],c=e[t];if(Qn(i,s,r,c))return 0;o=Math.min(o,Or(i,s,r,c,n))}}return o}function Fr(e,t,n,r,i,a){if(!a)return;let o=Er(Cr(r,a),i,n);o<t&&e.push([o,a,[0,0]])}function Ir(e,t,n,r,i,a,o){if(!a||!o)return;let s=Er(Cr(r,a),Cr(i,o),n);s<t&&e.push([s,a,o])}function Lr(e,t,n,r,i=1/0){let a=Math.min(r.distance(e[0],n[0][0]),i);if(a===0)return a;let o=new dr([[0,[0,e.length-1],[0,0]]],yr),s=wr(n);for(;o.length>0;){let i=o.pop();if(i[0]>=a)continue;let c=i[1],l=t?50:100;if(br(c)<=l){if(!xr(c,e.length))return NaN;if(t){let t=Mr(e,c,n,r);if(isNaN(t)||t===0)return t;a=Math.min(a,t)}else for(let t=c[0];t<=c[1];++t){let i=jr(e[t],n,r);if(a=Math.min(a,i),a===0)return 0}}else{let n=Sr(c,t);Fr(o,a,r,e,s,n[0]),Fr(o,a,r,e,s,n[1])}}return a}function Rr(e,t,n,r,i,a=1/0){let o=Math.min(a,i.distance(e[0],n[0]));if(o===0)return o;let s=new dr([[0,[0,e.length-1],[0,n.length-1]]],yr);for(;s.length>0;){let a=s.pop();if(a[0]>=o)continue;let c=a[1],l=a[2],u=t?50:100,d=r?50:100;if(br(c)<=u&&br(l)<=d){if(!xr(c,e.length)&&xr(l,n.length))return NaN;let a;if(t&&r)a=kr(e,c,n,l,i),o=Math.min(o,a);else if(t&&!r){let t=e.slice(c[0],c[1]+1);for(let e=l[0];e<=l[1];++e)if(a=Dr(n[e],t,i),o=Math.min(o,a),o===0)return o}else if(!t&&r){let t=n.slice(l[0],l[1]+1);for(let n=c[0];n<=c[1];++n)if(a=Dr(e[n],t,i),o=Math.min(o,a),o===0)return o}else a=Ar(e,c,n,l,i),o=Math.min(o,a)}else{let a=Sr(c,t),u=Sr(l,r);Ir(s,o,i,e,n,a[0],u[0]),Ir(s,o,i,e,n,a[0],u[1]),Ir(s,o,i,e,n,a[1],u[0]),Ir(s,o,i,e,n,a[1],u[1])}}return o}function zr(e){return e.type===`MultiPolygon`?e.coordinates.map((e=>({type:`Polygon`,coordinates:e}))):e.type===`MultiLineString`?e.coordinates.map((e=>({type:`LineString`,coordinates:e}))):e.type===`MultiPoint`?e.coordinates.map((e=>({type:`Point`,coordinates:e}))):[e]}class Br{constructor(e,t){this.type=N,this.geojson=e,this.geometries=t}static parse(e,t){if(e.length!==2)return t.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(rn(e[1])){let t=e[1];if(t.type===`FeatureCollection`)return new Br(t,t.features.map((e=>zr(e.geometry))).flat());if(t.type===`Feature`)return new Br(t,zr(t.geometry));if(`type`in t&&`coordinates`in t)return new Br(t,zr(t))}return t.error(`'distance' expression requires valid geojson object that contains polygon geometry type.`)}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()===`Point`)return function(e,t){let n=e.geometry(),r=n.flat().map((t=>Jn([t.x,t.y],e.canonical)));if(n.length===0)return NaN;let i=new H(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,Rr(r,!1,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,Rr(r,!1,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,Lr(r,!1,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries);if(e.geometryType()===`LineString`)return function(e,t){let n=e.geometry(),r=n.flat().map((t=>Jn([t.x,t.y],e.canonical)));if(n.length===0)return NaN;let i=new H(r[0][1]),a=1/0;for(let e of t){switch(e.type){case`Point`:a=Math.min(a,Rr(r,!0,[e.coordinates],!1,i,a));break;case`LineString`:a=Math.min(a,Rr(r,!0,e.coordinates,!0,i,a));break;case`Polygon`:a=Math.min(a,Lr(r,!0,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries);if(e.geometryType()===`Polygon`)return function(e,t){let n=e.geometry();if(n.length===0||n[0].length===0)return NaN;let r=hr(n,0).map((t=>t.map((t=>t.map((t=>Jn([t.x,t.y],e.canonical))))))),i=new H(r[0][0][0][1]),a=1/0;for(let e of t)for(let t of r){switch(e.type){case`Point`:a=Math.min(a,Lr([e.coordinates],!1,t,i,a));break;case`LineString`:a=Math.min(a,Lr(e.coordinates,!0,t,i,a));break;case`Polygon`:a=Math.min(a,Pr(t,e.coordinates,i,a))}if(a===0)return a}return a}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class Vr{constructor(e){this.type=F,this.key=e}static parse(e,t){if(e.length!==2)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let n=e[1];return n==null?t.error(`Global state property must be defined.`):typeof n==`string`?new Vr(n):t.error(`Global state property must be string, but found ${typeof e[1]} instead.`)}evaluate(e){let t=e.globals?.globalState;return t&&Object.keys(t).length!==0?Ft(t,this.key):null}eachChild(){}outputDefined(){return!1}}let Hr={"==":Fn,"!=":In,">":Rn,"<":Ln,">=":Bn,"<=":zn,array:ln,at:_n,boolean:ln,case:z,coalesce:jn,collator:Vn,format:Un,image:Wn,in:vn,"index-of":yn,interpolate:On,"interpolate-hcl":On,"interpolate-lab":On,length:Gn,let:hn,literal:sn,match:bn,number:ln,"number-format":Hn,object:ln,slice:xn,step:Cn,string:ln,"to-boolean":dn,"to-color":dn,"to-number":dn,"to-string":dn,var:gn,within:ur,distance:Br,"global-state":Vr};class Ur{constructor(e,t,n,r){this.name=e,this.type=t,this._evaluate=n,this.args=r}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,t){let n=e[0],r=Ur.definitions[n];if(!r)return t.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);let i=Array.isArray(r)?r[0]:r.type,a=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=a.filter((([t])=>!Array.isArray(t)||t.length===e.length-1)),s=null;for(let[r,a]of o){s=new mn(t.registry,Jr,t.path,null,t.scope);let o=[],c=!1;for(let t=1;t<e.length;t++){let n=e[t],i=Array.isArray(r)?r[t-1]:r.type,a=s.parse(n,1+o.length,i);if(!a){c=!0;break}o.push(a)}if(!c)if(Array.isArray(r)&&r.length!==o.length)s.error(`Expected ${r.length} arguments, but found ${o.length} instead.`);else{for(let e=0;e<o.length;e++){let t=Array.isArray(r)?r[e]:r.type,n=o[e];s.concat(e+1).checkSubtype(t,n.type)}if(s.errors.length===0)return new Ur(n,i,a,o)}}if(o.length===1)t.errors.push(...s.errors);else{let n=(o.length?o:a).map((([e])=>{return t=e,Array.isArray(t)?`(${t.map(gt).join(`, `)})`:`(${gt(t.type)}...)`;var t})).join(` | `),r=[];for(let n=1;n<e.length;n++){let i=t.parse(e[n],1+r.length);if(!i)return null;r.push(gt(i.type))}t.error(`Expected arguments of type ${n}, but found (${r.join(`, `)}) instead.`)}return null}static register(e,t){Ur.definitions=t;for(let n in t)e[n]=Ur}}function Wr(e,[t,n,r,i]){t=t.evaluate(e),n=n.evaluate(e),r=r.evaluate(e);let a=i?i.evaluate(e):1,o=nn(t,n,r,a);if(o)throw new Zt(o);return new Ut(t/255,n/255,r/255,a,!1)}function Gr(e,t){return e in t}function Kr(e,t){let n=t[e];return n===void 0?null:n}function qr(e){return{type:e}}function Jr(e){if(e instanceof gn)return Jr(e.boundExpression);if(e instanceof Ur&&e.name===`error`||e instanceof Vn||e instanceof ur||e instanceof Br||e instanceof Vr)return!1;let t=e instanceof dn||e instanceof ln,n=!0;return e.eachChild((e=>{n=t?n&&Jr(e):n&&e instanceof sn})),!!n&&Yr(e)&&Zr(e,[`zoom`,`heatmap-density`,`elevation`,`line-progress`,`accumulated`,`is-supported-script`])}function Yr(e){if(e instanceof Ur&&(e.name===`get`&&e.args.length===1||e.name===`feature-state`||e.name===`has`&&e.args.length===1||e.name===`properties`||e.name===`geometry-type`||e.name===`id`||/^filter-/.test(e.name))||e instanceof ur||e instanceof Br)return!1;let t=!0;return e.eachChild((e=>{t&&!Yr(e)&&(t=!1)})),t}function Xr(e){if(e instanceof Ur&&e.name===`feature-state`)return!1;let t=!0;return e.eachChild((e=>{t&&!Xr(e)&&(t=!1)})),t}function Zr(e,t){if(e instanceof Ur&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild((e=>{n&&!Zr(e,t)&&(n=!1)})),n}function Qr(e){return{result:`success`,value:e}}function $r(e){return{result:`error`,value:e}}function ei(e){return e[`property-type`]===`data-driven`||e[`property-type`]===`cross-faded-data-driven`}function ti(e){return!!e.expression&&e.expression.parameters.indexOf(`zoom`)>-1}function ni(e){return!!e.expression&&e.expression.interpolated}function ri(e){return e instanceof Number?`number`:e instanceof String?`string`:e instanceof Boolean?`boolean`:Array.isArray(e)?`array`:e===null?`null`:typeof e}function ii(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&an(e)===st}function ai(e){return e}function oi(e,t){let n=e.stops&&typeof e.stops[0][0]==`object`,r=n||!(n||e.property!==void 0),i=e.type||(ni(t)?`exponential`:`interval`),a=function(e){switch(e.type){case`color`:return Ut.parse;case`padding`:return Jt.parse;case`numberArray`:return Yt.parse;case`colorArray`:return Xt.parse;default:return null}}(t);if(a&&((e=et({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],a(e[1])]))),e.default=a(e.default?e.default:t.default)),e.colorSpace&&(o=e.colorSpace)!==`rgb`&&o!==`hcl`&&o!==`lab`)throw Error(`Unknown color space: "${e.colorSpace}"`);var o;let s=function(e){switch(e){case`exponential`:return ui;case`interval`:return li;case`categorical`:return ci;case`identity`:return di;default:throw Error(`Unknown function type "${e}"`)}}(i),c,l;if(i===`categorical`){c=Object.create(null);for(let t of e.stops)c[t[0]]=t[1];l=typeof e.stops[0][0]}if(n){let n={},r=[];for(let t=0;t<e.stops.length;t++){let i=e.stops[t],a=i[0].zoom;n[a]===void 0&&(n[a]={zoom:a,type:e.type,property:e.property,default:e.default,stops:[]},r.push(a)),n[a].stops.push([i[0].value,i[1]])}let i=[];for(let e of r)i.push([n[e].zoom,oi(n[e],t)]);let a={name:`linear`};return{kind:`composite`,interpolationType:a,interpolationFactor:On.interpolationFactor.bind(void 0,a),zoomStops:i.map((e=>e[0])),evaluate:({zoom:n},r)=>ui({stops:i,base:e.base},t,n).evaluate(n,r)}}if(r){let n=i===`exponential`?{name:`exponential`,base:e.base===void 0?1:e.base}:null;return{kind:`camera`,interpolationType:n,interpolationFactor:On.interpolationFactor.bind(void 0,n),zoomStops:e.stops.map((e=>e[0])),evaluate:({zoom:n})=>s(e,t,n,c,l)}}return{kind:`source`,evaluate(n,r){let i=r&&r.properties?r.properties[e.property]:void 0;return i===void 0?si(e.default,t.default):s(e,t,i,c,l)}}}function si(e,t,n){return e===void 0?t===void 0?n===void 0?void 0:n:t:e}function ci(e,t,n,r,i){return si(typeof n===i?r[n]:void 0,e.default,t.default)}function li(e,t,n){if(ri(n)!==`number`)return si(e.default,t.default);let r=e.stops.length;if(r===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[r-1][0])return e.stops[r-1][1];let i=Sn(e.stops.map((e=>e[0])),n);return e.stops[i][1]}function ui(e,t,n){let r=e.base===void 0?1:e.base;if(ri(n)!==`number`)return si(e.default,t.default);let i=e.stops.length;if(i===1||n<=e.stops[0][0])return e.stops[0][1];if(n>=e.stops[i-1][0])return e.stops[i-1][1];let a=Sn(e.stops.map((e=>e[0])),n),o=function(e,t,n,r){let i=r-n,a=e-n;return i===0?0:t===1?a/i:(t**+a-1)/(t**+i-1)}(n,r,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],c=e.stops[a+1][1],l=An[t.type]||ai;return typeof s.evaluate==`function`?{evaluate(...t){let n=s.evaluate.apply(void 0,t),r=c.evaluate.apply(void 0,t);if(n!==void 0&&r!==void 0)return l(n,r,o,e.colorSpace)}}:l(s,c,o,e.colorSpace)}function di(e,t,n){switch(t.type){case`color`:n=Ut.parse(n);break;case`formatted`:n=qt.fromString(n.toString());break;case`resolvedImage`:n=en.fromString(n.toString());break;case`padding`:n=Jt.parse(n);break;case`colorArray`:n=Xt.parse(n);break;case`numberArray`:n=Yt.parse(n);break;default:ri(n)===t.type||t.type===`enum`&&t.values[n]||(n=void 0)}return si(n,e.default,t.default)}Ur.register(Hr,{error:[{kind:`error`},[P],(e,[t])=>{throw new Zt(t.evaluate(e))}],typeof:[P,[F],(e,[t])=>gt(an(t.evaluate(e)))],"to-rgba":[ht(N,4),[at],(e,[t])=>{let[n,r,i,a]=t.evaluate(e).rgb;return[255*n,255*r,255*i,a]}],rgb:[at,[N,N,N],Wr],rgba:[at,[N,N,N,N],Wr],has:{type:it,overloads:[[[P],(e,[t])=>Gr(t.evaluate(e),e.properties())],[[P,st],(e,[t,n])=>Gr(t.evaluate(e),n.evaluate(e))]]},get:{type:F,overloads:[[[P],(e,[t])=>Kr(t.evaluate(e),e.properties())],[[P,st],(e,[t,n])=>Kr(t.evaluate(e),n.evaluate(e))]]},"feature-state":[F,[P],(e,[t])=>Kr(t.evaluate(e),e.featureState||{})],properties:[st,[],e=>e.properties()],"geometry-type":[P,[],e=>e.geometryType()],id:[F,[],e=>e.id()],zoom:[N,[],e=>e.globals.zoom],"heatmap-density":[N,[],e=>e.globals.heatmapDensity||0],elevation:[N,[],e=>e.globals.elevation||0],"line-progress":[N,[],e=>e.globals.lineProgress||0],accumulated:[F,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[N,qr(N),(e,t)=>{let n=0;for(let r of t)n+=r.evaluate(e);return n}],"*":[N,qr(N),(e,t)=>{let n=1;for(let r of t)n*=r.evaluate(e);return n}],"-":{type:N,overloads:[[[N,N],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[N],(e,[t])=>-t.evaluate(e)]]},"/":[N,[N,N],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[N,[N,N],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[N,[],()=>Math.LN2],pi:[N,[],()=>Math.PI],e:[N,[],()=>Math.E],"^":[N,[N,N],(e,[t,n])=>t.evaluate(e)**+n.evaluate(e)],sqrt:[N,[N],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[N,[N],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[N,[N],(e,[t])=>Math.log(t.evaluate(e))],log2:[N,[N],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[N,[N],(e,[t])=>Math.sin(t.evaluate(e))],cos:[N,[N],(e,[t])=>Math.cos(t.evaluate(e))],tan:[N,[N],(e,[t])=>Math.tan(t.evaluate(e))],asin:[N,[N],(e,[t])=>Math.asin(t.evaluate(e))],acos:[N,[N],(e,[t])=>Math.acos(t.evaluate(e))],atan:[N,[N],(e,[t])=>Math.atan(t.evaluate(e))],min:[N,qr(N),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[N,qr(N),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[N,[N],(e,[t])=>Math.abs(t.evaluate(e))],round:[N,[N],(e,[t])=>{let n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[N,[N],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[N,[N],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[it,[P,F],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[it,[F],(e,[t])=>e.id()===t.value],"filter-type-==":[it,[P],(e,[t])=>e.geometryType()===t.value],"filter-<":[it,[P,F],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[it,[F],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<r}],"filter->":[it,[P,F],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[it,[F],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>r}],"filter-<=":[it,[P,F],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[it,[F],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n<=r}],"filter->=":[it,[P,F],(e,[t,n])=>{let r=e.properties()[t.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[it,[F],(e,[t])=>{let n=e.id(),r=t.value;return typeof n==typeof r&&n>=r}],"filter-has":[it,[F],(e,[t])=>t.value in e.properties()],"filter-has-id":[it,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[it,[ht(P)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[it,[ht(F)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[it,[P,ht(F)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[it,[P,ht(F)],(e,[t,n])=>function(e,t,n,r){for(;n<=r;){let i=n+r>>1;if(t[i]===e)return!0;t[i]>e?r=i-1:n=i+1}return!1}(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:it,overloads:[[[it,it],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[qr(it),(e,t)=>{for(let n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:it,overloads:[[[it,it],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[qr(it),(e,t)=>{for(let n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[it,[it],(e,[t])=>!t.evaluate(e)],"is-supported-script":[it,[P],(e,[t])=>{let n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[P,[P],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[P,[P],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[P,qr(F),(e,t)=>t.map((t=>on(t.evaluate(e)))).join(``)],split:[ht(P),[P,P],(e,[t,n])=>t.evaluate(e).split(n.evaluate(e))],join:[P,[ht(P),P],(e,[t,n])=>t.evaluate(e).join(n.evaluate(e))],"resolved-locale":[P,[ct],(e,[t])=>t.evaluate(e).resolvedLocale()]});class fi{constructor(e,t,n){this.expression=e,this._warningHistory={},this._evaluator=new pn,this._defaultValue=t?function(e){if(e.type===`color`&&ii(e.default))return new Ut(0,0,0,0);switch(e.type){case`color`:return Ut.parse(e.default)||null;case`padding`:return Jt.parse(e.default)||null;case`numberArray`:return Yt.parse(e.default)||null;case`colorArray`:return Xt.parse(e.default)||null;case`variableAnchorOffsetCollection`:return $t.parse(e.default)||null;case`projectionDefinition`:return tn.parse(e.default)||null;default:return e.default===void 0?null:e.default}}(t):null,this._enumValues=t&&t.type===`enum`?t.values:null,this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=bi(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,r,i,a){this._globalState&&(e=bi(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(e==null||typeof e==`number`&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new Zt(`Expected value to be one of ${Object.keys(this._enumValues).map((e=>JSON.stringify(e))).join(`, `)}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,typeof console<`u`&&console.warn(e.message)),this._defaultValue}}}function pi(e){return Array.isArray(e)&&e.length>0&&typeof e[0]==`string`&&e[0]in Hr}function mi(e,t,n){let r=new mn(Hr,Jr,[],t?function(e){let t={color:at,string:P,number:N,enum:P,boolean:it,formatted:lt,padding:ut,numberArray:ft,colorArray:dt,projectionDefinition:ot,resolvedImage:pt,variableAnchorOffsetCollection:mt};return e.type===`array`?ht(t[e.value]||F,e.length):t[e.type]}(t):void 0),i=r.parse(e,void 0,void 0,void 0,t&&t.type===`string`?{typeAnnotation:`coerce`}:void 0);return i?Qr(new fi(i,t,n)):$r(r.errors)}class hi{constructor(e,t,n){this.kind=e,this._styleExpression=t,this.isStateDependent=e!==`constant`&&!Xr(t.expression),this.globalStateRefs=yi(t.expression),this._globalState=n}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=bi(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=bi(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}}class gi{constructor(e,t,n,r,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent=e!==`camera`&&!Xr(t.expression),this.globalStateRefs=yi(t.expression),this.interpolationType=r,this._globalState=i}evaluateWithoutErrorHandling(e,t,n,r,i,a){return this._globalState&&(e=bi(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,n,r,i,a)}evaluate(e,t,n,r,i,a){return this._globalState&&(e=bi(e,this._globalState)),this._styleExpression.evaluate(e,t,n,r,i,a)}interpolationFactor(e,t,n){return this.interpolationType?On.interpolationFactor(this.interpolationType,e,t,n):0}}function _i(e,t,n){let r=mi(e,t,n);if(r.result===`error`)return r;let i=r.value.expression,a=Yr(i);if(!a&&!ei(t))return $r([new tt(``,`data expressions not supported`)]);let o=Zr(i,[`zoom`]);if(!o&&!ti(t))return $r([new tt(``,`zoom expressions not supported`)]);let s=vi(i);return s||o?s instanceof tt?$r([s]):s instanceof On&&!ni(t)?$r([new tt(``,`"interpolate" expressions cannot be used with this property`)]):Qr(s?new gi(a?`camera`:`composite`,r.value,s.labels,s instanceof On?s.interpolation:void 0,n):new hi(a?`constant`:`source`,r.value,n)):$r([new tt(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`)])}class U{constructor(e,t){this._parameters=e,this._specification=t,et(this,oi(this._parameters,this._specification))}static deserialize(e){return new U(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function vi(e){let t=null;if(e instanceof hn)t=vi(e.result);else if(e instanceof jn){for(let n of e.args)if(t=vi(n),t)break}else(e instanceof Cn||e instanceof On)&&e.input instanceof Ur&&e.input.name===`zoom`&&(t=e);return t instanceof tt||e.eachChild((e=>{let n=vi(e);n instanceof tt?t=n:!t&&n?t=new tt(``,`"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.`):t&&n&&t!==n&&(t=new tt(``,`Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.`))})),t}function yi(e,t=new Set){return e instanceof Vr&&t.add(e.key),e.eachChild((e=>{yi(e,t)})),t}function bi(e,t){let{zoom:n,heatmapDensity:r,elevation:i,lineProgress:a,isSupportedScript:o,accumulated:s}=e??{};return{zoom:n,heatmapDensity:r,elevation:i,lineProgress:a,isSupportedScript:o,accumulated:s,globalState:t}}function xi(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||e.length===0)return!1;switch(e[0]){case`has`:return e.length>=2&&e[1]!==`$id`&&e[1]!==`$type`;case`in`:return e.length>=3&&(typeof e[1]!=`string`||Array.isArray(e[2]));case`!in`:case`!has`:case`none`:return!1;case`==`:case`!=`:case`>`:case`>=`:case`<`:case`<=`:return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2]);case`any`:case`all`:for(let t of e.slice(1))if(!xi(t)&&typeof t!=`boolean`)return!1;return!0;default:return!0}}let Si={type:`boolean`,default:!1,transition:!1,"property-type":`data-driven`,expression:{interpolated:!1,parameters:[`zoom`,`feature`]}};function Ci(e,t){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};xi(e)||(e=Ei(e));let n=mi(e,Si,t);if(n.result===`error`)throw Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));return{filter:(e,t,r)=>n.value.evaluate(e,t,{},r),needGeometry:Ti(e),getGlobalStateRefs:()=>yi(n.value.expression)}}function wi(e,t){return e<t?-1:+(e>t)}function Ti(e){if(!Array.isArray(e))return!1;if(e[0]===`within`||e[0]===`distance`)return!0;for(let t=1;t<e.length;t++)if(Ti(e[t]))return!0;return!1}function Ei(e){if(!e)return!0;let t=e[0];return e.length<=1?t!==`any`:t===`==`?Di(e[1],e[2],`==`):t===`!=`?Ai(Di(e[1],e[2],`==`)):t===`<`||t===`>`||t===`<=`||t===`>=`?Di(e[1],e[2],t):t===`any`?(n=e.slice(1),[`any`].concat(n.map(Ei))):t===`all`?[`all`].concat(e.slice(1).map(Ei)):t===`none`?[`all`].concat(e.slice(1).map(Ei).map(Ai)):t===`in`?Oi(e[1],e.slice(2)):t===`!in`?Ai(Oi(e[1],e.slice(2))):t===`has`?ki(e[1]):t!==`!has`||Ai(ki(e[1]));var n}function Di(e,t,n){switch(e){case`$type`:return[`filter-type-${n}`,t];case`$id`:return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function Oi(e,t){if(t.length===0)return!1;switch(e){case`$type`:return[`filter-type-in`,[`literal`,t]];case`$id`:return[`filter-id-in`,[`literal`,t]];default:return t.length>200&&!t.some((e=>typeof e!=typeof t[0]))?[`filter-in-large`,e,[`literal`,t.sort(wi)]]:[`filter-in-small`,e,[`literal`,t]]}}function ki(e){switch(e){case`$type`:return!0;case`$id`:return[`filter-has-id`];default:return[`filter-has`,e]}}function Ai(e){return[`!`,e]}function ji(e){let t=typeof e;if(t===`number`||t===`boolean`||t===`string`||e==null)return JSON.stringify(e);if(Array.isArray(e)){let t=`[`;for(let n of e)t+=`${ji(n)},`;return`${t}]`}let n=Object.keys(e).sort(),r=`{`;for(let t=0;t<n.length;t++)r+=`${JSON.stringify(n[t])}:${ji(e[n[t]])},`;return`${r}}`}function Mi(e){let t=``;for(let n of Ue)t+=`/${ji(e[n])}`;return t}function Ni(e){let t=e.value;return t?[new M(e.key,t,`constants have been deprecated as of v8`)]:[]}function Pi(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function Fi(e){if(Array.isArray(e))return e.map(Fi);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let n in e)t[n]=Fi(e[n]);return t}return Pi(e)}function Ii(e){let t=e.key,n=e.value,r=e.valueSpec||{},i=e.objectElementValidators||{},a=e.style,o=e.styleSpec,s=e.validateSpec,c=[],l=ri(n);if(l!==`object`)return[new M(t,n,`object expected, ${l} found`)];for(let e in n){let l=e.split(`.`)[0],u=Ft(r,l)||r[`*`],d;if(Ft(i,l))d=i[l];else if(Ft(r,l)){if(n[e]===void 0)continue;d=s}else if(i[`*`])d=i[`*`];else{if(!r[`*`]){c.push(new M(t,n[e],`unknown property "${e}"`));continue}d=s}c=c.concat(d({key:(t&&`${t}.`)+e,value:n[e],valueSpec:u,style:a,styleSpec:o,object:n,objectKey:e,validateSpec:s},n))}for(let e in r)i[e]||r[e].required&&r[e].default===void 0&&n[e]===void 0&&c.push(new M(t,n,`missing required property "${e}"`));return c}function Li(e){let t=e.value,n=e.valueSpec,r=e.style,i=e.styleSpec,a=e.key,o=e.arrayElementValidator||e.validateSpec;if(ri(t)!==`array`)return[new M(a,t,`array expected, ${ri(t)} found`)];if(n.length&&t.length!==n.length)return[new M(a,t,`array length ${n.length} expected, length ${t.length} found`)];let s={type:n.value,values:n.values};i.$version<7&&(s.function=n.function),ri(n.value)===`object`&&(s=n.value);let c=[];for(let n=0;n<t.length;n++)c=c.concat(o({array:t,arrayIndex:n,value:t[n],valueSpec:s,validateSpec:e.validateSpec,style:r,styleSpec:i,key:`${a}[${n}]`}));return c}function Ri(e){let t=e.key,n=e.value,r=e.valueSpec,i=ri(n);return i===`number`&&n!=n&&(i=`NaN`),i===`number`?`minimum`in r&&n<r.minimum?[new M(t,n,`${n} is less than the minimum value ${r.minimum}`)]:`maximum`in r&&n>r.maximum?[new M(t,n,`${n} is greater than the maximum value ${r.maximum}`)]:[]:[new M(t,n,`number expected, ${i} found`)]}function zi(e){let t=e.valueSpec,n=Pi(e.value.type),r,i,a,o={},s=n!==`categorical`&&e.value.property===void 0,c=!s,l=ri(e.value.stops)===`array`&&ri(e.value.stops[0])===`array`&&ri(e.value.stops[0][0])===`object`,u=Ii({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if(n===`identity`)return[new M(e.key,e.value,`identity function may not have a "stops" property`)];let t=[],r=e.value;return t=t.concat(Li({key:e.key,value:r,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:d})),ri(r)===`array`&&r.length===0&&t.push(new M(e.key,r,`array must have at least one stop`)),t},default:function(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}});return n===`identity`&&s&&u.push(new M(e.key,e.value,`missing required property "property"`)),n===`identity`||e.value.stops||u.push(new M(e.key,e.value,`missing required property "stops"`)),n===`exponential`&&e.valueSpec.expression&&!ni(e.valueSpec)&&u.push(new M(e.key,e.value,`exponential functions not supported`)),e.styleSpec.$version>=8&&(c&&!ei(e.valueSpec)?u.push(new M(e.key,e.value,`property functions not supported`)):s&&!ti(e.valueSpec)&&u.push(new M(e.key,e.value,`zoom functions not supported`))),n!==`categorical`&&!l||e.value.property!==void 0||u.push(new M(e.key,e.value,`"property" property is required`)),u;function d(e){let n=[],r=e.value,s=e.key;if(ri(r)!==`array`)return[new M(s,r,`array expected, ${ri(r)} found`)];if(r.length!==2)return[new M(s,r,`array length 2 expected, length ${r.length} found`)];if(l){if(ri(r[0])!==`object`)return[new M(s,r,`object expected, ${ri(r[0])} found`)];if(r[0].zoom===void 0)return[new M(s,r,`object stop key must have zoom`)];if(r[0].value===void 0)return[new M(s,r,`object stop key must have value`)];if(a&&a>Pi(r[0].zoom))return[new M(s,r[0].zoom,`stop zoom values must appear in ascending order`)];Pi(r[0].zoom)!==a&&(a=Pi(r[0].zoom),i=void 0,o={}),n=n.concat(Ii({key:`${s}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:Ri,value:f}}))}else n=n.concat(f({key:`${s}[0]`,value:r[0],validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},r));return pi(Fi(r[1]))?n.concat([new M(`${s}[1]`,r[1],`expressions are not allowed in function stops.`)]):n.concat(e.validateSpec({key:`${s}[1]`,value:r[1],valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function f(e,a){let s=ri(e.value),c=Pi(e.value),l=e.value===null?a:e.value;if(r){if(s!==r)return[new M(e.key,l,`${s} stop domain type must match previous stop domain type ${r}`)]}else r=s;if(s!==`number`&&s!==`string`&&s!==`boolean`)return[new M(e.key,l,`stop domain value must be a number, string, or boolean`)];if(s!==`number`&&n!==`categorical`){let r=`number expected, ${s} found`;return ei(t)&&n===void 0&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new M(e.key,l,r)]}return n!==`categorical`||s!==`number`||isFinite(c)&&Math.floor(c)===c?n!==`categorical`&&s===`number`&&i!==void 0&&c<i?[new M(e.key,l,`stop domain values must appear in ascending order`)]:(i=c,n===`categorical`&&c in o?[new M(e.key,l,`stop domain values must be unique`)]:(o[c]=!0,[])):[new M(e.key,l,`integer expected, found ${c}`)]}}function Bi(e){let t=(e.expressionContext===`property`?_i:mi)(Fi(e.value),e.valueSpec);if(t.result===`error`)return t.value.map((t=>new M(`${e.key}${t.key}`,e.value,t.message)));let n=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext===`property`&&e.propertyKey===`text-font`&&!n.outputDefined())return[new M(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if(e.expressionContext===`property`&&e.propertyType===`layout`&&!Xr(n))return[new M(e.key,e.value,`"feature-state" data expressions are not supported with layout properties.`)];if(e.expressionContext===`filter`&&!Xr(n))return[new M(e.key,e.value,`"feature-state" data expressions are not supported with filters.`)];if(e.expressionContext&&e.expressionContext.indexOf(`cluster`)===0){if(!Zr(n,[`zoom`,`feature-state`]))return[new M(e.key,e.value,`"zoom" and "feature-state" expressions are not supported with cluster properties.`)];if(e.expressionContext===`cluster-initial`&&!Yr(n))return[new M(e.key,e.value,`Feature data expressions are not supported with initial expression part of cluster properties.`)]}return[]}function Vi(e){let t=e.key,n=e.value,r=ri(n);return r===`string`?Ut.parse(String(n))?[]:[new M(t,n,`color expected, "${n}" found`)]:[new M(t,n,`color expected, ${r} found`)]}function Hi(e){let t=e.key,n=e.value,r=e.valueSpec,i=[];return Array.isArray(r.values)?r.values.indexOf(Pi(n))===-1&&i.push(new M(t,n,`expected one of [${r.values.join(`, `)}], ${JSON.stringify(n)} found`)):Object.keys(r.values).indexOf(Pi(n))===-1&&i.push(new M(t,n,`expected one of [${Object.keys(r.values).join(`, `)}], ${JSON.stringify(n)} found`)),i}function Ui(e){return xi(Fi(e.value))?Bi(et({},e,{expressionContext:`filter`,valueSpec:{value:`boolean`}})):Wi(e)}function Wi(e){let t=e.value,n=e.key;if(ri(t)!==`array`)return[new M(n,t,`array expected, ${ri(t)} found`)];let r=e.styleSpec,i,a=[];if(t.length<1)return[new M(n,t,`filter array must have at least 1 element`)];switch(a=a.concat(Hi({key:`${n}[0]`,value:t[0],valueSpec:r.filter_operator,style:e.style,styleSpec:e.styleSpec})),Pi(t[0])){case`<`:case`<=`:case`>`:case`>=`:t.length>=2&&Pi(t[1])===`$type`&&a.push(new M(n,t,`"$type" cannot be use with operator "${t[0]}"`));case`==`:case`!=`:t.length!==3&&a.push(new M(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case`in`:case`!in`:t.length>=2&&(i=ri(t[1]),i!==`string`&&a.push(new M(`${n}[1]`,t[1],`string expected, ${i} found`)));for(let o=2;o<t.length;o++)i=ri(t[o]),Pi(t[1])===`$type`?a=a.concat(Hi({key:`${n}[${o}]`,value:t[o],valueSpec:r.geometry_type,style:e.style,styleSpec:e.styleSpec})):i!==`string`&&i!==`number`&&i!==`boolean`&&a.push(new M(`${n}[${o}]`,t[o],`string, number, or boolean expected, ${i} found`));break;case`any`:case`all`:case`none`:for(let r=1;r<t.length;r++)a=a.concat(Wi({key:`${n}[${r}]`,value:t[r],style:e.style,styleSpec:e.styleSpec}));break;case`has`:case`!has`:i=ri(t[1]),t.length===2?i!==`string`&&a.push(new M(`${n}[1]`,t[1],`string expected, ${i} found`)):a.push(new M(n,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function Gi(e,t){let n=e.key,r=e.validateSpec,i=e.style,a=e.styleSpec,o=e.value,s=e.objectKey,c=a[`${t}_${e.layerType}`];if(!c)return[];let l=s.match(/^(.*)-transition$/);if(t===`paint`&&l&&c[l[1]]&&c[l[1]].transition)return r({key:n,value:o,valueSpec:a.transition,style:i,styleSpec:a});let u=e.valueSpec||c[s];if(!u)return[new M(n,o,`unknown property "${s}"`)];let d;if(ri(o)===`string`&&ei(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(o)))return[new M(n,o,`"${s}" does not support interpolation syntax\nUse an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(d[1])} }\`.`)];let f=[];return e.layerType===`symbol`&&s===`text-font`&&ii(Fi(o))&&Pi(o.type)===`identity`&&f.push(new M(n,o,`"text-font" does not support identity functions`)),f.concat(r({key:e.key,value:o,valueSpec:u,style:i,styleSpec:a,expressionContext:`property`,propertyType:t,propertyKey:s}))}function Ki(e){return Gi(e,`paint`)}function qi(e){return Gi(e,`layout`)}function Ji(e){var t,n;let r=[],i=e.value,a=e.key,o=e.style,s=e.styleSpec;if(ri(i)!==`object`)return[new M(a,i,`object expected, ${ri(i)} found`)];i.type||i.ref||r.push(new M(a,i,`either "type" or "ref" is required`));let c=Pi(i.type),l=Pi(i.ref);if(i.id){let t=Pi(i.id);for(let n=0;n<e.arrayIndex;n++){let e=o.layers[n];Pi(e.id)===t&&r.push(new M(a,i.id,`duplicate layer id "${i.id}", previously used at line ${e.id.__line__}`))}}if(`ref`in i){let e;[`type`,`source`,`source-layer`,`filter`,`layout`].forEach((e=>{e in i&&r.push(new M(a,i[e],`"${e}" is prohibited for ref layers`))})),o.layers.forEach((t=>{Pi(t.id)===l&&(e=t)})),e?e.ref?r.push(new M(a,i.ref,`ref cannot reference another ref layer`)):c=Pi(e.type):r.push(new M(a,i.ref,`ref layer "${l}" not found`))}else if(c!==`background`)if(i.source){let e=o.sources&&o.sources[i.source],t=e&&Pi(e.type);e?t===`vector`&&c===`raster`?r.push(new M(a,i.source,`layer "${i.id}" requires a raster source`)):t!==`raster-dem`&&c===`hillshade`||t!==`raster-dem`&&c===`color-relief`?r.push(new M(a,i.source,`layer "${i.id}" requires a raster-dem source`)):t===`raster`&&c!==`raster`?r.push(new M(a,i.source,`layer "${i.id}" requires a vector source`)):t!==`vector`||i[`source-layer`]?t===`raster-dem`&&c!==`hillshade`&&c!==`color-relief`?r.push(new M(a,i.source,`raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.`)):c!==`line`||!i.paint||!i.paint[`line-gradient`]||t===`geojson`&&e.lineMetrics||r.push(new M(a,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):r.push(new M(a,i,`layer "${i.id}" must specify a "source-layer"`)):r.push(new M(a,i.source,`source "${i.source}" not found`))}else r.push(new M(a,i,`missing required property "source"`));return c===`raster`&&(t=i.paint)!=null&&t.resampling&&(n=i.paint)!=null&&n[`raster-resampling`]&&r.push(new M(a,i.paint,`layer "${i.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),r=r.concat(Ii({key:a,value:i,valueSpec:s.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":()=>[],type:()=>e.validateSpec({key:`${a}.type`,value:i.type,valueSpec:s.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:i,objectKey:`type`}),filter:Ui,layout:e=>Ii({layer:i,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>qi(et({layerType:c},e))}}),paint:e=>Ii({layer:i,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>Ki(et({layerType:c},e))}})}})),r}function Yi(e){let t=e.value,n=e.key,r=ri(t);return r===`string`?[]:[new M(n,t,`string expected, ${r} found`)]}let Xi={promoteId:function({key:e,value:t}){if(ri(t)===`string`)return Yi({key:e,value:t});{let n=[];for(let r in t)n.push(...Yi({key:`${e}.${r}`,value:t[r]}));return n}}};function Zi(e){let t=e.value,n=e.key,r=e.styleSpec,i=e.style,a=e.validateSpec;if(!t.type)return[new M(n,t,`"type" is required`)];let o=Pi(t.type),s;switch(o){case`vector`:case`raster`:return s=Ii({key:n,value:t,valueSpec:r[`source_${o.replace(`-`,`_`)}`],style:e.style,styleSpec:r,objectElementValidators:Xi,validateSpec:a}),s;case`raster-dem`:return s=function(e){let t=e.sourceName??``,n=e.value,r=e.styleSpec,i=r.source_raster_dem,a=e.style,o=[],s=ri(n);if(n===void 0)return o;if(s!==`object`)return o.push(new M(`source_raster_dem`,n,`object expected, ${s} found`)),o;let c=Pi(n.encoding)===`custom`,l=[`redFactor`,`greenFactor`,`blueFactor`,`baseShift`],u=e.value.encoding?`"${e.value.encoding}"`:`Default`;for(let s in n)!c&&l.includes(s)?o.push(new M(s,n[s],`In "${t}": "${s}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):i[s]?o=o.concat(e.validateSpec({key:s,value:n[s],valueSpec:i[s],validateSpec:e.validateSpec,style:a,styleSpec:r})):o.push(new M(s,n[s],`unknown property "${s}"`));return o}({sourceName:n,value:t,style:e.style,styleSpec:r,validateSpec:a}),s;case`geojson`:if(s=Ii({key:n,value:t,valueSpec:r.source_geojson,style:i,styleSpec:r,validateSpec:a,objectElementValidators:Xi}),t.cluster)for(let e in t.clusterProperties){let[r,i]=t.clusterProperties[e],a=typeof r==`string`?[r,[`accumulated`],[`get`,e]]:r;s.push(...Bi({key:`${n}.${e}.map`,value:i,expressionContext:`cluster-map`})),s.push(...Bi({key:`${n}.${e}.reduce`,value:a,expressionContext:`cluster-reduce`}))}return s;case`video`:return Ii({key:n,value:t,valueSpec:r.source_video,style:i,validateSpec:a,styleSpec:r});case`image`:return Ii({key:n,value:t,valueSpec:r.source_image,style:i,validateSpec:a,styleSpec:r});case`canvas`:return[new M(n,null,`Please use runtime APIs to add canvas sources, rather than including them in stylesheets.`,`source.canvas`)];default:return Hi({key:`${n}.type`,value:t.type,valueSpec:{values:[`vector`,`raster`,`raster-dem`,`geojson`,`video`,`image`]}})}}function Qi(e){let t=e.value,n=e.styleSpec,r=n.light,i=e.style,a=[],o=ri(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new M(`light`,t,`object expected, ${o} found`)]),a;for(let o in t){let s=o.match(/^(.*)-transition$/);a=a.concat(s&&r[s[1]]&&r[s[1]].transition?e.validateSpec({key:o,value:t[o],valueSpec:n.transition,validateSpec:e.validateSpec,style:i,styleSpec:n}):r[o]?e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n}):[new M(o,t[o],`unknown property "${o}"`)])}return a}function $i(e){let t=e.value,n=e.styleSpec,r=n.sky,i=e.style,a=ri(t);if(t===void 0)return[];if(a!==`object`)return[new M(`sky`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(r[a]?e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n}):[new M(a,t[a],`unknown property "${a}"`)]);return o}function ea(e){let t=e.value,n=e.styleSpec,r=n.terrain,i=e.style,a=[],o=ri(t);if(t===void 0)return a;if(o!==`object`)return a=a.concat([new M(`terrain`,t,`object expected, ${o} found`)]),a;for(let o in t)a=a.concat(r[o]?e.validateSpec({key:o,value:t[o],valueSpec:r[o],validateSpec:e.validateSpec,style:i,styleSpec:n}):[new M(o,t[o],`unknown property "${o}"`)]);return a}function ta(e){let t=[],n=e.value,r=e.key;if(Array.isArray(n)){let i=[],a=[];for(let o in n)n[o].id&&i.includes(n[o].id)&&t.push(new M(r,n,`all the sprites' ids must be unique, but ${n[o].id} is duplicated`)),i.push(n[o].id),n[o].url&&a.includes(n[o].url)&&t.push(new M(r,n,`all the sprites' URLs must be unique, but ${n[o].url} is duplicated`)),a.push(n[o].url),t=t.concat(Ii({key:`${r}[${o}]`,value:n[o],valueSpec:{id:{type:`string`,required:!0},url:{type:`string`,required:!0}},validateSpec:e.validateSpec}));return t}return Yi({key:r,value:n})}function na(e){return!!e&&e.constructor===Object}function ra(e){return na(e.value)?[]:[new M(e.key,e.value,`object expected, ${ri(e.value)} found`)]}let ia={"*":()=>[],array:Li,boolean:function(e){let t=e.value,n=e.key,r=ri(t);return r===`boolean`?[]:[new M(n,t,`boolean expected, ${r} found`)]},number:Ri,color:Vi,constants:Ni,enum:Hi,filter:Ui,function:zi,layer:Ji,object:Ii,source:Zi,light:Qi,sky:$i,terrain:ea,projection:function(e){let t=e.value,n=e.styleSpec,r=n.projection,i=e.style,a=ri(t);if(t===void 0)return[];if(a!==`object`)return[new M(`projection`,t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(r[a]?e.validateSpec({key:a,value:t[a],valueSpec:r[a],style:i,styleSpec:n}):[new M(a,t[a],`unknown property "${a}"`)]);return o},projectionDefinition:function(e){let t=e.key,n=e.value;n=n instanceof String?n.valueOf():n;let r=ri(n);return r!==`array`||function(e){return Array.isArray(e)&&e.length===3&&typeof e[0]==`string`&&typeof e[1]==`string`&&typeof e[2]==`number`}(n)||function(e){return!![`interpolate`,`step`,`literal`].includes(e[0])}(n)?[`array`,`string`].includes(r)?[]:[new M(t,n,`projection expected, invalid type "${r}" found`)]:[new M(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]},string:Yi,formatted:function(e){return Yi(e).length===0?[]:Bi(e)},resolvedImage:function(e){return Yi(e).length===0?[]:Bi(e)},padding:function(e){let t=e.key,n=e.value;if(ri(n)===`array`){if(n.length<1||n.length>4)return[new M(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];let r={type:`number`},i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return Ri({key:t,value:n,valueSpec:{}})},numberArray:function(e){let t=e.key,n=e.value;if(ri(n)===`array`){let r={type:`number`};if(n.length<1)return[new M(t,n,`array length at least 1 expected, length 0 found`)];let i=[];for(let a=0;a<n.length;a++)i=i.concat(e.validateSpec({key:`${t}[${a}]`,value:n[a],validateSpec:e.validateSpec,valueSpec:r}));return i}return Ri({key:t,value:n,valueSpec:{}})},colorArray:function(e){let t=e.key,n=e.value;if(ri(n)===`array`){if(n.length<1)return[new M(t,n,`array length at least 1 expected, length 0 found`)];let e=[];for(let r=0;r<n.length;r++)e=e.concat(Vi({key:`${t}[${r}]`,value:n[r]}));return e}return Vi({key:t,value:n})},variableAnchorOffsetCollection:function(e){let t=e.key,n=e.value,r=ri(n),i=e.styleSpec;if(r!==`array`||n.length<1||n.length%2!=0)return[new M(t,n,`variableAnchorOffsetCollection requires a non-empty array of even length`)];let a=[];for(let r=0;r<n.length;r+=2)a=a.concat(Hi({key:`${t}[${r}]`,value:n[r],valueSpec:i.layout_symbol[`text-anchor`]})),a=a.concat(Li({key:`${t}[${r+1}]`,value:n[r+1],valueSpec:{length:2,value:`number`},validateSpec:e.validateSpec,style:e.style,styleSpec:i}));return a},sprite:ta,state:ra,fontFaces:function(e){let t=e.key,n=e.value,r=e.validateSpec,i=e.styleSpec,a=e.style;if(!na(n))return[new M(t,n,`object expected, ${ri(n)} found`)];let o=[];for(let e in n){let s=n[e],c=ri(s);if(c===`string`)o.push(...Yi({key:`${t}.${e}`,value:s}));else if(c===`array`){let n={url:{type:`string`,required:!0},"unicode-range":{type:`array`,value:`string`}};for(let[c,l]of s.entries())o.push(...Ii({key:`${t}.${e}[${c}]`,value:l,valueSpec:n,styleSpec:i,style:a,validateSpec:r}))}else o.push(new M(`${t}.${e}`,s,`string or array expected, ${c} found`))}return o}};function aa(e){let t=e.value,n=e.valueSpec,r=e.styleSpec;return e.validateSpec=aa,n.expression&&ii(Pi(t))?zi(e):n.expression&&pi(Fi(t))?Bi(e):n.type&&ia[n.type]?ia[n.type](e):Ii(et({},e,{valueSpec:n.type?r[n.type]:n}))}function oa(e){let t=e.value,n=e.key,r=Yi(e);return r.length||(t.indexOf(`{fontstack}`)===-1&&r.push(new M(n,t,`"glyphs" url must include a "{fontstack}" token`)),t.indexOf(`{range}`)===-1&&r.push(new M(n,t,`"glyphs" url must include a "{range}" token`))),r}function sa(e,t=j){let n=[];return n=n.concat(aa({key:``,value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:aa,objectElementValidators:{glyphs:oa,"*":()=>[]}})),e.constants&&(n=n.concat(Ni({key:`constants`,value:e.constants}))),la(n)}function ca(e){return function(t){return e(Object.assign({},t,{validateSpec:aa}))}}function la(e){return[].concat(e).sort(((e,t)=>e.line-t.line))}function ua(e){return function(...t){return la(e.apply(this,t))}}sa.source=ua(ca(Zi)),sa.sprite=ua(ca(ta)),sa.glyphs=ua(ca(oa)),sa.light=ua(ca(Qi)),sa.sky=ua(ca($i)),sa.terrain=ua(ca(ea)),sa.state=ua(ca(ra)),sa.layer=ua(ca(Ji)),sa.filter=ua(ca(Ui)),sa.paintProperty=ua(ca(Ki)),sa.layoutProperty=ua(ca(qi));let W={type:`enum`,"property-type":`data-constant`,expression:{interpolated:!1,parameters:[`global-state`]},values:{visible:{},none:{}},transition:!1,default:`visible`};class da{constructor(e,t){this._globalState=t,this.setValue(e)}evaluate(){return this._literalValue??this._compiledValue.evaluate({})}setValue(e){if(e==null||e===`visible`||e===`none`)return this._literalValue=e===`none`?`none`:`visible`,this._compiledValue=void 0,void(this._globalStateRefs=new Set);let t=mi(e,W,this._globalState);if(t.result===`error`)throw this._literalValue=`visible`,this._compiledValue=void 0,Error(t.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=yi(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}}let fa=j,pa=sa,G=pa.light,K=pa.sky,ma=pa.paintProperty,ha=pa.layoutProperty;function ga(e,t){let n=!1;if(t?.length)for(let r of t)e.fire(new Ve(Error(r.message))),n=!0;return n}class _a{constructor(e,t,n){let r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],this.d=(t=i[1])+2*(n=i[2]);for(let e=0;e<this.d*this.d;e++){let t=i[3+e],n=i[3+e+1];r.push(t===n?null:i.subarray(t,n))}let a=i[3+r.length+1];this.keys=i.subarray(i[3+r.length],a),this.bboxes=i.subarray(a),this.insert=this._insertReadonly}else{this.d=t+2*n;for(let e=0;e<this.d*this.d;e++)r.push([]);this.keys=[],this.bboxes=[]}this.n=t,this.extent=e,this.padding=n,this.scale=t/e,this.uid=0;let i=n/t*e;this.min=-i,this.max=e+i}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertCell,this.uid++,void 0,void 0),this.keys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}_insertReadonly(){throw Error(`Cannot insert into a GridIndex created from an ArrayBuffer.`)}_insertCell(e,t,n,r,i,a){this.cells[i].push(a)}query(e,t,n,r,i){let a=this.min,o=this.max;if(e<=a&&t<=a&&o<=n&&o<=r&&!i)return[...this.keys];{let a=[];return this._forEachCell(e,t,n,r,this._queryCell,a,{},i),a}}_queryCell(e,t,n,r,i,a,o,s){let c=this.cells[i];if(c!==null){let i=this.keys,l=this.bboxes;for(let u of c)if(o[u]===void 0){let c=4*u;(s?s(l[c+0],l[c+1],l[c+2],l[c+3]):e<=l[c+2]&&t<=l[c+3]&&n>=l[c+0]&&r>=l[c+1])?(o[u]=!0,a.push(i[u])):o[u]=!1}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToCellCoord(e),l=this._convertToCellCoord(t),u=this._convertToCellCoord(n),d=this._convertToCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++){let l=this.d*c+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(c),this._convertFromCellCoord(f+1),this._convertFromCellCoord(c+1)))&&i.call(this,e,t,n,r,l,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,n=0;for(let e of this.cells)n+=e.length;let r=new Int32Array(t+n+this.keys.length+this.bboxes.length);r[0]=this.extent,r[1]=this.n,r[2]=this.padding;let i=t;for(let t=0;t<e.length;t++){let n=e[t];r[3+t]=i,r.set(n,i),i+=n.length}return r[3+e.length]=i,r.set(this.keys,i),i+=this.keys.length,r[3+e.length+1]=i,r.set(this.bboxes,i),i+=this.bboxes.length,r.buffer}static serialize(e,t){let n=e.toArrayBuffer();return t&&t.push(n),{buffer:n}}static deserialize(e){return new _a(e.buffer)}}let va={};function q(e,t,n={}){if(va[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),va[e]={klass:t,omit:n.omit||[],shallow:n.shallow||[]}}q(`Object`,Object),q(`Set`,Set),q(`TransferableGridIndex`,_a),q(`Color`,Ut),q(`Error`,Error),q(`AJAXError`,Pe),q(`ResolvedImage`,en),q(`StylePropertyFunction`,U),q(`StyleExpression`,fi,{omit:[`_evaluator`]}),q(`ZoomDependentExpression`,gi),q(`ZoomConstantExpression`,hi),q(`CompoundExpression`,Ur,{omit:[`_evaluate`]});for(let e in Hr)Hr[e]._classRegistryKey||q(`Expression_${e}`,Hr[e]);function ya(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor?.name===`ArrayBuffer`)}function ba(e){return e.$name||e.constructor._classRegistryKey}function xa(e){return!function(e){if(typeof e!=`object`||!e)return!1;let t=ba(e);return t&&t!==`Object`}(e)&&(e==null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof Blob||e instanceof Error||ya(e)||_e(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function Sa(e,t){if(xa(e))return(ya(e)||_e(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let n=[];for(let r of e)n.push(Sa(r,t));return n}if(typeof e!=`object`)throw Error(`can't serialize object of type `+typeof e);let n=ba(e);if(!n)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!va[n])throw Error(`${n} is not registered.`);let{klass:r}=va[n],i=r.serialize?r.serialize(e,t):{};if(r.serialize){if(i===t?.[t.length-1])throw Error(`statically serialized object won't survive transfer of $name property`)}else{for(let r in e){if(!e.hasOwnProperty(r)||va[n].omit.includes(r))continue;let a=e[r];i[r]=va[n].shallow.includes(r)?a:Sa(a,t)}e instanceof Error&&(i.message=e.message)}if(i.$name)throw Error(`$name property is reserved for worker serialization logic.`);return n!==`Object`&&(i.$name=n),i}function Ca(e){if(xa(e))return e;if(Array.isArray(e))return e.map(Ca);if(typeof e!=`object`)throw Error(`can't deserialize object of type `+typeof e);let t=ba(e)||`Object`;if(!va[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:n}=va[t];if(!n)throw Error(`can't deserialize unregistered class ${t}`);if(n.deserialize)return n.deserialize(e);let r=Object.create(n.prototype);for(let n of Object.keys(e)){if(n===`$name`)continue;let i=e[n];r[n]=va[t].shallow.includes(n)?i:Ca(i)}return r}class wa{constructor(){this.first=!0}update(e,t){let n=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=n,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=n,!0):(this.lastFloorZoom>n?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<n&&(this.lastIntegerZoom=n,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=n,!0))}}function Ta(e){return/[\u02EA\u02EB\u2E80-\u2FDF\u2FF0-\u303F\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FD-\u30FF\u3105-\u312F\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function Ea(e){return/[\u02EA\u02EB\u1100-\u11FF\u1400-\u167F\u18B0-\u18F5\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u3007\u3012\u3013\u3020-\u302F\u3031-\u303F\u3041-\u3096\u309D-\u30FB\u30FD-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE48\uFE50-\uFE57\uFE5F-\uFE62\uFE67-\uFE6F\uFF00-\uFF07\uFF0A-\uFF0C\uFF0E-\uFF19\uFF1F-\uFF3A\uFF3C\uFF3E\uFF40-\uFF5A\uFFE0-\uFFE2\uFFE4-\uFFE7]|\uD802[\uDD80-\uDD9F]|\uD805[\uDD80-\uDDFF]|\uD806[\uDE00-\uDEBF]|\uD811[\uDC00-\uDE7F]|\uD81B[\uDFE0-\uDFE4\uDFF0-\uDFF6]|[\uD81C-\uD822\uD83D\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD30-\uDEFB]|\uD833[\uDEC0-\uDFCF]|\uD834[\uDC00-\uDDFF\uDEE0-\uDF7F]|\uD836[\uDC00-\uDEAF]|\uD83C[\uDC00-\uDE00\uDF00-\uDFFF]|\uD83E[\uDD00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))}function Da(e){return/\s/u.test(String.fromCodePoint(e))}function Oa(e){for(let t of e)if(Ea(t.codePointAt(0)))return!0;return!1}function ka(e){for(let t of e)if(!Ma(t.codePointAt(0)))return!1;return!0}function Aa(e){let t=e.map((e=>{try{return RegExp(`\\p{sc=${e}}`,`u`).source}catch{return null}})).filter((e=>e));return new RegExp(t.join(`|`),`u`)}let ja=Aa([`Arab`,`Dupl`,`Mong`,`Ougr`,`Syrc`]);function Ma(e){return!ja.test(String.fromCodePoint(e))}function J(e){return!(Ea(e)||(t=e,/[\xA7\xA9\xAE\xB1\xBC-\xBE\xD7\xF7\u2016\u2020\u2021\u2030\u2031\u203B\u203C\u2042\u2047-\u2049\u2051\u2100-\u218F\u221E\u2234\u2235\u2300-\u2307\u230C-\u231F\u2324-\u2328\u232B\u237D-\u239A\u23BE-\u23CD\u23CF\u23D1-\u23DB\u23E2-\u2422\u2424-\u24FF\u25A0-\u2619\u2620-\u2767\u2776-\u2793\u2B12-\u2B2F\u2B50-\u2B59\u2BB8-\u2BEB\u3000-\u303F\u30A0-\u30FF\uE000-\uF8FF\uFE30-\uFE6F\uFF00-\uFFEF\uFFFC\uFFFD]|[\uDB80-\uDBFF][\uDC00-\uDFFF]/gim.test(String.fromCodePoint(t))));var t}let Na=Aa(`Adlm.Arab.Armi.Avst.Chrs.Cprt.Egyp.Elym.Gara.Hatr.Hebr.Hung.Khar.Lydi.Mand.Mani.Mend.Merc.Mero.Narb.Nbat.Nkoo.Orkh.Palm.Phli.Phlp.Phnx.Prti.Rohg.Samr.Sarb.Sogo.Syrc.Thaa.Todr.Yezi`.split(`.`));function Pa(e){return Na.test(String.fromCodePoint(e))}function Fa(e,t){return!(!t&&Pa(e)||/[\u0900-\u0DFF\u0F00-\u109F\u1780-\u17FF]/gim.test(String.fromCodePoint(e)))}function Ia(e){for(let t of e)if(Pa(t.codePointAt(0)))return!0;return!1}let La=new class{constructor(){this.TIMEOUT=5e3,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=`unavailable`,this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){if(La.isParsed())throw Error(`RTL text plugin already registered.`);this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}syncState(e,n){return t(this,void 0,void 0,(function*(){if(this.isParsed())return this.getState();if(e.pluginStatus!==`loading`)return this.setState(e),e;let t=e.pluginURL,r=new Promise((e=>{this.loadScriptResolve=e}));n(t);let i=new Promise((e=>setTimeout((()=>e()),this.TIMEOUT)));if(yield Promise.race([r,i]),this.isParsed()){let e={pluginStatus:`loaded`,pluginURL:t};return this.setState(e),e}throw this.setState({pluginStatus:`error`,pluginURL:``}),Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}};class Ra{constructor(e,t){this.isSupportedScript=za,this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new wa,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wa,this.transition={})}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),n=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*n}:{fromScale:.5,toScale:1,t:1-(1-n)*t}}}function za(e){return function(e,t){for(let n of e)if(!Fa(n.codePointAt(0),t))return!1;return!0}(e,La.getRTLTextPluginStatus()===`loaded`)}let Ba=`-transition`;class Va{constructor(e,t,n){this.property=e,this.value=t,this.expression=function(e,t,n){if(ii(e))return new U(e,t);if(pi(e)){let r=_i(e,t,n);if(r.result===`error`)throw Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));return r.value}{let n=e;return t.type===`color`&&typeof e==`string`?n=Ut.parse(e):t.type!==`padding`||typeof e!=`number`&&!Array.isArray(e)?t.type!==`numberArray`||typeof e!=`number`&&!Array.isArray(e)?t.type!==`colorArray`||typeof e!=`string`&&!Array.isArray(e)?t.type===`variableAnchorOffsetCollection`&&Array.isArray(e)?n=$t.parse(e):t.type===`projectionDefinition`&&typeof e==`string`&&(n=tn.parse(e)):n=Xt.parse(e):n=Yt.parse(e):n=Jt.parse(e),{globalStateRefs:new Set,_globalState:null,kind:`constant`,evaluate:()=>n}}}(t===void 0?e.specification.default:t,e.specification,n)}isDataDriven(){return this.expression.kind===`source`||this.expression.kind===`composite`}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}possiblyEvaluate(e,t,n){return this.property.possiblyEvaluate(this,e,t,n)}}class Ha{constructor(e,t){this.property=e,this.value=new Va(e,void 0,t)}transitioned(e,t){return new Wa(this.property,this.value,t,se({},e.transition,this.transition),e.now)}untransitioned(){return new Wa(this.property,this.value,null,{},0)}}class Ua{constructor(e,t){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=t}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return de(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new Ha(this._values[e].property,this._globalState)),this._values[e].value=new Va(this._values[e].property,t===null?void 0:de(t),this._globalState)}getTransition(e){return de(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new Ha(this._values[e].property,this._globalState)),this._values[e].transition=de(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n);let r=this.getTransition(t);r!==void 0&&(e[`${t}${Ba}`]=r)}return e}transitioned(e,t){let n=new Ga(this._properties);for(let r of Object.keys(this._values))n._values[r]=this._values[r].transitioned(e,t._values[r]);return n}untransitioned(){let e=new Ga(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class Wa{constructor(e,t,n,r,i){this.property=e,this.value=t,this.begin=i+r.delay||0,this.end=this.begin+r.duration||0,e.specification.transition&&(r.delay||r.duration)&&(this.prior=n)}possiblyEvaluate(e,t,n){let r=e.now||0,i=this.value.possiblyEvaluate(e,t,n),a=this.prior;if(a){if(r>this.end||this.value.isDataDriven())return this.prior=null,i;if(r<this.begin)return a.possiblyEvaluate(e,t,n);{let o=(r-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,n),i,A(o))}}return i}}class Ga{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,n){let r=new Ja(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class Ka{constructor(e,t){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=t}hasValue(e){return this._values[e].value!==void 0}hasProperty(e){return e in this._properties.defaultPropertyValues}getValue(e){return de(this._values[e].value)}setValue(e,t){this._values[e]=new Va(this._values[e].property,t===null?void 0:de(t),this._globalState)}serialize(){let e={};for(let t of Object.keys(this._values)){let n=this.getValue(t);n!==void 0&&(e[t]=n)}return e}possiblyEvaluate(e,t,n){let r=new Ja(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].possiblyEvaluate(e,t,n);return r}}class qa{constructor(e,t,n){this.property=e,this.value=t,this.parameters=n}isConstant(){return this.value.kind===`constant`}constantOr(e){return this.value.kind===`constant`?this.value.value:e}evaluate(e,t,n,r){return this.property.evaluate(this.value,this.parameters,e,t,n,r)}}class Ja{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class Ya{constructor(e){this.specification=e}possiblyEvaluate(e,t){if(e.isDataDriven())throw Error(`Value should not be data driven`);return e.expression.evaluate(t)}interpolate(e,t,n){let r=An[this.specification.type];return r?r(e,t,n):e}}class Xa{constructor(e,t){this.specification=e,this.overrides=t}possiblyEvaluate(e,t,n,r){return new qa(this,e.expression.kind===`constant`||e.expression.kind===`camera`?{kind:`constant`,value:e.expression.evaluate(t,null,{},n,r)}:e.expression,t)}interpolate(e,t,n){if(e.value.kind!==`constant`||t.value.kind!==`constant`)return e;if(e.value.value===void 0||t.value.value===void 0)return new qa(this,{kind:`constant`,value:void 0},e.parameters);let r=An[this.specification.type];if(r){let i=r(e.value.value,t.value.value,n);return new qa(this,{kind:`constant`,value:i},e.parameters)}return e}evaluate(e,t,n,r,i,a){return e.kind===`constant`?e.value:e.evaluate(t,n,r,i,a)}}class Y extends Xa{possiblyEvaluate(e,t,n,r){if(e.value===void 0)return new qa(this,{kind:`constant`,value:void 0},t);if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r),a=e.property.specification.type===`resolvedImage`&&typeof i!=`string`?i.name:i,o=this._calculate(a,a,a,t);return new qa(this,{kind:`constant`,value:o},t)}if(e.expression.kind===`camera`){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new qa(this,{kind:`constant`,value:n},t)}return new qa(this,e.expression,t)}evaluate(e,t,n,r,i,a){if(e.kind===`source`){let o=e.evaluate(t,n,r,i,a);return this._calculate(o,o,o,t)}return e.kind===`composite`?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},n,r),e.evaluate({zoom:Math.floor(t.zoom)},n,r),e.evaluate({zoom:Math.floor(t.zoom)+1},n,r),t):e.value}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}}class Za{constructor(e){this.specification=e}possiblyEvaluate(e,t,n,r){if(e.value!==void 0){if(e.expression.kind===`constant`){let i=e.expression.evaluate(t,null,{},n,r);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new Ra(Math.floor(t.zoom-1),t)),e.expression.evaluate(new Ra(Math.floor(t.zoom),t)),e.expression.evaluate(new Ra(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,n,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:n,to:t}}interpolate(e){return e}}class Qa{constructor(e){this.specification=e}possiblyEvaluate(e,t,n,r){return!!e.expression.evaluate(t,null,{},n,r)}interpolate(){return!1}}class $a{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let n=e[t];n.specification.overridable&&this.overridableProperties.push(t);let r=this.defaultPropertyValues[t]=new Va(n,void 0,void 0),i=this.defaultTransitionablePropertyValues[t]=new Ha(n,void 0);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}}}q(`DataDrivenProperty`,Xa),q(`DataConstantProperty`,Ya),q(`CrossFadedDataDrivenProperty`,Y),q(`CrossFadedProperty`,Za),q(`ColorRampProperty`,Qa);let eo=` is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?`,to=` is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?`;class no extends He{constructor(e,t,n){if(super(),this.id=e.id,this.type=e.type,this._globalState=n,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=function(e,t){return new da(e,t)}(this.visibility,n),e.type!==`custom`&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!==`background`&&(this.source=e.source,this.sourceLayer=e[`source-layer`],this.filter=e.filter,this._featureFilter=Ci(e.filter,n)),t.layout&&(this._unevaluatedLayout=new Ka(t.layout,n)),t.paint)){this._transitionablePaint=new Ua(t.paint,n);for(let t in e.paint)this.setPaintProperty(t,e.paint[t],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ja(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=Ci(e,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){if(e===`visibility`)return this.visibility;if(this._transitionablePaint?.hasProperty(e))throw Error(e+eo);if(!this._unevaluatedLayout)throw Error(`Cannot get layout property "${e}" on layer type "${this.type}" which has no layout properties.`);return this._unevaluatedLayout.getValue(e)}getLayoutAffectingGlobalStateRefs(){let e=new Set;for(let t of this._visibilityExpression.getGlobalStateRefs())e.add(t);if(this._unevaluatedLayout)for(let t in this._unevaluatedLayout._values){let n=this._unevaluatedLayout._values[t];for(let t of n.getGlobalStateRefs())e.add(t)}for(let t of this._featureFilter.getGlobalStateRefs())e.add(t);return e}getPaintAffectingGlobalStateRefs(){let e=new globalThis.Map;if(this._transitionablePaint)for(let t in this._transitionablePaint._values){let n=this._transitionablePaint._values[t].value;for(let r of n.getGlobalStateRefs()){let i=e.get(r)??[];i.push({name:t,value:n.value}),e.set(r,i)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,n={}){if(e===`visibility`)return this.visibility=t,this._visibilityExpression.setValue(t),void this.recalculateVisibility();this._transitionablePaint?.hasProperty(e)?this.fire(new Ve(Error(e+eo))):t!=null&&this._validate(ha,`layers.${this.id}.layout.${e}`,e,t,n)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){if(e.endsWith(Ba)){let t=e.slice(0,-11);if(t===`visibility`||this._unevaluatedLayout?.hasProperty(t))throw Error(e+to);return this._transitionablePaint.getTransition(t)}if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))throw Error(e+to);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,n={}){if(e===`visibility`||this._unevaluatedLayout?.hasProperty(e))return this.fire(new Ve(Error(e+to))),!1;if(t!=null&&this._validate(ma,`layers.${this.id}.paint.${e}`,e,t,n))return!1;if(e.endsWith(Ba))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let n=this._transitionablePaint._values[e],r=n.property.specification[`property-type`]===`cross-faded-data-driven`,i=n.value.isDataDriven(),a=n.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||r||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,n){return!1}isHidden(e=this.minzoom,t=!1){return!!(this.minzoom&&e<(t?Math.floor(this.minzoom):this.minzoom))||!!(this.maxzoom&&e>=this.maxzoom)||this._evaluatedVisibility===`none`}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout?.serialize(),paint:this._transitionablePaint?.serialize()};return this.visibility&&(e.layout||={},e.layout.visibility=this.visibility),ue(e,((e,t)=>!(e===void 0||t===`layout`&&!Object.keys(e).length||t===`paint`&&!Object.keys(e).length)))}_validate(e,t,n,r,i={}){return!1!==i?.validate&&ga(this,e.call(pa,{key:t,layerType:this.type,objectKey:n,value:r,styleSpec:j,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof qa&&ei(t.property.specification)&&(t.value.kind===`source`||t.value.kind===`composite`)&&t.value.isStateDependent)return!0}return!1}}let ro;var io={get paint(){return ro||=new $a({"raster-opacity":new Ya(j.paint_raster[`raster-opacity`]),"raster-hue-rotate":new Ya(j.paint_raster[`raster-hue-rotate`]),"raster-brightness-min":new Ya(j.paint_raster[`raster-brightness-min`]),"raster-brightness-max":new Ya(j.paint_raster[`raster-brightness-max`]),"raster-saturation":new Ya(j.paint_raster[`raster-saturation`]),"raster-contrast":new Ya(j.paint_raster[`raster-contrast`]),resampling:new Ya(j.paint_raster.resampling),"raster-resampling":new Ya(j.paint_raster[`raster-resampling`]),"raster-fade-duration":new Ya(j.paint_raster[`raster-fade-duration`])})}};class ao extends no{constructor(e,t){super(e,io,t)}}let oo={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class so{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class co{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw Error(`_refreshViews() must be implemented by each concrete StructArray layout`)}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}}function lo(e,t=1){let n=0,r=0;return{members:e.map((e=>{let i=oo[e.type].BYTES_PER_ELEMENT,a=n=uo(n,Math.max(t,i)),o=e.components||1;return r=Math.max(r,i),n+=i*o,{name:e.name,type:e.type,components:o,offset:a}})),size:uo(n,Math.max(r,t)),alignment:t}}function uo(e,t){return Math.ceil(e/t)*t}class fo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.int16[r+0]=t,this.int16[r+1]=n,e}}fo.prototype.bytesPerElement=4,q(`StructArrayLayout2i4`,fo);class po extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.int16[i+0]=t,this.int16[i+1]=n,this.int16[i+2]=r,e}}po.prototype.bytesPerElement=6,q(`StructArrayLayout3i6`,po);class mo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=4*e;return this.int16[a+0]=t,this.int16[a+1]=n,this.int16[a+2]=r,this.int16[a+3]=i,e}}mo.prototype.bytesPerElement=8,q(`StructArrayLayout4i8`,mo);class ho extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}ho.prototype.bytesPerElement=12,q(`StructArrayLayout2i4i12`,ho);class go extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=4*e,c=8*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.uint8[c+4]=r,this.uint8[c+5]=i,this.uint8[c+6]=a,this.uint8[c+7]=o,e}}go.prototype.bytesPerElement=8,q(`StructArrayLayout2i4ub8`,go);class _o extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.float32[r+0]=t,this.float32[r+1]=n,e}}_o.prototype.bytesPerElement=8,q(`StructArrayLayout2f8`,_o);class vo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,n,r,i,a,o,s,c,l)}emplace(e,t,n,r,i,a,o,s,c,l,u){let d=10*e;return this.uint16[d+0]=t,this.uint16[d+1]=n,this.uint16[d+2]=r,this.uint16[d+3]=i,this.uint16[d+4]=a,this.uint16[d+5]=o,this.uint16[d+6]=s,this.uint16[d+7]=c,this.uint16[d+8]=l,this.uint16[d+9]=u,e}}vo.prototype.bytesPerElement=20,q(`StructArrayLayout10ui20`,vo);class yo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,n,r,i,a,o,s)}emplace(e,t,n,r,i,a,o,s,c){let l=8*e;return this.uint16[l+0]=t,this.uint16[l+1]=n,this.uint16[l+2]=r,this.uint16[l+3]=i,this.uint16[l+4]=a,this.uint16[l+5]=o,this.uint16[l+6]=s,this.uint16[l+7]=c,e}}yo.prototype.bytesPerElement=16,q(`StructArrayLayout8ui16`,yo);class bo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,n,r,i,a,o,s,c,l,u,d)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=12*e;return this.int16[p+0]=t,this.int16[p+1]=n,this.int16[p+2]=r,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=c,this.int16[p+8]=l,this.int16[p+9]=u,this.int16[p+10]=d,this.int16[p+11]=f,e}}bo.prototype.bytesPerElement=24,q(`StructArrayLayout4i4ui4i24`,bo);class xo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.float32[i+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}}xo.prototype.bytesPerElement=12,q(`StructArrayLayout3f12`,xo);class So extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}So.prototype.bytesPerElement=4,q(`StructArrayLayout1ul4`,So);class Co extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,n,r,i,a,o,s,c)}emplace(e,t,n,r,i,a,o,s,c,l){let u=10*e,d=5*e;return this.int16[u+0]=t,this.int16[u+1]=n,this.int16[u+2]=r,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[d+3]=s,this.uint16[u+8]=c,this.uint16[u+9]=l,e}}Co.prototype.bytesPerElement=20,q(`StructArrayLayout6i1ul2ui20`,Co);class wo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=n,this.int16[s+2]=r,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}wo.prototype.bytesPerElement=12,q(`StructArrayLayout2i2i2i12`,wo);class To extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,n,r,i)}emplace(e,t,n,r,i,a){let o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=n,this.float32[o+2]=r,this.int16[s+6]=i,this.int16[s+7]=a,e}}To.prototype.bytesPerElement=16,q(`StructArrayLayout2f1f2i16`,To);class Eo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,n,r,i,a)}emplace(e,t,n,r,i,a,o){let s=16*e,c=4*e,l=8*e;return this.uint8[s+0]=t,this.uint8[s+1]=n,this.float32[c+1]=r,this.float32[c+2]=i,this.int16[l+6]=a,this.int16[l+7]=o,e}}Eo.prototype.bytesPerElement=16,q(`StructArrayLayout2ub2f2i16`,Eo);class Do extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=n,this.uint16[i+2]=r,e}}Do.prototype.bytesPerElement=6,q(`StructArrayLayout3ui6`,Do);class Oo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=this.length;return this.resize(_+1),this.emplace(_,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=24*e,y=12*e,b=48*e;return this.int16[v+0]=t,this.int16[v+1]=n,this.uint16[v+2]=r,this.uint16[v+3]=i,this.uint32[y+2]=a,this.uint32[y+3]=o,this.uint32[y+4]=s,this.uint16[v+10]=c,this.uint16[v+11]=l,this.uint16[v+12]=u,this.float32[y+7]=d,this.float32[y+8]=f,this.uint8[b+36]=p,this.uint8[b+37]=m,this.uint8[b+38]=h,this.uint32[y+10]=g,this.int16[v+22]=_,e}}Oo.prototype.bytesPerElement=48,q(`StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48`,Oo);class ko extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,ee,E){let D=this.length;return this.resize(D+1),this.emplace(D,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,ee,E)}emplace(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,ee,E,D){let O=32*e,k=16*e;return this.int16[O+0]=t,this.int16[O+1]=n,this.int16[O+2]=r,this.int16[O+3]=i,this.int16[O+4]=a,this.int16[O+5]=o,this.int16[O+6]=s,this.int16[O+7]=c,this.uint16[O+8]=l,this.uint16[O+9]=u,this.uint16[O+10]=d,this.uint16[O+11]=f,this.uint16[O+12]=p,this.uint16[O+13]=m,this.uint16[O+14]=h,this.uint16[O+15]=g,this.uint16[O+16]=_,this.uint16[O+17]=v,this.uint16[O+18]=y,this.uint16[O+19]=b,this.uint16[O+20]=x,this.uint16[O+21]=S,this.uint16[O+22]=C,this.uint32[k+12]=w,this.float32[k+13]=T,this.float32[k+14]=ee,this.uint16[O+30]=E,this.uint16[O+31]=D,e}}ko.prototype.bytesPerElement=64,q(`StructArrayLayout8i15ui1ul2f2ui64`,ko);class Ao extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}Ao.prototype.bytesPerElement=4,q(`StructArrayLayout1f4`,Ao);class jo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=3*e;return this.uint16[6*e+0]=t,this.float32[i+1]=n,this.float32[i+2]=r,e}}jo.prototype.bytesPerElement=12,q(`StructArrayLayout1ui2f12`,jo);class Mo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,n){let r=this.length;return this.resize(r+1),this.emplace(r,e,t,n)}emplace(e,t,n,r){let i=4*e;return this.uint32[2*e+0]=t,this.uint16[i+2]=n,this.uint16[i+3]=r,e}}Mo.prototype.bytesPerElement=8,q(`StructArrayLayout1ul2ui8`,Mo);class No extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let n=this.length;return this.resize(n+1),this.emplace(n,e,t)}emplace(e,t,n){let r=2*e;return this.uint16[r+0]=t,this.uint16[r+1]=n,e}}No.prototype.bytesPerElement=4,q(`StructArrayLayout2ui4`,No);class Po extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}Po.prototype.bytesPerElement=2,q(`StructArrayLayout1ui2`,Po);class Fo extends co{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,n,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,n,r)}emplace(e,t,n,r,i){let a=4*e;return this.float32[a+0]=t,this.float32[a+1]=n,this.float32[a+2]=r,this.float32[a+3]=i,e}}Fo.prototype.bytesPerElement=16,q(`StructArrayLayout4f16`,Fo);class Io extends so{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new n(this.anchorPointX,this.anchorPointY)}}Io.prototype.size=20;class Lo extends Co{get(e){return new Io(this,e)}}q(`CollisionBoxArray`,Lo);class Ro extends so{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Ro.prototype.size=48;class zo extends Oo{get(e){return new Ro(this,e)}}q(`PlacedSymbolArray`,zo);class Bo extends so{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Bo.prototype.size=64;class Vo extends ko{get(e){return new Bo(this,e)}}q(`SymbolInstanceArray`,Vo);class Ho extends Ao{getoffsetX(e){return this.float32[1*e+0]}}q(`GlyphOffsetArray`,Ho);class Uo extends po{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}q(`SymbolLineVertexArray`,Uo);class Wo extends so{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Wo.prototype.size=12;class Go extends jo{get(e){return new Wo(this,e)}}q(`TextAnchorOffsetArray`,Go);class Ko extends so{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ko.prototype.size=8;class qo extends Mo{get(e){return new Ko(this,e)}}q(`FeatureIndexArray`,qo);class Jo extends fo{}class Yo extends fo{}class Xo extends fo{}class Zo extends ho{}class Qo extends go{}class $o extends _o{}class es extends vo{}class ts extends yo{}class ns extends bo{}class rs extends xo{}class is extends So{}class as extends wo{}class os extends Eo{}class ss extends Do{}class cs extends No{}let{members:ls}=lo([{name:`a_pos`,components:2,type:`Int16`}],4);class us{constructor(e=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=e}prepareSegment(e,t,n,r){let i=this.segments[this.segments.length-1];return e>us.MAX_VERTEX_ARRAY_LENGTH&&pe(`Max vertices per segment is ${us.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${us.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!i||i.vertexLength+e>us.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==r?this.createNewSegment(t,n,r):i}createNewSegment(e,t,n){let r={vertexOffset:e.length,primitiveOffset:t.length,vertexLength:0,primitiveLength:0,vaos:{}};return n!==void 0&&(r.sortKey=n),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(r),r}getOrCreateLatestSegment(e,t,n){return this.prepareSegment(0,e,t,n)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,n,r){return new us([{vertexOffset:e,primitiveOffset:t,vertexLength:n,primitiveLength:r,vaos:{},sortKey:0}])}}function ds(e,t){return 256*(e=ae(Math.floor(e),0,255))+ae(Math.floor(t),0,255)}us.MAX_VERTEX_ARRAY_LENGTH=2**16-1,q(`SegmentVector`,us);let fs=lo([{name:`a_pattern_from`,components:4,type:`Uint16`},{name:`a_pattern_to`,components:4,type:`Uint16`},{name:`a_pixel_ratio_from`,components:1,type:`Uint16`},{name:`a_pixel_ratio_to`,components:1,type:`Uint16`}]),ps=lo([{name:`a_dasharray_from`,components:4,type:`Uint16`},{name:`a_dasharray_to`,components:4,type:`Uint16`}]);var ms,hs,gs,_s={exports:{}},vs={exports:{}},ys={exports:{}},bs=r(function(){if(gs)return _s.exports;gs=1;var e=(ms||(ms=1,vs.exports=function(e,t){var n,r,i,a,o,s,c,l;for(r=e.length-(n=3&e.length),i=t,o=3432918353,s=461845907,l=0;l<r;)c=255&e.charCodeAt(l)|(255&e.charCodeAt(++l))<<8|(255&e.charCodeAt(++l))<<16|(255&e.charCodeAt(++l))<<24,++l,i=27492+(65535&(a=5*(65535&(i=(i^=c=(65535&(c=(c=(65535&c)*o+(((c>>>16)*o&65535)<<16)&4294967295)<<15|c>>>17))*s+(((c>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(c=0,n){case 3:c^=(255&e.charCodeAt(l+2))<<16;case 2:c^=(255&e.charCodeAt(l+1))<<8;case 1:i^=c=(65535&(c=(c=(65535&(c^=255&e.charCodeAt(l)))*o+(((c>>>16)*o&65535)<<16)&4294967295)<<15|c>>>17))*s+(((c>>>16)*s&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}),vs.exports),t=(hs||(hs=1,ys.exports=function(e,t){for(var n,r=e.length,i=t^r,a=0;r>=4;)n=1540483477*(65535&(n=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(n>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(n=1540483477*(65535&(n^=n>>>24))+((1540483477*(n>>>16)&65535)<<16)),r-=4,++a;switch(r){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}),ys.exports);return _s.exports=e,_s.exports.murmur3=e,_s.exports.murmur2=t,_s.exports}());class xs{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,n,r){this.ids.push(Ss(e)),this.positions.push(t,n,r)}getPositions(e){if(!this.indexed)throw Error(`Trying to get index, but feature positions are not indexed`);let t=Ss(e),n=0,r=this.ids.length-1;for(;n<r;){let e=n+r>>1;this.ids[e]>=t?r=e:n=e+1}let i=[];for(;this.ids[n]===t;)i.push({index:this.positions[3*n],start:this.positions[3*n+1],end:this.positions[3*n+2]}),n++;return i}static serialize(e,t){let n=new Float64Array(e.ids),r=new Uint32Array(e.positions);return Cs(n,r,0,n.length-1),t&&t.push(n.buffer,r.buffer),{ids:n,positions:r}}static deserialize(e){let t=new xs;return t.ids=e.ids,t.positions=e.positions,t.indexed=!0,t}}function Ss(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:bs(String(e))}function Cs(e,t,n,r){for(;n<r;){let i=e[n+r>>1],a=n-1,o=r+1;for(;;){do a++;while(e[a]<i);do o--;while(e[o]>i);if(a>=o)break;ws(e,a,o),ws(t,3*a,3*o),ws(t,3*a+1,3*o+1),ws(t,3*a+2,3*o+2)}o-n<r-o?(Cs(e,t,n,o),n=o+1):(Cs(e,t,o+1,r),r=o)}}function ws(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}q(`FeaturePositionMap`,xs);class Ts{constructor(e,t){this.gl=e.gl,this.location=t}}class Es extends Ts{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}}class Ds extends Ts{constructor(e,t){super(e,t),this.current=[0,0,0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]&&e[3]===this.current[3]||(this.current=e,this.gl.uniform4f(this.location,e[0],e[1],e[2],e[3]))}}class Os extends Ts{constructor(e,t){super(e,t),this.current=Ut.transparent}set(e){e.r===this.current.r&&e.g===this.current.g&&e.b===this.current.b&&e.a===this.current.a||(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))}}let ks=new Float32Array(16);function As(e){return[ds(255*e.r,255*e.g),ds(255*e.b,255*e.a)]}class js{constructor(e,t,n){this.value=e,this.uniformNames=t.map((e=>`u_${e}`)),this.type=n}setUniform(e,t,n){e.set(n.constantOr(this.value))}getBinding(e,t,n){return this.type===`color`?new Os(e,t):new Es(e,t)}}class Ms{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,n,r){let i=null;r===`u_pattern_to`?i=this.patternTo:r===`u_pattern_from`?i=this.patternFrom:r===`u_dasharray_to`?i=this.dashTo:r===`u_dasharray_from`?i=this.dashFrom:r===`u_pixel_ratio_to`?i=this.pixelRatioTo:r===`u_pixel_ratio_from`&&(i=this.pixelRatioFrom),i!==null&&e.set(i)}getBinding(e,t,n){return n.startsWith(`u_pattern`)||n.startsWith(`u_dasharray_`)?new Ds(e,t):new Es(e,t)}}class Ns{constructor(e,t,n,r){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(e,t,n){let r=this.paintVertexArray.length,i=this.expression.evaluate(new Ra(0,n),t,{},n.canonical,[],n.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(r,e,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new Ra(0,i),n,r);this._setPaintValue(e,t,a)}_setPaintValue(e,t,n){if(this.type===`color`){let r=As(n);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r[0],r[1])}else{for(let r=e;r<t;r++)this.paintVertexArray.emplace(r,n);this.maxValue=Math.max(this.maxValue,Math.abs(n))}}upload(e){var t;(t=this.paintVertexArray)!=null&&t.arrayBuffer.byteLength&&(this.paintVertexBuffer?.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class Ps{constructor(e,t,n,r,i,a){this.expression=e,this.uniformNames=t.map((e=>`u_${e}_t`)),this.type=n,this.useIntegerZoom=r,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:`Float32`,components:n===`color`?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(e,t,n){let r=this.expression.evaluate(new Ra(this.zoom,n),t,{},n.canonical,[],n.formattedSection),i=this.expression.evaluate(new Ra(this.zoom+1,n),t,{},n.canonical,[],n.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,r,i)}updatePaintArray(e,t,n,r,i){let a=this.expression.evaluate(new Ra(this.zoom,i),n,r),o=this.expression.evaluate(new Ra(this.zoom+1,i),n,r);this._setPaintValue(e,t,a,o)}_setPaintValue(e,t,n,r){if(this.type===`color`){let i=As(n),a=As(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1],a[0],a[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,n,r);this.maxValue=Math.max(this.maxValue,Math.abs(n),Math.abs(r))}}upload(e){var t;(t=this.paintVertexArray)!=null&&t.arrayBuffer.byteLength&&(this.paintVertexBuffer?.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(e,t){let n=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,r=ae(this.expression.interpolationFactor(n,this.zoom,this.zoom+1),0,1);e.set(r)}getBinding(e,t,n){return new Es(e,t)}}class X{constructor(e,t,n,r,i,a){this.expression=e,this.type=t,this.useIntegerZoom=n,this.zoom=r,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i}populatePaintArray(e,t,n){let r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(r,e,this.getPositionIds(t),n)}updatePaintArray(e,t,n,r,i){this._setPaintValues(e,t,this.getPositionIds(n),i)}_setPaintValues(e,t,n,r){let i=this.getPositions(r);if(!i||!n)return;let a=i[n.min],o=i[n.mid],s=i[n.max];if(a&&o&&s)for(let n=e;n<t;n++)this.emplace(this.zoomInPaintVertexArray,n,o,a),this.emplace(this.zoomOutPaintVertexArray,n,o,s)}upload(e){if(this.zoomInPaintVertexArray?.arrayBuffer.byteLength&&this.zoomOutPaintVertexArray?.arrayBuffer.byteLength){let t=this.getVertexAttributes();this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,t,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,t,this.expression.isStateDependent)}}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class Fs extends X{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return fs.members}emplace(e,t,n,r){e.emplace(t,n.tlbr[0],n.tlbr[1],n.tlbr[2],n.tlbr[3],r.tlbr[0],r.tlbr[1],r.tlbr[2],r.tlbr[3],n.pixelRatio,r.pixelRatio)}}class Is extends X{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return ps.members}emplace(e,t,n,r){e.emplace(t,0,n.y,n.height,n.width,0,r.y,r.height,r.width)}}class Ls{constructor(e,t,n){this.binders={},this._buffers=[];let r=[];for(let i in e.paint._values){if(!n(i))continue;let a=e.paint.get(i);if(!(a instanceof qa&&ei(a.property.specification)))continue;let o=zs(i,e.type),s=a.value,c=a.property.specification.type,l=a.property.useIntegerZoom,u=a.property.specification[`property-type`],d=u===`cross-faded`||u===`cross-faded-data-driven`;if(s.kind===`constant`)this.binders[i]=d?new Ms(s.value,o):new js(s.value,o,c),r.push(`/u_${i}`);else if(s.kind===`source`||d){let n=Bs(i,c,`source`);this.binders[i]=d?i===`line-dasharray`?new Is(s,c,l,t,n,e.id):new Fs(s,c,l,t,n,e.id):new Ns(s,o,c,n),r.push(`/a_${i}`)}else{let e=Bs(i,c,`composite`);this.binders[i]=new Ps(s,o,c,l,t,e),r.push(`/z_${i}`)}}this.cacheKey=r.sort().join(``)}getMaxValue(e){let t=this.binders[e];return t instanceof Ns||t instanceof Ps?t.maxValue:0}populatePaintArrays(e,t,n){for(let r in this.binders){let i=this.binders[r];(i instanceof Ns||i instanceof Ps||i instanceof X)&&i.populatePaintArray(e,t,n)}}setConstantPatternPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof Ms&&r.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let n in this.binders){let r=this.binders[n];r instanceof Ms&&r.setConstantDashPositions(e,t)}}updatePaintArrays(e,t,n,r,i){let a=!1;for(let o in e){let s=t.getPositions(o);for(let t of s){let s=n.feature(t.index);for(let n in this.binders){let c=this.binders[n];(c instanceof Ns||c instanceof Ps||c instanceof X)&&!0===c.expression.isStateDependent&&(c.expression=r.paint.get(n).value,c.updatePaintArray(t.start,t.end,s,e[o],i),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let n=this.binders[t];(n instanceof js||n instanceof Ms)&&e.push(...n.uniformNames.map((e=>`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof Ns||n instanceof Ps)for(let t of n.paintVertexAttributes)e.push(t.name);else if(n instanceof X){let t=n.getVertexAttributes();for(let n of t)e.push(n.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let n=this.binders[t];if(n instanceof js||n instanceof Ms||n instanceof Ps)for(let t of n.uniformNames)e.push(t)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let n=[];for(let r in this.binders){let i=this.binders[r];if(i instanceof js||i instanceof Ms||i instanceof Ps){for(let a of i.uniformNames)if(t[a]){let o=i.getBinding(e,t[a],a);n.push({name:a,property:r,binding:o})}}}return n}setUniforms(e,t,n,r){for(let{name:e,property:i,binding:a}of t)this.binders[i].setUniform(a,r,n.get(i),e)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let n=this.binders[t];if(e&&n instanceof X){let t=e.fromScale===2?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;t&&this._buffers.push(t)}else(n instanceof Ns||n instanceof Ps)&&n.paintVertexBuffer&&this._buffers.push(n.paintVertexBuffer)}}upload(e){for(let t in this.binders){let n=this.binders[t];(n instanceof Ns||n instanceof Ps||n instanceof X)&&n.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof Ns||t instanceof Ps||t instanceof X)&&t.destroy()}}}class Rs{constructor(e,t,n=()=>!0){this.programConfigurations={};for(let r of e)this.programConfigurations[r.id]=new Ls(r,t,n);this.needsUpload=!1,this._featureMap=new xs,this._bufferOffset=0}populatePaintArrays(e,t,n,r){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,r);t.id!==void 0&&this._featureMap.add(t.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,n,r){for(let i of n)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,r)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}}function zs(e,t){return{"text-opacity":[`opacity`],"icon-opacity":[`opacity`],"text-color":[`fill_color`],"icon-color":[`fill_color`],"text-halo-color":[`halo_color`],"icon-halo-color":[`halo_color`],"text-halo-blur":[`halo_blur`],"icon-halo-blur":[`halo_blur`],"text-halo-width":[`halo_width`],"icon-halo-width":[`halo_width`],"line-gap-width":[`gapwidth`],"line-dasharray":[`dasharray_to`,`dasharray_from`],"line-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`],"fill-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`],"fill-extrusion-pattern":[`pattern_to`,`pattern_from`,`pixel_ratio_to`,`pixel_ratio_from`]}[e]||[e.replace(`${t}-`,``).replace(/-/g,`_`)]}function Bs(e,t,n){let r={color:{source:_o,composite:Fo},number:{source:Ao,composite:_o}};return function(e){return{"line-pattern":{source:es,composite:es},"fill-pattern":{source:es,composite:es},"fill-extrusion-pattern":{source:es,composite:es},"line-dasharray":{source:ts,composite:ts}}[e]}(e)?.[n]||r[t][n]}q(`ConstantBinder`,js),q(`CrossFadedConstantBinder`,Ms),q(`SourceExpressionBinder`,Ns),q(`CrossFadedPatternBinder`,Fs),q(`CrossFadedDasharrayBinder`,Is),q(`CompositeExpressionBinder`,Ps),q(`ProgramConfiguration`,Ls,{omit:[`_buffers`]}),q(`ProgramConfigurationSet`,Rs);let Z=2**14-1,Vs=-Z-1;function Hs(e){let t=D/e.extent,n=e.loadGeometry();for(let e of n)for(let n of e){let e=Math.round(n.x*t),r=Math.round(n.y*t);n.x=ae(e,Vs,Z),n.y=ae(r,Vs,Z),(e<n.x||e>n.x+1||r<n.y||r>n.y+1)&&pe(`Geometry exceeds allowed extent, reduce your vector tile buffer size`)}return n}function Us(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?Hs(e):[]}}let Ws=-32768;function Gs(e,t,n,r,i){e.emplaceBack(Ws+8*t+r,Ws+8*n+i)}class Ks{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new Yo,this.indexArray=new ss,this.segments=new us,this.programConfigurations=new Rs(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){let r=this.layers[0],i=[],a=null,o=!1,s=r.type===`heatmap`;if(r.type===`circle`){let e=r;a=e.layout.get(`circle-sort-key`),o=!a.isConstant(),s||=e.paint.get(`circle-pitch-alignment`)===`map`}let c=s?t.subdivisionGranularity.circle:1;for(let{feature:t,id:r,index:s,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,l=Us(t,e);if(!this.layers[0]._featureFilter.filter(new Ra(this.zoom),l,n))continue;let u=o?a.evaluate(l,{},n):void 0,d={id:r,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:e?l.geometry:Hs(t),patterns:{},sortKey:u};i.push(d)}o&&i.sort(((e,t)=>e.sortKey-t.sortKey));for(let r of i){let{geometry:i,index:a,sourceLayerIndex:o}=r,s=e[a].feature;this.addFeature(r,i,a,n,c),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,ls),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,n,r,i=1){let a;switch(i){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${i}; valid values are 1, 3, 5, 7.`)}let o=a.length;for(let n of t)for(let t of n){let n=t.x,r=t.y;if(n<0||n>=D||r<0||r>=D)continue;let i=this.segments.prepareSegment(o*o,this.layoutVertexArray,this.indexArray,e.sortKey),s=i.vertexLength;for(let e=0;e<o;e++)for(let t=0;t<o;t++)Gs(this.layoutVertexArray,n,r,a[t],a[e]);for(let e=0;e<o-1;e++)for(let t=0;t<o-1;t++){let n=s+e*o+t,r=s+(e+1)*o+t;this.indexArray.emplaceBack(n,r+1,n+1),this.indexArray.emplaceBack(n,r,r+1)}i.vertexLength+=o*o,i.primitiveLength+=(o-1)*(o-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:{},canonical:r})}}function qs(e,t){for(let n of e)if(nc(t,n))return!0;for(let n of t)if(nc(e,n))return!0;return Zs(e,t)}function Js(e,t,n){return!!nc(e,t)||$s(t,e,n)}function Ys(e,t){if(e.length===1)return tc(t,e[0]);for(let n of t)for(let t of n)if(nc(e,t))return!0;for(let n of e)if(tc(t,n))return!0;for(let n of t)if(Zs(e,n))return!0;return!1}function Xs(e,t,n){if(e.length>1){if(Zs(e,t))return!0;for(let r of t)if($s(r,e,n))return!0}for(let r of e)if($s(r,t,n))return!0;return!1}function Zs(e,t){if(e.length===0||t.length===0)return!1;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];for(let e=0;e<t.length-1;e++)if(Qs(r,i,t[e],t[e+1]))return!0}return!1}function Qs(e,t,n,r){return me(e,n,r)!==me(t,n,r)&&me(e,t,n)!==me(e,t,r)}function $s(e,t,n){let r=n*n;if(t.length===1)return e.distSqr(t[0])<r;for(let n=1;n<t.length;n++)if(ec(e,t[n-1],t[n])<r)return!0;return!1}function ec(e,t,n){let r=t.distSqr(n);if(r===0)return e.distSqr(t);let i=((e.x-t.x)*(n.x-t.x)+(e.y-t.y)*(n.y-t.y))/r;return e.distSqr(i<0?t:i>1?n:n.sub(t)._mult(i)._add(t))}function tc(e,t){let n,r,i,a=!1;for(let o of e){n=o;for(let e=0,o=n.length-1;e<n.length;o=e++)r=n[e],i=n[o],r.y>t.y!=i.y>t.y&&t.x<(i.x-r.x)*(t.y-r.y)/(i.y-r.y)+r.x&&(a=!a)}return a}function nc(e,t){let n=!1;for(let r=0,i=e.length-1;r<e.length;i=r++){let a=e[r],o=e[i];a.y>t.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(n=!n)}return n}function rc(e,t,n){let r=n[0],i=n[2];if(e.x<r.x&&t.x<r.x||e.x>i.x&&t.x>i.x||e.y<r.y&&t.y<r.y||e.y>i.y&&t.y>i.y)return!1;let a=me(e,t,n[0]);return a!==me(e,t,n[1])||a!==me(e,t,n[2])||a!==me(e,t,n[3])}function ic(e,t,n){let r=t.paint.get(e).value;return r.kind===`constant`?r.value:n.programConfigurations.get(t.id).getMaxValue(e)}function ac(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function oc(e,t,r,i,a){if(!t[0]&&!t[1])return e;let o=n.convert(t)._mult(a);r===`viewport`&&o._rotate(-i);let s=[];for(let t of e)s.push(t.sub(o));return s}function sc(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=t.at(-1);(n===0||i&&!r.equals(i))&&t.push(r)}return t}function cc({queryGeometry:e,size:t},n){return Js(e,n,t)}function lc({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return Js(e,a,t*(n.projectTileCoordinates(a.x,a.y,r,i).signedDistanceFromCamera/n.cameraToCenterDistance))}function uc({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){let o=n.projectTileCoordinates(a.x,a.y,r,i).signedDistanceFromCamera,s=t*(n.cameraToCenterDistance/o);return Js(e,pc(a,n,r,i),s)}function dc({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i},a){return Js(e,pc(a,n,r,i),t)}function fc({queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i,pitchAlignment:a=`map`,pitchScale:o=`map`},s){let c=a===`map`?o===`map`?cc:lc:o===`map`?uc:dc,l={queryGeometry:e,size:t,transform:n,unwrappedTileID:r,getElevation:i};for(let e of s)for(let t of e)if(c(l,t))return!0;return!1}function pc(e,t,r,i){let a=t.projectTileCoordinates(e.x,e.y,r,i).point;return new n((.5*a.x+.5)*t.width,(.5*-a.y+.5)*t.height)}let mc,hc;q(`CircleBucket`,Ks,{omit:[`layers`]});var gc={get paint(){return hc||=new $a({"circle-radius":new Xa(j.paint_circle[`circle-radius`]),"circle-color":new Xa(j.paint_circle[`circle-color`]),"circle-blur":new Xa(j.paint_circle[`circle-blur`]),"circle-opacity":new Xa(j.paint_circle[`circle-opacity`]),"circle-translate":new Ya(j.paint_circle[`circle-translate`]),"circle-translate-anchor":new Ya(j.paint_circle[`circle-translate-anchor`]),"circle-pitch-scale":new Ya(j.paint_circle[`circle-pitch-scale`]),"circle-pitch-alignment":new Ya(j.paint_circle[`circle-pitch-alignment`]),"circle-stroke-width":new Xa(j.paint_circle[`circle-stroke-width`]),"circle-stroke-color":new Xa(j.paint_circle[`circle-stroke-color`]),"circle-stroke-opacity":new Xa(j.paint_circle[`circle-stroke-opacity`])})},get layout(){return mc||=new $a({"circle-sort-key":new Xa(j.layout_circle[`circle-sort-key`])})}};class _c extends no{constructor(e,t){super(e,gc,t)}createBucket(e){return new Ks(e)}queryRadius(e){let t=e;return ic(`circle-radius`,this,t)+ic(`circle-stroke-width`,this,t)+ac(this.paint.get(`circle-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){let c=oc(e,this.paint.get(`circle-translate`),this.paint.get(`circle-translate-anchor`),-i.bearingInRadians,a),l=this.paint.get(`circle-radius`).evaluate(t,n)+this.paint.get(`circle-stroke-width`).evaluate(t,n),u=this.paint.get(`circle-pitch-scale`),d=this.paint.get(`circle-pitch-alignment`),f,p;return d===`map`?(f=c,p=l*a):(f=function(e,t,n,r){return e.map((e=>pc(e,t,n,r)))}(c,i,o,s),p=l),fc({queryGeometry:f,size:p,transform:i,unwrappedTileID:o,getElevation:s,pitchAlignment:d,pitchScale:u},r)}}class vc extends Ks{}let yc;q(`HeatmapBucket`,vc,{omit:[`layers`]});var bc={get paint(){return yc||=new $a({"heatmap-radius":new Xa(j.paint_heatmap[`heatmap-radius`]),"heatmap-weight":new Xa(j.paint_heatmap[`heatmap-weight`]),"heatmap-intensity":new Ya(j.paint_heatmap[`heatmap-intensity`]),"heatmap-color":new Qa(j.paint_heatmap[`heatmap-color`]),"heatmap-opacity":new Ya(j.paint_heatmap[`heatmap-opacity`])})}};function xc(e,{width:t,height:n},r,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*n*r)throw RangeError(`mismatched image size. expected: ${i.length} but got: ${t*n*r}`)}else i=new Uint8Array(t*n*r);return e.width=t,e.height=n,e.data=i,e}function Sc(e,{width:t,height:n},r){if(t===e.width&&n===e.height)return;let i=xc({},{width:t,height:n},r);Cc(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,n)},r),e.width=t,e.height=n,e.data=i.data}function Cc(e,t,n,r,i,a){if(i.width===0||i.height===0)return t;if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw RangeError(`out of range source coordinates for image copy`);if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw RangeError(`out of range destination coordinates for image copy`);let o=e.data,s=t.data;if(o===s)throw Error(`srcData equals dstData, so image is already copied`);for(let c=0;c<i.height;c++){let l=((n.y+c)*e.width+n.x)*a,u=((r.y+c)*t.width+r.x)*a;for(let e=0;e<i.width*a;e++)s[u+e]=o[l+e]}return t}class wc{constructor(e,t){xc(this,e,1,t)}resize(e){Sc(this,e,1)}clone(){return new wc({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){Cc(e,t,n,r,i,1)}}class Tc{constructor(e,t){xc(this,e,4,t)}resize(e){Sc(this,e,4)}replace(e,t){t?this.data.set(e):this.data=e instanceof Uint8ClampedArray?new Uint8Array(e.buffer):e}clone(){return new Tc({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,t,n,r,i){Cc(e,t,n,r,i,4)}setPixel(e,t,n){let r=4*(e*this.width+t);this.data[r+0]=Math.round(255*n.r/n.a),this.data[r+1]=Math.round(255*n.g/n.a),this.data[r+2]=Math.round(255*n.b/n.a),this.data[r+3]=Math.round(255*n.a)}}function Ec(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=4){let r=e[n+3];t[n+0]=Math.round(e[n+0]*r/255),t[n+1]=Math.round(e[n+1]*r/255),t[n+2]=Math.round(e[n+2]*r/255),t[n+3]=r}return t}function Dc(e){let t={},n=e.resolution||256,r=e.clips?e.clips.length:1,i=e.image||new Tc({width:n,height:r});if(Math.log(n)/Math.LN2%1!=0)throw Error(`width is not a power of 2 - ${n}`);let a=(r,a,o)=>{t[e.evaluationKey]=o;let s=e.expression.evaluate(t);i.setPixel(r/4/n,a/4,s)};if(e.clips)for(let t=0,i=0;t<r;++t,i+=4*n)for(let r=0,o=0;r<n;r++,o+=4){let s=r/(n-1),{start:c,end:l}=e.clips[t];a(i,o,c*(1-s)+l*s)}else for(let e=0,t=0;e<n;e++,t+=4)a(0,t,e/(n-1));return i}q(`AlphaImage`,wc),q(`RGBAImage`,Tc);let Oc=`big-fb`;class kc extends no{createBucket(e){return new vc(e)}constructor(e,t){super(e,bc,t),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e===`heatmap-color`&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Dc({expression:this._transitionablePaint._values[`heatmap-color`].value.expression,evaluationKey:`heatmapDensity`,image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(Oc)&&this.heatmapFbos.delete(Oc)}queryRadius(e){return ic(`heatmap-radius`,this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:n,geometry:r,transform:i,pixelsToTileUnits:a,unwrappedTileID:o,getElevation:s}){return fc({queryGeometry:e,size:this.paint.get(`heatmap-radius`).evaluate(t,n)*a,transform:i,unwrappedTileID:o,getElevation:s},r)}hasOffscreenPass(){return this.paint.get(`heatmap-opacity`)!==0&&!this.isHidden()}}let Ac;var jc={get paint(){return Ac||=new $a({"hillshade-illumination-direction":new Ya(j.paint_hillshade[`hillshade-illumination-direction`]),"hillshade-illumination-altitude":new Ya(j.paint_hillshade[`hillshade-illumination-altitude`]),"hillshade-illumination-anchor":new Ya(j.paint_hillshade[`hillshade-illumination-anchor`]),"hillshade-exaggeration":new Ya(j.paint_hillshade[`hillshade-exaggeration`]),"hillshade-shadow-color":new Ya(j.paint_hillshade[`hillshade-shadow-color`]),"hillshade-highlight-color":new Ya(j.paint_hillshade[`hillshade-highlight-color`]),"hillshade-accent-color":new Ya(j.paint_hillshade[`hillshade-accent-color`]),"hillshade-method":new Ya(j.paint_hillshade[`hillshade-method`]),resampling:new Ya(j.paint_hillshade.resampling)})}};class Mc extends no{constructor(e,t){super(e,jc,t),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let e=this.paint.get(`hillshade-illumination-direction`).values,t=this.paint.get(`hillshade-illumination-altitude`).values,n=this.paint.get(`hillshade-highlight-color`).values,r=this.paint.get(`hillshade-shadow-color`).values,i=Math.max(e.length,t.length,n.length,r.length);e=e.concat(Array(i-e.length).fill(e.at(-1))),t=t.concat(Array(i-t.length).fill(t.at(-1))),n=n.concat(Array(i-n.length).fill(n.at(-1))),r=r.concat(Array(i-r.length).fill(r.at(-1)));let a=t.map(Ce);return{directionRadians:e.map(Ce),altitudeRadians:a,shadowColor:r,highlightColor:n}}hasOffscreenPass(){return this.paint.get(`hillshade-exaggeration`)!==0&&!this.isHidden()}}let Nc;var Pc={get paint(){return Nc||=new $a({"color-relief-opacity":new Ya(j[`paint_color-relief`][`color-relief-opacity`]),"color-relief-color":new Qa(j[`paint_color-relief`][`color-relief-color`]),resampling:new Ya(j[`paint_color-relief`].resampling)})}};function Fc(e){return`data`in e}class Ic{constructor(e,t,n,r){this.context=e,this.format=n,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,r)}update(e,t,n){let{width:r,height:i}=e,a=(this.size?.[0]!==r||this.size[1]!==i)&&!n,{context:o}=this,{gl:s}=o;this.useMipmap=!!t?.useMipmap,s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1);let c=this.format===s.RGBA&&!1!==t?.premultiply;if(a)this.size=[r,i],Fc(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,c,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._uploadDomImage(e,s));else{let{x:t,y:a}=n||{x:0,y:0};Fc(e)?(o.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,c,t,a,r,i,s)):(o.pixelStoreUnpackPremultiplyAlpha.set(c),this._updateDomImage(e,t,a,s))}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D),o.pixelStoreUnpackFlipY.setDefault(),o.pixelStoreUnpack.setDefault(),o.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,n,r,i){let{data:a}=e;t&&a&&(a=Ec(a)),i.texImage2D(i.TEXTURE_2D,0,this.format,n,r,0,this.format,i.UNSIGNED_BYTE,a)}_updateDomImage(e,t,n,r){r.texSubImage2D(r.TEXTURE_2D,0,t,n,r.RGBA,r.UNSIGNED_BYTE,e)}_updateRawData(e,t,n,r,i,a,o){let{data:s}=e;t&&s&&(s=Ec(s)),o.texSubImage2D(o.TEXTURE_2D,0,n,r,i,a,o.RGBA,o.UNSIGNED_BYTE,s)}bind(e,t,n){let{context:r}=this,{gl:i}=r;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),i.bindTexture(i.TEXTURE_2D,this.texture),n!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(n=i.LINEAR),e!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,n||e),this.filter=e),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}}class Lc{constructor(e,t,n,r=1,i=1,a=1,o=0){if(this.uid=e,t.height!==t.width)throw RangeError(`DEM tiles must be square`);if(n&&![`mapbox`,`terrarium`,`custom`].includes(n))return void pe(`"${n}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);this.stride=t.height;let s=this.dim=t.height-2;switch(this.data=new Uint32Array(t.data.buffer),n){case`terrarium`:this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case`custom`:this.redFactor=r,this.greenFactor=i,this.blueFactor=a,this.baseShift=o;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let e=0;e<s;e++)this.data[this._idx(-1,e)]=this.data[this._idx(0,e)],this.data[this._idx(s,e)]=this.data[this._idx(s-1,e)],this.data[this._idx(e,-1)]=this.data[this._idx(e,0)],this.data[this._idx(e,s)]=this.data[this._idx(e,s-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(s,-1)]=this.data[this._idx(s-1,0)],this.data[this._idx(-1,s)]=this.data[this._idx(0,s-1)],this.data[this._idx(s,s)]=this.data[this._idx(s-1,s-1)],this.min=2**53-1,this.max=-(2**53-1);for(let e=0;e<s;e++)for(let t=0;t<s;t++){let n=this.get(e,t);n>this.max&&(this.max=n),n<this.min&&(this.min=n)}}get(e,t){let n=new Uint8Array(this.data.buffer),r=4*this._idx(e,t);return this.unpack(n[r],n[r+1],n[r+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(e,t){if(e<-1||e>=this.dim+1||t<-1||t>=this.dim+1)throw RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${t}, dim: ${this.dim}`);return(t+1)*this.stride+(e+1)}unpack(e,t,n){return e*this.redFactor+t*this.greenFactor+n*this.blueFactor-this.baseShift}pack(e){return Rc(e,this.getUnpackVector())}getPixels(){return new Tc({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,t,n){if(this.dim!==e.dim)throw Error(`dem dimension mismatch`);let r=t*this.dim,i=t*this.dim+this.dim,a=n*this.dim,o=n*this.dim+this.dim;switch(t){case-1:r=i-1;break;case 1:i=r+1}switch(n){case-1:a=o-1;break;case 1:o=a+1}let s=-t*this.dim,c=-n*this.dim;for(let t=a;t<o;t++)for(let n=r;n<i;n++)this.data[this._idx(n,t)]=e.data[this._idx(n+s,t+c)]}}function Rc(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=Math.min(n,r,i),s=Math.round((e+a)/o);return{r:Math.floor(s*o/n)%256,g:Math.floor(s*o/r)%256,b:Math.floor(s*o/i)%256}}q(`DEMData`,Lc);class zc extends no{constructor(e,t){super(e,Pc,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},n=this._transitionablePaint._values[`color-relief-color`].value.expression;if(n instanceof hi&&n._styleExpression.expression instanceof On){this.colorRampExpression=n;let e=n._styleExpression.expression;t.elevationStops=e.labels,t.colorStops=[];for(let n of t.elevationStops)t.colorStops.push(e.evaluate({globals:{elevation:n}}))}if(t.elevationStops.length<1&&(t.elevationStops=[0],t.colorStops=[Ut.transparent]),t.elevationStops.length<2&&(t.elevationStops.push(t.elevationStops[0]+1),t.colorStops.push(t.colorStops[0])),t.elevationStops.length<=e)return t;let r={elevationStops:[],colorStops:[]},i=(t.elevationStops.length-1)/(e-1);for(let e=0;e<t.elevationStops.length-.5;e+=i)r.elevationStops.push(t.elevationStops[Math.round(e)]),r.colorStops.push(t.colorStops[Math.round(e)]);return pe(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`),r}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values[`color-relief-color`].value.expression}getColorRampTextures(e,t,n){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let r=this._createColorRamp(t),i=new Tc({width:r.colorStops.length,height:1}),a=new Tc({width:r.colorStops.length,height:1});for(let e=0;e<r.elevationStops.length;e++){let t=Rc(r.elevationStops[e],n);a.setPixel(0,e,new Ut(t.r/255,t.g/255,t.b/255,1)),i.setPixel(0,e,r.colorStops[e])}return this.colorRampTextures={elevationTexture:new Ic(e,a,e.gl.RGBA),colorTexture:new Ic(e,i,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}}let{members:Bc}=lo([{name:`a_pos`,components:2,type:`Int16`}],4);function Vc(e,t,n){let r=n.patternDependencies,i=!1;for(let n of t){let t=n.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,r[a.to]=!0,r[a.from]=!0)}return i}function Hc(e,t,n,r,i){let{zoom:a}=r,o=i.patternDependencies;for(let r of t){let t=r.paint.get(`${e}-pattern`).value;if(t.kind!==`constant`){let e=t.evaluate({zoom:a-1},n,{},i.availableImages),s=t.evaluate({zoom:a},n,{},i.availableImages),c=t.evaluate({zoom:a+1},n,{},i.availableImages);e=e?.name?e.name:e,s=s?.name?s.name:s,c=c?.name?c.name:c,o[e]=!0,o[s]=!0,o[c]=!0,n.patterns[r.id]={min:e,mid:s,max:c}}}return n}function Uc(e,t,n,r,i){let a;if(i===function(e,t,n,r){let i=0;for(let a=t,o=n-r;a<n;a+=r)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}(e,t,n,r)>0)for(let i=t;i<n;i+=r)a=dl(i/r|0,e[i],e[i+1],a);else for(let i=n-r;i>=t;i-=r)a=dl(i/r|0,e[i],e[i+1],a);return a&&al(a,a.next)&&(fl(a),a=a.next),a}function Wc(e,t){if(!e)return e;t||=e;let n,r=e;do if(n=!1,r.steiner||!al(r,r.next)&&il(r.prev,r,r.next)!==0)r=r.next;else{if(fl(r),r=t=r.prev,r===r.next)break;n=!0}while(n||r!==t);return t}function Gc(e,t,n,r,i,a,o){if(!e)return;!o&&a&&function(e,t,n,r){let i=e;do i.z===0&&(i.z=$c(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,n=1;do{let r,i=e;e=null;let a=null;for(t=0;i;){t++;let o=i,s=0;for(let e=0;e<n&&(s++,o=o.nextZ,o);e++);let c=n;for(;s>0||c>0&&o;)s!==0&&(c===0||!o||i.z<=o.z)?(r=i,i=i.nextZ,s--):(r=o,o=o.nextZ,c--),a?a.nextZ=r:e=r,r.prevZ=a,a=r;i=o}a.nextZ=null,n*=2}while(t>1)}(i)}(e,r,i,a);let s=e;for(;e.prev!==e.next;){let c=e.prev,l=e.next;if(a?qc(e,r,i,a):Kc(e))t.push(c.i,e.i,l.i),fl(e),e=l.next,s=l.next;else if((e=l)===s){o?o===1?Gc(e=Jc(Wc(e),t),t,n,r,i,a,2):o===2&&Yc(e,t,n,r,i,a):Gc(Wc(e),t,n,r,i,a,1);break}}}function Kc(e){let t=e.prev,n=e,r=e.next;if(il(t,n,r)>=0)return!1;let i=t.x,a=n.x,o=r.x,s=t.y,c=n.y,l=r.y,u=Math.min(i,a,o),d=Math.min(s,c,l),f=Math.max(i,a,o),p=Math.max(s,c,l),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=d&&m.y<=p&&nl(i,s,a,c,o,l,m.x,m.y)&&il(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function qc(e,t,n,r){let i=e.prev,a=e,o=e.next;if(il(i,a,o)>=0)return!1;let s=i.x,c=a.x,l=o.x,u=i.y,d=a.y,f=o.y,p=Math.min(s,c,l),m=Math.min(u,d,f),h=Math.max(s,c,l),g=Math.max(u,d,f),_=$c(p,m,t,n,r),v=$c(h,g,t,n,r),y=e.prevZ,b=e.nextZ;for(;y&&y.z>=_&&b&&b.z<=v;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&nl(s,u,c,d,l,f,y.x,y.y)&&il(y.prev,y,y.next)>=0||(y=y.prevZ,b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&nl(s,u,c,d,l,f,b.x,b.y)&&il(b.prev,b,b.next)>=0))return!1;b=b.nextZ}for(;y&&y.z>=_;){if(y.x>=p&&y.x<=h&&y.y>=m&&y.y<=g&&y!==i&&y!==o&&nl(s,u,c,d,l,f,y.x,y.y)&&il(y.prev,y,y.next)>=0)return!1;y=y.prevZ}for(;b&&b.z<=v;){if(b.x>=p&&b.x<=h&&b.y>=m&&b.y<=g&&b!==i&&b!==o&&nl(s,u,c,d,l,f,b.x,b.y)&&il(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function Jc(e,t){let n=e;do{let r=n.prev,i=n.next.next;!al(r,i)&&ol(r,n,n.next,i)&&ll(r,i)&&ll(i,r)&&(t.push(r.i,n.i,i.i),fl(n),fl(n.next),n=e=i),n=n.next}while(n!==e);return Wc(n)}function Yc(e,t,n,r,i,a){let o=e;do{let e=o.next.next;for(;e!==o.prev;){if(o.i!==e.i&&rl(o,e)){let s=ul(o,e);o=Wc(o,o.next),s=Wc(s,s.next),Gc(o,t,n,r,i,a,0),Gc(s,t,n,r,i,a,0);return}e=e.next}o=o.next}while(o!==e)}function Xc(e,t){let n=e.x-t.x;return n===0&&(n=e.y-t.y,n===0)&&(n=(e.next.y-e.y)/(e.next.x-e.x)-(t.next.y-t.y)/(t.next.x-t.x)),n}function Zc(e,t){let n=function(e,t){let n=t,r=e.x,i=e.y,a,o=-1/0;if(al(e,n))return n;do{if(al(e,n.next))return n.next;if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){let e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>o&&(o=e,a=n.x<n.next.x?n:n.next,e===r))return a}n=n.next}while(n!==t);if(!a)return null;let s=a,c=a.x,l=a.y,u=1/0;n=a;do{if(r>=n.x&&n.x>=c&&r!==n.x&&tl(i<l?r:o,i,c,l,i<l?o:r,i,n.x,n.y)){let t=Math.abs(i-n.y)/(r-n.x);ll(n,e)&&(t<u||t===u&&(n.x>a.x||n.x===a.x&&Qc(a,n)))&&(a=n,u=t)}n=n.next}while(n!==s);return a}(e,t);if(!n)return t;let r=ul(n,e);return Wc(r,r.next),Wc(n,n.next)}function Qc(e,t){return il(e.prev,e,t.prev)<0&&il(t.next,e,e.next)<0}function $c(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function el(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function tl(e,t,n,r,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(r-s)>=(n-o)*(t-s)&&(n-o)*(a-s)>=(i-o)*(r-s)}function nl(e,t,n,r,i,a,o,s){return!(e===o&&t===s)&&tl(e,t,n,r,i,a,o,s)}function rl(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&ol(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(ll(e,t)&&ll(t,e)&&function(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==e);return r}(e,t)&&(il(e.prev,e,t.prev)||il(e,t.prev,t))||al(e,t)&&il(e.prev,e,e.next)>0&&il(t.prev,t,t.next)>0)}function il(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function al(e,t){return e.x===t.x&&e.y===t.y}function ol(e,t,n,r){let i=cl(il(e,t,n)),a=cl(il(e,t,r)),o=cl(il(n,r,e)),s=cl(il(n,r,t));return i!==a&&o!==s||!(i!==0||!sl(e,n,t))||!(a!==0||!sl(e,r,t))||!(o!==0||!sl(n,e,r))||!(s!==0||!sl(n,t,r))}function sl(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function cl(e){return e>0?1:e<0?-1:0}function ll(e,t){return il(e.prev,e,e.next)<0?il(e,t,e.next)>=0&&il(e,e.prev,t)>=0:il(e,t,e.prev)<0||il(e,e.next,t)<0}function ul(e,t){let n=pl(e.i,e.x,e.y),r=pl(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function dl(e,t,n,r){let i=pl(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function fl(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function pl(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}class ml{constructor(e,t){if(t>e)throw Error(`Min granularity must not be greater than base granularity.`);this._baseZoomGranularity=e,this._minGranularity=t}getGranularityForZoomLevel(e){return Math.max(Math.floor(this._baseZoomGranularity/(1<<e)),this._minGranularity,1)}}class hl{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}}hl.noSubdivision=new hl({fill:new ml(0,0),line:new ml(0,0),tile:new ml(0,0),stencil:new ml(0,0),circle:1}),q(`SubdivisionGranularityExpression`,ml),q(`SubdivisionGranularitySetting`,hl);let gl=-32768,_l=32767;class vl{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=D/e,this._canonical=t}_getKey(e,t){return(e+=32768)<<16|t+32768}_vertexToIndex(e,t){if(e<-32768||t<-32768||e>32767||t>32767)throw Error(`Vertex coordinates are out of signed 16 bit integer range.`);let n=0|Math.round(e),r=0|Math.round(t),i=this._getKey(n,r);if(this._vertexDictionary.has(i))return this._vertexDictionary.get(i);let a=this._vertexBuffer.length/2;return this._vertexDictionary.set(i,a),this._vertexBuffer.push(n,r),a}_subdivideTrianglesScanline(e){if(this._granularity<2)return function(e,t){let n=[];for(let r=0;r<t.length;r+=3){let i=t[r],a=t[r+1],o=t[r+2],s=e[2*i],c=e[2*i+1];(e[2*a]-s)*(e[2*o+1]-c)-(e[2*a+1]-c)*(e[2*o]-s)>0?(n.push(i),n.push(o),n.push(a)):(n.push(i),n.push(a),n.push(o))}return n}(this._vertexBuffer,e);let t=[],n=e.length;for(let r=0;r<n;r+=3){let n=[e[r+0],e[r+1],e[r+2]],i=[this._vertexBuffer[2*e[r+0]+0],this._vertexBuffer[2*e[r+0]+1],this._vertexBuffer[2*e[r+1]+0],this._vertexBuffer[2*e[r+1]+1],this._vertexBuffer[2*e[r+2]+0],this._vertexBuffer[2*e[r+2]+1]],a=1/0,o=1/0,s=-1/0,c=-1/0;for(let e=0;e<3;e++){let t=i[2*e],n=i[2*e+1];a=Math.min(a,t),s=Math.max(s,t),o=Math.min(o,n),c=Math.max(c,n)}if(a===s||o===c)continue;let l=Math.floor(a/this._granularityCellSize),u=Math.ceil(s/this._granularityCellSize),d=Math.floor(o/this._granularityCellSize),f=Math.ceil(c/this._granularityCellSize);if(l!==u||d!==f)for(let e=d;e<f;e++){let r=this._scanlineGenerateVertexRingForCellRow(e,i,n);xl(this._vertexBuffer,r,t)}else t.push(...n)}return t}_scanlineGenerateVertexRingForCellRow(e,t,n){let r=e*this._granularityCellSize,i=r+this._granularityCellSize,a=[];for(let e=0;e<3;e++){let o=t[2*e],s=t[2*e+1],c=t[2*(e+1)%6],l=t[(2*(e+1)+1)%6],u=t[2*(e+2)%6],d=t[(2*(e+2)+1)%6],f=c-o,p=l-s,m=f===0,h=p===0,g=(r-s)/p,_=(i-s)/p,v=Math.min(g,_),y=Math.max(g,_);if(!h&&(v>=1||y<=0)||h&&(s<r||s>i)){l>=r&&l<=i&&a.push(n[(e+1)%3]);continue}!h&&v>0&&a.push(this._vertexToIndex(o+f*v,s+p*v));let b=o+f*Math.max(v,0),x=o+f*Math.min(y,1);m||this._generateIntraEdgeVertices(a,o,s,c,l,b,x),!h&&y<1&&a.push(this._vertexToIndex(o+f*y,s+p*y)),(h||l>=r&&l<=i)&&a.push(n[(e+1)%3]),!h&&(l<=r||l>=i)&&this._generateInterEdgeVertices(a,o,s,c,l,u,d,x,r,i)}return a}_generateIntraEdgeVertices(e,t,n,r,i,a,o){let s=r-t,c=i-n,l=c===0,u=l?Math.min(t,r):Math.min(a,o),d=l?Math.max(t,r):Math.max(a,o),f=Math.floor(u/this._granularityCellSize)+1,p=Math.ceil(d/this._granularityCellSize)-1;if(l?t<r:a<o)for(let r=f;r<=p;r++){let i=r*this._granularityCellSize;e.push(this._vertexToIndex(i,n+c*(i-t)/s))}else for(let r=p;r>=f;r--){let i=r*this._granularityCellSize;e.push(this._vertexToIndex(i,n+c*(i-t)/s))}}_generateInterEdgeVertices(e,t,n,r,i,a,o,s,c,l){let u=i-n,d=a-r,f=o-i,p=(c-i)/f,m=(l-i)/f,h=Math.min(p,m),g=Math.max(p,m),_=r+d*h,v=Math.floor(Math.min(_,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(_,s)/this._granularityCellSize)-1,b=s<_,x=f===0;if(x&&(o===c||o===l))return;if(x||h>=1||g<=0){let e=n-o,r=a+(t-a)*Math.min((c-o)/e,(l-o)/e);v=Math.floor(Math.min(r,s)/this._granularityCellSize)+1,y=Math.ceil(Math.max(r,s)/this._granularityCellSize)-1,b=s<r}let S=u>0?l:c;if(b)for(let t=v;t<=y;t++)e.push(this._vertexToIndex(t*this._granularityCellSize,S));else for(let t=y;t>=v;t--)e.push(this._vertexToIndex(t*this._granularityCellSize,S))}_generateOutline(e){let t=[];for(let n of e){let e=bl(n,this._granularity,!0),r=this._pointArrayToIndices(e),i=[];for(let e=1;e<r.length;e++)i.push(r[e-1]),i.push(r[e]);t.push(i)}return t}_handlePoles(e){let t=!1,n=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(n=!0)),(t||n)&&this._fillPoles(e,t,n)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let n=e[t+1];n===gl&&(e[t+1]=-32767),n===_l&&(e[t+1]=32766)}}_generatePoleQuad(e,t,n,r,i,a){r>i==(a===gl)?(e.push(n),e.push(t),e.push(this._vertexToIndex(r,a)),e.push(this._vertexToIndex(i,a)),e.push(n),e.push(this._vertexToIndex(r,a))):(e.push(t),e.push(n),e.push(this._vertexToIndex(r,a)),e.push(n),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(r,a)))}_fillPoles(e,t,n){let r=this._vertexBuffer,i=D,a=e.length;for(let o=2;o<a;o+=3){let a=e[o-2],s=e[o-1],c=e[o],l=r[2*a],u=r[2*a+1],d=r[2*s],f=r[2*s+1],p=r[2*c],m=r[2*c+1];t&&(u===0&&f===0&&this._generatePoleQuad(e,a,s,l,d,gl),f===0&&m===0&&this._generatePoleQuad(e,s,c,d,p,gl),m===0&&u===0&&this._generatePoleQuad(e,c,a,p,l,gl)),n&&(u===i&&f===i&&this._generatePoleQuad(e,a,s,l,d,_l),f===i&&m===i&&this._generatePoleQuad(e,s,c,d,p,_l),m===i&&u===i&&this._generatePoleQuad(e,c,a,p,l,_l))}}_initializeVertices(e){for(let t=0;t<e.length;t+=2)this._vertexToIndex(e[t],e[t+1])}subdividePolygonInternal(e,t){if(this._used)throw Error(`Subdivision: multiple use not allowed.`);this._used=!0;let{flattened:n,holeIndices:r}=function(e){let t=[],n=[];for(let r of e)if(r.length!==0){r!==e[0]&&t.push(n.length/2);for(let e of r)n.push(e.x),n.push(e.y)}return{flattened:n,holeIndices:t}}(e),i;this._initializeVertices(n);try{let e=function(e,t,n=2){let r=t&&t.length,i=r?t[0]*n:e.length,a=Uc(e,0,i,n,!0),o=[];if(!a||a.next===a.prev)return o;let s,c,l;if(r&&(a=function(e,t,n,r){let i=[];for(let n=0,a=t.length;n<a;n++){let o=Uc(e,t[n]*r,n<a-1?t[n+1]*r:e.length,r,!1);o===o.next&&(o.steiner=!0),i.push(el(o))}i.sort(Xc);for(let e=0;e<i.length;e++)n=Zc(i[e],n);return n}(e,t,a,n)),e.length>80*n){s=e[0],c=e[1];let t=s,r=c;for(let a=n;a<i;a+=n){let n=e[a],i=e[a+1];n<s&&(s=n),i<c&&(c=i),n>t&&(t=n),i>r&&(r=i)}l=Math.max(t-s,r-c),l=l===0?0:32767/l}return Gc(a,o,n,s,c,l,0),o}(n,r),t=this._convertIndices(n,e);i=this._subdivideTrianglesScanline(t)}catch(e){console.error(e)}let a=[];return t&&(a=this._generateOutline(e)),this._ensureNoPoleVertices(),this._handlePoles(i),{verticesFlattened:this._vertexBuffer,indicesTriangles:i,indicesLineList:a}}_convertIndices(e,t){let n=[];for(let r of t)n.push(this._vertexToIndex(e[2*r],e[2*r+1]));return n}_pointArrayToIndices(e){let t=[];for(let n of e)t.push(this._vertexToIndex(n.x,n.y));return t}}function yl(e,t,n,r=!0){return new vl(n,t).subdividePolygonInternal(e,r)}function bl(e,t,r=!1){if(!e||e.length<1||e.length<2)return[];let i=e[0],a=e[e.length-1],o=r&&(i.x!==a.x||i.y!==a.y);if(t<2)return o?[...e,e[0]]:[...e];let s=Math.floor(D/t),c=[];c.push(new n(e[0].x,e[0].y));let l=e.length,u=o?l:l-1;for(let t=0;t<u;t++){let r=e[t],i=t<l-1?e[t+1]:e[0],a=r.x,o=r.y,u=i.x,d=i.y,f=a!==u,p=o!==d;if(!f&&!p)continue;let m=u-a,h=d-o,g=Math.abs(m),_=Math.abs(h),v=a,y=o;for(;;){let e=m>0?(Math.floor(v/s)+1)*s:(Math.ceil(v/s)-1)*s,t=h>0?(Math.floor(y/s)+1)*s:(Math.ceil(y/s)-1)*s,r=Math.abs(v-e),i=Math.abs(y-t),a=Math.abs(v-u),o=Math.abs(y-d),l=f?r/g:1/0,b=p?i/_:1/0;if((a<=r||!f)&&(o<=i||!p))break;if(l<b&&f||!p){v=e,y+=h*l;let t=new n(v,Math.round(y));c[c.length-1].x===t.x&&c[c.length-1].y===t.y||c.push(t)}else{v+=m*b,y=t;let e=new n(Math.round(v),y);c[c.length-1].x===e.x&&c[c.length-1].y===e.y||c.push(e)}}let b=new n(u,d);c[c.length-1].x===b.x&&c[c.length-1].y===b.y||c.push(b)}return c}function xl(e,t,n){if(t.length===0)throw Error(`Subdivision vertex ring is empty.`);let r=0,i=e[2*t[0]];for(let n=1;n<t.length;n++){let a=e[2*t[n]];a<i&&(i=a,r=n)}let a=t.length,o=r,s=(o+1)%a;for(;;){let r=o-1>=0?o-1:a-1,i=(s+1)%a,c=e[2*t[r]],l=e[2*t[i]],u=e[2*t[o]],d=e[2*t[o]+1],f=e[2*t[s]+1],p=!1;if(c<l)p=!0;else if(c>l)p=!1;else{let n=f-d,a=-(e[2*t[s]]-u),o=d<f?1:-1;((c-u)*n+(e[2*t[r]+1]-d)*a)*o>((l-u)*n+(e[2*t[i]+1]-d)*a)*o&&(p=!0)}if(p){let e=t[r],i=t[o],c=t[s];e!==i&&e!==c&&i!==c&&n.push(c,i,e),o--,o<0&&(o=a-1)}else{let e=t[i],r=t[o],c=t[s];e!==r&&e!==c&&r!==c&&n.push(c,r,e),s++,s>=a&&(s=0)}if(r===i)break}}function Sl(e,t,n,r,i,a,o,s,c){let l=i.length/2,u=o&&s&&c;if(l<us.MAX_VERTEX_ARRAY_LENGTH){let d=t.prepareSegment(l,n,r),f=d.vertexLength;for(let e=0;e<a.length;e+=3)r.emplaceBack(f+a[e],f+a[e+1],f+a[e+2]);let p,m;d.vertexLength+=l,d.primitiveLength+=a.length/3,u&&(m=o.prepareSegment(l,n,s),p=m.vertexLength,m.vertexLength+=l);for(let t=0;t<i.length;t+=2)e(i[t],i[t+1]);if(u)for(let e of c){for(let t=1;t<e.length;t+=2)s.emplaceBack(p+e[t-1],p+e[t]);m.primitiveLength+=e.length/2}}else(function(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d=2;d<i.length;d+=3){let f=i[d-2],p=i[d-1],m=i[d],h=o[f]<c,g=o[p]<c,_=o[m]<c;l.vertexLength+(+!!h+ +!!g+ +!!_)>us.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,h=!0,g=!0,_=!0,u=0);let v=Cl(o,r,a,s,f,h,l),y=Cl(o,r,a,s,p,g,l),b=Cl(o,r,a,s,m,_,l);n.emplaceBack(u+v-c,u+y-c,u+b-c),l.primitiveLength++}})(t,n,r,i,a,e),u&&function(e,t,n,r,i,a){let o=[];for(let e=0;e<r.length/2;e++)o.push(-1);let s={count:0},c=0,l=e.getOrCreateLatestSegment(t,n),u=l.vertexLength;for(let d of i)for(let i=1;i<d.length;i+=2){let f=d[i-1],p=d[i],m=o[f]<c,h=o[p]<c;l.vertexLength+(+!!m+ +!!h)>us.MAX_VERTEX_ARRAY_LENGTH&&(l=e.createNewSegment(t,n),c=s.count,m=!0,h=!0,u=0);let g=Cl(o,r,a,s,f,m,l),_=Cl(o,r,a,s,p,h,l);n.emplaceBack(u+g-c,u+_-c),l.primitiveLength++}}(o,n,s,i,c,e),t.forceNewSegmentOnNextPrepare(),o?.forceNewSegmentOnNextPrepare()}function Cl(e,t,n,r,i,a,o){if(a){let a=r.count;return n(t[2*i],t[2*i+1]),e[i]=r.count,r.count++,o.vertexLength++,a}return e[i]}class wl{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.layoutVertexArray=new Xo,this.indexArray=new ss,this.indexArray2=new cs,this.programConfigurations=new Rs(e.layers,e.zoom),this.segments=new us,this.segments2=new us,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.hasDependencies=Vc(`fill`,this.layers,t);let r=this.layers[0].layout.get(`fill-sort-key`),i=!r.isConstant(),a=[];for(let{feature:o,id:s,index:c,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,u=Us(o,e);if(!this.layers[0]._featureFilter.filter(new Ra(this.zoom),u,n))continue;let d=i?r.evaluate(u,{},n,t.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:l,index:c,geometry:e?u.geometry:Hs(o),patterns:{},sortKey:d};a.push(f)}i&&a.sort(((e,t)=>e.sortKey-t.sortKey));for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;if(this.hasDependencies){let e=Hc(`fill`,this.layers,r,{zoom:this.zoom},t);this.patternFeatures.push(e)}else this.addFeature(r,i,a,n,{},t.subdivisionGranularity);t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}addFeatures(e,t,n){for(let r of this.patternFeatures)this.addFeature(r,r.geometry,r.index,t,n,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Bc),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,n,r,i,a){for(let e of hr(t,500)){let t=yl(e,r,a.fill.getGranularityForZoomLevel(r.z)),n=this.layoutVertexArray;Sl(((e,t)=>{n.emplaceBack(e,t)}),this.segments,this.layoutVertexArray,this.indexArray,t.verticesFlattened,t.indicesTriangles,this.segments2,this.indexArray2,t.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}}let Tl,El;q(`FillBucket`,wl,{omit:[`layers`,`patternFeatures`]});var Dl={get paint(){return El||=new $a({"fill-antialias":new Ya(j.paint_fill[`fill-antialias`]),"fill-opacity":new Xa(j.paint_fill[`fill-opacity`]),"fill-color":new Xa(j.paint_fill[`fill-color`]),"fill-outline-color":new Xa(j.paint_fill[`fill-outline-color`]),"fill-translate":new Ya(j.paint_fill[`fill-translate`]),"fill-translate-anchor":new Ya(j.paint_fill[`fill-translate-anchor`]),"fill-pattern":new Y(j.paint_fill[`fill-pattern`])})},get layout(){return Tl||=new $a({"fill-sort-key":new Xa(j.layout_fill[`fill-sort-key`])})}};class Ol extends no{constructor(e,t){super(e,Dl,t)}recalculate(e,t){super.recalculate(e,t);let n=this.paint._values[`fill-outline-color`];n.value.kind===`constant`&&n.value.value===void 0&&(this.paint._values[`fill-outline-color`]=this.paint._values[`fill-color`])}createBucket(e){return new wl(e)}queryRadius(){return ac(this.paint.get(`fill-translate`))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:n,pixelsToTileUnits:r}){return Ys(oc(e,this.paint.get(`fill-translate`),this.paint.get(`fill-translate-anchor`),-n.bearingInRadians,r),t)}isTileClipped(){return!0}}let kl=lo([{name:`a_pos`,components:2,type:`Int16`},{name:`a_normal_ed`,components:4,type:`Int16`}],4),Al=lo([{name:`a_centroid`,components:2,type:`Int16`}],4),{members:jl}=kl;class Ml{constructor(e,t,n,r,i){this.properties={},this.extent=n,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=r,this._values=i,e.readFields(Nl,this,t)}loadGeometry(){let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,r=[],i,a=1,o=0,s=0,c=0;for(;e.pos<t;){if(o<=0){let t=e.readVarint();a=7&t,o=t>>3}if(o--,a===1||a===2)s+=e.readSVarint(),c+=e.readSVarint(),a===1&&(i&&r.push(i),i=[]),i&&i.push(new n(s,c));else{if(a!==7)throw Error(`unknown command ${a}`);i&&i.push(i[0].clone())}}return i&&r.push(i),r}bbox(){let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,n=1,r=0,i=0,a=0,o=1/0,s=-1/0,c=1/0,l=-1/0;for(;e.pos<t;){if(r<=0){let t=e.readVarint();n=7&t,r=t>>3}if(r--,n===1||n===2)i+=e.readSVarint(),a+=e.readSVarint(),i<o&&(o=i),i>s&&(s=i),a<c&&(c=a),a>l&&(l=a);else if(n!==7)throw Error(`unknown command ${n}`)}return[o,c,s,l]}toGeoJSON(e,t,n){let r=this.extent*2**n,i=this.extent*e,a=this.extent*t,o=this.loadGeometry();function s(e){return[360*(e.x+i)/r-180,360/Math.PI*Math.atan(Math.exp((1-2*(e.y+a)/r)*Math.PI))-90]}function c(e){return e.map(s)}let l;if(this.type===1){let e=[];for(let t of o)e.push(t[0]);let t=c(e);l=e.length===1?{type:`Point`,coordinates:t[0]}:{type:`MultiPoint`,coordinates:t}}else if(this.type===2){let e=o.map(c);l=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e}}else{if(this.type!==3)throw Error(`unknown feature type`);{let e=Pl(o),t=[];for(let n of e)t.push(n.map(c));l=t.length===1?{type:`Polygon`,coordinates:t[0]}:{type:`MultiPolygon`,coordinates:t}}}let u={type:`Feature`,geometry:l,properties:this.properties};return this.id!=null&&(u.id=this.id),u}}function Nl(e,t,n){e===1?t.id=n.readVarint():e===2?function(e,t){let n=e.readVarint()+e.pos;for(;e.pos<n;){let n=t._keys[e.readVarint()],r=t._values[e.readVarint()];t.properties[n]=r}}(n,t):e===3?t.type=n.readVarint():e===4&&(t._geometry=n.pos)}function Pl(e){let t=e.length;if(t<=1)return[e];let n=[],r,i;for(let a=0;a<t;a++){let t=Fl(e[a]);t!==0&&(i===void 0&&(i=t<0),i===t<0?(r&&n.push(r),r=[e[a]]):r&&r.push(e[a]))}return r&&n.push(r),n}function Fl(e){let t=0;for(let n,r,i=0,a=e.length,o=a-1;i<a;o=i++)n=e[i],r=e[o],t+=(r.x-n.x)*(n.y+r.y);return t}Ml.types=[`Unknown`,`Point`,`LineString`,`Polygon`];class Il{constructor(e,t){this.version=1,this.name=``,this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(Ll,this,t),this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw Error(`feature index out of bounds`);this._pbf.pos=this._features[e];let t=this._pbf.readVarint()+this._pbf.pos;return new Ml(this._pbf,t,this.extent,this._keys,this._values)}}function Ll(e,t,n){e===15?t.version=n.readVarint():e===1?t.name=n.readString():e===5?t.extent=n.readVarint():e===2?t._features.push(n.pos):e===3?t._keys.push(n.readString()):e===4&&t._values.push(function(e){let t=null,n=e.readVarint()+e.pos;for(;e.pos<n;){let n=e.readVarint()>>3;t=n===1?e.readString():n===2?e.readFloat():n===3?e.readDouble():n===4?e.readVarint64():n===5?e.readVarint():n===6?e.readSVarint():n===7?e.readBoolean():null}if(t==null)throw Error(`unknown feature value`);return t}(n))}class Rl{constructor(e,t){this.layers=e.readFields(zl,{},t)}}function zl(e,t,n){if(e===3){let e=new Il(n,n.readVarint()+n.pos);e.length&&(t[e.name]=e)}}let Bl=2**13;function Vl(e,t,n,r,i,a,o,s){e.emplaceBack(t,n,2*Math.floor(r*Bl)+o,i*Bl*2,a*Bl*2,Math.round(s))}class Hl{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new Zo,this.centroidVertexArray=new Jo,this.indexArray=new ss,this.programConfigurations=new Rs(e.layers,e.zoom),this.segments=new us,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.features=[],this.hasDependencies=Vc(`fill-extrusion`,this.layers,t);for(let{feature:r,id:i,index:a,sourceLayerIndex:o}of e){let e=this.layers[0]._featureFilter.needGeometry,s=Us(r,e);if(!this.layers[0]._featureFilter.filter(new Ra(this.zoom),s,n))continue;let c={id:i,sourceLayerIndex:o,index:a,geometry:e?s.geometry:Hs(r),properties:r.properties,type:r.type,patterns:{}};this.hasDependencies?this.features.push(Hc(`fill-extrusion`,this.layers,c,{zoom:this.zoom},t)):this.addFeature(c,c.geometry,a,n,{},t.subdivisionGranularity),t.featureIndex.insert(r,c.geometry,a,o,this.index,!0)}}addFeatures(e,t,n){for(let r of this.features){let{geometry:i}=r;this.addFeature(r,i,r.index,t,n,e.subdivisionGranularity)}}update(e,t,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,jl),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,Al.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,n,r,i,a){for(let n of hr(t,500)){let t={x:0,y:0,sampleCount:0},i=this.layoutVertexArray.length;this.processPolygon(t,r,e,n,a);let o=this.layoutVertexArray.length-i,s=Math.floor(t.x/t.sampleCount),c=Math.floor(t.y/t.sampleCount);for(let e=0;e<o;e++)this.centroidVertexArray.emplaceBack(s,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,canonical:r})}processPolygon(e,t,n,r,i){if(r.length<1||Gl(r[0]))return;for(let t of r)t.length!==0&&Ul(e,t);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},o=i.fill.getGranularityForZoomLevel(t.z),s=Ml.types[n.type]===`Polygon`;for(let e of r){if(e.length===0||Gl(e))continue;let t=bl(e,o,s);this._generateSideFaces(t,a)}if(!s)return;let c=yl(r,t,o,!1),l=this.layoutVertexArray;Sl(((e,t)=>{Vl(l,e,t,0,0,1,1,0)}),this.segments,this.layoutVertexArray,this.indexArray,c.verticesFlattened,c.indicesTriangles)}_generateSideFaces(e,t){let n=0;for(let r=1;r<e.length;r++){let i=e[r],a=e[r-1];if(Wl(i,a))continue;t.segment.vertexLength+4>us.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let o=i.sub(a)._perp()._unit(),s=a.dist(i);n+s>32768&&(n=0),Vl(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,0,n),Vl(this.layoutVertexArray,i.x,i.y,o.x,o.y,0,1,n),n+=s,Vl(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,0,n),Vl(this.layoutVertexArray,a.x,a.y,o.x,o.y,0,1,n);let c=t.segment.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}}function Ul(e,t){for(let n=0;n<t.length;n++){let r=t[n];n===t.length-1&&t[0].x===r.x&&t[0].y===r.y||(e.x+=r.x,e.y+=r.y,e.sampleCount++)}}function Wl(e,t){return e.x===t.x&&(e.x<0||e.x>D)||e.y===t.y&&(e.y<0||e.y>D)}function Gl(e){return e.every((e=>e.x<0))||e.every((e=>e.x>D))||e.every((e=>e.y<0))||e.every((e=>e.y>D))}let Kl;q(`FillExtrusionBucket`,Hl,{omit:[`layers`,`features`]});var ql={get paint(){return Kl||=new $a({"fill-extrusion-opacity":new Ya(j[`paint_fill-extrusion`][`fill-extrusion-opacity`]),"fill-extrusion-color":new Xa(j[`paint_fill-extrusion`][`fill-extrusion-color`]),"fill-extrusion-translate":new Ya(j[`paint_fill-extrusion`][`fill-extrusion-translate`]),"fill-extrusion-translate-anchor":new Ya(j[`paint_fill-extrusion`][`fill-extrusion-translate-anchor`]),"fill-extrusion-pattern":new Y(j[`paint_fill-extrusion`][`fill-extrusion-pattern`]),"fill-extrusion-height":new Xa(j[`paint_fill-extrusion`][`fill-extrusion-height`]),"fill-extrusion-base":new Xa(j[`paint_fill-extrusion`][`fill-extrusion-base`]),"fill-extrusion-vertical-gradient":new Ya(j[`paint_fill-extrusion`][`fill-extrusion-vertical-gradient`])})}};class Jl extends no{constructor(e,t){super(e,ql,t)}createBucket(e){return new Hl(e)}queryRadius(){return ac(this.paint.get(`fill-extrusion-translate`))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:a,pixelsToTileUnits:o,pixelPosMatrix:s}){let c=oc(e,this.paint.get(`fill-extrusion-translate`),this.paint.get(`fill-extrusion-translate-anchor`),-a.bearingInRadians,o),l=this.paint.get(`fill-extrusion-height`).evaluate(t,r),u=this.paint.get(`fill-extrusion-base`).evaluate(t,r),d=function(e,t){let r=[];for(let i of e){let e=[i.x,i.y,0,1];C(e,e,t),r.push(new n(e[0]/e[3],e[1]/e[3]))}return r}(c,s),f=function(e,t,r,i){let a=[],o=[],s=i[8]*t,c=i[9]*t,l=i[10]*t,u=i[11]*t,d=i[8]*r,f=i[9]*r,p=i[10]*r,m=i[11]*r;for(let t of e){let e=[],r=[];for(let a of t){let t=a.x,o=a.y,h=i[0]*t+i[4]*o+i[12],g=i[1]*t+i[5]*o+i[13],_=i[2]*t+i[6]*o+i[14],v=i[3]*t+i[7]*o+i[15],y=_+l,b=v+u,x=h+d,S=g+f,C=_+p,w=v+m,T=new n((h+s)/b,(g+c)/b);T.z=y/b,e.push(T);let ee=new n(x/w,S/w);ee.z=C/w,r.push(ee)}a.push(e),o.push(r)}return[a,o]}(i,u,l,s);return function(e,t,n){let r=1/0;Ys(n,t)&&(r=Xl(n,t[0]));for(let i=0;i<t.length;i++){let a=t[i],o=e[i];for(let e=0;e<a.length-1;e++){let t=a[e],i=[t,a[e+1],o[e+1],o[e],t];qs(n,i)&&(r=Math.min(r,Xl(n,i)))}}return r!==1/0&&r}(f[0],f[1],d)}}function Yl(e,t){return e.x*t.x+e.y*t.y}function Xl(e,t){if(e.length===1){let n=0,r=t[n++],i;for(;!i||r.equals(i);)if(i=t[n++],!i)return 1/0;for(;n<t.length;n++){let a=t[n],o=e[0],s=i.sub(r),c=a.sub(r),l=o.sub(r),u=Yl(s,s),d=Yl(s,c),f=Yl(c,c),p=Yl(l,s),m=Yl(l,c),h=u*f-d*d,g=(f*p-d*m)/h,_=(u*m-d*p)/h,v=r.z*(1-g-_)+i.z*g+a.z*_;if(isFinite(v))return v}return 1/0}{let e=1/0;for(let n of t)e=Math.min(e,n.z);return e}}let Zl=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class Ql{static from(e){if(!(e instanceof ArrayBuffer))throw Error(`Data must be an instance of ArrayBuffer.`);let[t,n]=new Uint8Array(e,0,2);if(t!==219)throw Error(`Data does not appear to be in a KDBush format.`);let r=n>>4;if(r!==1)throw Error(`Got v${r} data when expected v1.`);let i=Zl[15&n];if(!i)throw Error(`Unrecognized array type.`);let[a]=new Uint16Array(e,2,1),[o]=new Uint32Array(e,4,1);return new Ql(o,a,i,e)}constructor(e,t=64,n=Float64Array,r){if(isNaN(e)||e<0)throw Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let i=Zl.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw Error(`Unexpected typed array class: ${n}.`);r&&r instanceof ArrayBuffer?(this.data=r,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){let n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=t,n}finish(){let e=this._pos>>1;if(e!==this.numItems)throw Error(`Added ${e} items when expected ${this.numItems}.`);return $l(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,n,r){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],c=[];for(;s.length;){let l=s.pop()||0,u=s.pop()||0,d=s.pop()||0;if(u-d<=o){for(let o=d;o<=u;o++){let s=a[2*o],l=a[2*o+1];s>=e&&s<=n&&l>=t&&l<=r&&c.push(i[o])}continue}let f=d+u>>1,p=a[2*f],m=a[2*f+1];p>=e&&p<=n&&m>=t&&m<=r&&c.push(i[f]),(l===0?e<=p:t<=m)&&(s.push(d),s.push(f-1),s.push(1-l)),(l===0?n>=p:r>=m)&&(s.push(f+1),s.push(u),s.push(1-l))}return c}within(e,t,n){if(!this._finished)throw Error(`Data not yet indexed - call index.finish().`);let{ids:r,coords:i,nodeSize:a}=this,o=[0,r.length-1,0],s=[],c=n*n;for(;o.length;){let l=o.pop()||0,u=o.pop()||0,d=o.pop()||0;if(u-d<=a){for(let n=d;n<=u;n++)ru(i[2*n],i[2*n+1],e,t)<=c&&s.push(r[n]);continue}let f=d+u>>1,p=i[2*f],m=i[2*f+1];ru(p,m,e,t)<=c&&s.push(r[f]),(l===0?e-n<=p:t-n<=m)&&(o.push(d),o.push(f-1),o.push(1-l)),(l===0?e+n>=p:t+n>=m)&&(o.push(f+1),o.push(u),o.push(1-l))}return s}}function $l(e,t,n,r,i,a){if(i-r<=n)return;let o=r+i>>1;eu(e,t,o,r,i,a),$l(e,t,n,r,o-1,1-a),$l(e,t,n,o+1,i,1-a)}function eu(e,t,n,r,i,a){for(;i>r;){if(i-r>600){let o=i-r+1,s=n-r+1,c=Math.log(o),l=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*l*(o-l)/o)*(s-o/2<0?-1:1);eu(e,t,n,Math.max(r,Math.floor(n-s*l/o+u)),Math.min(i,Math.floor(n+(o-s)*l/o+u)),a)}let o=t[2*n+a],s=r,c=i;for(tu(e,t,r,n),t[2*i+a]>o&&tu(e,t,r,i);s<c;){for(tu(e,t,s,c),s++,c--;t[2*s+a]<o;)s++;for(;t[2*c+a]>o;)c--}t[2*r+a]===o?tu(e,t,r,c):(c++,tu(e,t,c,i)),c<=n&&(r=c+1),n<=c&&(i=c-1)}}function tu(e,t,n,r){nu(e,n,r),nu(t,2*n,2*r),nu(t,2*n+1,2*r+1)}function nu(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function ru(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function iu(e,t,n,r){let i=r,a=t+(n-t>>1),o,s=n-t,c=e[t],l=e[t+1],u=e[n],d=e[n+1];for(let r=t+3;r<n;r+=3){let t=au(e[r],e[r+1],c,l,u,d);if(t>i)o=r,i=t;else if(t===i){let e=Math.abs(r-a);e<s&&(o=r,s=e)}}i>r&&(o-t>3&&iu(e,t,o,r),e[o+2]=i,n-o>3&&iu(e,o,n,r))}function au(e,t,n,r,i,a){let o=i-n,s=a-r;if(o!==0||s!==0){let c=((e-n)*o+(t-r)*s)/(o*o+s*s);c>1?(n=i,r=a):c>0&&(n+=o*c,r+=s*c)}return o=e-n,s=t-r,o*o+s*s}function ou(e,t,n,r){let i={type:t,geom:n},a={id:e??null,type:i.type,geometry:i.geom,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};switch(i.type){case`Point`:case`MultiPoint`:cu(a,i.geom);break;case`LineString`:cu(a,i.geom.points);break;case`Polygon`:cu(a,i.geom[0].points);break;case`MultiLineString`:for(let e of i.geom)cu(a,e.points);break;case`MultiPolygon`:for(let e of i.geom)cu(a,e[0].points)}return a}function su(e){e.points.length>64&&(e.points=new Float64Array(e.points))}function cu(e,t){for(let n=0;n<t.length;n+=3)e.minX=Math.min(e.minX,t[n]),e.minY=Math.min(e.minY,t[n+1]),e.maxX=Math.max(e.maxX,t[n]),e.maxY=Math.max(e.maxY,t[n+1])}function lu(e,t){let n=[];switch(e.type){case`FeatureCollection`:for(let r=0;r<e.features.length;r++)uu(n,e.features[r],t,r);break;case`Feature`:uu(n,e,t);break;default:uu(n,{geometry:e,properties:void 0},t)}return n}function uu(e,t,n,r){if(!t.geometry)return;if(t.geometry.type===`GeometryCollection`)return void function(e,t,n,r,i){for(let a of n.geometries)uu(e,{id:t.id,geometry:a,properties:t.properties},r,i)}(e,t,t.geometry,n,r);if(!t.geometry.coordinates?.length)return;let i=function(e,t,n){return t.promoteId?e.properties?.[t.promoteId]:t.generateId?n||0:e.id}(t,n,r),a=(n.tolerance/((1<<n.maxZoom)*n.extent))**2;switch(t.geometry.type){case`Point`:(function(e,t,n,r){let i=[];i.push(pu(n.coordinates[0]),mu(n.coordinates[1]),0),e.push(ou(t,`Point`,i,r))})(e,i,t.geometry,t.properties);return;case`MultiPoint`:(function(e,t,n,r){let i=[];for(let e of n.coordinates)i.push(pu(e[0]),mu(e[1]),0);e.push(ou(t,`MultiPoint`,i,r))})(e,i,t.geometry,t.properties);return;case`LineString`:(function(e,t,n,r,i){let a={points:[]};du(n.coordinates,a,r,!1),e.push(ou(t,`LineString`,a,i))})(e,i,t.geometry,a,t.properties);return;case`MultiLineString`:(function(e,t,n,r,i,a){if(i.lineMetrics)for(let i of n.coordinates){let n={points:[]};du(i,n,r,!1),e.push(ou(t,`LineString`,n,a))}else{let i=[];fu(n.coordinates,i,r,!1),e.push(ou(t,`MultiLineString`,i,a))}})(e,i,t.geometry,a,n,t.properties);return;case`Polygon`:(function(e,t,n,r,i){let a=[];fu(n.coordinates,a,r,!0),e.push(ou(t,`Polygon`,a,i))})(e,i,t.geometry,a,t.properties);return;case`MultiPolygon`:(function(e,t,n,r,i){let a=[];for(let e of n.coordinates){let t=[];fu(e,t,r,!0),a.push(t)}e.push(ou(t,`MultiPolygon`,a,i))})(e,i,t.geometry,a,t.properties);return;default:throw Error(`Input data is not a valid GeoJSON object.`)}}function du(e,t,n,r){let i,a,o=0;for(let n=0;n<e.length;n++){let s=pu(e[n][0]),c=mu(e[n][1]);t.points.push(s,c,0),n>0&&(o+=r?(i*c-s*a)/2:Math.sqrt((s-i)**2+(c-a)**2)),i=s,a=c}let s=t.points.length-3;t.points[2]=1,n>0&&iu(t.points,0,s,n),t.points[s+2]=1,su(t),t.size=Math.abs(o),t.start=0,t.end=t.size}function fu(e,t,n,r){for(let i=0;i<e.length;i++){let a={points:[]};du(e[i],a,n,r),t.push(a)}}function pu(e){return e/360+.5}function mu(e){let t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function hu(e){let t={type:`Feature`,geometry:gu(e),properties:e.tags};return e.id!=null&&(t.id=e.id),t}function gu(e){let{type:t,geometry:n}=e;switch(t){case`Point`:return{type:t,coordinates:vu(n[0],n[1])};case`MultiPoint`:return{type:t,coordinates:_u(n)};case`LineString`:return{type:t,coordinates:_u(n.points)};case`MultiLineString`:case`Polygon`:return{type:t,coordinates:n.map((e=>_u(e.points)))};case`MultiPolygon`:return{type:t,coordinates:n.map((e=>e.map((e=>_u(e.points)))))}}}function _u(e){let t=[];for(let n=0;n<e.length;n+=3)t.push(vu(e[n],e[n+1]));return t}function vu(e,t){return[yu(e),bu(t)]}function yu(e){return 360*(e-.5)}function bu(e){let t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}var xu;function Su(e,t,n,r,i,a,o,s){if(r/=t,a>=(n/=t)&&o<r)return e;if(o<n||a>=r)return null;let c=[];for(let t of e){let e=i===xu.X?t.minX:t.minY,a=i===xu.X?t.maxX:t.maxY;if(e>=n&&a<r)c.push(t);else if(!(a<n||e>=r))switch(t.type){case`Point`:case`MultiPoint`:Cu(t,c,n,r,i);continue;case`LineString`:wu(t,c,n,r,i,s);continue;case`MultiLineString`:Tu(t,c,n,r,i);continue;case`Polygon`:Eu(t,c,n,r,i);continue;case`MultiPolygon`:Du(t,c,n,r,i);continue}}return c.length?c:null}function Cu(e,t,n,r,i){let a=[];(function(e,t,n,r,i){for(let a=0;a<e.length;a+=3){let o=e[a+i];o>=n&&o<=r&&ju(t,e[a],e[a+1],e[a+2])}})(e.geometry,a,n,r,i),a.length&&t.push(ou(e.id,a.length===3?`Point`:`MultiPoint`,a,e.tags))}function wu(e,t,n,r,i,a){let o=[];if(Ou(e.geometry,o,n,r,i,!1,a.lineMetrics),o.length)if(a.lineMetrics)for(let n of o)t.push(ou(e.id,`LineString`,n,e.tags));else t.push(o.length>1?ou(e.id,`MultiLineString`,o,e.tags):ou(e.id,`LineString`,o[0],e.tags))}function Tu(e,t,n,r,i){let a=[];Au(e.geometry,a,n,r,i,!1),a.length&&t.push(a.length===1?ou(e.id,`LineString`,a[0],e.tags):ou(e.id,`MultiLineString`,a,e.tags))}function Eu(e,t,n,r,i){let a=[];Au(e.geometry,a,n,r,i,!0),a.length&&t.push(ou(e.id,`Polygon`,a,e.tags))}function Du(e,t,n,r,i){let a=[];for(let t of e.geometry){let e=[];Au(t,e,n,r,i,!0),e.length&&a.push(e)}a.length&&t.push(ou(e.id,`MultiPolygon`,a,e.tags))}function Ou(e,t,n,r,i,a,o){let s=ku(e),c=i===xu.X?Mu:Nu,l,u,d=e.start;for(let f=0;f<e.points.length-3;f+=3){let p=e.points[f],m=e.points[f+1],h=e.points[f+2],g=e.points[f+3],_=e.points[f+4],v=i===xu.X?p:m,y=i===xu.X?g:_,b=!1;o&&(l=Math.sqrt((p-g)**2+(m-_)**2)),v<n?y>n&&(u=c(s,p,m,g,_,n),o&&(s.start=d+l*u)):v>r?y<r&&(u=c(s,p,m,g,_,r),o&&(s.start=d+l*u)):ju(s.points,p,m,h),y<n&&v>=n&&(u=c(s,p,m,g,_,n),b=!0),y>r&&v<=r&&(u=c(s,p,m,g,_,r),b=!0),!a&&b&&(o&&(s.end=d+l*u),t.push(s),s=ku(e)),o&&(d+=l)}let f=e.points.length-3,p=e.points[f],m=e.points[f+1],h=i===xu.X?p:m;h>=n&&h<=r&&ju(s.points,p,m,e.points[f+2]),f=s.points.length-3,a&&f>=3&&(s.points[f]!==s.points[0]||s.points[f+1]!==s.points[1])&&ju(s.points,s.points[0],s.points[1],s.points[2]),s.points.length&&(su(s),t.push(s))}function ku(e){return{points:[],size:e.size,start:e.start,end:e.end}}function Au(e,t,n,r,i,a){for(let o of e)Ou(o,t,n,r,i,a,!1)}function ju(e,t,n,r){e.push(t,n,r)}function Mu(e,t,n,r,i,a){let o=(a-t)/(r-t);return ju(e.points,a,n+(i-n)*o,1),o}function Nu(e,t,n,r,i,a){let o=(a-n)/(i-n);return ju(e.points,t+(r-t)*o,a,1),o}function Pu(e,t){let n=t.buffer/t.extent,r=e,i=Su(e,1,-1-n,n,xu.X,-1,2,t),a=Su(e,1,1-n,2+n,xu.X,-1,2,t);return i||a?(r=Su(e,1,-n,1+n,xu.X,-1,2,t)||[],i&&(r=Fu(i,1).concat(r)),a&&(r=r.concat(Fu(a,-1))),r):r}function Fu(e,t){let n=[];for(let r of e)switch(r.type){case`Point`:case`MultiPoint`:{let e=Iu(r.geometry,t);n.push(ou(r.id,r.type,e,r.tags));continue}case`LineString`:{let e=Lu(r.geometry,t);n.push(ou(r.id,r.type,e,r.tags));continue}case`MultiLineString`:case`Polygon`:{let e=[];for(let n of r.geometry)e.push(Lu(n,t));n.push(ou(r.id,r.type,e,r.tags));continue}case`MultiPolygon`:{let e=[];for(let n of r.geometry){let r=[];for(let e of n)r.push(Lu(e,t));e.push(r)}n.push(ou(r.id,r.type,e,r.tags));continue}}return n}function Iu(e,t){let n=[];for(let r=0;r<e.length;r+=3)n.push(e[r]+t,e[r+1],e[r+2]);return n}function Lu(e,t){let n={points:[],size:e.size};e.start!==void 0&&(n.start=e.start,n.end=e.end);for(let r=0;r<e.points.length;r+=3)n.points.push(e.points[r]+t,e.points[r+1],e.points[r+2]);return su(n),n}function Ru(e,t,n){let r=!!t.newGeometry,i=t.removeAllProperties||t.removeProperties?.length>0||t.addOrUpdateProperties?.length>0;if(r){let r=e[0],a=lu({type:`FeatureCollection`,features:[{type:`Feature`,id:r.id,geometry:t.newGeometry,properties:i?zu(r.tags,t):r.tags}]},n);return a=Pu(a,n),a}if(i){let n=[];for(let r of e){let e={...r};e.tags=zu(e.tags,t),n.push(e)}return n}return e}function zu(e,t){if(t.removeAllProperties)return{};let n={...e||{}};if(t.removeProperties)for(let e of t.removeProperties)delete n[e];if(t.addOrUpdateProperties)for(let{key:e,value:r}of t.addOrUpdateProperties)n[e]=r;return n}(function(e){e[e.X=0]=`X`,e[e.Y=1]=`Y`})(xu||={});let Bu={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e};class Vu{constructor(e){this.options=Object.assign(Object.create(Bu),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[],this.points=[]}load(e){let t=[];for(let n of e){if(!n.geometry)continue;let[e,r]=n.geometry.coordinates,[i,a]=[pu(e),mu(r)];t.push({id:n.id,type:`Point`,geometry:[i,a],tags:n.properties})}this.createIndex(t)}initialize(e){let t=[];for(let n of e)n.type===`Point`&&t.push(n);this.createIndex(t)}updateIndex(e,t,n){this.options=Object.assign(Object.create(Bu),n.clusterOptions),this.initialize(e)}createIndex(e){let{log:t,minZoom:n,maxZoom:r}=this.options;t&&console.time(`total time`);let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t<e.length;t++){let n=e[t];if(!n?.geometry)continue;let[r,i]=n.geometry;r=Math.fround(r),i=Math.fround(i),a.push(r,i,1/0,t,-1,1),this.options.reduce&&a.push(0)}let o=this.trees[r+1]=this.createTree(a);t&&console.timeEnd(i);for(let e=r;e>=n;e--){let n=Date.now();o=this.trees[e]=this.createTree(this.cluster(o,e)),t&&console.log(`z%d: %d clusters in %dms`,e,o.numItems,Date.now()-n)}t&&console.timeEnd(`total time`)}getClusters(e,t){return this.getClustersInternal(e,t).map((e=>hu(e)))}getClustersInternal(e,t){let n=((e[0]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[1])),i=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)n=-180,i=180;else if(n>i){let e=this.getClustersInternal([n,r,180,a],t),o=this.getClustersInternal([-180,r,i,a],t);return e.concat(o)}let o=this.trees[this.limitZoom(t)],s=o.range(pu(n),mu(a),pu(i),mu(r)),c=o.flatData,l=[];for(let e of s){let t=this.stride*e;l.push(c[t+5]>1?Hu(c,t,this.clusterProps):this.points[c[t+3]])}return l}getChildren(e){let t=this.getOriginId(e),n=this.getOriginZoom(e),r=Error(`No cluster with the specified id: `+e),i=this.trees[n];if(!i)throw r;let a=i.flatData;if(t*this.stride>=a.length)throw r;let o=this.options.radius/(this.options.extent*2**(n-1)),s=i.within(a[t*this.stride],a[t*this.stride+1],o),c=[];for(let t of s){let n=t*this.stride;a[n+4]===e&&c.push(a[n+5]>1?Uu(a,n,this.clusterProps):hu(this.points[a[n+3]]))}if(c.length===0)throw r;return c}getLeaves(e,t,n){let r=[];return this.appendLeaves(r,e,t||=10,n||=0,0),r}getTile(e,t,n){let r=this.trees[this.limitZoom(e)];if(!r)return null;let i=2**e,{extent:a,radius:o}=this.options,s=o/a,c=(n-s)/i,l=(n+1+s)/i,u={transformed:!0,features:[],source:null,x:t,y:n,z:e};return this.addTileFeatures(r.range((t-s)/i,c,(t+1+s)/i,l),r.flatData,t,n,i,u),t===0&&this.addTileFeatures(r.range(1-s/i,c,1,l),r.flatData,i,n,i,u),t===i-1&&this.addTileFeatures(r.range(0,c,s/i,l),r.flatData,-1,n,i,u),u}getClusterExpansionZoom(e){return this.getOriginZoom(e)}appendLeaves(e,t,n,r,i){let a=this.getChildren(t);for(let t of a){let a=t.properties;if(a?.cluster?i+a.point_count<=r?i+=a.point_count:i=this.appendLeaves(e,a.cluster_id,n,r,i):i<r?i++:e.push(t),e.length===n)break}return i}createTree(e){let t=new Ql(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let n=0;n<e.length;n+=this.stride)t.add(e[n],e[n+1]);return t.finish(),t.flatData=e,t.data=null,t}addTileFeatures(e,t,n,r,i,a){for(let o of e){let e=o*this.stride,s=t[e+5]>1,c,l,u;if(s)c=Wu(t,e,this.clusterProps),l=t[e],u=t[e+1];else{let n=this.points[t[e+3]];c=n.tags,[l,u]=n.geometry}let d={type:1,geometry:[[Math.round(this.options.extent*(l*i-n)),Math.round(this.options.extent*(u*i-r))]],tags:c},f;f=s||this.options.generateId?t[e+3]:this.points[t[e+3]].id,f!==void 0&&(d.id=f),a.features.push(d)}}limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}cluster(e,t){let{radius:n,extent:r,reduce:i,minPoints:a}=this.options,o=n/(r*2**t),s=e.flatData,c=[],l=this.stride;for(let n=0;n<s.length;n+=l){if(s[n+2]<=t)continue;s[n+2]=t;let r=s[n],u=s[n+1],d=e.within(s[n],s[n+1],o),f=s[n+5],p=f;for(let e of d){let n=e*l;s[n+2]>t&&(p+=s[n+5])}if(p>f&&p>=a){let e,a=r*f,o=u*f,m=-1,h=(n/l<<5)+(t+1)+this.points.length;for(let r of d){let c=r*l;if(s[c+2]<=t)continue;s[c+2]=t;let u=s[c+5];a+=s[c]*u,o+=s[c+1]*u,s[c+4]=h,i&&(e||(e=this.map(s,n,!0),m=this.clusterProps.length,this.clusterProps.push(e)),i(e,this.map(s,c)))}s[n+4]=h,c.push(a/p,o/p,1/0,h,-1,p),i&&c.push(m)}else{for(let e=0;e<l;e++)c.push(s[n+e]);if(p>1)for(let e of d){let n=e*l;if(!(s[n+2]<=t)){s[n+2]=t;for(let e=0;e<l;e++)c.push(s[n+e])}}}}return c}getOriginId(e){return e-this.points.length>>5}getOriginZoom(e){return(e-this.points.length)%32}map(e,t,n){if(e[t+5]>1){let r=this.clusterProps[e[t+6]];return n?Object.assign({},r):r}let r=this.points[e[t+3]].tags,i=this.options.map(r);return n&&i===r?Object.assign({},i):i}}function Hu(e,t,n){return{id:e[t+3],type:`Point`,tags:Wu(e,t,n),geometry:[e[t],e[t+1]]}}function Uu(e,t,n){return{type:`Feature`,id:e[t+3],properties:Wu(e,t,n),geometry:{type:`Point`,coordinates:[yu(e[t]),bu(e[t+1])]}}}function Wu(e,t,n){let r=e[t+5],i=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?Math.round(r/100)/10+`k`:r,a=e[t+6],o=a===-1?{}:Object.assign({},n[a]);return Object.assign(o,{cluster:!0,cluster_id:e[t+3],point_count:r,point_count_abbreviated:i})}let Gu=`geojsonvt_clip_start`,Ku=`geojsonvt_clip_end`;function qu(e,t,n,r,i){let a=t===i.maxZoom?0:i.tolerance/((1<<t)*i.extent),o={transformed:!1,features:[],source:null,x:n,y:r,z:t,minX:2,minY:1,maxX:-1,maxY:0,numPoints:0,numSimplified:0,numFeatures:e.length};for(let t of e)Ju(o,t,a,i);return o}function Ju(e,t,n,r){switch(e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),t.type){case`Point`:case`MultiPoint`:(function(e,t){let n=[];for(let r=0;r<t.geometry.length;r+=3)n.push(t.geometry[r],t.geometry[r+1]),e.numPoints++,e.numSimplified++;if(!n.length)return;let r={type:1,tags:t.tags||null,geometry:n};t.id!==null&&(r.id=t.id),e.features.push(r)})(e,t);return;case`LineString`:(function(e,t,n,r){let i=[];if(Yu(i,t.geometry,e,n,!1,!1),!i.length)return;let a=t.tags||null;if(r.lineMetrics){a={};for(let e in t.tags)a[e]=t.tags[e];a[Gu]=t.geometry.start/t.geometry.size,a[Ku]=t.geometry.end/t.geometry.size}let o={type:2,tags:a,geometry:i};t.id!==null&&(o.id=t.id),e.features.push(o)})(e,t,n,r);return;case`MultiLineString`:case`Polygon`:(function(e,t,n){let r=[];for(let i=0;i<t.geometry.length;i++)Yu(r,t.geometry[i],e,n,t.type===`Polygon`,i===0);if(!r.length)return;let i={type:t.type===`Polygon`?3:2,tags:t.tags||null,geometry:r};t.id!==null&&(i.id=t.id),e.features.push(i)})(e,t,n);return;case`MultiPolygon`:(function(e,t,n){let r=[];for(let i=0;i<t.geometry.length;i++){let a=t.geometry[i];for(let t=0;t<a.length;t++)Yu(r,a[t],e,n,!0,t===0)}if(!r.length)return;let i={type:3,tags:t.tags||null,geometry:r};t.id!==null&&(i.id=t.id),e.features.push(i)})(e,t,n);return}}function Yu(e,t,n,r,i,a){let o=r*r;if(r>0&&t.size<(i?o:r))return void(n.numPoints+=t.points.length/3);let s=[];for(let e=0;e<t.points.length;e+=3)(r===0||t.points[e+2]>o)&&(n.numSimplified++,s.push(t.points[e],t.points[e+1])),n.numPoints++;i&&function(e,t){let n=0;for(let t=0,r=e.length,i=r-2;t<r;i=t,t+=2)n+=(e[t]-e[i])*(e[t+1]+e[i+1]);if(n>0===t)for(let t=0,n=e.length;t<n/2;t+=2){let r=e[t],i=e[t+1];e[t]=e[n-2-t],e[t+1]=e[n-1-t],e[n-2-t]=r,e[n-1-t]=i}}(s,a),e.push(s)}function Xu(e,t){if(e.transformed)return e;let n=1<<e.z,r=e.x,i=e.y;for(let a of e.features)a.type===1?Zu(a,t,n,r,i):Qu(a,t,n,r,i);return e.transformed=!0,e}function Zu(e,t,n,r,i){let a=e,o=e.geometry,s=[];for(let e=0;e<o.length;e+=2)s.push($u(o[e],o[e+1],t,n,r,i));return a.geometry=s,a}function Qu(e,t,n,r,i){let a=e,o=e.geometry,s=[];for(let e of o){let a=[];for(let o=0;o<e.length;o+=2)a.push($u(e[o],e[o+1],t,n,r,i));s.push(a)}return a.geometry=s,a}function $u(e,t,n,r,i,a){return[Math.round(n*(e*r-i)),Math.round(n*(t*r-a))]}class ed{constructor(e){this.options=e,this.total=0,this.stats={},this.tiles={},this.tileCoords=[],this.stats={},this.total=0}initialize(e){this.splitTile(e,0,0,0),this.options.debug&&(e.length&&console.log(`features: %d, points: %d`,this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(`generate tiles`),console.log(`tiles generated:`,this.total,JSON.stringify(this.stats)))}updateIndex(e,t,n){n.debug>1&&(console.log(`invalidating tiles`),console.time(`invalidating`)),this.invalidateTiles(t),n.debug>1&&console.timeEnd(`invalidating`);let[r,i,a]=[0,0,0],o=qu(e,r,i,a,n);o.source=e;let s=td(r,i,a);if(this.tiles[s]=o,this.tileCoords.push({z:r,x:i,y:a,id:s}),n.debug){let e=`z${r}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}}getClusterExpansionZoom(e){return null}getChildren(e){return null}getLeaves(e,t,n){return null}getTile(e,t,n){let{extent:r,debug:i}=this.options,a=1<<e,o=td(e,t=t+a&a-1,n);if(this.tiles[o])return Xu(this.tiles[o],r);i>1&&console.log(`drilling down to z%d-%d-%d`,e,t,n);let s,c=e,l=t,u=n;for(;!s&&c>0;)c--,l>>=1,u>>=1,s=this.tiles[td(c,l,u)];return s?.source?(i>1&&(console.log(`found parent tile z%d-%d-%d`,c,l,u),console.time(`drilling down`)),this.splitTile(s.source,c,l,u,e,t,n),i>1&&console.timeEnd(`drilling down`),this.tiles[o]?Xu(this.tiles[o],r):null):null}splitTile(e,t,n,r,i,a,o){let s=[e,t,n,r],c=this.options,l=c.debug;for(;s.length;){r=s.pop(),n=s.pop(),t=s.pop(),e=s.pop();let u=1<<t,d=td(t,n,r),f=this.tiles[d];if(!f&&(l>1&&console.time(`creation`),f=this.tiles[d]=qu(e,t,n,r,c),this.tileCoords.push({z:t,x:n,y:r,id:d}),l)){l>1&&(console.log(`tile z%d-%d-%d (features: %d, points: %d, simplified: %d)`,t,n,r,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd(`creation`));let e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}if(f.source=e,i==null){if(t===c.indexMaxZoom||f.numPoints<=c.indexMaxPoints)continue}else{if(t===c.maxZoom||t===i)continue;if(i!=null){let e=i-t;if(n!==a>>e||r!==o>>e)continue}}if(f.source=null,!e.length)continue;l>1&&console.time(`clipping`);let p=.5*c.buffer/c.extent,m=.5-p,h=.5+p,g=1+p,_=null,v=null,y=null,b=null,x=Su(e,u,n-p,n+h,xu.X,f.minX,f.maxX,c),S=Su(e,u,n+m,n+g,xu.X,f.minX,f.maxX,c);x&&(_=Su(x,u,r-p,r+h,xu.Y,f.minY,f.maxY,c),v=Su(x,u,r+m,r+g,xu.Y,f.minY,f.maxY,c)),S&&(y=Su(S,u,r-p,r+h,xu.Y,f.minY,f.maxY,c),b=Su(S,u,r+m,r+g,xu.Y,f.minY,f.maxY,c)),l>1&&console.timeEnd(`clipping`),s.push(_||[],t+1,2*n,2*r),s.push(v||[],t+1,2*n,2*r+1),s.push(y||[],t+1,2*n+1,2*r),s.push(b||[],t+1,2*n+1,2*r+1)}}invalidateTiles(e){if(!e.length)return;let t=this.options,{debug:n}=t,r=1/0,i=-1/0,a=1/0,o=-1/0;for(let t of e)r=Math.min(r,t.minX),i=Math.max(i,t.maxX),a=Math.min(a,t.minY),o=Math.max(o,t.maxY);let s=t.buffer/t.extent,c=new Set;for(let t in this.tiles){let l=this.tiles[t],u=1<<l.z,d=(l.x-s)/u,f=(l.x+1+s)/u,p=(l.y-s)/u,m=(l.y+1+s)/u;if(i<d||r>=f||o<p||a>=m)continue;let h=!1;for(let t of e)if(t.maxX>=d&&t.minX<f&&t.maxY>=p&&t.minY<m){h=!0;break}if(h){if(n){n>1&&console.log(`invalidate tile z%d-%d-%d (features: %d, points: %d, simplified: %d)`,l.z,l.x,l.y,l.numFeatures,l.numPoints,l.numSimplified);let e=`z${l.z}`;this.stats[e]=(this.stats[e]||0)-1,this.total--}delete this.tiles[t],c.add(t)}}c.size&&(this.tileCoords=this.tileCoords.filter((e=>!c.has(e.id))))}}function td(e,t,n){return 32*((1<<e)*n+t)+e}let nd={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,updateable:!1,cluster:!1,clusterOptions:Bu,debug:0},{members:rd}=lo([{name:`a_pos_normal`,components:2,type:`Int16`},{name:`a_data`,components:4,type:`Uint8`}],4),{members:id}=lo([{name:`a_uv_x`,components:1,type:`Float32`},{name:`a_split_index`,components:1,type:`Float32`}]),ad=Math.cos(Math.PI/180*37.5),od=2**14/.5;class sd{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let e of this.layers)this.gradients[e.id]={};this.layoutVertexArray=new Qo,this.layoutVertexArray2=new $o,this.indexArray=new ss,this.programConfigurations=new Rs(e.layers,e.zoom),this.segments=new us,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,n){this.hasDependencies=Vc(`line`,this.layers,t)||this.hasLineDasharray(this.layers);let r=this.layers[0].layout.get(`line-sort-key`),i=!r.isConstant(),a=[];for(let{feature:t,id:o,index:s,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,l=Us(t,e);if(!this.layers[0]._featureFilter.filter(new Ra(this.zoom),l,n))continue;let u=i?r.evaluate(l,{},n):void 0,d={id:o,properties:t.properties,type:t.type,sourceLayerIndex:c,index:s,geometry:e?l.geometry:Hs(t),patterns:{},dashes:{},sortKey:u};a.push(d)}i&&a.sort(((e,t)=>e.sortKey-t.sortKey));for(let r of a){let{geometry:i,index:a,sourceLayerIndex:o}=r;this.hasDependencies?(Vc(`line`,this.layers,t)?Hc(`line`,this.layers,r,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,r,this.zoom,t),this.patternFeatures.push(r)):this.addFeature(r,i,a,n,{},{},t.subdivisionGranularity),t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,n,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:n,dashPositions:r})}addFeatures(e,t,n,r){for(let i of this.patternFeatures)this.addFeature(i,i.geometry,i.index,t,n,r,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,id)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,rd),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.hasOwn(e.properties,Gu)&&Object.hasOwn(e.properties,Ku))return{start:+e.properties[Gu],end:+e.properties[Ku]}}addFeature(e,t,n,r,i,a,o){let s=this.layers[0].layout,c=s.get(`line-join`).evaluate(e,{}),l=s.get(`line-cap`).evaluate(e,{}),u=s.get(`line-miter-limit`).evaluate(e,{}),d=s.get(`line-round-limit`).evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let n of t)this.addLine(n,e,c,l,u,d,r,o);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{imagePositions:i,dashPositions:a,canonical:r})}addLine(e,t,n,r,i,a,o,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e=bl(e,o?s.line.getGranularityForZoomLevel(o.z):1),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t<e.length-1;t++)this.totalDistance+=e[t].dist(e[t+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let c=Ml.types[t.type]===`Polygon`,l=e.length;for(;l>=2&&e[l-1].equals(e[l-2]);)l--;let u=0;for(;u<l-1&&e[u].equals(e[u+1]);)u++;if(l<(c?3:2))return;n===`bevel`&&(i=1.05);let d=this.overscaling<=16?122880/(512*this.overscaling):0,f=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p,m,h,g,_;this.e1=this.e2=-1,c&&(p=e[l-2],_=e[u].sub(p)._unit()._perp());for(let t=u;t<l;t++){if(h=t===l-1?c?e[u+1]:void 0:e[t+1],h&&e[t].equals(h))continue;_&&(g=_),p&&(m=p),p=e[t],_=h?h.sub(p)._unit()._perp():g,g||=_;let o=g.add(_);o.x===0&&o.y===0||o._unit();let s=g.x*_.x+g.y*_.y,v=o.x*_.x+o.y*_.y,y=v===0?1/0:1/v,b=2*Math.sqrt(2-2*v),x=v<ad&&m&&h,S=g.x*_.y-g.y*_.x>0;if(x&&t>u){let e=p.dist(m);if(e>2*d){let t=p.sub(p.sub(m)._mult(d/e)._round());this.updateDistance(m,t),this.addCurrentVertex(t,g,0,0,f),m=t}}let C=m&&h,w=C?n:c?`butt`:r;if(C&&w===`round`&&(y<a?w=`miter`:y<=2&&(w=`fakeround`)),w===`miter`&&y>i&&(w=`bevel`),w===`bevel`&&(y>2&&(w=`flipbevel`),y<i&&(w=`miter`)),m&&this.updateDistance(m,p),w===`miter`)o._mult(y),this.addCurrentVertex(p,o,0,0,f);else if(w===`flipbevel`){if(y>100)o=_.mult(-1);else{let e=y*g.add(_).mag()/g.sub(_).mag();o._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(p,o,0,0,f),this.addCurrentVertex(p,o.mult(-1),0,0,f)}else if(w===`bevel`||w===`fakeround`){let e=-Math.sqrt(y*y-1),t=S?e:0,n=S?0:e;if(m&&this.addCurrentVertex(p,g,t,n,f),w===`fakeround`){let e=Math.round(180*b/Math.PI/20);for(let t=1;t<e;t++){let n=t/e;if(n!==.5){let e=n-.5;n+=n*e*(n-1)*((1.0904+s*(s*(3.55645-1.43519*s)-3.2452))*e*e+(.848013+s*(.215638*s-1.06021)))}let r=_.sub(g)._mult(n)._add(g)._unit()._mult(S?-1:1);this.addHalfVertex(p,r.x,r.y,!1,S,0,f)}}h&&this.addCurrentVertex(p,_,-t,-n,f)}else if(w===`butt`)this.addCurrentVertex(p,o,0,0,f);else if(w===`square`){let e=m?1:-1;this.addCurrentVertex(p,o,e,e,f)}else w===`round`&&(m&&(this.addCurrentVertex(p,g,0,0,f),this.addCurrentVertex(p,g,1,1,f,!0)),h&&(this.addCurrentVertex(p,_,-1,-1,f,!0),this.addCurrentVertex(p,_,0,0,f)));if(x&&t<l-1){let e=p.dist(h);if(e>2*d){let t=p.add(h.sub(p)._mult(d/e)._round());this.updateDistance(p,t),this.addCurrentVertex(t,_,0,0,f),p=t}}}}addCurrentVertex(e,t,n,r,i,a=!1){let o=t.y*r-t.x,s=-t.y-t.x*r;this.addHalfVertex(e,t.x+t.y*n,t.y-t.x*n,a,!1,n,i),this.addHalfVertex(e,o,s,a,!0,-r,i),this.distance>od/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,n,r,i,a))}addHalfVertex({x:e,y:t},n,r,i,a,o,s){let c=.5*(this.lineClips?this.scaledDistance*(od-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((e<<1)+ +!!i,(t<<1)+ +!!a,Math.round(63*n)+128,Math.round(63*r)+128,1+(o===0?0:o<0?-1:1)|(63&c)<<2,c>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let l=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,l,this.e2),s.primitiveLength++),a?this.e2=l:this.e1=l}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let e=t.paint.get(`line-dasharray`);if(e&&!e.isConstant())return!0}return!1}addLineDashDependencies(e,t,n,r){for(let i of e){let e=i.paint.get(`line-dasharray`);if(!e||e.value.kind===`constant`)continue;let a=i.layout.get(`line-cap`).evaluate(t,{})===`round`,o={dasharray:e.value.evaluate({zoom:n-1},t,{}),round:a},s={dasharray:e.value.evaluate({zoom:n},t,{}),round:a},c={dasharray:e.value.evaluate({zoom:n+1},t,{}),round:a},l=`${o.dasharray.join(`,`)},${o.round}`,u=`${s.dasharray.join(`,`)},${s.round}`,d=`${c.dasharray.join(`,`)},${c.round}`;r.dashDependencies[l]=o,r.dashDependencies[u]=s,r.dashDependencies[d]=c,t.dashes[i.id]={min:l,mid:u,max:d}}}}let cd,ld;q(`LineBucket`,sd,{omit:[`layers`,`patternFeatures`]});var ud={get paint(){return ld||=new $a({"line-opacity":new Xa(j.paint_line[`line-opacity`]),"line-color":new Xa(j.paint_line[`line-color`]),"line-translate":new Ya(j.paint_line[`line-translate`]),"line-translate-anchor":new Ya(j.paint_line[`line-translate-anchor`]),"line-width":new Xa(j.paint_line[`line-width`]),"line-gap-width":new Xa(j.paint_line[`line-gap-width`]),"line-offset":new Xa(j.paint_line[`line-offset`]),"line-blur":new Xa(j.paint_line[`line-blur`]),"line-dasharray":new Y(j.paint_line[`line-dasharray`]),"line-pattern":new Y(j.paint_line[`line-pattern`]),"line-gradient":new Qa(j.paint_line[`line-gradient`])})},get layout(){return cd||=new $a({"line-cap":new Xa(j.layout_line[`line-cap`]),"line-join":new Xa(j.layout_line[`line-join`]),"line-miter-limit":new Xa(j.layout_line[`line-miter-limit`]),"line-round-limit":new Xa(j.layout_line[`line-round-limit`]),"line-sort-key":new Xa(j.layout_line[`line-sort-key`])})}};class dd extends Xa{possiblyEvaluate(e,t){return t=new Ra(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,n,r){return t=se({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,n,r)}}let fd;class pd extends no{constructor(e,t){super(e,ud,t),this.gradientVersion=0,fd||(fd=new dd(ud.paint.properties[`line-width`].specification),fd.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e===`line-gradient`){let e=this.gradientExpression();this.stepInterpolant=!!function(e){return e._styleExpression!==void 0}(e)&&e._styleExpression.expression instanceof Cn,this.gradientVersion=(this.gradientVersion+1)%(2**53-1)}}gradientExpression(){return this._transitionablePaint._values[`line-gradient`].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values[`line-floorwidth`]=fd.possiblyEvaluate(this._transitioningPaint._values[`line-width`].value,e)}createBucket(e){return new sd(e)}queryRadius(e){let t=e,n=md(ic(`line-width`,this,t),ic(`line-gap-width`,this,t)),r=ic(`line-offset`,this,t);return n/2+Math.abs(r)+ac(this.paint.get(`line-translate`))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:a,pixelsToTileUnits:o}){let s=oc(e,this.paint.get(`line-translate`),this.paint.get(`line-translate-anchor`),-a.bearingInRadians,o),c=o/2*md(this.paint.get(`line-width`).evaluate(t,r),this.paint.get(`line-gap-width`).evaluate(t,r)),l=this.paint.get(`line-offset`).evaluate(t,r);return l&&(i=function(e,t){let r=[];for(let i of e){let e=sc(i),a=[];for(let r=0;r<e.length;r++){let i=e[r],o=e[r-1],s=e[r+1],c=r===0?new n(0,0):i.sub(o)._unit()._perp(),l=r===e.length-1?new n(0,0):s.sub(i)._unit()._perp(),u=c._add(l)._unit(),d=u.x*l.x+u.y*l.y;d!==0&&u._mult(1/d),a.push(u._mult(t)._add(i))}r.push(a)}return r}(i,l*o)),function(e,t,n){for(let r of t){if(e.length>=3){for(let t of r)if(nc(e,t))return!0}if(Xs(e,r,n))return!0}return!1}(s,i,c)}isTileClipped(){return!0}}function md(e,t){return t>0?t+2*e:e}let hd=lo([{name:`a_pos_offset`,components:4,type:`Int16`},{name:`a_data`,components:4,type:`Uint16`},{name:`a_pixeloffset`,components:4,type:`Int16`}],4),gd=lo([{name:`a_projected_pos`,components:3,type:`Float32`}],4);lo([{name:`a_fade_opacity`,components:1,type:`Uint32`}],4);let _d=lo([{name:`a_placed`,components:2,type:`Uint8`},{name:`a_shift`,components:2,type:`Float32`},{name:`a_box_real`,components:2,type:`Int16`}]);lo([{type:`Int16`,name:`anchorPointX`},{type:`Int16`,name:`anchorPointY`},{type:`Int16`,name:`x1`},{type:`Int16`,name:`y1`},{type:`Int16`,name:`x2`},{type:`Int16`,name:`y2`},{type:`Uint32`,name:`featureIndex`},{type:`Uint16`,name:`sourceLayerIndex`},{type:`Uint16`,name:`bucketIndex`}]);let vd=lo([{name:`a_pos`,components:2,type:`Int16`},{name:`a_anchor_pos`,components:2,type:`Int16`},{name:`a_extrude`,components:2,type:`Int16`}],4),yd=lo([{name:`a_pos`,components:2,type:`Float32`},{name:`a_radius`,components:1,type:`Float32`},{name:`a_flags`,components:2,type:`Int16`}],4);function bd(e,t,n){let r=t.layout.get(`text-transform`).evaluate(n,{});return r===`uppercase`?e=e.toLocaleUpperCase():r===`lowercase`&&(e=e.toLocaleLowerCase()),La.applyArabicShaping&&(e=La.applyArabicShaping(e)),e}function xd(e,t,n){for(let r of e.sections)r.text=bd(r.text,t,n);return e}lo([{name:`triangle`,components:3,type:`Uint16`}]),lo([{type:`Int16`,name:`anchorX`},{type:`Int16`,name:`anchorY`},{type:`Uint16`,name:`glyphStartIndex`},{type:`Uint16`,name:`numGlyphs`},{type:`Uint32`,name:`vertexStartIndex`},{type:`Uint32`,name:`lineStartIndex`},{type:`Uint32`,name:`lineLength`},{type:`Uint16`,name:`segment`},{type:`Uint16`,name:`lowerSize`},{type:`Uint16`,name:`upperSize`},{type:`Float32`,name:`lineOffsetX`},{type:`Float32`,name:`lineOffsetY`},{type:`Uint8`,name:`writingMode`},{type:`Uint8`,name:`placedOrientation`},{type:`Uint8`,name:`hidden`},{type:`Uint32`,name:`crossTileID`},{type:`Int16`,name:`associatedIconIndex`}]),lo([{type:`Int16`,name:`anchorX`},{type:`Int16`,name:`anchorY`},{type:`Int16`,name:`rightJustifiedTextSymbolIndex`},{type:`Int16`,name:`centerJustifiedTextSymbolIndex`},{type:`Int16`,name:`leftJustifiedTextSymbolIndex`},{type:`Int16`,name:`verticalPlacedTextSymbolIndex`},{type:`Int16`,name:`placedIconSymbolIndex`},{type:`Int16`,name:`verticalPlacedIconSymbolIndex`},{type:`Uint16`,name:`key`},{type:`Uint16`,name:`textBoxStartIndex`},{type:`Uint16`,name:`textBoxEndIndex`},{type:`Uint16`,name:`verticalTextBoxStartIndex`},{type:`Uint16`,name:`verticalTextBoxEndIndex`},{type:`Uint16`,name:`iconBoxStartIndex`},{type:`Uint16`,name:`iconBoxEndIndex`},{type:`Uint16`,name:`verticalIconBoxStartIndex`},{type:`Uint16`,name:`verticalIconBoxEndIndex`},{type:`Uint16`,name:`featureIndex`},{type:`Uint16`,name:`numHorizontalGlyphVertices`},{type:`Uint16`,name:`numVerticalGlyphVertices`},{type:`Uint16`,name:`numIconVertices`},{type:`Uint16`,name:`numVerticalIconVertices`},{type:`Uint16`,name:`useRuntimeCollisionCircles`},{type:`Uint32`,name:`crossTileID`},{type:`Float32`,name:`textBoxScale`},{type:`Float32`,name:`collisionCircleDiameter`},{type:`Uint16`,name:`textAnchorOffsetStartIndex`},{type:`Uint16`,name:`textAnchorOffsetEndIndex`}]),lo([{type:`Float32`,name:`offsetX`}]),lo([{type:`Int16`,name:`x`},{type:`Int16`,name:`y`},{type:`Int16`,name:`tileUnitDistanceFromAnchor`}]),lo([{type:`Uint16`,name:`textAnchor`},{type:`Float32`,components:2,name:`textOffset`}]);var Sd=24;let Cd={"!":`︕`,"#":`#`,$:`$`,"%":`%`,"&":`&`,"(":`︵`,")":`︶`,"*":`*`,"+":`+`,",":`︐`,"-":`︲`,".":`・`,"/":`/`,":":`︓`,";":`︔`,"<":`︿`,"=":`=`,">":`﹀`,"?":`︖`,"@":`@`,"[":`﹇`,"\\":`\`,"]":`﹈`,"^":`^`,_:`︳`,"`":```,"{":`︷`,"|":`―`,"}":`︸`,"~":`~`,"¢":`¢`,"£":`£`,"¥":`¥`,"¦":`¦`,"¬":`¬`,"¯":` ̄`,"–":`︲`,"—":`︱`,"‘":`﹃`,"’":`﹄`,"“":`﹁`,"”":`﹂`,"…":`︙`,"⋯":`︙`,"‧":`・`,"₩":`₩`,"、":`︑`,"。":`︒`,"〈":`︿`,"〉":`﹀`,"《":`︽`,"》":`︾`,"「":`﹁`,"」":`﹂`,"『":`﹃`,"』":`﹄`,"【":`︻`,"】":`︼`,"〔":`︹`,"〕":`︺`,"〖":`︗`,"〗":`︘`,"!":`︕`,"(":`︵`,")":`︶`,",":`︐`,"-":`︲`,".":`・`,":":`︓`,";":`︔`,"<":`︿`,">":`﹀`,"?":`︖`,"[":`﹇`,"]":`﹈`,"_":`︳`,"{":`︷`,"|":`―`,"}":`︸`,"⦅":`︵`,"⦆":`︶`,"。":`︒`,"「":`﹁`,"」":`﹂`},wd={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},Td={40:!0};function Ed(e,t,n,r,i,a){if(`fontStack`in t){let r=n[t.fontStack]?.[e];return r?r.metrics.advance*t.scale+i:0}{let e=r[t.imageName];return e?e.displaySize[0]*t.scale*Sd/a+i:0}}function Dd(e,t,n,r){let i=(e-t)**2;return r?e<t?i/2:2*i:i+Math.abs(n)*n}function Od(e,t,n){let r=0;return e===10&&(r-=1e4),n&&(r+=150),e!==40&&e!==65288||(r+=50),t!==41&&t!==65289||(r+=50),r}function kd(e,t,n,r,i,a){let o=null,s=Dd(t,n,i,a);for(let e of r){let r=Dd(t-e.x,n,i,a)+e.badness;r<=s&&(o=e,s=r)}return{index:e,x:t,priorBreak:o,badness:s}}function Ad(e){return e?Ad(e.priorBreak).concat(e.index):[]}class jd{constructor(e=``,t=[],n=[]){this.text=e,this.sections=t,this.sectionIndex=n,this.imageSectionID=null}static fromFeature(e,t){let n=new jd;for(let r of e.sections)r.image?n.addImageSection(r):n.addTextSection(r,t);return n}length(){return[...this.text].length}getSection(e){return this.sections[this.sectionIndex[e]]}getSectionIndex(e){return this.sectionIndex[e]}verticalizePunctuation(){this.text=function(e){let t=``,n={premature:!0,value:void 0},r=e[Symbol.iterator](),i=r.next(),a=e[Symbol.iterator]();a.next();let o=a.next();for(;!i.done;)t+=!o.done&&J(o.value.codePointAt(0))&&!Cd[o.value]||!n.premature&&J(n.value.codePointAt(0))&&!Cd[n.value]||!Cd[i.value]?i.value:Cd[i.value],n={value:i.value,premature:!1},i=r.next(),o=a.next();return t}(this.text)}hasZeroWidthSpaces(){return this.text.includes(`​`)}trim(){let e=this.text.match(/^\s*/),t=e?e[0].length:0,n=this.text.match(/\S\s*$/),r=n?n[0].length-1:0;this.text=this.text.substring(t,this.text.length-r),this.sectionIndex=this.sectionIndex.slice(t,this.sectionIndex.length-r)}substring(e,t){let n=[...this.text].slice(e,t).join(``),r=this.sectionIndex.slice(e,t);return new jd(n,this.sections,r)}toCodeUnitIndex(e){return[...this.text].slice(0,e).join(``).length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}getMaxImageSize(e){let t=0,n=0;for(let r=0;r<this.length();r++){let i=this.getSection(r);if(`imageName`in i){let r=e[i.imageName];if(!r)continue;let a=r.displaySize;t=Math.max(t,a[0]),n=Math.max(n,a[1])}}return{maxImageWidth:t,maxImageHeight:n}}addTextSection(e,t){this.text+=e.text,this.sections.push({scale:e.scale||1,verticalAlign:e.verticalAlign||`bottom`,fontStack:e.fontStack||t});let n=this.sections.length-1;this.sectionIndex.push(...[...e.text].map((()=>n)))}addImageSection(e){let t=e.image?e.image.name:``;if(t.length===0)return void pe(`Can't add FormattedSection with an empty image.`);let n=this.getNextImageSectionCharCode();n?(this.text+=String.fromCharCode(n),this.sections.push({scale:1,verticalAlign:e.verticalAlign||`bottom`,imageName:t}),this.sectionIndex.push(this.sections.length-1)):pe(`Reached maximum number of images 6401`)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(e,t,n,r,i){let a=[],o=this.determineAverageLineWidth(e,t,n,r,i),s=this.hasZeroWidthSpaces(),c=0,l=0,u=this.text[Symbol.iterator](),d=u.next(),f=this.text[Symbol.iterator]();f.next();let p=f.next(),m=this.text[Symbol.iterator]();m.next(),m.next();let h=m.next();for(;!d.done;){let t=this.getSection(l),g=d.value.codePointAt(0);if(Da(g)||(c+=Ed(g,t,n,r,e,i)),!p.done){let e=Ta(g),n=p.value.codePointAt(0);(wd[g]||e||`imageName`in t||!h.done&&Td[n])&&a.push(kd(l+1,c,o,a,Od(g,n,e&&s),!1))}l++,d=u.next(),p=f.next(),h=m.next()}return Ad(kd(this.length(),c,o,a,0,!0))}determineAverageLineWidth(e,t,n,r,i){let a=0,o=0;for(let t of this.text){let s=this.getSection(o);a+=Ed(t.codePointAt(0),s,n,r,e,i),o++}return a/Math.max(1,Math.ceil(a/t))}}let Md=4294967296,Nd=1/Md,Pd=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`);class Fd{constructor(e=new Uint8Array(16)){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(e,t,n=this.length){for(;this.pos<n;){let n=this.readVarint(),r=n>>3,i=this.pos;this.type=7&n,e(r,t,this),this.pos===i&&this.skip(n)}return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){let e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){let e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*Md;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*Md;return this.pos+=8,e}readFloat(){let e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){let e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){let t=this.buf,n,r;return r=t[this.pos++],n=127&r,r<128?n:(r=t[this.pos++],n|=(127&r)<<7,r<128?n:(r=t[this.pos++],n|=(127&r)<<14,r<128?n:(r=t[this.pos++],n|=(127&r)<<21,r<128?n:(r=t[this.pos],n|=(15&r)<<28,function(e,t,n){let r=n.buf,i,a;if(a=r[n.pos++],i=(112&a)>>4,a<128||(a=r[n.pos++],i|=(127&a)<<3,a<128)||(a=r[n.pos++],i|=(127&a)<<10,a<128)||(a=r[n.pos++],i|=(127&a)<<17,a<128)||(a=r[n.pos++],i|=(127&a)<<24,a<128)||(a=r[n.pos++],i|=(1&a)<<31,a<128))return Id(e,i,t);throw Error(`Expected varint not more than 10 bytes`)}(n,e,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){let e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return!!this.readVarint()}readString(){let e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&Pd?Pd.decode(this.buf.subarray(t,e)):function(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a,o,s,c=null,l=t>239?4:t>223?3:t>191?2:1;if(i+l>n)break;l===1?t<128&&(c=t):l===2?(a=e[i+1],(192&a)==128&&(c=(31&t)<<6|63&a,c<=127&&(c=null))):l===3?(a=e[i+1],o=e[i+2],(192&a)==128&&(192&o)==128&&(c=(15&t)<<12|(63&a)<<6|63&o,(c<=2047||c>=55296&&c<=57343)&&(c=null))):l===4&&(a=e[i+1],o=e[i+2],s=e[i+3],(192&a)==128&&(192&o)==128&&(192&s)==128&&(c=(15&t)<<18|(63&a)<<12|(63&o)<<6|63&s,(c<=65535||c>=1114112)&&(c=null))),c===null?(c=65533,l=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),i+=l}return r}(this.buf,t,e)}readBytes(){let e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){let n=this.readPackedEnd();for(;this.pos<n;)e.push(this.readVarint(t));return e}readPackedSVarint(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFloat());return e}readPackedDouble(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed64());return e}readPackedEnd(){return this.type===2?this.readVarint()+this.pos:this.pos+1}skip(e){let t=7&e;if(t===0)for(;this.buf[this.pos++]>127;);else if(t===2)this.pos=this.readVarint()+this.pos;else if(t===5)this.pos+=4;else{if(t!==1)throw Error(`Unimplemented type: ${t}`);this.pos+=8}}writeTag(e,t){this.writeVarint(e<<3|t)}realloc(e){let t=this.length||16;for(;t<this.pos+e;)t*=2;if(t!==this.length){let e=new Uint8Array(t);e.set(this.buf),this.buf=e,this.dataView=new DataView(e.buffer),this.length=t}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeSFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,-1&e,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*Nd),!0),this.pos+=8}writeSFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,-1&e,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*Nd),!0),this.pos+=8}writeVarint(e){(e=+e||0)>268435455||e<0?function(e,t){let n,r;if(e>=0?(n=e%4294967296|0,r=e/4294967296|0):(n=~(-e%4294967296),r=~(-e/4294967296),4294967295^n?n=n+1|0:(n=0,r=r+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw Error(`Given varint doesn't fit into 10 bytes`);t.realloc(10),function(e,t,n){n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,n.buf[n.pos]=127&(e>>>=7)}(n,0,t),function(e,t){let n=(7&e)<<4;t.buf[t.pos++]|=n|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(r,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))}writeSVarint(e){this.writeVarint(e<0?2*-e-1:2*e)}writeBoolean(e){this.writeVarint(+e)}writeString(e){e=String(e),this.realloc(4*e.length),this.pos++;let t=this.pos;this.pos=function(e,t,n){for(let r,i,a=0;a<t.length;a++){if(r=t.charCodeAt(a),r>55295&&r<57344){if(!i){r>56319||a+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):i=r;continue}if(r<56320){e[n++]=239,e[n++]=191,e[n++]=189,i=r;continue}r=i-55296<<10|r-56320|65536,i=null}else i&&=(e[n++]=239,e[n++]=191,e[n++]=189,null);r<128?e[n++]=r:(r<2048?e[n++]=r>>6|192:(r<65536?e[n++]=r>>12|224:(e[n++]=r>>18|240,e[n++]=r>>12&63|128),e[n++]=r>>6&63|128),e[n++]=63&r|128)}return n}(this.buf,e,this.pos);let n=this.pos-t;n>=128&&Ld(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n}writeFloat(e){this.realloc(4),this.dataView.setFloat32(this.pos,e,!0),this.pos+=4}writeDouble(e){this.realloc(8),this.dataView.setFloat64(this.pos,e,!0),this.pos+=8}writeBytes(e){let t=e.length;this.writeVarint(t),this.realloc(t);for(let n=0;n<t;n++)this.buf[this.pos++]=e[n]}writeRawMessage(e,t){this.pos++;let n=this.pos;e(t,this);let r=this.pos-n;r>=128&&Ld(n,r,this),this.pos=n-1,this.writeVarint(r),this.pos+=r}writeMessage(e,t,n){this.writeTag(e,2),this.writeRawMessage(t,n)}writePackedVarint(e,t){t.length&&this.writeMessage(e,Rd,t)}writePackedSVarint(e,t){t.length&&this.writeMessage(e,zd,t)}writePackedBoolean(e,t){t.length&&this.writeMessage(e,Hd,t)}writePackedFloat(e,t){t.length&&this.writeMessage(e,Bd,t)}writePackedDouble(e,t){t.length&&this.writeMessage(e,Vd,t)}writePackedFixed32(e,t){t.length&&this.writeMessage(e,Ud,t)}writePackedSFixed32(e,t){t.length&&this.writeMessage(e,Wd,t)}writePackedFixed64(e,t){t.length&&this.writeMessage(e,Gd,t)}writePackedSFixed64(e,t){t.length&&this.writeMessage(e,Kd,t)}writeBytesField(e,t){this.writeTag(e,2),this.writeBytes(t)}writeFixed32Field(e,t){this.writeTag(e,5),this.writeFixed32(t)}writeSFixed32Field(e,t){this.writeTag(e,5),this.writeSFixed32(t)}writeFixed64Field(e,t){this.writeTag(e,1),this.writeFixed64(t)}writeSFixed64Field(e,t){this.writeTag(e,1),this.writeSFixed64(t)}writeVarintField(e,t){this.writeTag(e,0),this.writeVarint(t)}writeSVarintField(e,t){this.writeTag(e,0),this.writeSVarint(t)}writeStringField(e,t){this.writeTag(e,2),this.writeString(t)}writeFloatField(e,t){this.writeTag(e,5),this.writeFloat(t)}writeDoubleField(e,t){this.writeTag(e,1),this.writeDouble(t)}writeBooleanField(e,t){this.writeVarintField(e,+t)}}function Id(e,t,n){return n?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function Ld(e,t,n){let r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));n.realloc(r);for(let t=n.pos-1;t>=e;t--)n.buf[t+r]=n.buf[t]}function Rd(e,t){for(let n=0;n<e.length;n++)t.writeVarint(e[n])}function zd(e,t){for(let n=0;n<e.length;n++)t.writeSVarint(e[n])}function Bd(e,t){for(let n=0;n<e.length;n++)t.writeFloat(e[n])}function Vd(e,t){for(let n=0;n<e.length;n++)t.writeDouble(e[n])}function Hd(e,t){for(let n=0;n<e.length;n++)t.writeBoolean(e[n])}function Ud(e,t){for(let n=0;n<e.length;n++)t.writeFixed32(e[n])}function Wd(e,t){for(let n=0;n<e.length;n++)t.writeSFixed32(e[n])}function Gd(e,t){for(let n=0;n<e.length;n++)t.writeFixed64(e[n])}function Kd(e,t){for(let n=0;n<e.length;n++)t.writeSFixed64(e[n])}function qd(e,t,n){e===1&&n.readMessage(Jd,t)}function Jd(e,t,n){if(e===3){let{id:e,bitmap:r,width:i,height:a,left:o,top:s,advance:c}=n.readMessage(Yd,{});t.push({id:e,bitmap:new wc({width:i+6,height:a+6},r),metrics:{width:i,height:a,left:o,top:s,advance:c}})}}function Yd(e,t,n){e===1?t.id=n.readVarint():e===2?t.bitmap=n.readBytes():e===3?t.width=n.readVarint():e===4?t.height=n.readVarint():e===5?t.left=n.readSVarint():e===6?t.top=n.readSVarint():e===7&&(t.advance=n.readVarint())}function Xd(e){let t=0,n=0;for(let r of e)t+=r.w*r.h,n=Math.max(n,r.w);e.sort(((e,t)=>t.h-e.h));let r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),n),h:1/0}],i=0,a=0;for(let t of e)for(let e=r.length-1;e>=0;e--){let n=r[e];if(!(t.w>n.w||t.h>n.h)){if(t.x=n.x,t.y=n.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===n.w&&t.h===n.h){let t=r.pop();t&&e<r.length&&(r[e]=t)}else t.h===n.h?(n.x+=t.w,n.w-=t.w):t.w===n.w?(n.y+=t.h,n.h-=t.h):(r.push({x:n.x+t.w,y:n.y,w:n.w-t.w,h:t.h}),n.y+=t.h,n.h-=t.h);break}}return{w:i,h:a,fill:t/(i*a)||0}}class Zd{constructor(e,{pixelRatio:t,version:n,stretchX:r,stretchY:i,content:a,textFitWidth:o,textFitHeight:s}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=r,this.stretchY=i,this.content=a,this.version=n,this.textFitWidth=o,this.textFitHeight=s}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class Qd{constructor(e,t){let n={},r={};this.haveRenderCallbacks=[];let i=[];this.addImages(e,n,i),this.addImages(t,r,i);let{w:a,h:o}=Xd(i),s=new Tc({width:a||1,height:o||1});for(let t in e){let r=e[t],i=n[t].paddedRect;Tc.copy(r.data,s,{x:0,y:0},{x:i.x+1,y:i.y+1},r.data)}for(let e in t){let n=t[e],i=r[e].paddedRect,a=i.x+1,o=i.y+1,c=n.data.width,l=n.data.height;Tc.copy(n.data,s,{x:0,y:0},{x:a,y:o},n.data),Tc.copy(n.data,s,{x:0,y:l-1},{x:a,y:o-1},{width:c,height:1}),Tc.copy(n.data,s,{x:0,y:0},{x:a,y:o+l},{width:c,height:1}),Tc.copy(n.data,s,{x:c-1,y:0},{x:a-1,y:o},{width:1,height:l}),Tc.copy(n.data,s,{x:0,y:0},{x:a+c,y:o},{width:1,height:l})}this.image=s,this.iconPositions=n,this.patternPositions=r}addImages(e,t,n){for(let r in e){let i=e[r],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};n.push(a),t[r]=new Zd(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(r)}}patchUpdatedImages(e,t){e.dispatchRenderCallbacks(this.haveRenderCallbacks);for(let n in e.updatedImages)this.patchUpdatedImage(this.iconPositions[n],e.getImage(n),t),this.patchUpdatedImage(this.patternPositions[n],e.getImage(n),t)}patchUpdatedImage(e,t,n){if(!e||!t||e.version===t.version)return;e.version=t.version;let[r,i]=e.tl;n.update(t.data,void 0,{x:r,y:i})}}var $d;function ef(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=jd.fromFeature(t,a),_;f===e.ax.vertical&&g.verticalizePunctuation();let v=g.determineLineBreaks(u,o,n,i,m),{processBidirectionalText:y,processStyledBidirectionalText:b}=La;if(y&&g.sections.length===1){_=[],v=v.map((e=>g.toCodeUnitIndex(e)));let e=y(g.toString(),v);for(let t of e){let e=[...t].map((()=>0));_.push(new jd(t,g.sections,e))}}else if(b){_=[],v=v.map((e=>g.toCodeUnitIndex(e)));let e=0,t=[];for(let n of g.text)t.push(...Array(n.length).fill(g.sectionIndex[e])),e++;let n=b(g.text,t,v);for(let e of n){let t=[],n=``;for(let r of e[0])t.push(e[1][n.length]),n+=r;_.push(new jd(e[0],g.sections,t))}}else _=function(e,t){let n=[],r=0;for(let i of t)n.push(e.substring(r,i)),r=i;return r<e.length()&&n.push(e.substring(r,e.length())),n}(g,v);let x=[],S={positionedLines:x,text:g.toString(),top:d[1],bottom:d[1],left:d[0],right:d[0],writingMode:f,iconsInText:!1,verticalizable:!1};return function(e,t,n,r,i,a,o,s,c,l,u,d){let f=0,p=0,m=0,h=0,g=s===`right`?1:s===`left`?0:.5,_=Sd/d,v=0;for(let o of i){o.trim();let i=o.getMaxScale(),s={positionedGlyphs:[],lineOffset:0};e.positionedLines[v]=s;let d=s.positionedGlyphs,y=0;if(!o.length()){p+=a,++v;continue}let b=nf(r,o,_),x=0;for(let a of o.text){let s=o.getSection(x),m=a.codePointAt(0),h=af(c,u,m),g={glyph:m,imageName:null,x:f,y:p+-17,vertical:h,scale:1,fontStack:``,sectionIndex:o.getSectionIndex(x),metrics:null,rect:null},v;if(`fontStack`in s){if(v=of(s,m,h,b,t,n),!v)continue;g.fontStack=s.fontStack}else{if(e.iconsInText=!0,s.scale*=_,v=sf(s,h,i,b,r),!v)continue;y=Math.max(y,v.imageOffset),g.imageName=s.imageName}let{rect:S,metrics:C,baselineOffset:w}=v;g.y+=w,g.scale=s.scale,g.metrics=C,g.rect=S,d.push(g),h?(e.verticalizable=!0,f+=(`imageName`in s?C.advance:Sd)*s.scale+l):f+=C.advance*s.scale+l,x++}d.length!==0&&(m=Math.max(f-l,m),cf(d,0,d.length-1,g)),f=0,s.lineOffset=Math.max(y,(i-1)*Sd);let S=a*i+y;p+=S,h=Math.max(S,h),++v}let{horizontalAlign:y,verticalAlign:b}=tf(o);(function(e,t,n,r,i,a,o,s,c){let l=(t-n)*i,u=0;u=a===o?-r*c*o+.5*o:-s*r- -17;for(let t of e)for(let e of t.positionedGlyphs)e.x+=l,e.y+=u})(e.positionedLines,g,y,b,m,h,a,p,i.length),e.top+=-b*p,e.bottom=e.top+p,e.left+=-y*m,e.right=e.left+m}(S,n,r,i,_,s,c,l,f,u,p,h),!function(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}(x)&&S}function tf(e){let t=.5,n=.5;switch(e){case`right`:case`top-right`:case`bottom-right`:t=1;break;case`left`:case`top-left`:case`bottom-left`:t=0}switch(e){case`bottom`:case`bottom-right`:case`bottom-left`:n=1;break;case`top`:case`top-right`:case`top-left`:n=0}return{horizontalAlign:t,verticalAlign:n}}function nf(e,t,n){let r=t.getMaxScale()*Sd,{maxImageWidth:i,maxImageHeight:a}=t.getMaxImageSize(e),o=Math.max(r,a*n);return{verticalLineContentWidth:Math.max(r,i*n),horizontalLineContentHeight:o}}function rf(e){switch(e){case`top`:return 0;case`center`:return .5;default:return 1}}function af(t,n,r){return!(t===e.ax.horizontal||!n&&!Ea(r)||n&&(Da(r)||(i=r,/\p{sc=Arab}/u.test(String.fromCodePoint(i)))));var i}function of(e,t,n,r,i,a){let o=function(e,t,n,r){if(e?.rect)return e;let i=t[n.fontStack]?.[r];return i?{rect:null,metrics:i.metrics}:null}(a[e.fontStack]?.[t],i,e,t);if(o===null)return null;let s;if(n)s=r.verticalLineContentWidth-e.scale*Sd;else{let t=rf(e.verticalAlign);s=(r.horizontalLineContentHeight-e.scale*Sd)*t}return{rect:o.rect,metrics:o.metrics,baselineOffset:s}}function sf(e,t,n,r,i){let a=i[e.imageName];if(!a)return null;let o=a.paddedRect,s=a.displaySize,c={width:s[0],height:s[1],left:1,top:-3,advance:t?s[1]:s[0]},l;if(t)l=r.verticalLineContentWidth-s[1]*e.scale;else{let t=rf(e.verticalAlign);l=(r.horizontalLineContentHeight-s[1]*e.scale)*t}return{rect:o,metrics:c,baselineOffset:l,imageOffset:(t?s[0]:s[1])*e.scale-Sd*n}}function cf(e,t,n,r){if(r===0)return;let i=e[n],a=(e[n].x+i.metrics.advance*i.scale)*r;for(let r=t;r<=n;r++)e[r].x-=a}function lf(e,t,n){let{horizontalAlign:r,verticalAlign:i}=tf(n),a=t[0]-e.displaySize[0]*r,o=t[1]-e.displaySize[1]*i;return{image:e,top:o,bottom:o+e.displaySize[1],left:a,right:a+e.displaySize[0]}}function uf(e){let t=e.left,n=e.top,r=e.right-t,i=e.bottom-n,a=e.image.textFitWidth??`stretchOrShrink`,o=e.image.textFitHeight??`stretchOrShrink`,s=(e.image.content[2]-e.image.content[0])/(e.image.content[3]-e.image.content[1]);if(o===`proportional`){if(a===`stretchOnly`&&r/i<s||a===`proportional`){let e=Math.ceil(i*s);t*=e/r,r=e}}else if(a===`proportional`&&o===`stretchOnly`&&s!==0&&r/i>s){let e=Math.ceil(r/s);n*=e/i,i=e}return{x1:t,y1:n,x2:t+r,y2:n+i}}function df(e,t,n,r,i,a){let o=e.image,s;if(o.content){let e=o.content,t=o.pixelRatio||1;s=[e[0]/t,e[1]/t,o.displaySize[0]-e[2]/t,o.displaySize[1]-e[3]/t]}let c=t.left*a,l=t.right*a,u,d,f,p;n===`width`||n===`both`?(p=i[0]+c-r[3],d=i[0]+l+r[1]):(p=i[0]+(c+l-o.displaySize[0])/2,d=p+o.displaySize[0]);let m=t.top*a,h=t.bottom*a;return n===`height`||n===`both`?(u=i[1]+m-r[0],f=i[1]+h+r[2]):(u=i[1]+(m+h-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:d,bottom:f,left:p,collisionPadding:s}}q(`ImagePosition`,Zd),q(`ImageAtlas`,Qd),e.ax=void 0,($d=e.ax||={})[$d.none=0]=`none`,$d[$d.horizontal=1]=`horizontal`,$d[$d.vertical=2]=`vertical`,$d[$d.horizontalOnly=3]=`horizontalOnly`;let ff=32640;function pf(e,t){let{expression:n}=t;if(n.kind===`constant`)return{kind:`constant`,layoutSize:n.evaluate(new Ra(e+1))};if(n.kind===`source`)return{kind:`source`};{let{zoomStops:t,interpolationType:r}=n,i=0;for(;i<t.length&&t[i]<=e;)i++;i=Math.max(0,i-1);let a=i;for(;a<t.length&&t[a]<e+1;)a++;a=Math.min(t.length-1,a);let o=t[i],s=t[a];return n.kind===`composite`?{kind:`composite`,minZoom:o,maxZoom:s,interpolationType:r}:{kind:`camera`,minZoom:o,maxZoom:s,minSize:n.evaluate(new Ra(o)),maxSize:n.evaluate(new Ra(s)),interpolationType:r}}}function mf(e,t,n){let r=`never`,i=e.get(t);return i?r=i:e.get(n)&&(r=`always`),r}let hf=[{name:`a_fade_opacity`,components:1,type:`Uint8`,offset:0}];function gf(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=s?Math.min(ff,Math.round(s[0])):0,m=s?Math.min(ff,Math.round(s[1])):0;e.emplaceBack(t,n,Math.round(32*r),Math.round(32*i),a,o,(p<<1)+ +!!c,m,16*l,16*u,256*d,256*f)}function _f(e,t,n){e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n),e.emplaceBack(t.x,t.y,n)}function vf(e){for(let t of e.sections)if(Ia(t.text))return!0;return!1}class yf{constructor(e){this.layoutVertexArray=new ns,this.indexArray=new ss,this.programConfigurations=e,this.segments=new us,this.dynamicLayoutVertexArray=new rs,this.opacityVertexArray=new is,this.hasVisibleVertices=!1,this.placedSymbolArray=new zo}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,n,r){this.isEmpty()||(n&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,hd.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,gd.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,hf,!0),this.opacityVertexBuffer.itemSize=1),(n||r)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}}q(`SymbolBuffers`,yf);class bf{constructor(e,t,n){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new n,this.segments=new us,this.collisionVertexArray=new os}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,_d.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}q(`CollisionBuffers`,bf);class xf{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((e=>e.id)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasDependencies=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[];let n=this.layers[0]._unevaluatedLayout._values;this.textSizeData=pf(this.zoom,n[`text-size`]),this.iconSizeData=pf(this.zoom,n[`icon-size`]);let r=this.layers[0].layout,i=r.get(`symbol-sort-key`),a=r.get(`symbol-z-order`);this.canOverlap=mf(r,`text-overlap`,`text-allow-overlap`)!==`never`||mf(r,`icon-overlap`,`icon-allow-overlap`)!==`never`||r.get(`text-ignore-placement`)||r.get(`icon-ignore-placement`),this.sortFeaturesByKey=a!==`viewport-y`&&!i.isConstant(),this.sortFeaturesByY=(a===`viewport-y`||a===`auto`&&!this.sortFeaturesByKey)&&this.canOverlap,r.get(`symbol-placement`)===`point`&&(this.writingModes=r.get(`text-writing-mode`).map((t=>e.ax[t]))),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=t.sourceID}createArrays(){this.text=new yf(new Rs(this.layers,this.zoom,(e=>e.startsWith(`text`)))),this.icon=new yf(new Rs(this.layers,this.zoom,(e=>e.startsWith(`icon`)))),this.glyphOffsetArray=new Ho,this.lineVertexArray=new Uo,this.symbolInstances=new Vo,this.textAnchorOffsets=new Go}calculateGlyphDependencies(e,t,n,r,i){for(let a of e)if(t[a.codePointAt(0)]=!0,(n||r)&&i){let e=Cd[a];e&&(t[e.codePointAt(0)]=!0)}}populate(t,n,r){let i=this.layers[0],a=i.layout,o=a.get(`text-font`),s=a.get(`text-field`),c=a.get(`icon-image`),l=(s.value.kind!==`constant`||s.value.value instanceof qt&&!s.value.value.isEmpty()||s.value.value.toString().length>0)&&(o.value.kind!==`constant`||o.value.value.length>0),u=c.value.kind!==`constant`||!!c.value.value||Object.keys(c.parameters).length>0,d=a.get(`symbol-sort-key`);if(this.features=[],!l&&!u)return;let f=n.iconDependencies,p=n.glyphDependencies,m=n.availableImages,h=new Ra(this.zoom);for(let{feature:n,id:s,index:c,sourceLayerIndex:g}of t){let t=i._featureFilter.needGeometry,_=Us(n,t);if(!i._featureFilter.filter(h,_,r))continue;let v,y;if(t||(_.geometry=Hs(n)),l){let e=i.getValueAndResolveTokens(`text-field`,_,r,m),t=qt.factory(e);this.hasRTLText||=vf(t),(!this.hasRTLText||La.getRTLTextPluginStatus()===`unavailable`||this.hasRTLText&&La.isParsed())&&(v=xd(t,i,_))}if(u){let e=i.getValueAndResolveTokens(`icon-image`,_,r,m);y=e instanceof en?e:en.fromString(e)}if(!v&&!y)continue;let b=this.sortFeaturesByKey?d.evaluate(_,{},r):void 0;if(this.features.push({id:s,text:v,icon:y,index:c,sourceLayerIndex:g,geometry:_.geometry,properties:n.properties,type:Ml.types[n.type],sortKey:b}),y&&(f[y.name]=!0),v){let t=o.evaluate(_,{},r).join(`,`),n=a.get(`text-rotation-alignment`)!==`viewport`&&a.get(`symbol-placement`)!==`point`;this.allowVerticalPlacement=this.writingModes?.includes(e.ax.vertical);for(let e of v.sections)if(e.image)f[e.image.name]=!0;else{let r=Oa(v.toString()),i=e.fontStack||t;p[i]||(p[i]={}),this.calculateGlyphDependencies(e.text,p[i],n,this.allowVerticalPlacement,r)}}}a.get(`symbol-placement`)===`line`&&(this.features=function(e){let t={},n={},r=[],i=0;function a(t){r.push(e[t]),i++}function o(e,t,i){let a=n[e];return delete n[e],n[t]=a,r[a].geometry[0].pop(),r[a].geometry[0]=r[a].geometry[0].concat(i[0]),a}function s(e,n,i){let a=t[n];return delete t[n],t[e]=a,r[a].geometry[0].shift(),r[a].geometry[0]=i[0].concat(r[a].geometry[0]),a}function c(e,t,n){let r=n?t[0][t[0].length-1]:t[0][0];return`${e}:${r.x}:${r.y}`}for(let l=0;l<e.length;l++){let u=e[l],d=u.geometry,f=u.text?u.text.toString():null;if(!f){a(l);continue}let p=c(f,d),m=c(f,d,!0);if(p in n&&m in t&&n[p]!==t[m]){let e=s(p,m,d),i=o(p,m,r[e].geometry);delete t[p],delete n[m],n[c(f,r[i].geometry,!0)]=i,r[e].geometry=null}else p in n?o(p,m,d):m in t?s(p,m,d):(a(l),t[p]=i-1,n[m]=i-1)}return r.filter((e=>e.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:n}))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){let n=this.lineVertexArray.length;if(e.segment!==void 0){let n=e.dist(t[e.segment+1]),r=e.dist(t[e.segment]),i={};for(let r=e.segment+1;r<t.length;r++)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r<t.length-1&&(n+=t[r+1].dist(t[r]));for(let n=e.segment||0;n>=0;n--)i[n]={x:t[n].x,y:t[n].y,tileUnitDistanceFromAnchor:r},n>0&&(r+=t[n-1].dist(t[n]));for(let e=0;e<t.length;e++){let t=i[e];this.lineVertexArray.emplaceBack(t.x,t.y,t.tileUnitDistanceFromAnchor)}}return{lineStartIndex:n,lineLength:this.lineVertexArray.length-n}}addSymbols(t,n,r,i,a,o,s,c,l,u,d,f){let p=t.indexArray,m=t.layoutVertexArray,h=t.segments.prepareSegment(4*n.length,m,p,this.canOverlap?o.sortKey:void 0),g=this.glyphOffsetArray.length,_=h.vertexLength,v=this.allowVerticalPlacement&&s===e.ax.vertical?Math.PI/2:0,y=o.text&&o.text.sections;for(let e=0;e<n.length;e++){let{tl:i,tr:a,bl:s,br:l,tex:u,pixelOffsetTL:d,pixelOffsetBR:g,minFontScaleX:_,minFontScaleY:b,glyphOffset:x,isSDF:S,sectionIndex:C}=n[e],w=h.vertexLength,T=x[1];gf(m,c.x,c.y,i.x,T+i.y,u.x,u.y,r,S,d.x,d.y,_,b),gf(m,c.x,c.y,a.x,T+a.y,u.x+u.w,u.y,r,S,g.x,d.y,_,b),gf(m,c.x,c.y,s.x,T+s.y,u.x,u.y+u.h,r,S,d.x,g.y,_,b),gf(m,c.x,c.y,l.x,T+l.y,u.x+u.w,u.y+u.h,r,S,g.x,g.y,_,b),_f(t.dynamicLayoutVertexArray,c,v),p.emplaceBack(w,w+2,w+1),p.emplaceBack(w+1,w+2,w+3),h.vertexLength+=4,h.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(x[0]),e!==n.length-1&&C===n[e+1].sectionIndex||t.programConfigurations.populatePaintArrays(m.length,o,o.index,{imagePositions:{},canonical:f,formattedSection:y?.[C]})}t.placedSymbolArray.emplaceBack(c.x,c.y,g,this.glyphOffsetArray.length-g,_,l,u,c.segment,r?r[0]:0,r?r[1]:0,i[0],i[1],s,0,!1,0,d)}_addCollisionDebugVertex(e,t,n,r,i,a){return t.emplaceBack(0,0),e.emplaceBack(n.x,n.y,r,i,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,r,i,a,o,s){let c=a.segments.prepareSegment(4,a.layoutVertexArray,a.indexArray),l=c.vertexLength,u=a.layoutVertexArray,d=a.collisionVertexArray,f=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(u,d,o,f,p,new n(e,t)),this._addCollisionDebugVertex(u,d,o,f,p,new n(r,t)),this._addCollisionDebugVertex(u,d,o,f,p,new n(r,i)),this._addCollisionDebugVertex(u,d,o,f,p,new n(e,i)),c.vertexLength+=4;let m=a.indexArray;m.emplaceBack(l,l+1),m.emplaceBack(l+1,l+2),m.emplaceBack(l+2,l+3),m.emplaceBack(l+3,l),c.primitiveLength+=4}addDebugCollisionBoxes(e,t,n,r){for(let i=e;i<t;i++){let e=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(e.x1,e.y1,e.x2,e.y2,r?this.textCollisionBox:this.iconCollisionBox,e.anchorPoint,n)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new bf(as,vd.members,cs),this.iconCollisionBox=new bf(as,vd.members,cs);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,n,r,i,a,o,s,c){let l={};for(let r=t;r<n;r++){let t=e.get(r);l.textBox={x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,anchorPointX:t.anchorPointX,anchorPointY:t.anchorPointY},l.textFeatureIndex=t.featureIndex;break}for(let t=r;t<i;t++){let n=e.get(t);l.verticalTextBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalTextFeatureIndex=n.featureIndex;break}for(let t=a;t<o;t++){let n=e.get(t);l.iconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.iconFeatureIndex=n.featureIndex;break}for(let t=s;t<c;t++){let n=e.get(t);l.verticalIconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},l.verticalIconFeatureIndex=n.featureIndex;break}return l}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let n=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,n.textBoxStartIndex,n.textBoxEndIndex,n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n.iconBoxStartIndex,n.iconBoxEndIndex,n.verticalIconBoxStartIndex,n.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let n=e.placedSymbolArray.get(t),r=n.vertexStartIndex+4*n.numGlyphs;for(let t=n.vertexStartIndex;t<r;t+=4)e.indexArray.emplaceBack(t,t+2,t+1),e.indexArray.emplaceBack(t+1,t+2,t+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),n=Math.cos(e),r=[],i=[],a=[];for(let e=0;e<this.symbolInstances.length;++e){a.push(e);let o=this.symbolInstances.get(e);r.push(0|Math.round(t*o.anchorX+n*o.anchorY)),i.push(o.featureIndex)}return a.sort(((e,t)=>r[e]-r[t]||i[t]-i[e])),a}addToSortKeyRanges(e,t){let n=this.sortKeyRanges[this.sortKeyRanges.length-1];n?.sortKey===t?n.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let e of this.symbolInstanceIndexes){let t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex);let n=[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex];for(let e=0;e<n.length;e++){let t=n[e];t>=0&&n.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)}t.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),t.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),t.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,t.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Sf,Cf;q(`SymbolBucket`,xf,{omit:[`layers`,`collisionBoxArray`,`features`,`compareText`]}),xf.MAX_GLYPHS=65535,xf.addDynamicAttributes=_f;var wf={get paint(){return Cf||=new $a({"icon-opacity":new Xa(j.paint_symbol[`icon-opacity`]),"icon-color":new Xa(j.paint_symbol[`icon-color`]),"icon-halo-color":new Xa(j.paint_symbol[`icon-halo-color`]),"icon-halo-width":new Xa(j.paint_symbol[`icon-halo-width`]),"icon-halo-blur":new Xa(j.paint_symbol[`icon-halo-blur`]),"icon-translate":new Ya(j.paint_symbol[`icon-translate`]),"icon-translate-anchor":new Ya(j.paint_symbol[`icon-translate-anchor`]),"text-opacity":new Xa(j.paint_symbol[`text-opacity`]),"text-color":new Xa(j.paint_symbol[`text-color`],{runtimeType:at,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new Xa(j.paint_symbol[`text-halo-color`]),"text-halo-width":new Xa(j.paint_symbol[`text-halo-width`]),"text-halo-blur":new Xa(j.paint_symbol[`text-halo-blur`]),"text-translate":new Ya(j.paint_symbol[`text-translate`]),"text-translate-anchor":new Ya(j.paint_symbol[`text-translate-anchor`])})},get layout(){return Sf||=new $a({"symbol-placement":new Ya(j.layout_symbol[`symbol-placement`]),"symbol-spacing":new Ya(j.layout_symbol[`symbol-spacing`]),"symbol-avoid-edges":new Ya(j.layout_symbol[`symbol-avoid-edges`]),"symbol-sort-key":new Xa(j.layout_symbol[`symbol-sort-key`]),"symbol-z-order":new Ya(j.layout_symbol[`symbol-z-order`]),"icon-allow-overlap":new Ya(j.layout_symbol[`icon-allow-overlap`]),"icon-overlap":new Ya(j.layout_symbol[`icon-overlap`]),"icon-ignore-placement":new Ya(j.layout_symbol[`icon-ignore-placement`]),"icon-optional":new Ya(j.layout_symbol[`icon-optional`]),"icon-rotation-alignment":new Ya(j.layout_symbol[`icon-rotation-alignment`]),"icon-size":new Xa(j.layout_symbol[`icon-size`]),"icon-text-fit":new Ya(j.layout_symbol[`icon-text-fit`]),"icon-text-fit-padding":new Ya(j.layout_symbol[`icon-text-fit-padding`]),"icon-image":new Xa(j.layout_symbol[`icon-image`]),"icon-rotate":new Xa(j.layout_symbol[`icon-rotate`]),"icon-padding":new Xa(j.layout_symbol[`icon-padding`]),"icon-keep-upright":new Ya(j.layout_symbol[`icon-keep-upright`]),"icon-offset":new Xa(j.layout_symbol[`icon-offset`]),"icon-anchor":new Xa(j.layout_symbol[`icon-anchor`]),"icon-pitch-alignment":new Ya(j.layout_symbol[`icon-pitch-alignment`]),"text-pitch-alignment":new Ya(j.layout_symbol[`text-pitch-alignment`]),"text-rotation-alignment":new Ya(j.layout_symbol[`text-rotation-alignment`]),"text-field":new Xa(j.layout_symbol[`text-field`]),"text-font":new Xa(j.layout_symbol[`text-font`]),"text-size":new Xa(j.layout_symbol[`text-size`]),"text-max-width":new Xa(j.layout_symbol[`text-max-width`]),"text-line-height":new Ya(j.layout_symbol[`text-line-height`]),"text-letter-spacing":new Xa(j.layout_symbol[`text-letter-spacing`]),"text-justify":new Xa(j.layout_symbol[`text-justify`]),"text-radial-offset":new Xa(j.layout_symbol[`text-radial-offset`]),"text-variable-anchor":new Ya(j.layout_symbol[`text-variable-anchor`]),"text-variable-anchor-offset":new Xa(j.layout_symbol[`text-variable-anchor-offset`]),"text-anchor":new Xa(j.layout_symbol[`text-anchor`]),"text-max-angle":new Ya(j.layout_symbol[`text-max-angle`]),"text-writing-mode":new Ya(j.layout_symbol[`text-writing-mode`]),"text-rotate":new Xa(j.layout_symbol[`text-rotate`]),"text-padding":new Ya(j.layout_symbol[`text-padding`]),"text-keep-upright":new Ya(j.layout_symbol[`text-keep-upright`]),"text-transform":new Xa(j.layout_symbol[`text-transform`]),"text-offset":new Xa(j.layout_symbol[`text-offset`]),"text-allow-overlap":new Ya(j.layout_symbol[`text-allow-overlap`]),"text-overlap":new Ya(j.layout_symbol[`text-overlap`]),"text-ignore-placement":new Ya(j.layout_symbol[`text-ignore-placement`]),"text-optional":new Ya(j.layout_symbol[`text-optional`])})}};class Tf{constructor(e){if(e.property.overrides===void 0)throw Error(`overrides must be provided to instantiate FormatSectionOverride class`);this.type=e.property.overrides?e.property.overrides.runtimeType:rt,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t?.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}q(`FormatSectionOverride`,Tf,{omit:[`defaultValue`]});class Ef extends no{constructor(e,t){super(e,wf,t)}recalculate(e,t){if(super.recalculate(e,t),this.layout.get(`icon-rotation-alignment`)===`auto`&&(this.layout._values[`icon-rotation-alignment`]=this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`),this.layout.get(`text-rotation-alignment`)===`auto`&&(this.layout._values[`text-rotation-alignment`]=this.layout.get(`symbol-placement`)===`point`?`viewport`:`map`),this.layout.get(`text-pitch-alignment`)===`auto`&&(this.layout._values[`text-pitch-alignment`]=this.layout.get(`text-rotation-alignment`)===`map`?`map`:`viewport`),this.layout.get(`icon-pitch-alignment`)===`auto`&&(this.layout._values[`icon-pitch-alignment`]=this.layout.get(`icon-rotation-alignment`)),this.layout.get(`symbol-placement`)===`point`){let e=this.layout.get(`text-writing-mode`);if(e){let t=[];for(let n of e)t.includes(n)||t.push(n);this.layout._values[`text-writing-mode`]=t}else this.layout._values[`text-writing-mode`]=[`horizontal`]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,n,r){let i=this.layout.get(e).evaluate(t,{},n,r),a=this._unevaluatedLayout._values[e];return a.isDataDriven()||pi(a.value)||!i?i:function(e,t){return t.replace(/{([^{}]+)}/g,((t,n)=>e&&n in e?String(e[n]):``))}(t.properties,i)}createBucket(e){return new xf(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error(`Should take a different path in FeatureIndex`)}_setPaintOverrides(){for(let e of wf.paint.overridableProperties){if(!Ef.hasPaintOverride(this.layout,e))continue;let t=this.paint.get(e),n=new Tf(t),r=new fi(n,t.property.specification),i=null;i=t.value.kind===`constant`||t.value.kind===`source`?new hi(`source`,r):new gi(`composite`,r,t.value.zoomStops),this.paint._values[e]=new qa(t.property,i,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,n){return!(!this.layout||t.isDataDriven()||n.isDataDriven())&&Ef.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){let n=e.get(`text-field`),r=wf.paint.properties[t],i=!1,a=e=>{for(let t of e)if(r.overrides?.hasOverride(t))return void(i=!0)};if(n.value.kind===`constant`&&n.value.value instanceof qt)a(n.value.value.sections);else if(n.value.kind===`source`||n.value.kind===`composite`){let e=t=>{i||(t instanceof sn&&an(t.value)===lt?a(t.value.sections):t instanceof Un?a(t.sections):t.eachChild(e))},t=n.value;t._styleExpression&&e(t._styleExpression.expression)}return i}}let Df;var Of={get paint(){return Df||=new $a({"background-color":new Ya(j.paint_background[`background-color`]),"background-pattern":new Za(j.paint_background[`background-pattern`]),"background-opacity":new Ya(j.paint_background[`background-opacity`])})}};class kf extends no{constructor(e,t){super(e,Of,t)}}class Af extends no{constructor(e,t){super(e,{},t),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode===`3d`}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error(`Custom layers cannot be serialized`)}}class jf{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){var e;this._triggered||(this._triggered=!0,(e=this._channel)==null||e.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let Mf={once:!0},Nf=6371008.8;class Pf{constructor(e,t){if(isNaN(e)||isNaN(t))throw Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error(`Invalid LngLat latitude value: must be between -90 and 90`)}wrap(){return new Pf(oe(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,n=this.lat*t,r=e.lat*t,i=Math.sin(n)*Math.sin(r)+Math.cos(n)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return Nf*Math.acos(Math.min(i,1))}static convert(e){if(e instanceof Pf)return e;if(Array.isArray(e)&&(e.length===2||e.length===3))return new Pf(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&typeof e==`object`&&e)return new Pf(Number(`lng`in e?e.lng:e.lon),Number(e.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")}}let Ff=2*Math.PI*Nf;function If(e){return Ff*Math.cos(e*Math.PI/180)}function Lf(e){return(180+e)/360}function Rf(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function zf(e,t){return e/If(t)}function Bf(e){return 360*e-180}function Vf(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}function Hf(e,t){return e*If(Vf(t))}class Uf{constructor(e,t,n=0){this.x=+e,this.y=+t,this.z=+n}static fromLngLat(e,t=0){let n=Pf.convert(e);return new Uf(Lf(n.lng),Rf(n.lat),zf(t,n.lat))}toLngLat(){return new Pf(Bf(this.x),Vf(this.y))}toAltitude(){return Hf(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Ff*(e=Vf(this.y),1/Math.cos(e*Math.PI/180));var e}}function Wf(e,t,n){var r=2*Math.PI*6378137/256/2**n;return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}class Gf{constructor(e,t,n){if(!function(e,t,n){return!(e<0||e>25||n<0||n>=2**e||t<0||t>=2**e)}(e,t,n))throw Error(`x=${t}, y=${n}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=n,this.key=Jf(0,e,e,t,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,n){let r=(a=this.y,o=this.z,s=Wf(256*(i=this.x),256*(a=2**o-a-1),o),c=Wf(256*(i+1),256*(a+1),o),s[0]+`,`+s[1]+`,`+c[0]+`,`+c[1]);var i,a,o,s,c;let l=function(e,t,n){let r=``;for(let i=e;i>0;i--){let e=1<<i-1;r+=(t&e?1:0)+(n&e?2:0)}return r}(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(n===`tms`?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?`@2x`:``).replace(/{quadkey}/g,l).replace(/{bbox-epsg-3857}/g,r)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new n((e.x*t-this.x)*D,(e.y*t-this.y)*D)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Kf{constructor(e,t){this.wrap=e,this.canonical=t,this.key=Jf(e,t.z,t.z,t.x,t.y)}}class qf{constructor(e,t,n,r,i){if(this.terrainRttPosMatrix32f=null,e<n)throw Error(`overscaledZ should be >= z; overscaledZ = ${e}; z = ${n}`);this.overscaledZ=e,this.wrap=t,this.canonical=new Gf(n,+r,+i),this.key=Jf(t,e,n,r,i)}clone(){return new qf(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let t=this.canonical.z-e;return e>this.canonical.z?new qf(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new qf(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(e,t){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let n=this.canonical.z-e;return e>this.canonical.z?Jf(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):Jf(this.wrap*+t,e,e,this.canonical.x>>n,this.canonical.y>>n)}isChildOf(e){if(e.wrap!==this.wrap||this.overscaledZ-e.overscaledZ<=0)return!1;if(e.overscaledZ===0)return this.overscaledZ>0;let t=this.canonical.z-e.canonical.z;return!(t<0)&&e.canonical.x===this.canonical.x>>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new qf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let t=this.canonical.z+1,n=2*this.canonical.x,r=2*this.canonical.y;return[new qf(t,this.wrap,t,n,r),new qf(t,this.wrap,t,n+1,r),new qf(t,this.wrap,t,n,r+1),new qf(t,this.wrap,t,n+1,r+1)]}isLessThan(e){return this.wrap<e.wrap||!(this.wrap>e.wrap)&&(this.overscaledZ<e.overscaledZ||!(this.overscaledZ>e.overscaledZ)&&(this.canonical.x<e.canonical.x||!(this.canonical.x>e.canonical.x)&&this.canonical.y<e.canonical.y))}wrapped(){return new qf(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(e){return new qf(this.overscaledZ,e,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new Kf(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new Uf(e.x-this.wrap,e.y))}normalizeCoordinates(e,t,n=8192){if(e>=0&&e<n&&t>=0&&t<n)return{tileID:this,x:e,y:t};let r=Math.floor(e/n),i=Math.floor(t/n),a=e-r*n,o=t-i*n,s=this.canonical.z,c=1<<s,l=this.canonical.y+i;if(l<0||l>=c)return null;let u=this.canonical.x+r,d=this.wrap;return u<0?(d-=Math.ceil(-u/c),u=(u%c+c)%c):u>=c&&(d+=Math.floor(u/c),u%=c),{tileID:new qf(this.overscaledZ,d,s,u,l),x:a,y:o}}}function Jf(e,t,n,r,i){(e*=2)<0&&(e=-1*e-1);let a=1<<n;return(a*a*e+a*i+r).toString(36)+n.toString(36)+t.toString(36)}q(`CanonicalTileID`,Gf),q(`OverscaledTileID`,qf,{omit:[`terrainRttPosMatrix32f`]});class Yf{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(e){return this.minX=Math.min(this.minX,e.x),this.minY=Math.min(this.minY,e.y),this.maxX=Math.max(this.maxX,e.x),this.maxY=Math.max(this.maxY,e.y),this}expandBy(e){return this.minX-=e,this.minY-=e,this.maxX+=e,this.maxY+=e,(this.minX>this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(e){return this.expandBy(-e)}map(e){let t=new Yf;return t.extend(e(new n(this.minX,this.minY))),t.extend(e(new n(this.maxX,this.minY))),t.extend(e(new n(this.minX,this.maxY))),t.extend(e(new n(this.maxX,this.maxY))),t}static fromPoints(e){let t=new Yf;for(let n of e)t.extend(n);return t}contains(e){return e.x>=this.minX&&e.x<=this.maxX&&e.y>=this.minY&&e.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(e){return!this.empty()&&!e.empty()&&e.minX>=this.minX&&e.maxX<=this.maxX&&e.minY>=this.minY&&e.maxY<=this.maxY}intersects(e){return!this.empty()&&!e.empty()&&e.minX<=this.maxX&&e.maxX>=this.minX&&e.minY<=this.maxY&&e.maxY>=this.minY}}class Xf{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let n=e[t];this._stringToNumber[n]=t,this._numberToString[t]=n}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}}class Zf{constructor(e,t,n,r,i){this.type=`Feature`,this._vectorTileFeature=e,this._x=n,this._y=r,this._z=t,this.properties=e.properties,this.id=i}projectPoint(e,t,n,r){return[360*(e.x+t)/r-180,360/Math.PI*Math.atan(Math.exp((1-2*(e.y+n)/r)*Math.PI))-90]}projectLine(e,t,n,r){return e.map((e=>this.projectPoint(e,t,n,r)))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,n=e.extent*this._x,r=e.extent*this._y,i=e.loadGeometry();switch(e.type){case 1:{let e=[];for(let t of i)e.push(t[0]);let a=this.projectLine(e,n,r,t);this._geometry=e.length===1?{type:`Point`,coordinates:a[0]}:{type:`MultiPoint`,coordinates:a};break}case 2:{let e=i.map((e=>this.projectLine(e,n,r,t)));this._geometry=e.length===1?{type:`LineString`,coordinates:e[0]}:{type:`MultiLineString`,coordinates:e};break}case 3:{let e=Pl(i),a=[];for(let i of e)a.push(i.map((e=>this.projectLine(e,n,r,t))));this._geometry=a.length===1?{type:`Polygon`,coordinates:a[0]}:{type:`MultiPolygon`,coordinates:a};break}default:throw Error(`unknown feature type: ${e.type}`)}return this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!==`_geometry`&&t!==`_vectorTileFeature`&&t!==`_x`&&t!==`_y`&&t!==`_z`&&(e[t]=this[t]);return e}}class Qf{constructor(e,t,n){this._name=e,this.dataBuffer=t,typeof n==`number`?this._size=n:(this.nullabilityBuffer=n,this._size=n.size())}getValue(e){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(e)?null:this.getValueFromBuffer(e)}has(e){return this.nullabilityBuffer?.get(e)||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}}class $f extends Qf{}class ep extends $f{getValueFromBuffer(e){return this.dataBuffer[e]}}class tp extends $f{getValueFromBuffer(e){return this.dataBuffer[e]}}class np extends Qf{constructor(e,t,n,r){super(e,t,r),this.delta=n}}class rp extends np{constructor(e,t,n,r){super(e,Int32Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}}class ip extends Qf{constructor(e,t,n,r){super(e,r?Int32Array.of(t):Uint32Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}}class ap{constructor(e,t,n,r,i=4096){this._name=e,this._geometryVector=t,this._idVector=n,this._propertyVectors=r,this._extent=i}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors}getPropertyVector(e){return this.propertyVectorsMap||=new Map(this._propertyVectors.map((e=>[e.name,e]))),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let n=0;n<this.numFeatures;n++){let r;if(this.idVector){let e=this.idVector.getValue(n);r=this.containsMaxSafeIntegerValues(this.idVector)&&e!==null?Number(e):e}let i={coordinates:t[n],type:this.geometryVector.geometryType(n)},a={};for(let e of this.propertyVectors){if(!e)continue;let t=e.name,r=e.getValue(n);r!==null&&(a[t]=r)}e.push({id:r,geometry:i,properties:a})}return e}containsMaxSafeIntegerValues(e){return e instanceof ep||e instanceof ip||e instanceof rp||e instanceof tp}}class op{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}}var sp,cp;(function(e){e.NONE=`NONE`,e.DELTA=`DELTA`,e.COMPONENTWISE_DELTA=`COMPONENTWISE_DELTA`,e.RLE=`RLE`,e.MORTON=`MORTON`,e.PDE=`PDE`})(sp||={}),function(e){e.NONE=`NONE`,e.FAST_PFOR=`FAST_PFOR`,e.VARINT=`VARINT`,e.ALP=`ALP`}(cp||={});let lp=new Uint32Array(33);lp[0]=0;for(let e=1;e<=32;e++)lp[e]=e===32?4294967295:4294967295>>>32-e;let up=lp;function dp(e,t){return e-e%t}function fp(e){let t=e>>>0;return((255&t)<<24|(65280&t)<<8|t>>>8&65280|t>>>24&255)>>>0}let pp=function(){let e=dp(65536,256);return e===0?256:e}(),mp=3*pp/256+pp|0;function hp(){let e=new Uint8Array(mp);return{dataToBePacked:Array(33),dataPointers:new Int32Array(33),byteContainer:e,byteContainerI32:new Int32Array(e.buffer,e.byteOffset,e.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function gp(e,t,n,r,i){switch(i){case 1:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0;n[i++]=t>>>0&1,n[i++]=t>>>1&1,n[i++]=t>>>2&1,n[i++]=t>>>3&1,n[i++]=t>>>4&1,n[i++]=t>>>5&1,n[i++]=t>>>6&1,n[i++]=t>>>7&1,n[i++]=t>>>8&1,n[i++]=t>>>9&1,n[i++]=t>>>10&1,n[i++]=t>>>11&1,n[i++]=t>>>12&1,n[i++]=t>>>13&1,n[i++]=t>>>14&1,n[i++]=t>>>15&1,n[i++]=t>>>16&1,n[i++]=t>>>17&1,n[i++]=t>>>18&1,n[i++]=t>>>19&1,n[i++]=t>>>20&1,n[i++]=t>>>21&1,n[i++]=t>>>22&1,n[i++]=t>>>23&1,n[i++]=t>>>24&1,n[i++]=t>>>25&1,n[i++]=t>>>26&1,n[i++]=t>>>27&1,n[i++]=t>>>28&1,n[i++]=t>>>29&1,n[i++]=t>>>30&1,n[i++]=t>>>31&1}})(e,t,n,r);break;case 2:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0;n[i++]=t>>>0&3,n[i++]=t>>>2&3,n[i++]=t>>>4&3,n[i++]=t>>>6&3,n[i++]=t>>>8&3,n[i++]=t>>>10&3,n[i++]=t>>>12&3,n[i++]=t>>>14&3,n[i++]=t>>>16&3,n[i++]=t>>>18&3,n[i++]=t>>>20&3,n[i++]=t>>>22&3,n[i++]=t>>>24&3,n[i++]=t>>>26&3,n[i++]=t>>>28&3,n[i++]=t>>>30&3,n[i++]=r>>>0&3,n[i++]=r>>>2&3,n[i++]=r>>>4&3,n[i++]=r>>>6&3,n[i++]=r>>>8&3,n[i++]=r>>>10&3,n[i++]=r>>>12&3,n[i++]=r>>>14&3,n[i++]=r>>>16&3,n[i++]=r>>>18&3,n[i++]=r>>>20&3,n[i++]=r>>>22&3,n[i++]=r>>>24&3,n[i++]=r>>>26&3,n[i++]=r>>>28&3,n[i++]=r>>>30&3}})(e,t,n,r);break;case 3:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0;n[i++]=t>>>0&7,n[i++]=t>>>3&7,n[i++]=t>>>6&7,n[i++]=t>>>9&7,n[i++]=t>>>12&7,n[i++]=t>>>15&7,n[i++]=t>>>18&7,n[i++]=t>>>21&7,n[i++]=t>>>24&7,n[i++]=t>>>27&7,n[i++]=7&(t>>>30|(1&r)<<2),n[i++]=r>>>1&7,n[i++]=r>>>4&7,n[i++]=r>>>7&7,n[i++]=r>>>10&7,n[i++]=r>>>13&7,n[i++]=r>>>16&7,n[i++]=r>>>19&7,n[i++]=r>>>22&7,n[i++]=r>>>25&7,n[i++]=r>>>28&7,n[i++]=7&(r>>>31|(3&o)<<1),n[i++]=o>>>2&7,n[i++]=o>>>5&7,n[i++]=o>>>8&7,n[i++]=o>>>11&7,n[i++]=o>>>14&7,n[i++]=o>>>17&7,n[i++]=o>>>20&7,n[i++]=o>>>23&7,n[i++]=o>>>26&7,n[i++]=o>>>29&7}})(e,t,n,r);break;case 4:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0;n[i++]=t>>>0&15,n[i++]=t>>>4&15,n[i++]=t>>>8&15,n[i++]=t>>>12&15,n[i++]=t>>>16&15,n[i++]=t>>>20&15,n[i++]=t>>>24&15,n[i++]=t>>>28&15,n[i++]=r>>>0&15,n[i++]=r>>>4&15,n[i++]=r>>>8&15,n[i++]=r>>>12&15,n[i++]=r>>>16&15,n[i++]=r>>>20&15,n[i++]=r>>>24&15,n[i++]=r>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15}})(e,t,n,r);break;case 5:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0;n[i++]=t>>>0&31,n[i++]=t>>>5&31,n[i++]=t>>>10&31,n[i++]=t>>>15&31,n[i++]=t>>>20&31,n[i++]=t>>>25&31,n[i++]=31&(t>>>30|(7&r)<<2),n[i++]=r>>>3&31,n[i++]=r>>>8&31,n[i++]=r>>>13&31,n[i++]=r>>>18&31,n[i++]=r>>>23&31,n[i++]=31&(r>>>28|(1&o)<<4),n[i++]=o>>>1&31,n[i++]=o>>>6&31,n[i++]=o>>>11&31,n[i++]=o>>>16&31,n[i++]=o>>>21&31,n[i++]=o>>>26&31,n[i++]=31&(o>>>31|(15&s)<<1),n[i++]=s>>>4&31,n[i++]=s>>>9&31,n[i++]=s>>>14&31,n[i++]=s>>>19&31,n[i++]=s>>>24&31,n[i++]=31&(s>>>29|(3&c)<<3),n[i++]=c>>>2&31,n[i++]=c>>>7&31,n[i++]=c>>>12&31,n[i++]=c>>>17&31,n[i++]=c>>>22&31,n[i++]=c>>>27&31}})(e,t,n,r);break;case 6:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0;n[i++]=t>>>0&63,n[i++]=t>>>6&63,n[i++]=t>>>12&63,n[i++]=t>>>18&63,n[i++]=t>>>24&63,n[i++]=63&(t>>>30|(15&r)<<2),n[i++]=r>>>4&63,n[i++]=r>>>10&63,n[i++]=r>>>16&63,n[i++]=r>>>22&63,n[i++]=63&(r>>>28|(3&o)<<4),n[i++]=o>>>2&63,n[i++]=o>>>8&63,n[i++]=o>>>14&63,n[i++]=o>>>20&63,n[i++]=o>>>26&63,n[i++]=s>>>0&63,n[i++]=s>>>6&63,n[i++]=s>>>12&63,n[i++]=s>>>18&63,n[i++]=s>>>24&63,n[i++]=63&(s>>>30|(15&c)<<2),n[i++]=c>>>4&63,n[i++]=c>>>10&63,n[i++]=c>>>16&63,n[i++]=c>>>22&63,n[i++]=63&(c>>>28|(3&l)<<4),n[i++]=l>>>2&63,n[i++]=l>>>8&63,n[i++]=l>>>14&63,n[i++]=l>>>20&63,n[i++]=l>>>26&63}})(e,t,n,r);break;case 7:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0;n[i++]=t>>>0&127,n[i++]=t>>>7&127,n[i++]=t>>>14&127,n[i++]=t>>>21&127,n[i++]=127&(t>>>28|(7&r)<<4),n[i++]=r>>>3&127,n[i++]=r>>>10&127,n[i++]=r>>>17&127,n[i++]=r>>>24&127,n[i++]=127&(r>>>31|(63&o)<<1),n[i++]=o>>>6&127,n[i++]=o>>>13&127,n[i++]=o>>>20&127,n[i++]=127&(o>>>27|(3&s)<<5),n[i++]=s>>>2&127,n[i++]=s>>>9&127,n[i++]=s>>>16&127,n[i++]=s>>>23&127,n[i++]=127&(s>>>30|(31&c)<<2),n[i++]=c>>>5&127,n[i++]=c>>>12&127,n[i++]=c>>>19&127,n[i++]=127&(c>>>26|(1&l)<<6),n[i++]=l>>>1&127,n[i++]=l>>>8&127,n[i++]=l>>>15&127,n[i++]=l>>>22&127,n[i++]=127&(l>>>29|(15&u)<<3),n[i++]=u>>>4&127,n[i++]=u>>>11&127,n[i++]=u>>>18&127,n[i++]=u>>>25&127}})(e,t,n,r);break;case 8:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<8;t++){let t=e[a++]>>>0,r=e[a++]>>>0,o=e[a++]>>>0,s=e[a++]>>>0,c=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,d=e[a++]>>>0;n[i++]=t>>>0&255,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=r>>>0&255,n[i++]=r>>>8&255,n[i++]=r>>>16&255,n[i++]=r>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255}})(e,t,n,r);break;case 16:(function(e,t,n,r){let i=r,a=t;for(let t=0;t<128;t++){let t=e[a++]>>>0;n[i++]=65535&t,n[i++]=t>>>16&65535}})(e,t,n,r);break;default:(function(e,t,n,r,i){let a=up[i]>>>0,o=t,s=0,c=e[o]>>>0,l=r;for(let t=0;t<8;t++){for(let t=0;t<32;t++)if(s+i<=32)n[l+t]=c>>>s&a,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0));else{let r=32-s,u=c>>>s;o++,c=e[o]>>>0;let d=i-r;n[l+t]=(u|(c&-1>>>32-d>>>0)<<r)&a,s=d}l+=32,s=0,t<7&&(c=e[o]>>>0)}})(e,t,n,r,i)}return t+(i<<3)|0}function _p(e,t,n,r){if(n+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${r} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${n}, byteSize=${t})`);let i=e[n++],a=e[n++];if(i>32)throw Error(`FastPFOR decode: invalid bitWidth=${i} at block=${r} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:i,exceptionCount:a,bytePosIn:n}}function vp(e,t,n,r,i,a,o,s,c){let{maxBits:l,exceptionBitWidth:u,bytePosIn:d}=function(e,t,n,r,i,a){if(n+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${n}, byteSize=${t})`);let o=e[n++];if(o<r||o>32)throw Error(`FastPFOR decode: invalid maxBits=${o} at block=${a} (bitWidth=${r}, expected ${r}..32)`);let s=o-r|0;if(s<1||s>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${s} at block=${a} (bitWidth=${r}, maxBits=${o})`);if(n+i>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${i}, have=${t-n})`);return{maxBits:o,exceptionBitWidth:s,bytePosIn:n}}(i,a,o,n,r,c);if(o=d,u===1){let a=1<<n;for(let n=0;n<r;n=n+1|0)e[i[o++]+t|0]|=a;return o}let f=s.dataToBePacked[u];if(!f)throw Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${u} (bitWidth=${n}, maxBits=${l}) at block ${c}`);let p=s.dataPointers,m=0|p[u],h=0|s.exceptionSizes[u];if(m+r>h)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${u} (ptr=${m}, need ${r}, size=${h}) at block ${c}`);for(let a=0;a<r;a=a+1|0){let r=i[o++],a=0|f[m++];e[r+t|0]|=a<<n}return p[u]=m,o}function yp(e,t,n,r,i,a){let o=0|n,s=0|e[o];if(s<=0||o+s>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${s} at pageStart=${o} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let c=o+1|0,l=o+s|0,u=e[l]>>>0,d=u+3>>>2,f=l+1,p=f+d;if(p>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${u} (metaInts=${d}, pageStart=${o}, packedEnd=${l}, byteContainerStart=${f}) causes bitmapPos=${p} out of bounds (encoded.length=${e.length})`);let m=function(e,t,n,r){r.byteContainer.length<n&&(r.byteContainer=new Uint8Array(2*n),r.byteContainerI32=void 0);let i=r.byteContainer,a=n>>>2;if(3&i.byteOffset)for(let n=0;n<a;n=n+1|0){let r=0|e[t+n|0],a=n<<2;i[a]=255&r,i[a+1|0]=r>>>8&255,i[a+2|0]=r>>>16&255,i[a+3|0]=r>>>24&255}else{let n=r.byteContainerI32;(!n||n.buffer!==i.buffer||n.byteOffset!==i.byteOffset||n.length<a)&&(n=r.byteContainerI32=new Int32Array(i.buffer,i.byteOffset,i.byteLength>>>2)),n.set(e.subarray(t,t+a))}let o=3&n;if(o>0){let n=0|e[t+a|0],r=a<<2;for(let e=0;e<o;e=e+1|0)i[r+e|0]=n>>>(e<<3)&255}return i}(e,f,u,a),h=u,g=function(e,t,n){let r=0|e[t++],i=n.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(r>>>a-1&1))continue;if(t>=e.length)throw Error(`FastPFOR decode: truncated exception stream header (bitWidth=${a}, streamWordIndex=${t}, needWords=1, availableWords=${e.length-t}, encodedWords=${e.length})`);let o=e[t++]>>>0,s=dp(o+31,32),c=o*a+31>>>5;if(t+c>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${o}, streamWordIndex=${t}, needWords=${c}, availableWords=${e.length-t}, encodedWords=${e.length})`);let l=i[a];(!l||l.length<s)&&(l=i[a]=new Uint32Array(s));let u=0;for(;u<o;u=u+32|0)bp(e,t,l,u,a),t=t+a|0;t=t-((u-o|0)*a>>>5)|0,n.exceptionSizes[a]=o}return t}(e,p,a);return a.dataPointers.fill(0),function(e,t,n,r,i,a,o,s,c,l){let u=0|n,d=0;for(let t=0;t<o;t=t+1|0){let n=_p(s,c,d,t);d=n.bytePosIn;let r=n.bitWidth,o=n.exceptionCount,f=a+t*256|0;switch(r){case 0:i.fill(0,f,f+256);break;case 32:for(let t=0;t<256;t=t+1|0)i[f+t|0]=0|e[u+t|0];u=u+256|0;break;default:u=gp(e,u,i,f,r)}o>0&&(d=vp(i,f,r,o,s,c,d,l,t))}if(u!==r)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${n}, consumedPackedEnd=${u}, expectedPackedEnd=${r}, packedWords=${r-n}, encoded.length=${e.length})`)}(e,o,c,l,t,0|r,i/256|0,m,h,a),g}function bp(e,t,n,r,i){switch(i){case 2:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0;n[i++]=a>>>0&3,n[i++]=a>>>2&3,n[i++]=a>>>4&3,n[i++]=a>>>6&3,n[i++]=a>>>8&3,n[i++]=a>>>10&3,n[i++]=a>>>12&3,n[i++]=a>>>14&3,n[i++]=a>>>16&3,n[i++]=a>>>18&3,n[i++]=a>>>20&3,n[i++]=a>>>22&3,n[i++]=a>>>24&3,n[i++]=a>>>26&3,n[i++]=a>>>28&3,n[i++]=a>>>30&3,n[i++]=o>>>0&3,n[i++]=o>>>2&3,n[i++]=o>>>4&3,n[i++]=o>>>6&3,n[i++]=o>>>8&3,n[i++]=o>>>10&3,n[i++]=o>>>12&3,n[i++]=o>>>14&3,n[i++]=o>>>16&3,n[i++]=o>>>18&3,n[i++]=o>>>20&3,n[i++]=o>>>22&3,n[i++]=o>>>24&3,n[i++]=o>>>26&3,n[i++]=o>>>28&3,n[i]=o>>>30&3})(e,t,n,r);return;case 3:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0;n[i++]=a>>>0&7,n[i++]=a>>>3&7,n[i++]=a>>>6&7,n[i++]=a>>>9&7,n[i++]=a>>>12&7,n[i++]=a>>>15&7,n[i++]=a>>>18&7,n[i++]=a>>>21&7,n[i++]=a>>>24&7,n[i++]=a>>>27&7,n[i++]=7&(a>>>30|(1&o)<<2),n[i++]=o>>>1&7,n[i++]=o>>>4&7,n[i++]=o>>>7&7,n[i++]=o>>>10&7,n[i++]=o>>>13&7,n[i++]=o>>>16&7,n[i++]=o>>>19&7,n[i++]=o>>>22&7,n[i++]=o>>>25&7,n[i++]=o>>>28&7,n[i++]=7&(o>>>31|(3&s)<<1),n[i++]=s>>>2&7,n[i++]=s>>>5&7,n[i++]=s>>>8&7,n[i++]=s>>>11&7,n[i++]=s>>>14&7,n[i++]=s>>>17&7,n[i++]=s>>>20&7,n[i++]=s>>>23&7,n[i++]=s>>>26&7,n[i]=s>>>29&7})(e,t,n,r);return;case 4:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0;n[i++]=a>>>0&15,n[i++]=a>>>4&15,n[i++]=a>>>8&15,n[i++]=a>>>12&15,n[i++]=a>>>16&15,n[i++]=a>>>20&15,n[i++]=a>>>24&15,n[i++]=a>>>28&15,n[i++]=o>>>0&15,n[i++]=o>>>4&15,n[i++]=o>>>8&15,n[i++]=o>>>12&15,n[i++]=o>>>16&15,n[i++]=o>>>20&15,n[i++]=o>>>24&15,n[i++]=o>>>28&15,n[i++]=s>>>0&15,n[i++]=s>>>4&15,n[i++]=s>>>8&15,n[i++]=s>>>12&15,n[i++]=s>>>16&15,n[i++]=s>>>20&15,n[i++]=s>>>24&15,n[i++]=s>>>28&15,n[i++]=c>>>0&15,n[i++]=c>>>4&15,n[i++]=c>>>8&15,n[i++]=c>>>12&15,n[i++]=c>>>16&15,n[i++]=c>>>20&15,n[i++]=c>>>24&15,n[i]=c>>>28&15})(e,t,n,r);return;case 5:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0;n[i++]=a>>>0&31,n[i++]=a>>>5&31,n[i++]=a>>>10&31,n[i++]=a>>>15&31,n[i++]=a>>>20&31,n[i++]=a>>>25&31,n[i++]=31&(a>>>30|(7&o)<<2),n[i++]=o>>>3&31,n[i++]=o>>>8&31,n[i++]=o>>>13&31,n[i++]=o>>>18&31,n[i++]=o>>>23&31,n[i++]=31&(o>>>28|(1&s)<<4),n[i++]=s>>>1&31,n[i++]=s>>>6&31,n[i++]=s>>>11&31,n[i++]=s>>>16&31,n[i++]=s>>>21&31,n[i++]=s>>>26&31,n[i++]=31&(s>>>31|(15&c)<<1),n[i++]=c>>>4&31,n[i++]=c>>>9&31,n[i++]=c>>>14&31,n[i++]=c>>>19&31,n[i++]=c>>>24&31,n[i++]=31&(c>>>29|(3&l)<<3),n[i++]=l>>>2&31,n[i++]=l>>>7&31,n[i++]=l>>>12&31,n[i++]=l>>>17&31,n[i++]=l>>>22&31,n[i]=l>>>27&31})(e,t,n,r);return;case 6:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0;n[i++]=a>>>0&63,n[i++]=a>>>6&63,n[i++]=a>>>12&63,n[i++]=a>>>18&63,n[i++]=a>>>24&63,n[i++]=63&(a>>>30|(15&o)<<2),n[i++]=o>>>4&63,n[i++]=o>>>10&63,n[i++]=o>>>16&63,n[i++]=o>>>22&63,n[i++]=63&(o>>>28|(3&s)<<4),n[i++]=s>>>2&63,n[i++]=s>>>8&63,n[i++]=s>>>14&63,n[i++]=s>>>20&63,n[i++]=s>>>26&63,n[i++]=c>>>0&63,n[i++]=c>>>6&63,n[i++]=c>>>12&63,n[i++]=c>>>18&63,n[i++]=c>>>24&63,n[i++]=63&(c>>>30|(15&l)<<2),n[i++]=l>>>4&63,n[i++]=l>>>10&63,n[i++]=l>>>16&63,n[i++]=l>>>22&63,n[i++]=63&(l>>>28|(3&u)<<4),n[i++]=u>>>2&63,n[i++]=u>>>8&63,n[i++]=u>>>14&63,n[i++]=u>>>20&63,n[i]=u>>>26&63})(e,t,n,r);return;case 7:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0;n[i++]=a>>>0&127,n[i++]=a>>>7&127,n[i++]=a>>>14&127,n[i++]=a>>>21&127,n[i++]=127&(a>>>28|(7&o)<<4),n[i++]=o>>>3&127,n[i++]=o>>>10&127,n[i++]=o>>>17&127,n[i++]=o>>>24&127,n[i++]=127&(o>>>31|(63&s)<<1),n[i++]=s>>>6&127,n[i++]=s>>>13&127,n[i++]=s>>>20&127,n[i++]=127&(s>>>27|(3&c)<<5),n[i++]=c>>>2&127,n[i++]=c>>>9&127,n[i++]=c>>>16&127,n[i++]=c>>>23&127,n[i++]=127&(c>>>30|(31&l)<<2),n[i++]=l>>>5&127,n[i++]=l>>>12&127,n[i++]=l>>>19&127,n[i++]=127&(l>>>26|(1&u)<<6),n[i++]=u>>>1&127,n[i++]=u>>>8&127,n[i++]=u>>>15&127,n[i++]=u>>>22&127,n[i++]=127&(u>>>29|(15&d)<<3),n[i++]=d>>>4&127,n[i++]=d>>>11&127,n[i++]=d>>>18&127,n[i]=d>>>25&127})(e,t,n,r);return;case 8:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0;n[i++]=a>>>0&255,n[i++]=a>>>8&255,n[i++]=a>>>16&255,n[i++]=a>>>24&255,n[i++]=o>>>0&255,n[i++]=o>>>8&255,n[i++]=o>>>16&255,n[i++]=o>>>24&255,n[i++]=s>>>0&255,n[i++]=s>>>8&255,n[i++]=s>>>16&255,n[i++]=s>>>24&255,n[i++]=c>>>0&255,n[i++]=c>>>8&255,n[i++]=c>>>16&255,n[i++]=c>>>24&255,n[i++]=l>>>0&255,n[i++]=l>>>8&255,n[i++]=l>>>16&255,n[i++]=l>>>24&255,n[i++]=u>>>0&255,n[i++]=u>>>8&255,n[i++]=u>>>16&255,n[i++]=u>>>24&255,n[i++]=d>>>0&255,n[i++]=d>>>8&255,n[i++]=d>>>16&255,n[i++]=d>>>24&255,n[i++]=f>>>0&255,n[i++]=f>>>8&255,n[i++]=f>>>16&255,n[i]=f>>>24&255})(e,t,n,r);return;case 9:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0;n[i++]=a>>>0&511,n[i++]=a>>>9&511,n[i++]=a>>>18&511,n[i++]=511&(a>>>27|(15&o)<<5),n[i++]=o>>>4&511,n[i++]=o>>>13&511,n[i++]=o>>>22&511,n[i++]=511&(o>>>31|(255&s)<<1),n[i++]=s>>>8&511,n[i++]=s>>>17&511,n[i++]=511&(s>>>26|(7&c)<<6),n[i++]=c>>>3&511,n[i++]=c>>>12&511,n[i++]=c>>>21&511,n[i++]=511&(c>>>30|(127&l)<<2),n[i++]=l>>>7&511,n[i++]=l>>>16&511,n[i++]=511&(l>>>25|(3&u)<<7),n[i++]=u>>>2&511,n[i++]=u>>>11&511,n[i++]=u>>>20&511,n[i++]=511&(u>>>29|(63&d)<<3),n[i++]=d>>>6&511,n[i++]=d>>>15&511,n[i++]=511&(d>>>24|(1&f)<<8),n[i++]=f>>>1&511,n[i++]=f>>>10&511,n[i++]=f>>>19&511,n[i++]=511&(f>>>28|(31&p)<<4),n[i++]=p>>>5&511,n[i++]=p>>>14&511,n[i]=p>>>23&511})(e,t,n,r);return;case 10:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0;n[i++]=a>>>0&1023,n[i++]=a>>>10&1023,n[i++]=a>>>20&1023,n[i++]=1023&(a>>>30|(255&o)<<2),n[i++]=o>>>8&1023,n[i++]=o>>>18&1023,n[i++]=1023&(o>>>28|(63&s)<<4),n[i++]=s>>>6&1023,n[i++]=s>>>16&1023,n[i++]=1023&(s>>>26|(15&c)<<6),n[i++]=c>>>4&1023,n[i++]=c>>>14&1023,n[i++]=1023&(c>>>24|(3&l)<<8),n[i++]=l>>>2&1023,n[i++]=l>>>12&1023,n[i++]=l>>>22&1023,n[i++]=u>>>0&1023,n[i++]=u>>>10&1023,n[i++]=u>>>20&1023,n[i++]=1023&(u>>>30|(255&d)<<2),n[i++]=d>>>8&1023,n[i++]=d>>>18&1023,n[i++]=1023&(d>>>28|(63&f)<<4),n[i++]=f>>>6&1023,n[i++]=f>>>16&1023,n[i++]=1023&(f>>>26|(15&p)<<6),n[i++]=p>>>4&1023,n[i++]=p>>>14&1023,n[i++]=1023&(p>>>24|(3&m)<<8),n[i++]=m>>>2&1023,n[i++]=m>>>12&1023,n[i]=m>>>22&1023})(e,t,n,r);return;case 11:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0;n[i++]=a>>>0&2047,n[i++]=a>>>11&2047,n[i++]=2047&(a>>>22|(1&o)<<10),n[i++]=o>>>1&2047,n[i++]=o>>>12&2047,n[i++]=2047&(o>>>23|(3&s)<<9),n[i++]=s>>>2&2047,n[i++]=s>>>13&2047,n[i++]=2047&(s>>>24|(7&c)<<8),n[i++]=c>>>3&2047,n[i++]=c>>>14&2047,n[i++]=2047&(c>>>25|(15&l)<<7),n[i++]=l>>>4&2047,n[i++]=l>>>15&2047,n[i++]=2047&(l>>>26|(31&u)<<6),n[i++]=u>>>5&2047,n[i++]=u>>>16&2047,n[i++]=2047&(u>>>27|(63&d)<<5),n[i++]=d>>>6&2047,n[i++]=d>>>17&2047,n[i++]=2047&(d>>>28|(127&f)<<4),n[i++]=f>>>7&2047,n[i++]=f>>>18&2047,n[i++]=2047&(f>>>29|(255&p)<<3),n[i++]=p>>>8&2047,n[i++]=p>>>19&2047,n[i++]=2047&(p>>>30|(511&m)<<2),n[i++]=m>>>9&2047,n[i++]=m>>>20&2047,n[i++]=2047&(m>>>31|(1023&h)<<1),n[i++]=h>>>10&2047,n[i]=h>>>21&2047})(e,t,n,r);return;case 12:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0;n[i++]=a>>>0&4095,n[i++]=a>>>12&4095,n[i++]=4095&(a>>>24|(15&o)<<8),n[i++]=o>>>4&4095,n[i++]=o>>>16&4095,n[i++]=4095&(o>>>28|(255&s)<<4),n[i++]=s>>>8&4095,n[i++]=s>>>20&4095,n[i++]=c>>>0&4095,n[i++]=c>>>12&4095,n[i++]=4095&(c>>>24|(15&l)<<8),n[i++]=l>>>4&4095,n[i++]=l>>>16&4095,n[i++]=4095&(l>>>28|(255&u)<<4),n[i++]=u>>>8&4095,n[i++]=u>>>20&4095,n[i++]=d>>>0&4095,n[i++]=d>>>12&4095,n[i++]=4095&(d>>>24|(15&f)<<8),n[i++]=f>>>4&4095,n[i++]=f>>>16&4095,n[i++]=4095&(f>>>28|(255&p)<<4),n[i++]=p>>>8&4095,n[i++]=p>>>20&4095,n[i++]=m>>>0&4095,n[i++]=m>>>12&4095,n[i++]=4095&(m>>>24|(15&h)<<8),n[i++]=h>>>4&4095,n[i++]=h>>>16&4095,n[i++]=4095&(h>>>28|(255&g)<<4),n[i++]=g>>>8&4095,n[i]=g>>>20&4095})(e,t,n,r);return;case 16:(function(e,t,n,r){let i=r,a=e[t]>>>0,o=e[t+1]>>>0,s=e[t+2]>>>0,c=e[t+3]>>>0,l=e[t+4]>>>0,u=e[t+5]>>>0,d=e[t+6]>>>0,f=e[t+7]>>>0,p=e[t+8]>>>0,m=e[t+9]>>>0,h=e[t+10]>>>0,g=e[t+11]>>>0,_=e[t+12]>>>0,v=e[t+13]>>>0,y=e[t+14]>>>0,b=e[t+15]>>>0;n[i++]=a>>>0&65535,n[i++]=a>>>16&65535,n[i++]=o>>>0&65535,n[i++]=o>>>16&65535,n[i++]=s>>>0&65535,n[i++]=s>>>16&65535,n[i++]=c>>>0&65535,n[i++]=c>>>16&65535,n[i++]=l>>>0&65535,n[i++]=l>>>16&65535,n[i++]=u>>>0&65535,n[i++]=u>>>16&65535,n[i++]=d>>>0&65535,n[i++]=d>>>16&65535,n[i++]=f>>>0&65535,n[i++]=f>>>16&65535,n[i++]=p>>>0&65535,n[i++]=p>>>16&65535,n[i++]=m>>>0&65535,n[i++]=m>>>16&65535,n[i++]=h>>>0&65535,n[i++]=h>>>16&65535,n[i++]=g>>>0&65535,n[i++]=g>>>16&65535,n[i++]=_>>>0&65535,n[i++]=_>>>16&65535,n[i++]=v>>>0&65535,n[i++]=v>>>16&65535,n[i++]=y>>>0&65535,n[i++]=y>>>16&65535,n[i++]=b>>>0&65535,n[i]=b>>>16&65535})(e,t,n,r);return;case 32:for(let i=0;i<32;i=i+1|0)n[r+i|0]=0|e[t+i|0];return}let a=up[i]>>>0,o=t,s=0,c=e[o]>>>0;for(let t=0;t<32;t++)if(s+i<=32)n[r+t]=c>>>s&a,s+=i,s===32&&(s=0,o++,t!==31&&(c=e[o]>>>0));else{let l=32-s,u=c>>>s;o++,c=e[o]>>>0,n[r+t]=(u|(c&up[i-l]>>>0)<<l)&a,s=i-l}}function xp(e,t,n){let r=new Uint32Array(n),i=0,a=t.get();for(let t=0;t<r.length;t++){let t=e[a++],n=127&t;t<128||(t=e[a++],n|=(127&t)<<7,t<128||(t=e[a++],n|=(127&t)<<14,t<128||(t=e[a++],n|=(127&t)<<21,t<128||(t=e[a++],n|=(15&t)<<28)))),r[i++]=n}return t.set(a),r}function Sp(e,t,n){let r=new BigUint64Array(n);for(let n=0;n<r.length;n++)r[n]=Cp(e,t);return r}function Cp(e,t){let n=0n,r=0,i=t.get();for(;i<e.length;){let t=e[i++];if(n|=BigInt(127&t)<<BigInt(r),!(128&t))break;if(r+=7,r>=64)throw Error(`Varint too long`)}return t.set(i),n}function wp(e,t){let n,r;return r=e[t.get()],t.increment(),n=127&r,r<128?n:(r=e[t.get()],t.increment(),n|=(127&r)<<7,r<128?n:(r=e[t.get()],t.increment(),n|=(127&r)<<14,r<128?n:(r=e[t.get()],t.increment(),n|=(127&r)<<21,r<128?n:(r=e[t.get()],n|=(15&r)<<28,function(e,t,n){let r,i;if(i=t[n.get()],n.increment(),r=(112&i)>>4,i<128||(i=t[n.get()],n.increment(),r|=(127&i)<<3,i<128)||(i=t[n.get()],n.increment(),r|=(127&i)<<10,i<128)||(i=t[n.get()],n.increment(),r|=(127&i)<<17,i<128)||(i=t[n.get()],n.increment(),r|=(127&i)<<24,i<128)||(i=t[n.get()],n.increment(),r|=(1&i)<<31,i<128))return 4294967296*r+(e>>>0);throw Error(`Expected varint not more than 10 bytes`)}(n,e,t)))))}function Tp(e){return e>>>1^-(1&e)}function Ep(e){return e>>1n^-(1n&e)}function Dp(e){return e%2==1?(e+1)/-2:e/2}function Op(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Uint32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n];r.fill(e[n+t],i,i+a),i+=a}return r}function kp(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigUint64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]);r.fill(e[n+t],i,i+a),i+=a}return r}function Ap(e,t,n){let r=new Float64Array(n),i=0;for(let n=0;n<t;n++){let a=e[n];r.fill(e[n+t],i,i+a),i+=a}return r}function jp(e){let t=new Int32Array(e.length);t[0]=Tp(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r+1],i=e[r+2],a=e[r+3];t[r]=Tp(e[r])+t[r-1],t[r+1]=Tp(n)+t[r],t[r+2]=Tp(i)+t[r+1],t[r+3]=Tp(a)+t[r+2]}for(;r!==e.length;++r)t[r]=Tp(e[r])+t[r-1];return t}function Mp(e){let t=new BigInt64Array(e.length);t[0]=Ep(e[0]);let n=e.length/4*4,r=1;if(n>=4)for(;r<n-4;r+=4){let n=e[r+1],i=e[r+2],a=e[r+3];t[r]=Ep(e[r])+t[r-1],t[r+1]=Ep(n)+t[r],t[r+2]=Ep(i)+t[r+1],t[r+3]=Ep(a)+t[r+2]}for(;r!==t.length;++r)t[r]=Ep(e[r])+t[r-1];return t}function Np(e){let t=e.length/4*4,n=1;if(t>=4)for(let r=e[0];n<t-4;n+=4)r=e[n]+=r,r=e[n+1]+=r,r=e[n+2]+=r,r=e[n+3]+=r;for(;n!==e.length;)e[n]+=e[n-1],++n}var Pp,Fp,Ip,Lp,Rp,zp,Bp,Vp;function Hp(e,t){let n=function(e,t){let n=e[t.get()],r=Object.values(Pp)[n>>4],i=null;switch(r){case Pp.DATA:i={dictionaryType:Object.values(Fp)[15&n]};break;case Pp.OFFSET:i={offsetType:Object.values(Ip)[15&n]};break;case Pp.LENGTH:i={lengthType:Object.values(Lp)[15&n]}}t.increment();let a=e[t.get()],o=Object.values(sp)[a>>5],s=Object.values(sp)[a>>2&7],c=Object.values(cp)[3&a];t.increment();let l=xp(e,t,2),u=l[0];return{physicalStreamType:r,logicalStreamType:i,logicalLevelTechnique1:o,logicalLevelTechnique2:s,physicalLevelTechnique:c,numValues:u,byteLength:l[1],decompressedCount:u}}(e,t);return n.logicalLevelTechnique1===sp.MORTON?function(e,t,n){let r=xp(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:e.decompressedCount,numBits:r[0],coordinateShift:r[1]}}(n,e,t):sp.RLE!==n.logicalLevelTechnique1&&sp.RLE!==n.logicalLevelTechnique2||cp.NONE===n.physicalLevelTechnique?n:function(e,t,n){let r=xp(t,n,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:r[1],runs:r[0],numRleValues:r[1]}}(n,e,t)}(function(e){e.PRESENT=`PRESENT`,e.DATA=`DATA`,e.OFFSET=`OFFSET`,e.LENGTH=`LENGTH`})(Pp||={}),function(e){e.NONE=`NONE`,e.SINGLE=`SINGLE`,e.SHARED=`SHARED`,e.VERTEX=`VERTEX`,e.MORTON=`MORTON`,e.FSST=`FSST`}(Fp||={}),function(e){e.VERTEX=`VERTEX`,e.INDEX=`INDEX`,e.STRING=`STRING`,e.KEY=`KEY`}(Ip||={}),function(e){e.VAR_BINARY=`VAR_BINARY`,e.GEOMETRIES=`GEOMETRIES`,e.PARTS=`PARTS`,e.RINGS=`RINGS`,e.TRIANGLES=`TRIANGLES`,e.SYMBOL=`SYMBOL`,e.DICTIONARY=`DICTIONARY`}(Lp||={}),function(e){e[e.FLAT=0]=`FLAT`,e[e.CONST=1]=`CONST`,e[e.SEQUENCE=2]=`SEQUENCE`,e[e.DICTIONARY=3]=`DICTIONARY`,e[e.FSST_DICTIONARY=4]=`FSST_DICTIONARY`}(Rp||={});class Q{constructor(e,t){this.values=e,this._size=t}get(e){let t=Math.floor(e/8);return(this.values[t]>>e%8&1)==1}set(e,t){let n=Math.floor(e/8);this.values[n]=this.values[n]|!!t<<e%8}getInt(e){let t=Math.floor(e/8);return this.values[t]>>e%8&1}size(){return this._size}getBuffer(){return this.values}}function Up(e,t,n){if(!t)return e;let r=t.size(),i=new e.constructor(r),a=0;for(let o=0;o<r;o++)i[o]=t.get(o)?e[a++]:n;return i}function Wp(e,t,n,r,i){return function(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case sp.DELTA:if(t.logicalLevelTechnique2===sp.RLE){let n=t;if(!r)return function(e,t,n){let r=new Int32Array(n),i=0,a=0;for(let n=0;n<t;n++){let o=e[n],s=Tp(e[n+t]);for(let e=0;e<o;e++)a+=s,r[i++]=a}return r}(e,n.runs,n.numRleValues);i=jp(e=Op(e,n.runs,n.numRleValues))}else i=jp(e);break;case sp.RLE:i=function(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=e[r]}let r=new Int32Array(n),i=0;for(let n=0;n<t;n++){let a=e[n],o=e[n+t];o=Tp(o),r.fill(o,i,i+a),i+=a}return r}(e,t.runs,t.numRleValues);break;case sp.MORTON:Np(e),i=new Int32Array(e);break;case sp.COMPONENTWISE_DELTA:i=function(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=Tp(e[0]),t[1]=Tp(e[1]);let n=e.length/4*4,r=2;if(n>=4)for(;r<n-4;r+=4){let n=e[r+1],i=e[r+2],a=e[r+3];t[r]=Tp(e[r])+t[r-2],t[r+1]=Tp(n)+t[r-1],t[r+2]=Tp(i)+t[r],t[r+3]=Tp(a)+t[r+1]}for(;r!==e.length;r+=2)t[r]=Tp(e[r])+t[r-2],t[r+1]=Tp(e[r+1])+t[r-1];return t}(e);break;case sp.NONE:i=function(e){let t=new Int32Array(e.length);for(let n=0;n<e.length;n++)t[n]=Tp(e[n]);return t}(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Up(i,r,0):i}(qp(e,t,n),n,0,i)}function Gp(e,t,n,r,i){return function(e,t,n,r){let i;switch(t.logicalLevelTechnique1){case sp.DELTA:i=function(e){let t=new Uint32Array(e.length);t[0]=Tp(e[0])>>>0;for(let n=1;n<e.length;n++)t[n]=t[n-1]+Tp(e[n])>>>0;return t}(t.logicalLevelTechnique2===sp.RLE?Op(e,t.runs,t.numRleValues):e);break;case sp.RLE:i=Op(e,t.runs,t.numRleValues);break;case sp.MORTON:Np(e),i=e;break;case sp.COMPONENTWISE_DELTA:i=function(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=Tp(e[0])>>>0,t[1]=Tp(e[1])>>>0;for(let n=2;n<e.length;n+=2)t[n]=t[n-2]+Tp(e[n])>>>0,t[n+1]=t[n-1]+Tp(e[n+1])>>>0;return t}(e);break;case sp.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Up(i,r,0):i}(qp(e,t,n),n,0,i)}function Kp(e,t,n){return function(e,t){if(t.logicalLevelTechnique1===sp.DELTA&&t.logicalLevelTechnique2===sp.NONE)return function(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=Tp(e[0]);let n=t[1];for(let r=2;r!==t.length;++r)n+=Tp(e[r-1]),t[r]=t[r-1]+n;return new Uint32Array(t)}(e);if(t.logicalLevelTechnique1===sp.RLE&&t.logicalLevelTechnique2===sp.NONE)return function(e,t,n){let r=new Uint32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}(e,t.runs,t.numRleValues);if(t.logicalLevelTechnique1===sp.NONE&&t.logicalLevelTechnique2===sp.NONE){(function(e){let t=0;for(let n=0;n<e.length;n++)e[n]+=t,t=e[n]})(e);let n=new Uint32Array(t.numValues+1);return n[0]=0,n.set(e,1),n}if(t.logicalLevelTechnique1===sp.DELTA&&t.logicalLevelTechnique2===sp.RLE){let n=function(e,t,n){let r=new Int32Array(n+1);r[0]=0;let i=1,a=r[0];for(let n=0;n<t;n++){let o=e[n],s=e[n+t];s=Tp(s);for(let e=i;e<i+o;e++)r[e]=s+a,a=r[e];i+=o}return r}(e,t.runs,t.numRleValues);return Np(n),new Uint32Array(n)}throw Error(`Only delta encoding is supported for transforming length to offset streams yet.`)}(qp(e,t,n),n)}function qp(e,t,n){let r=n.physicalLevelTechnique;switch(r){case cp.FAST_PFOR:return function(e,t,n,r){return function(e,t,n,r,i){let a=r.get();if(3&n)throw Error(`FastPFOR: invalid encodedByteLength=${n} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let o=n>>>2,s=function(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let n=new Uint32Array(Math.max(16,2*t));return e.encodedWords=n,n}(i,o);(function(e,t,n,r){if(t<0||n<0||t+n>e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${n}, bytes.length=${e.length})`);let i=Math.floor(n/4),a=n%4!=0,o=a?i+1:i;if(r.length<o)throw RangeError(`decodeBigEndianInt32sInto: out.length=${r.length} < ${o}`);if(i>0){let n=e.byteOffset+t;if(3&n)for(let n=0;n<i;n++){let i=t+4*n;r[n]=e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3]}else{let t=new Uint32Array(e.buffer,n,i);for(let e=0;e<i;e++)r[e]=0|fp(t[e])}}if(a){let a=t+4*i,o=n-4*i,s=0;for(let t=0;t<o;t++)s|=e[a+t]<<24-8*t;r[i]=0|s}})(e,a,n,s);let c=function(e,t,n){let r=0,i=0,a=new Uint32Array(t),o=n??hp();if(e.length>0){let t=0|e[r];if(r=r+1|0,255&t)throw Error(`FastPFOR decode: invalid alignedLength=${t} (expected multiple of 256)`);if(i+t>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${i}, alignedLength=${t}, out.length=${a.length})`);r=function(e,t,n,r,i,a){let o=r+dp(i,256),s=r,c=n;for(;s!==o;){let n=Math.min(pp,o-s);c=yp(e,t,c,s,n,a),s=s+n|0}return c}(e,a,r,i,t,o),i=i+t|0}return function(e,t,n,r,i,a){if(a===0)return t;let o=0,s=t,c=t+n,l=i,u=i,d=i+a,f=0,p=0;for(;s<c&&u<d;){let t=e[s]>>>o&255;if(o+=8,s+=o>>>5,o&=31,f|=(127&t)<<p,128&t)r[u++]=0|f,f=0,p=0;else if(p+=7,p>28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${p}, partial=${f}, decoded=${u-l}/${a}, inPos=${s}, inEnd=${c})`)}if(u!==d)throw Error(`FastPFOR VByte: truncated stream (decoded=${u-l}, expected=${a}, consumedWords=${s-t}/${n}, vbyteStart=${t}, vbyteEnd=${c})`)}(e,r,e.length-r|0,a,i,t-i|0),a}(s.subarray(0,o),t,i.decoderWorkspace);return r.add(n),c}(e,t,n,r,function(e=16){if(e<0)throw RangeError(`initialEncodedWordCapacity must be >= 0, got ${e}`);let t=Math.max(16,0|e);return{encodedWords:new Uint32Array(t),decoderWorkspace:hp()}}(n>>>2))}(e,n.numValues,n.byteLength,t);case cp.VARINT:return xp(e,t,n.numValues);case cp.NONE:{let r=t.get();t.add(n.byteLength);let i=e.subarray(r,t.get());return new Uint32Array(i)}default:throw Error(`Specified physicalLevelTechnique ${r} is not supported (yet).`)}}function Jp(e,t,n){let r=qp(e,t,n);return r.length===1?r[0]:function(e){return e[1]}(r)}function Yp(e,t,n){return function(e){if(e.length===2){let t=Tp(e[1]);return[t,t]}return[Tp(e[2]),Tp(e[3])]}(qp(e,t,n))}function Xp(e,t,n){return function(e){if(e.length===2){let t=Ep(e[1]);return[t,t]}return[Ep(e[2]),Ep(e[3])]}(Sp(e,t,n.numValues))}function Zp(e,t,n,r){return function(e,t,n){let r;switch(t.logicalLevelTechnique1){case sp.DELTA:r=function(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,Ep(e[0]));for(let n=1;n<e.length;n++)t[n]=BigInt.asUintN(64,t[n-1]+Ep(e[n]));return t}(t.logicalLevelTechnique2===sp.RLE?kp(e,t.runs,t.numRleValues):e);break;case sp.RLE:r=kp(e,t.runs,t.numRleValues);break;case sp.NONE:r=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?Up(r,n,0n):r}(Sp(e,t,n.numValues),n,r)}function Qp(e,t,n){let r=Sp(e,t,n.numValues);return r.length===1?r[0]:function(e){return e[1]}(r)}function $p(e,t,n,r,i=`int32`){let a=e.logicalLevelTechnique1;if(a===sp.RLE)return e.runs===1?Rp.CONST:Rp.FLAT;if(a!==sp.DELTA||e.logicalLevelTechnique2!==sp.RLE)return e.numValues===1?Rp.CONST:Rp.FLAT;let o=t instanceof Q?t.size():t;if(e.numRleValues!==o)return Rp.FLAT;if(e.runs===1)return Rp.SEQUENCE;if(e.runs!==2)return e.numValues===1?Rp.CONST:Rp.FLAT;let s=r.get();if(e.physicalLevelTechnique===cp.VARINT)return function(e,t,n){let r=new op(t.get());if(n===`int64`){let t=Sp(e,r,4);return t[2]===2n&&t[3]===2n}let i=xp(e,r,4);return i[2]===2&&i[3]===2}(n,r,i)?Rp.SEQUENCE:e.numValues===1?Rp.CONST:Rp.FLAT;let c=r.get(),l=new Int32Array(n.buffer,n.byteOffset+c,4);return r.set(s),l[2]===2&&l[3]===2?Rp.SEQUENCE:e.numValues===1?Rp.CONST:Rp.FLAT}class em extends $f{getValueFromBuffer(e){return this.dataBuffer[e]}}class tm extends np{constructor(e,t,n,r){super(e,BigInt64Array.of(t),n,r)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}}function nm(e,t,n){return{x:rm(e,t)-n,y:rm(e>>1,t)-n}}function rm(e,t){let n=0;for(let r=0;r<t;r++)n|=(e&1<<2*r)>>r;return n}function im(e,t,r,i,a,o,s){return e===Vp.MORTON?function(e,t,r,i,a,o){let s=Array(a?i+1:i);for(let a=0;a<i;a++){let i=nm(e[t[r+a]],o.numBits,o.coordinateShift);s[a]=new n(i.x,i.y)}return a&&(s[s.length-1]=s[0]),s}(t,r,i,a,o,s):function(e,t,r,i,a){let o=Array(a?i+1:i);for(let a=0;a<2*i;a+=2){let i=2*t[r+a/2];o[a/2]=new n(e[i],e[i+1])}return a&&(o[o.length-1]=o[0]),o}(t,r,i,a,o)}function am(e,t,r,i){let a=Array(i?r+1:r);for(let i=0;i<2*r;i+=2)a[i/2]=new n(e[t+i],e[t+i+1]);return i&&(a[a.length-1]=a[0]),a}(function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`,e[e.MULTIPOINT=3]=`MULTIPOINT`,e[e.MULTILINESTRING=4]=`MULTILINESTRING`,e[e.MULTIPOLYGON=5]=`MULTIPOLYGON`})(zp||={}),function(e){e[e.POINT=0]=`POINT`,e[e.LINESTRING=1]=`LINESTRING`,e[e.POLYGON=2]=`POLYGON`}(Bp||={}),function(e){e[e.MORTON=0]=`MORTON`,e[e.VEC_2=1]=`VEC_2`,e[e.VEC_3=2]=`VEC_3`}(Vp||={});class om{constructor(e,t,n,r,i){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=n,this._vertexBuffer=r,this._mortonSettings=i}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(e){let t=this.vertexOffsets?2*this.vertexOffsets[e]:2*e;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getVertex(e){if(this.vertexOffsets&&this.mortonSettings){let t=nm(this.vertexBuffer[this.vertexOffsets[e]],this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[t.x,t.y]}let t=this.vertexOffsets?2*this.vertexOffsets[e]:2*e;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return function(e){let t=Array(e.numGeometries),r=1,i=1,a=1,o=0,s=0,c=0,l=e.mortonSettings,u=e.topologyVector,d=u.geometryOffsets,f=u.partOffsets,p=u.ringOffsets,m=e.vertexOffsets,h=!m||m.length===0,g=e.containsPolygonGeometry(),_=e.vertexBuffer;for(let u=0;u<e.numGeometries;u++)switch(e.geometryType(u)){case zp.POINT:{let u,g;if(h)u=_[s++],g=_[s++];else if(e.vertexBufferType===Vp.MORTON){let e=nm(_[m[c++]],l.numBits,l.coordinateShift);u=e.x,g=e.y}else{let e=2*m[c++];u=_[e],g=_[e+1]}t[o++]=[[new n(u,g)]],d&&a++,f&&r++,p&&i++}break;case zp.MULTIPOINT:{let e=d[a]-d[a-1];a++;let l=Array(e);if(h)for(let t=0;t<e;t++){let e=_[s++],r=_[s++];l[t]=new n(e,r)}else for(let t=0;t<e;t++){let e=2*m[c++];l[t]=new n(_[e],_[e+1])}t[o++]=l.map((e=>[e])),r+=e,i+=e}break;case zp.LINESTRING:{let n,u;g?(n=p[i]-p[i-1],i++):n=f[r]-f[r-1],r++,h?(u=am(_,s,n,!1),s+=2*n):(u=im(e.vertexBufferType,_,m,c,n,!1,l),c+=n),t[o++]=[u],d&&a++}break;case zp.POLYGON:{let n=f[r]-f[r-1];r++;let u=Array(n-1),g,v=p[i]-p[i-1];if(i++,h){g=am(_,s,v,!0),s+=2*v;for(let e=0;e<u.length;e++)v=p[i]-p[i-1],i++,u[e]=am(_,s,v,!0),s+=2*v}else{g=im(e.vertexBufferType,_,m,c,v,!0,l),c+=v;for(let t=0;t<u.length;t++)v=p[i]-p[i-1],i++,u[t]=im(e.vertexBufferType,_,m,c,v,!0,l),c+=v}t[o++]=[g].concat(u),d&&a++}break;case zp.MULTILINESTRING:{let n=d[a]-d[a-1];a++;let u=Array(n);for(let t=0;t<n;t++){let n;g?(n=p[i]-p[i-1],i++):n=f[r]-f[r-1],r++,h?(u[t]=am(_,s,n,!1),s+=2*n):(u[t]=im(e.vertexBufferType,_,m,c,n,!1,l),c+=n)}t[o++]=u}break;case zp.MULTIPOLYGON:{let n=d[a]-d[a-1];a++;let u=Array(n);for(let t=0;t<n;t++){let n=f[r]-f[r-1],a;r++;let o=Array(n-1),d=p[i]-p[i-1];i++,h?(a=am(_,s,d,!0),s+=2*d):(a=im(e.vertexBufferType,_,m,c,d,!0,l),c+=d);for(let t=0;t<o.length;t++){let n=p[i]-p[i-1];i++,h?(o[t]=am(_,s,n,!0),s+=2*n):(o[t]=im(e.vertexBufferType,_,m,c,n,!0,l),c+=n)}u[t]=[a].concat(o)}t[o++]=u.flat()}break;default:throw Error(`The specified geometry type is currently not supported.`)}return t}(this)}get mortonSettings(){return this._mortonSettings}}class sm extends om{constructor(e,t,n,r,i,a,o){super(n,r,i,a,o),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===zp.POLYGON||this._geometryType===zp.MULTIPOLYGON}containsSingleGeometryType(){return!0}}class cm extends om{constructor(e,t,n,r,i,a){super(e,n,r,i,a),this._geometryTypes=t}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsPolygonGeometry(){for(let e=0;e<this.numGeometries;e++)if(this.geometryType(e)===zp.POLYGON||this.geometryType(e)===zp.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}}class lm{constructor(e,t,n,r){this._triangleOffsets=e,this._indexBuffer=t,this._vertexBuffer=n,this._topologyVector=r}get triangleOffsets(){return this._triangleOffsets}get indexBuffer(){return this._indexBuffer}get vertexBuffer(){return this._vertexBuffer}get topologyVector(){return this._topologyVector}getGeometries(){if(!this._topologyVector)throw Error(`Cannot convert GpuVector to coordinates without topology information`);let e=Array(this.numGeometries),t=this._topologyVector,r=t.partOffsets,i=t.ringOffsets,a=t.geometryOffsets,o=0,s=1,c=1,l=1;for(let t=0;t<this.numGeometries;t++)switch(this.geometryType(t)){case zp.POLYGON:{let u=r[s]-r[s-1];s++;let d=[];for(let e=0;e<u;e++){let e=i[c]-i[c-1];c++;let t=[];for(let r=0;r<e;r++){let e=this._vertexBuffer[o++],r=this._vertexBuffer[o++];t.push(new n(e,r))}t.length>0&&t.push(t[0]),d.push(t)}e[t]=d,a&&l++}break;case zp.MULTIPOLYGON:{let u=a[l]-a[l-1];l++;let d=[];for(let e=0;e<u;e++){let e=r[s]-r[s-1];s++;for(let t=0;t<e;t++){let e=i[c]-i[c-1];c++;let t=[];for(let r=0;r<e;r++){let e=this._vertexBuffer[o++],r=this._vertexBuffer[o++];t.push(new n(e,r))}t.length>0&&t.push(t[0]),d.push(t)}}e[t]=d}}return e}[Symbol.iterator](){return null}}function um(e,t,n,r,i,a){return new dm(e,t,n,r,i,a)}class dm extends lm{constructor(e,t,n,r,i,a){super(n,r,i,a),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}}function fm(e,t,n,r,i){return new pm(e,t,n,r,i)}class pm extends lm{constructor(e,t,n,r,i){super(t,n,r,i),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}}function mm(e,t,n,r,i){let a=Hp(e,n),o,s,c,l;if($p(a,r,e,n)===Rp.CONST){let i=Jp(e,n,a),u,d,f,p;for(let r=0;r<t-1;r++){let t=Hp(e,n);switch(t.physicalStreamType){case Pp.LENGTH:switch(t.logicalStreamType.lengthType){case Lp.GEOMETRIES:u=Kp(e,n,t);break;case Lp.PARTS:d=Kp(e,n,t);break;case Lp.RINGS:f=Kp(e,n,t);break;case Lp.TRIANGLES:p=Kp(e,n,t)}break;case Pp.OFFSET:switch(t.logicalStreamType.offsetType){case Ip.VERTEX:o=Gp(e,n,t);break;case Ip.INDEX:l=Gp(e,n,t)}break;case Pp.DATA:Fp.VERTEX===t.logicalStreamType.dictionaryType?s=Wp(e,n,t):(c={numBits:t.numBits,coordinateShift:t.coordinateShift},s=Gp(e,n,t))}}return l?u!==void 0||d!==void 0?um(r,i,p,l,s,{geometryOffsets:u,partOffsets:d,ringOffsets:f}):um(r,i,p,l,s):c===void 0?function(e,t,n,r,i){return new sm(e,t,Vp.VEC_2,n,r,i)}(r,i,{geometryOffsets:u,partOffsets:d,ringOffsets:f},o,s):function(e,t,n,r,i,a){return new sm(e,t,Vp.MORTON,n,r,i,a)}(r,i,{geometryOffsets:u,partOffsets:d,ringOffsets:f},o,s,c)}let u=Gp(e,n,a),d,f,p,m,h,g,_;for(let r=0;r<t-1;r++){let t=Hp(e,n);switch(t.physicalStreamType){case Pp.LENGTH:switch(t.logicalStreamType.lengthType){case Lp.GEOMETRIES:d=Gp(e,n,t);break;case Lp.PARTS:f=Gp(e,n,t);break;case Lp.RINGS:p=Gp(e,n,t);break;case Lp.TRIANGLES:m=Kp(e,n,t)}break;case Pp.OFFSET:switch(t.logicalStreamType.offsetType){case Ip.VERTEX:o=Gp(e,n,t);break;case Ip.INDEX:l=Gp(e,n,t)}break;case Pp.DATA:Fp.VERTEX===t.logicalStreamType.dictionaryType?s=Wp(e,n,t):(c={numBits:t.numBits,coordinateShift:t.coordinateShift},s=Gp(e,n,t))}}return d?(h=hm(u,d,2),f&&p?(g=gm(u,h,f,!1),_=function(e,t,n,r){let i=new Uint32Array(n[n.length-1]+1),a=0;i[0]=a;let o=1,s=1,c=0;for(let l=0;l<e.length;l++){let u=e[l],d=t[l+1]-t[l];if(u!==0&&u!==3)for(let e=0;e<d;e++){let e=n[o]-n[o-1];o++;for(let t=0;t<e;t++)a=i[s++]=a+r[c++]}else for(let e=0;e<d;e++)i[s++]=++a,o++}return i}(u,h,g,p)):f&&(g=function(e,t,n){let r=new Uint32Array(t[t.length-1]+1),i=0;r[0]=i;let a=1,o=0;for(let s=0;s<e.length;s++){let c=e[s],l=t[s+1]-t[s];if(c===4||c===1)for(let e=0;e<l;e++)i=r[a++]=i+n[o++];else for(let e=0;e<l;e++)r[a++]=++i}return r}(u,h,f))):f&&p?(g=hm(u,f,1),_=gm(u,g,p,!0)):f&&(g=hm(u,f,0)),l&&!g?fm(u,m,l,s):l?fm(u,m,l,s,{geometryOffsets:h,partOffsets:g,ringOffsets:_}):c===void 0?function(e,t,n,r){return new cm(Vp.VEC_2,e,t,n,r)}(u,{geometryOffsets:h,partOffsets:g,ringOffsets:_},o,s):function(e,t,n,r,i){return new cm(Vp.MORTON,e,t,n,r,i)}(u,{geometryOffsets:h,partOffsets:g,ringOffsets:_},o,s,c)}function hm(e,t,n){let r=new Uint32Array(e.length+1),i=0;r[0]=i;let a=0;for(let o=0;o<e.length;o++)i=r[o+1]=i+(e[o]>n?t[a++]:1);return r}function gm(e,t,n,r){let i=new Uint32Array(t[t.length-1]+1),a=0;i[0]=a;let o=1,s=0;for(let c=0;c<e.length;c++){let l=e[c],u=t[c+1]-t[c];if(l===5||l===2||r&&(l===4||l===1))for(let e=0;e<u;e++)a=i[o++]=a+n[s++];else for(let e=0;e<u;e++)i[o++]=++a}return i}class _m extends Qf{constructor(e,t,n){super(e,t.getBuffer(),n),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}}class vm extends $f{getValueFromBuffer(e){return this.dataBuffer[e]}}class ym extends Qf{constructor(e,t,n,r){super(e,r?BigInt64Array.of(t):BigUint64Array.of(t),n)}getValueFromBuffer(e){return this.dataBuffer[0]}}function bm(e,t,n,r,i){let a=function(e,t,n,r){let i=new Uint8Array(t),a=0,o=r.get()+n;for(;a<t&&!(r.get()>=o);){let n=e[r.increment()];if(n<=127){let o=n+3,s=e[r.increment()],c=Math.min(a+o,t);i.fill(s,a,c),a=c}else{let o=256-n;for(let n=0;n<o&&a<t;n++)i[a++]=e[r.increment()]}}return r.set(o),i}(e,Math.ceil(t/8),n,r);return i?function(e,t,n){if(!n)return e;let r=n.size(),i=new Q(e,t),a=new Q(new Uint8Array(Math.ceil(r/8)),r),o=0;for(let e=0;e<r;e++){let t=!!n.get(e)&&i.get(o++);a.set(e,t)}return a.getBuffer()}(a,t,i):a}let xm=new TextDecoder;function Sm(e,t,n){return n-t>=12?xm.decode(e.subarray(t,n)):function(e,t,n){let r=``,i=t;for(;i<n;){let t=e[i],a,o,s,c=null,l=t>239?4:t>223?3:t>191?2:1;if(i+l>n)break;l===1?t<128&&(c=t):l===2?(a=e[i+1],(192&a)==128&&(c=(31&t)<<6|63&a,c<=127&&(c=null))):l===3?(a=e[i+1],o=e[i+2],(192&a)==128&&(192&o)==128&&(c=(15&t)<<12|(63&a)<<6|63&o,(c<=2047||c>=55296&&c<=57343)&&(c=null))):l===4&&(a=e[i+1],o=e[i+2],s=e[i+3],(192&a)==128&&(192&o)==128&&(192&s)==128&&(c=(15&t)<<18|(63&a)<<12|(63&o)<<6|63&s,(c<=65535||c>=1114112)&&(c=null))),c===null?(c=65533,l=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),i+=l}return r}(e,t,n)}class Cm extends Qf{constructor(e,t,n,r){super(e,n,r),this.offsetBuffer=t}}class wm extends Cm{constructor(e,t,n,r){super(e,t,n,r??t.length-1)}getValueFromBuffer(e){return Sm(this.dataBuffer,this.offsetBuffer[e],this.offsetBuffer[e+1])}}class Tm extends Cm{constructor(e,t,n,r,i){super(e,n,r,i??t.length),this.indexBuffer=t,this.indexBuffer=t}getValueFromBuffer(e){let t=this.indexBuffer[e];return Sm(this.dataBuffer,this.offsetBuffer[t],this.offsetBuffer[t+1])}}class Em extends Cm{constructor(e,t,n,r,i,a,o){super(e,n,r,o),this.indexBuffer=t,this.symbolOffsetBuffer=i,this.symbolTableBuffer=a}getValueFromBuffer(e){this.decodedDictionary??=(this.symbolLengthBuffer??=this.offsetToLengthBuffer(this.symbolOffsetBuffer),function(e,t,n){let r=[],i=Array(t.length).fill(0);for(let e=1;e<t.length;e++)i[e]=i[e-1]+t[e-1];for(let a=0;a<n.length;a++)if(n[a]===255)r.push(n[++a]);else{let o=t[n[a]],s=i[n[a]];for(let t=0;t<o;t++)r.push(e[s+t])}return new Uint8Array(r)}(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer));let t=this.indexBuffer[e];return Sm(this.decodedDictionary,this.offsetBuffer[t],this.offsetBuffer[t+1])}offsetToLengthBuffer(e){let t=new Uint32Array(e.length-1),n=e[0];for(let r=1;r<e.length;r++){let i=e[r];t[r-1]=i-n,n=i}return t}}function Dm(e,t,n,r,i,a){return n.type===`scalarType`?function(e,t,n,r,i,a){let o=null;if(e===0)return null;if(a.nullable){let e=Hp(t,n),r=e.numValues,i=n.get(),a=bm(t,r,e.byteLength,n);n.set(i+e.byteLength),o=new Q(a,e.numValues)}let s=o??r;switch(i.physicalType){case 4:case 3:return function(e,t,n,r,i){let a=Hp(e,t),o=$p(a,i,e,t),s=r.physicalType===3;if(o===Rp.FLAT){let r=Om(i)?i:void 0,o=s?Wp(e,t,a,0,r):Gp(e,t,a,0,r);return new ep(n.name,o,i)}if(o===Rp.SEQUENCE){let r=Yp(e,t,a);return new rp(n.name,r[0],r[1],a.numRleValues)}let c=s?function(e,t,n){let r=qp(e,t,n);return r.length===1?Tp(r[0]):function(e){return Tp(e[1])}(r)}(e,t,a):Jp(e,t,a);return new ip(n.name,c,i,s)}(t,n,a,i,s);case 9:return function(e,t,n,r,i){let a=null,o=null,s=null,c=null,l=null,u=i??null,d=null,f=null;for(let e=0;e<r;e++){let e=Hp(t,n);switch(e.physicalStreamType){case Pp.PRESENT:{let r=bm(t,e.numValues,e.byteLength,n),a=new Q(r,e.numValues);u=i??a;break}case Pp.OFFSET:o=Gp(t,n,e,0,u);break;case Pp.LENGTH:{let r=Kp(t,n,e);Lp.DICTIONARY===e.logicalStreamType.lengthType?a=r:Lp.SYMBOL===e.logicalStreamType.lengthType?c=r:d=r;break}case Pp.DATA:{let r=t.subarray(n.get(),n.get()+e.byteLength);n.add(e.byteLength);let i=e.logicalStreamType.dictionaryType;Fp.FSST===i?l=r:Fp.SINGLE===i||Fp.SHARED===i?s=r:Fp.NONE===i&&(f=r);break}}}return function(e,t,n,r,i,a,o){return t?new Em(e,n,r,i,a,t,o):null}(e,l,o,a,s,c,u)??function(e,t,n,r,i){return t?i?new Tm(e,n,r,t,i):new Tm(e,n,r,t):null}(e,s,o,a,u)??function(e,t,n,r,i){if(!t||!n)return null;if(r)return i?new Tm(e,r,t,n,i):new Tm(e,r,t,n);if(i&&i.size()!==t.length-1){let r=new Uint32Array(i.size()),a=0;for(let e=0;e<i.size();e++)r[e]=i.get(e)?a++:0;return new Tm(e,r,t,n,i)}return i?new wm(e,t,n,i):new wm(e,t,n)}(e,d,f,o,u)}(a.name,t,n,a.nullable?e-1:e,o);case 0:return function(e,t,n,r,i){let a=Hp(e,t),o=a.numValues,s=t.get(),c=Om(i)?i:void 0,l=bm(e,o,a.byteLength,t,c);t.set(s+a.byteLength);let u=new Q(l,o);return new _m(n.name,u,i)}(t,n,a,0,s);case 6:case 5:return function(e,t,n,r,i){let a=Hp(e,t),o=$p(a,r,e,t,`int64`),s=i.physicalType===5;if(o===Rp.FLAT){let i=Om(r)?r:void 0,o=s?function(e,t,n,r){return function(e,t,n){let r;switch(t.logicalLevelTechnique1){case sp.DELTA:if(t.logicalLevelTechnique2===sp.RLE){let i=t;if(!n)return function(e,t,n){let r=new BigInt64Array(n),i=0,a=0n;for(let n=0;n<t;n++){let o=Number(e[n]),s=Ep(e[n+t]);for(let e=0;e<o;e++)a+=s,r[i++]=a}return r}(e,i.runs,i.numRleValues);r=Mp(e=kp(e,i.runs,i.numRleValues))}else r=Mp(e);break;case sp.RLE:r=function(e,t,n){if(n===void 0){n=0;for(let r=0;r<t;r++)n+=Number(e[r])}let r=new BigInt64Array(n),i=0;for(let n=0;n<t;n++){let a=Number(e[n]),o=e[n+t];o=Ep(o),r.fill(o,i,i+a),i+=a}return r}(e,t.runs,t.numRleValues);break;case sp.NONE:r=function(e){let t=new BigInt64Array(e.length);for(let n=0;n<e.length;n++)t[n]=Ep(e[n]);return t}(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return n?Up(r,n,0n):r}(Sp(e,t,n.numValues),n,r)}(e,t,a,i):Zp(e,t,a,i);return new em(n.name,o,r)}if(o===Rp.SEQUENCE){let r=Xp(e,t,a);return new tm(n.name,r[0],r[1],a.numRleValues)}let c=s?function(e,t,n){let r=Sp(e,t,n.numValues);return r.length===1?Ep(r[0]):function(e){return Ep(e[1])}(r)}(e,t,a):Qp(e,t,a);return new ym(n.name,c,r,s)}(t,n,a,s,i);case 7:return function(e,t,n,r){let i=Hp(e,t),a=Om(r)?r:void 0,o=function(e,t,n,r){let i=t.get(),a=i+n*Float32Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float32Array(o);return t.set(a),r?Up(s,r,0):s}(e,t,i.numValues,a);return new vm(n.name,o,r)}(t,n,a,s);case 8:return function(e,t,n,r){let i=Hp(e,t),a=Om(r)?r:void 0,o=function(e,t,n,r){let i=t.get(),a=i+n*Float64Array.BYTES_PER_ELEMENT,o=new Uint8Array(e.subarray(i,a)).buffer,s=new Float64Array(o);return t.set(a),r?Up(s,r,0):s}(e,t,i.numValues,a);return new tp(n.name,o,r)}(t,n,a,s);default:throw Error(`The specified data type for the field is currently not supported: ${i}`)}}(r,e,t,i,n.scalarType,n):r===0?null:function(e,t,n,r){let i=null,a=null,o=null,s=null,c=!1;for(;!c;){let n=Hp(e,t);switch(n.physicalStreamType){case Pp.LENGTH:Lp.DICTIONARY===n.logicalStreamType.lengthType?i=Kp(e,t,n):o=Kp(e,t,n);break;case Pp.DATA:Fp.SINGLE===n.logicalStreamType.dictionaryType||Fp.SHARED===n.logicalStreamType.dictionaryType?(a=e.subarray(t.get(),t.get()+n.byteLength),c=!0):s=e.subarray(t.get(),t.get()+n.byteLength),t.add(n.byteLength)}}let l=n.complexType.children,u=[],d=0;for(let c of l){let l=xp(e,t,1)[0];if(l===0)continue;let f=c.name?`${n.name}${c.name}`:n.name;if(l!==2||c.type!==`scalarField`||c.scalarField.physicalType!==9)throw Error(`Currently only optional string fields are implemented for a struct.`);let p=Hp(e,t),m=bm(e,p.numValues,p.byteLength,t),h=Hp(e,t),g=Gp(e,t,h,0,h.decompressedCount===r?void 0:new Q(m,p.numValues));u[d++]=s?new Em(f,g,i,a,o,s,new Q(m,p.numValues)):new Tm(f,g,i,a,new Q(m,p.numValues))}return u}(e,t,n,i)}function Om(e){return e instanceof Q}function km(e){switch(e){case 0:case 1:case 2:case 3:{let t={};t.nullable=!!(1&e),t.columnScope=0;let n={type:`logicalType`,logicalType:0};return n.longID=!!(2&e),t.scalarType=n,t.type=`scalarType`,t}case 4:{let e={nullable:!1,columnScope:0};return e.type=`complexType`,e.complexType={type:`physicalType`,physicalType:0},e}case 30:{let e={nullable:!1,columnScope:0};return e.type=`complexType`,e.complexType={type:`physicalType`,physicalType:1},e}default:return function(e){let t;switch(e){case 10:case 11:t=0;break;case 12:case 13:t=1;break;case 14:case 15:t=2;break;case 16:case 17:t=3;break;case 18:case 19:t=4;break;case 20:case 21:t=5;break;case 22:case 23:t=6;break;case 24:case 25:t=7;break;case 26:case 27:t=8;break;case 28:case 29:t=9;break;default:return null}let n={};n.nullable=!!(1&e),n.columnScope=0;let r={type:`physicalType`};return r.physicalType=t,n.type=`scalarType`,n.scalarType=r,n}(e)}}function Am(e){return e>=10}function jm(e){return e===30}function Mm(e){if(e.type===`scalarType`){let t=e.scalarType;if(t.type===`physicalType`)switch(t.physicalType){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:default:return!1;case 9:return!0}if(t.type===`logicalType`)return!1}else if(e.type===`complexType`){let t=e.complexType;if(t.type===`physicalType`)switch(t.physicalType){case 0:case 1:return!0;default:return!1}}return console.warn(`Unexpected column type in hasStreamCount`,e),!1}function Nm(e){return e.type===`complexType`&&e.complexType?.type===`physicalType`&&e.complexType.physicalType===0}let Pm=new TextDecoder;function Fm(e,t){let n=xp(e,t,1)[0];if(n===0)return``;let r=t.get(),i=e.subarray(r,r+n);return t.add(n),Pm.decode(i)}function Im(e,t){let n=xp(e,t,1)[0]>>>0;if(n<10||n>30)throw Error(`Unsupported field type code ${n}. Supported: 10-29(scalars), 30(STRUCT)`);let r=km(n);if(Am(n)&&(r.name=Fm(e,t)),jm(n)){let n=xp(e,t,1)[0]>>>0;r.complexType.children=Array(n);for(let i=0;i<n;i++)r.complexType.children[i]=Im(e,t)}return function(e){return{name:e.name,nullable:e.nullable,scalarField:e.scalarType,complexField:e.complexType,type:e.type===`scalarType`?`scalarField`:`complexField`}}(r)}function Lm(e,t){let n=xp(e,t,1)[0]>>>0,r=km(n);if(!r)throw Error(`Unsupported column type code ${n}. Supported: 0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT)`);if(Am(n)?r.name=Fm(e,t):n>=0&&n<=3?r.name=`id`:n===4&&(r.name=`geometry`),jm(n)){let n=xp(e,t,1)[0]>>>0,i=r.complexType;i.children=Array(n);for(let r=0;r<n;r++)i.children[r]=Im(e,t)}return r}function Rm(e,t){let n={featureTables:[]},r={};r.name=Fm(e,t);let i=xp(e,t,1)[0]>>>0,a=xp(e,t,1)[0]>>>0;r.columns=Array(a);for(let n=0;n<a;n++)r.columns[n]=Lm(e,t);return n.featureTables.push(r),[n,i]}function zm(e,t,n,r,i,a,o=!1){let s=t.scalarType;if(!s||s.type!==`logicalType`||s.logicalType!==0)throw Error(`ID column must be a logical ID scalar type: ${r}`);let c=s.longID?6:4,l=typeof a==`number`?void 0:a,u=$p(i,a,e,n,c===6?`int64`:`int32`);if(c===4)switch(u){case Rp.FLAT:{let t=Gp(e,n,i,0,l);return new ep(r,t,a)}case Rp.SEQUENCE:{let t=Yp(e,n,i);return new rp(r,t[0],t[1],i.numRleValues)}case Rp.CONST:{let t=Jp(e,n,i);return new ip(r,t,a,!1)}}switch(u){case Rp.FLAT:{if(o){let t=function(e,t,n){return function(e,t){switch(t.logicalLevelTechnique1){case sp.DELTA:return t.logicalLevelTechnique2===sp.RLE&&(e=Ap(e,t.runs,t.numRleValues)),function(e){e[0]=Dp(e[0]);let t=e.length/4*4,n=1;if(t>=4)for(;n<t-4;n+=4){let t=e[n+1],r=e[n+2],i=e[n+3];e[n]=Dp(e[n])+e[n-1],e[n+1]=Dp(t)+e[n],e[n+2]=Dp(r)+e[n+1],e[n+3]=Dp(i)+e[n+2]}for(;n!==e.length;++n)e[n]=Dp(e[n])+e[n-1]}(e),e;case sp.RLE:return function(e,t){return Ap(e,t.runs,t.numRleValues)}(e,t);case sp.NONE:return e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}(function(e,t,n){let r=new Float64Array(n);for(let i=0;i<n;i++)r[i]=wp(e,t);return r}(e,t,n.numValues),n)}(e,n,i);return new tp(r,t,a)}let t=Zp(e,n,i,l);return new em(r,t,a)}case Rp.SEQUENCE:{let t=Xp(e,n,i);return new tm(r,t[0],t[1],i.numRleValues)}case Rp.CONST:{let t=Qp(e,n,i);return new ym(r,t,a,!1)}}throw Error(`Vector type not supported for id column.`)}class Bm{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case zp.POINT:case zp.MULTIPOINT:this.type=1;break;case zp.LINESTRING:case zp.MULTILINESTRING:this.type=2;break;case zp.POLYGON:case zp.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=t,this.id=Number(this._featureData.id)}loadGeometry(){let e=[];for(let t of this._featureData.geometry.coordinates){let r=[];for(let e of t)r.push(new n(e.x,e.y));e.push(r)}return e}}class Vm{constructor(e){this.features=[],this.featureTable=e,this.name=e.name,this.extent=e.extent,this.version=2,this.features=e.getFeatures(),this.length=this.features.length}feature(e){return new Bm(this.features[e],this.extent)}}class Hm{constructor(e){this.layers={};let t=function(e,t,n=!0){let r=new op(0),i=[];for(;r.get()<e.length;){let t=xp(e,r,1)[0]>>>0,o=r.get()+t;if(o>e.length)throw Error(`Block overruns tile: ${o} > ${e.length}`);if(xp(e,r,1)[0]>>>0!=1){r.set(o);continue}let[s,c]=Rm(e,r),l=s.featureTables[0],u=null,d=null,f=[],p=0;for(let t of l.columns){let i=t.name;if((a=t).type===`scalarType`&&a.scalarType?.type===`logicalType`&&a.scalarType.logicalType===0){let a=null;if(t.nullable){let t=Hp(e,r),n=r.get(),i=bm(e,t.numValues,t.byteLength,r);r.set(n+t.byteLength),a=new Q(i,t.numValues)}let o=Hp(e,r);p=a?a.size():o.decompressedCount,u=zm(e,t,r,i,o,a??p,n)}else if(Nm(t)){let t=xp(e,r,1)[0];if(p===0){let t=r.get();p=Hp(e,r).decompressedCount,r.set(t)}d=mm(e,t,r,p)}else{let n=Mm(t)?xp(e,r,1)[0]:1;if(n===0)continue;let i=Dm(e,r,t,n,p);if(i)if(Array.isArray(i))for(let e of i)f.push(e);else f.push(i)}}let m=new ap(l.name,d,u,f,c);i.push(m),r.set(o)}var a;return i}(new Uint8Array(e));this.layers=t.reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.name]:new Vm(t)})),{})}}class Um{constructor(e,t){this.feature=e,this.type=e.type,this.properties=e.tags?e.tags:{},this.extent=t,`id`in e&&(typeof e.id==`string`?this.id=parseInt(e.id,10):typeof e.id!=`number`||isNaN(e.id)||(this.id=e.id))}loadGeometry(){let e=[],t=this.feature.type===1?[this.feature.geometry]:this.feature.geometry;for(let r of t){let t=[];for(let e of r)t.push(new n(e[0],e[1]));e.push(t)}return e}}let Wm=`_geojsonTileLayer`;function Gm(e,t,n=``){t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||``),t.writeVarintField(5,e.extent||4096);let r={jsonPrefix:n,keys:[],values:[],keycache:{},valuecache:{}};for(let n=0;n<e.length;n++)r.feature=e.feature(n),t.writeMessage(2,Km,r);let i=r.keys;for(let e of i)t.writeStringField(3,e);let a=r.values;for(let e of a)t.writeMessage(4,Zm,e)}function Km(e,t){if(!e.feature)return;let n=e.feature;n.id!==void 0&&t.writeVarintField(1,n.id),t.writeMessage(2,qm,e),t.writeVarintField(3,n.type),t.writeMessage(4,Xm,n)}function qm(e,t){for(let n in e.feature?.properties){let r=e.feature.properties[n],i=e.keycache[n];if(r==null)continue;i===void 0&&(e.keys.push(n),i=e.keys.length-1,e.keycache[n]=i),t.writeVarint(i),typeof r!=`string`&&typeof r!=`boolean`&&typeof r!=`number`&&(r=e.jsonPrefix+JSON.stringify(r));let a=typeof r+`:`+r,o=e.valuecache[a];o===void 0&&(e.values.push(r),o=e.values.length-1,e.valuecache[a]=o),t.writeVarint(o)}}function Jm(e,t){return(t<<3)+(7&e)}function Ym(e){return e<<1^e>>31}function Xm(e,t){let n=e.loadGeometry(),r=e.type,i=0,a=0;for(let o of n){let n=1;r===1&&(n=o.length),t.writeVarint(Jm(1,n));let s=r===3?o.length-1:o.length;for(let e=0;e<s;e++){e===1&&r!==1&&t.writeVarint(Jm(2,s-1));let n=o[e].x-i,c=o[e].y-a;t.writeVarint(Ym(n)),t.writeVarint(Ym(c)),i+=n,a+=c}e.type===3&&t.writeVarint(Jm(7,1))}}function Zm(e,t){let n=typeof e;n===`string`?t.writeStringField(1,e):n===`boolean`?t.writeBooleanField(7,e):n===`number`&&(e%1==0?e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e):t.writeDoubleField(3,e))}class Qm{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new _a(D,16,0),this.grid3D=new _a(D,16,0),this.featureIndexArray=new qo,this.promoteId=t}insert(e,t,n,r,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,r,i);let s=a?this.grid3D:this.grid;for(let e of t){let t=[1/0,1/0,-1/0,-1/0];for(let n of e)t[0]=Math.min(t[0],n.x),t[1]=Math.min(t[1],n.y),t[2]=Math.max(t[2],n.x),t[3]=Math.max(t[3],n.y);t[0]<D&&t[1]<D&&t[2]>=0&&t[3]>=0&&s.insert(o,t[0],t[1],t[2],t[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=this.encoding===`mlt`?new Hm(this.rawTileData).layers:new Rl(new Fd(this.rawTileData)).layers,this.sourceLayerCoder=new Xf(this.vtLayers?Object.keys(this.vtLayers).sort():[Wm])),this.vtLayers}query(e,t,r,i){this.loadVTLayers();let a=e.params,o=D/e.tileSize/e.scale,s=Ci(a.filter,a.globalState),c=e.queryGeometry,l=e.queryPadding*o,u=Yf.fromPoints(c),d=this.grid.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l),f=Yf.fromPoints(e.cameraQueryGeometry).expandBy(l),p=this.grid3D.query(f.minX,f.minY,f.maxX,f.maxY,((t,r,i,a)=>function(e,t,r,i,a){for(let n of e)if(t<=n.x&&r<=n.y&&i>=n.x&&a>=n.y)return!0;let o=[new n(t,r),new n(t,a),new n(i,a),new n(i,r)];if(e.length>2){for(let t of o)if(nc(e,t))return!0}for(let t=0;t<e.length-1;t++)if(rc(e[t],e[t+1],o))return!0;return!1}(e.cameraQueryGeometry,t-l,r-l,i+l,a+l)));for(let e of p)d.push(e);d.sort(eh);let m={},h;for(let n of d){if(n===h)continue;h=n;let l=this.featureIndexArray.get(n),u=null;this.loadMatchingFeature(m,l.bucketIndex,l.sourceLayerIndex,l.featureIndex,s,a.layers,a.availableImages,t,r,i,((t,n,r)=>(u||=Hs(t),n.queryIntersectsFeature({queryGeometry:c,feature:t,featureState:r,geometry:u,zoom:this.z,transform:e.transform,pixelsToTileUnits:o,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation}))))}return m}loadMatchingFeature(e,t,n,r,i,a,o,s,c,l,u){let d=this.bucketLayerIDs[t];if(a&&!d.some((e=>a.has(e))))return;let f=this.sourceLayerCoder.decode(n),p=this.vtLayers[f].feature(r);if(i.needGeometry){let e=Us(p,!0);if(!i.filter(new Ra(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new Ra(this.tileID.overscaledZ),p))return;let m=this.getId(p,f);for(let t of d){if(a&&!a.has(t))continue;let n=s[t];if(!n)continue;let i={};m&&l&&(i=l.getState(n.sourceLayer||Wm,m));let d=se({},c[t]);d.paint=$m(d.paint,n.paint,p,i,o),d.layout=$m(d.layout,n.layout,p,i,o);let f=!u||u(p,n,i);if(!f)continue;let h=new Zf(p,this.z,this.x,this.y,m);h.layer=d;let g=e[t];g===void 0&&(g=e[t]=[]),g.push({featureIndex:r,feature:h,intersectionZ:f})}}lookupSymbolFeatures(e,t,n,r,i,a,o,s){let c={};this.loadVTLayers();let l=Ci(i.filterSpec,i.globalState);for(let i of e)this.loadMatchingFeature(c,n,r,i,l,a,o,s,t);return c}hasLayer(e){for(let t of this.bucketLayerIDs)for(let n of t)if(e===n)return!0;return!1}getId(e,t){var n;let r=e.id;return this.promoteId&&(r=e.properties[typeof this.promoteId==`string`?this.promoteId:this.promoteId[t]],typeof r==`boolean`&&(r=Number(r)),r===void 0&&(n=e.properties)!=null&&n.cluster&&this.promoteId&&(r=Number(e.properties.cluster_id))),r}}function $m(e,t,n,r,i){return le(e,((e,a)=>{let o=t instanceof Ja?t.get(a):null;return o?.evaluate?o.evaluate(n,r,i):o}))}function eh(e,t){return t-e}function th(e,t,r,i,a){let o=[];for(let s of e){let e;for(let c=0;c<s.length-1;c++){let l=s[c],u=s[c+1];l.x<t&&u.x<t||(l.x<t?l=new n(t,l.y+(t-l.x)/(u.x-l.x)*(u.y-l.y))._round():u.x<t&&(u=new n(t,l.y+(t-l.x)/(u.x-l.x)*(u.y-l.y))._round()),l.y<r&&u.y<r||(l.y<r?l=new n(l.x+(r-l.y)/(u.y-l.y)*(u.x-l.x),r)._round():u.y<r&&(u=new n(l.x+(r-l.y)/(u.y-l.y)*(u.x-l.x),r)._round()),l.x>=i&&u.x>=i||(l.x>=i?l=new n(i,l.y+(i-l.x)/(u.x-l.x)*(u.y-l.y))._round():u.x>=i&&(u=new n(i,l.y+(i-l.x)/(u.x-l.x)*(u.y-l.y))._round()),l.y>=a&&u.y>=a||(l.y>=a?l=new n(l.x+(a-l.y)/(u.y-l.y)*(u.x-l.x),a)._round():u.y>=a&&(u=new n(l.x+(a-l.y)/(u.y-l.y)*(u.x-l.x),a)._round()),e&&l.equals(e[e.length-1])||(e=[l],o.push(e)),e.push(u)))))}}return o}function nh(e,t,n,r,i){switch(t){case 1:return function(e,t,n,r){let i=[];for(let a of e)for(let e of a){let a=r===0?e.x:e.y;a>=t&&a<=n&&i.push([e])}return i}(e,n,r,i);case 2:return ih(e,n,r,i,!1);case 3:return ih(e,n,r,i,!0)}return[]}function rh(e,t,r,i,a){let o=i===0?ah:oh,s=[],c=[];for(let n=0;n<e.length-1;n++){let l=e[n],u=e[n+1],d=i===0?l.x:l.y,f=i===0?u.x:u.y,p=!1;d<t?f>t&&s.push(o(l,u,t)):d>r?f<r&&s.push(o(l,u,r)):s.push(l),f<t&&d>=t&&(s.push(o(l,u,t)),p=!0),f>r&&d<=r&&(s.push(o(l,u,r)),p=!0),!a&&p&&(c.push(s),s=[])}let l=e.length-1,u=i===0?e[l].x:e[l].y;return u>=t&&u<=r&&s.push(e[l]),a&&s.length>0&&!s[0].equals(s[s.length-1])&&s.push(new n(s[0].x,s[0].y)),s.length>0&&c.push(s),c}function ih(e,t,n,r,i){let a=[];for(let o of e){let e=rh(o,t,n,r,i);e.length>0&&a.push(...e)}return a}function ah(e,t,r){return new n(r,e.y+(r-e.x)/(t.x-e.x)*(t.y-e.y))}function oh(e,t,r){return new n(e.x+(r-e.y)/(t.y-e.y)*(t.x-e.x),r)}q(`FeatureIndex`,Qm,{omit:[`rawTileData`,`sourceLayerCoder`]});class sh extends n{constructor(e,t,n,r){super(e,t),this.angle=n,r!==void 0&&(this.segment=r)}clone(){return new sh(this.x,this.y,this.angle,this.segment)}}function ch(e,t,n,r,i){if(t.segment===void 0||n===0)return!0;let a=t,o=t.segment+1,s=0;for(;s>-n/2;){if(o--,o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let c=[],l=0;for(;s<n/2;){let t=e[o],n=e[o+1];if(!n)return!1;let a=e[o-1].angleTo(t)-t.angleTo(n);for(a=Math.abs((a+3*Math.PI)%(2*Math.PI)-Math.PI),c.push({distance:s,angleDelta:a}),l+=a;s-c[0].distance>r;)l-=c.shift().angleDelta;if(l>i)return!1;o++,s+=t.dist(n)}return!0}function lh(e){let t=0;for(let n=0;n<e.length-1;n++)t+=e[n].dist(e[n+1]);return t}function uh(e,t,n){return e?.6*t*n:0}function dh(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function fh(e,t,n,r,i,a){let o=uh(n,i,a),s=dh(n,r)*a,c=0,l=lh(e)/2;for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1],a=r.dist(i);if(c+a>l){let u=(l-c)/a,d=An.number(r.x,i.x,u),f=An.number(r.y,i.y,u),p=new sh(d,f,i.angleTo(r),n);return p._round(),!o||ch(e,p,s,o,t)?p:void 0}c+=a}}function ph(e,t,n,r,i,a,o,s,c){let l=uh(r,a,o),u=dh(r,i),d=u*o,f=e[0].x===0||e[0].x===c||e[0].y===0||e[0].y===c;return t-d<t/4&&(t=d+t/4),mh(e,f?t/2*s%t:(u/2+2*a)*o*s%t,t,l,n,d,f,!1,c)}function mh(e,t,n,r,i,a,o,s,c){let l=a/2,u=lh(e),d=0,f=t-n,p=[];for(let t=0;t<e.length-1;t++){let o=e[t],s=e[t+1],m=o.dist(s),h=s.angleTo(o);for(;f+n<d+m;){f+=n;let g=(f-d)/m,_=An.number(o.x,s.x,g),v=An.number(o.y,s.y,g);if(_>=0&&_<c&&v>=0&&v<c&&f-l>=0&&f+l<=u){let n=new sh(_,v,h,t);n._round(),r&&!ch(e,n,a,r,i)||p.push(n)}}d+=m}return s||p.length||o||(p=mh(e,d/2,n,r,i,a,o,!0,c)),p}function hh(e,t,r,i){let a=[],o=e.image,s=o.pixelRatio,c=o.paddedRect.w-2,l=o.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},d=o.stretchX||[[0,c]],f=o.stretchY||[[0,l]],p=(e,t)=>e+t[1]-t[0],m=d.reduce(p,0),h=f.reduce(p,0),g=c-m,_=l-h,v=0,y=m,b=0,x=h,S=0,C=g,w=0,T=_;if(o.content&&i){let t=o.content,n=t[2]-t[0],r=t[3]-t[1];(o.textFitWidth||o.textFitHeight)&&(u=uf(e)),v=gh(d,0,t[0]),b=gh(f,0,t[1]),y=gh(d,t[0],t[2]),x=gh(f,t[1],t[3]),S=t[0]-v,w=t[1]-b,C=n-y,T=r-x}let ee=u.x1,E=u.y1,D=u.x2-ee,O=u.y2-E,k=(e,i,a,c)=>{let l=vh(e.stretch-v,y,D,ee),u=yh(e.fixed-S,C,e.stretch,m),d=vh(i.stretch-b,x,O,E),f=yh(i.fixed-w,T,i.stretch,h),p=vh(a.stretch-v,y,D,ee),g=yh(a.fixed-S,C,a.stretch,m),_=vh(c.stretch-b,x,O,E),k=yh(c.fixed-w,T,c.stretch,h),te=new n(l,d),ne=new n(p,d),A=new n(p,_),re=new n(l,_),ie=new n(u/s,f/s),ae=new n(g/s,k/s),oe=t*Math.PI/180;if(oe){let e=Math.sin(oe),t=Math.cos(oe),n=[t,-e,e,t];te._matMult(n),ne._matMult(n),re._matMult(n),A._matMult(n)}let se=e.stretch+e.fixed,ce=i.stretch+i.fixed;return{tl:te,tr:ne,bl:re,br:A,tex:{x:o.paddedRect.x+1+se,y:o.paddedRect.y+1+ce,w:a.stretch+a.fixed-se,h:c.stretch+c.fixed-ce},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:ie,pixelOffsetBR:ae,minFontScaleX:C/s/D,minFontScaleY:T/s/O,isSDF:r}};if(i&&(o.stretchX||o.stretchY)){let e=_h(d,g,m),t=_h(f,_,h);for(let n=0;n<e.length-1;n++){let r=e[n],i=e[n+1];for(let e=0;e<t.length-1;e++)a.push(k(r,t[e],i,t[e+1]))}}else a.push(k({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:c+1},{fixed:0,stretch:l+1}));return a}function gh(e,t,n){let r=0;for(let i of e)r+=Math.max(t,Math.min(n,i[1]))-Math.max(t,Math.min(n,i[0]));return r}function _h(e,t,n){let r=[{fixed:-1,stretch:0}];for(let[t,n]of e){let e=r[r.length-1];r.push({fixed:t-e.stretch,stretch:e.stretch}),r.push({fixed:t-e.stretch,stretch:e.stretch+(n-t)})}return r.push({fixed:t+1,stretch:n}),r}function vh(e,t,n,r){return e/t*n+r}function yh(e,t,n,r){return e-t*n/r}q(`Anchor`,sh);class bh{constructor(e,t,r,i,a,o,s,c,l,u){if(this.boxStartIndex=e.length,l){let e=o.top,t=o.bottom,n=o.collisionPadding;n&&(e-=n[1],t+=n[3]);let r=t-e;r>0&&(r=Math.max(10,r),this.circleDiameter=r)}else{let l=o.image?.content&&(o.image.textFitWidth||o.image.textFitHeight)?uf(o):{x1:o.left,y1:o.top,x2:o.right,y2:o.bottom};l.y1=l.y1*s-c[0],l.y2=l.y2*s+c[2],l.x1=l.x1*s-c[3],l.x2=l.x2*s+c[1];let d=o.collisionPadding;if(d&&(l.x1-=d[0]*s,l.y1-=d[1]*s,l.x2+=d[2]*s,l.y2+=d[3]*s),u){let e=new n(l.x1,l.y1),t=new n(l.x2,l.y1),r=new n(l.x1,l.y2),i=new n(l.x2,l.y2),a=u*Math.PI/180;e._rotate(a),t._rotate(a),r._rotate(a),i._rotate(a),l.x1=Math.min(e.x,t.x,r.x,i.x),l.x2=Math.max(e.x,t.x,r.x,i.x),l.y1=Math.min(e.y,t.y,r.y,i.y),l.y2=Math.max(e.y,t.y,r.y,i.y)}e.emplaceBack(t.x,t.y,l.x1,l.y1,l.x2,l.y2,r,i,a)}this.boxEndIndex=e.length}}class xh{constructor(e=[],t=(e,t)=>e<t?-1:+(e>t)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:n}=this,r=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r}_down(e){let{data:t,compare:n}=this,r=this.length>>1,i=t[e];for(;e<r;){let r=1+(e<<1),a=r+1;if(a<this.length&&n(t[a],t[r])<0&&(r=a),n(t[r],i)>=0)break;t[e]=t[r],e=r}t[e]=i}}function Sh(e,t=1){let r=Yf.fromPoints(e[0]),i=Math.min(r.width(),r.height()),a=i/2,o=new xh([],Ch),{minX:s,minY:c,maxX:l,maxY:u}=r;if(i===0)return new n(s,c);for(let t=s;t<l;t+=i)for(let n=c;n<u;n+=i)o.push(new wh(t+a,n+a,a,e));let d=function(e){let t=0,n=0,r=0,i=e[0];for(let e=0,a=i.length,o=a-1;e<a;o=e++){let a=i[e],s=i[o],c=a.x*s.y-s.x*a.y;n+=(a.x+s.x)*c,r+=(a.y+s.y)*c,t+=3*c}return new wh(n/t,r/t,0,e)}(e),f=d;for(;o.length;){let n=o.pop();(n.d>f.d||!f.d)&&(f=n),n.max-f.d<=t||(a=n.h/2,o.push(new wh(n.p.x-a,n.p.y-a,a,e)),o.push(new wh(n.p.x+a,n.p.y-a,a,e)),o.push(new wh(n.p.x-a,n.p.y+a,a,e)),o.push(new wh(n.p.x+a,n.p.y+a,a,e)))}return d.d>0&&f.d-d.d<=t?d.p:f.p}function Ch(e,t){return t.max-e.max}class wh{constructor(e,t,r,i){this.p=new n(e,t),this.h=r,this.d=function(e,t){let n=!1,r=1/0;for(let i of t)for(let t=0,a=i.length,o=a-1;t<a;o=t++){let a=i[t],s=i[o];a.y>e.y!=s.y>e.y&&e.x<(s.x-a.x)*(e.y-a.y)/(s.y-a.y)+a.x&&(n=!n),r=Math.min(r,ec(e,a,s))}return(n?1:-1)*Math.sqrt(r)}(this.p,i),this.max=this.d+this.h*Math.SQRT2}}var Th;e.aM=void 0,(Th=e.aM||={})[Th.center=1]=`center`,Th[Th.left=2]=`left`,Th[Th.right=3]=`right`,Th[Th.top=4]=`top`,Th[Th.bottom=5]=`bottom`,Th[Th[`top-left`]=6]=`top-left`,Th[Th[`top-right`]=7]=`top-right`,Th[Th[`bottom-left`]=8]=`bottom-left`,Th[Th[`bottom-right`]=9]=`bottom-right`;let Eh=1/0;function Dh(e,t){return t[1]===Eh?function(e,t){let n=0,r=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case`top-right`:case`top-left`:r=i-7;break;case`bottom-right`:case`bottom-left`:r=7-i;break;case`bottom`:r=7-t;break;case`top`:r=t-7}switch(e){case`top-right`:case`bottom-right`:n=-i;break;case`top-left`:case`bottom-left`:n=i;break;case`left`:n=t;break;case`right`:n=-t}return[n,r]}(e,t[0]):function(e,t,n){let r=0,i=0;switch(t=Math.abs(t),n=Math.abs(n),e){case`top-right`:case`top-left`:case`top`:i=n-7;break;case`bottom-right`:case`bottom-left`:case`bottom`:i=7-n}switch(e){case`top-right`:case`bottom-right`:case`right`:r=-t;break;case`top-left`:case`bottom-left`:case`left`:r=t}return[r,i]}(e,t[0],t[1])}function Oh(e,t,n){let r=e.layout,i=r.get(`text-variable-anchor-offset`)?.evaluate(t,{},n);if(i){let e=i.values,t=[];for(let n=0;n<e.length;n+=2){let r=t[n]=e[n],i=e[n+1].map((e=>e*Sd));r.startsWith(`top`)?i[1]-=7:r.startsWith(`bottom`)&&(i[1]+=7),t[n+1]=i}return new $t(t)}let a=r.get(`text-variable-anchor`);if(a){let i;i=e._unevaluatedLayout.getValue(`text-radial-offset`)===void 0?r.get(`text-offset`).evaluate(t,{},n).map((e=>e*Sd)):[r.get(`text-radial-offset`).evaluate(t,{},n)*Sd,Eh];let o=[];for(let e of a)o.push(e,Dh(e,i));return new $t(o)}return null}function kh(e){switch(e){case`right`:case`top-right`:case`bottom-right`:return`right`;case`left`:case`top-left`:case`bottom-left`:return`left`}return`center`}function Ah(t,n,r,i,a,o,s,c,l,u,d,f){let p=o.textMaxSize.evaluate(n,{});p===void 0&&(p=s);let m=t.layers[0].layout,h=m.get(`icon-offset`).evaluate(n,{},d),g=Mh(r.horizontal),_=s/24,v=t.tilePixelRatio*_,y=t.tilePixelRatio*p/24,b=t.tilePixelRatio*c,x=t.tilePixelRatio*m.get(`symbol-spacing`),S=m.get(`text-padding`)*t.tilePixelRatio,C=function(e,t,n,r=1){let i=e.get(`icon-padding`).evaluate(t,{},n)?.values;return[i[0]*r,i[1]*r,i[2]*r,i[3]*r]}(m,n,d,t.tilePixelRatio),w=m.get(`text-max-angle`)/180*Math.PI,T=m.get(`text-rotation-alignment`)!==`viewport`&&m.get(`symbol-placement`)!==`point`,ee=m.get(`icon-rotation-alignment`)===`map`&&m.get(`symbol-placement`)!==`point`,E=m.get(`symbol-placement`),O=x/2,k=m.get(`icon-text-fit`),te;i&&k!==`none`&&(t.allowVerticalPlacement&&r.vertical&&(te=df(i,r.vertical,k,m.get(`icon-text-fit-padding`),h,_)),g&&(i=df(i,g,k,m.get(`icon-text-fit-padding`),h,_)));let ne=d?f.line.getGranularityForZoomLevel(d.z):1,A=(c,f)=>{f.x<0||f.x>=D||f.y<0||f.y>=D||function(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T){let ee=t.addToLineVertexArray(n,r),E,D,O,k,te=0,ne=0,A=0,re=0,ie=-1,ae=-1,oe={},se=bs(``);if(t.allowVerticalPlacement&&i.vertical){let e=c.layout.get(`text-rotate`).evaluate(x,{},w)+90;O=new bh(l,n,u,d,f,i.vertical,p,m,h,e),s&&(k=new bh(l,n,u,d,f,s,_,v,h,e))}if(a){let r=c.layout.get(`icon-rotate`).evaluate(x,{}),i=c.layout.get(`icon-text-fit`)!==`none`,o=hh(a,r,C,i),p=s?hh(s,r,C,i):void 0;D=new bh(l,n,u,d,f,a,_,v,!1,r),te=4*o.length;let m=t.iconSizeData,h=null;m.kind===`source`?(h=[128*c.layout.get(`icon-size`).evaluate(x,{})],h[0]>ff&&pe(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):m.kind===`composite`&&(h=[128*S.compositeIconSizes[0].evaluate(x,{},w),128*S.compositeIconSizes[1].evaluate(x,{},w)],(h[0]>ff||h[1]>ff)&&pe(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),t.addSymbols(t.icon,o,h,b,y,x,e.ax.none,n,ee.lineStartIndex,ee.lineLength,-1,w),ie=t.icon.placedSymbolArray.length-1,p&&(ne=4*p.length,t.addSymbols(t.icon,p,h,b,y,x,e.ax.vertical,n,ee.lineStartIndex,ee.lineLength,-1,w),ae=t.icon.placedSymbolArray.length-1)}let ce=Object.keys(i.horizontal);for(let r of ce){let a=i.horizontal[r];if(!E){se=bs(a.text);let e=c.layout.get(`text-rotate`).evaluate(x,{},w);E=new bh(l,n,u,d,f,a,p,m,h,e)}let s=a.positionedLines.length===1;if(A+=jh(t,n,a,o,c,h,x,g,ee,i.vertical?e.ax.horizontal:e.ax.horizontalOnly,s?ce:[r],oe,ie,S,w),s)break}i.vertical&&(re+=jh(t,n,i.vertical,o,c,h,x,g,ee,e.ax.vertical,[`vertical`],oe,ae,S,w));let le=E?E.boxStartIndex:t.collisionBoxArray.length,ue=E?E.boxEndIndex:t.collisionBoxArray.length,de=O?O.boxStartIndex:t.collisionBoxArray.length,fe=O?O.boxEndIndex:t.collisionBoxArray.length,me=D?D.boxStartIndex:t.collisionBoxArray.length,he=D?D.boxEndIndex:t.collisionBoxArray.length,ge=k?k.boxStartIndex:t.collisionBoxArray.length,_e=k?k.boxEndIndex:t.collisionBoxArray.length,ve=-1,ye=(e,t)=>e?.circleDiameter?Math.max(e.circleDiameter,t):t;ve=ye(E,ve),ve=ye(O,ve),ve=ye(D,ve),ve=ye(k,ve);let be=+(ve>-1);be&&(ve*=T/Sd),t.glyphOffsetArray.length>=xf.MAX_GLYPHS&&pe(`Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907`),x.sortKey!==void 0&&t.addToSortKeyRanges(t.symbolInstances.length,x.sortKey);let xe=Oh(c,x,w),[Se,Ce]=function(t,n){let r=t.length,i=n?.values;if(i?.length>0)for(let n=0;n<i.length;n+=2){let r=i[n+1];t.emplaceBack(e.aM[i[n]],r[0],r[1])}return[r,t.length]}(t.textAnchorOffsets,xe);t.symbolInstances.emplaceBack(n.x,n.y,oe.right>=0?oe.right:-1,oe.center>=0?oe.center:-1,oe.left>=0?oe.left:-1,oe.vertical||-1,ie,ae,se,le,ue,de,fe,me,he,ge,_e,u,A,re,te,ne,be,0,p,ve,Se,Ce)}(t,f,c,r,i,a,te,t.layers[0],t.collisionBoxArray,n.index,n.sourceLayerIndex,t.index,v,[S,S,S,S],T,l,b,C,ee,h,n,o,u,d,s)};if(E===`line`)for(let e of th(n.geometry,0,0,D,D)){let n=bl(e,ne),a=ph(n,x,w,r.vertical||g,i,24,y,t.overscaling,D);for(let e of a)g&&Nh(t,g.text,O,e)||A(n,e)}else if(E===`line-center`){for(let e of n.geometry)if(e.length>1){let t=bl(e,ne),n=fh(t,w,r.vertical||g,i,24,y);n&&A(t,n)}}else if(n.type===`Polygon`)for(let e of hr(n.geometry,0)){let t=Sh(e,16);A(bl(e[0],ne,!0),new sh(t.x,t.y,0))}else if(n.type===`LineString`)for(let e of n.geometry){let t=bl(e,ne);A(t,new sh(t[0].x,t[0].y,0))}else if(n.type===`Point`)for(let e of n.geometry)for(let t of e)A([t],new sh(t.x,t.y,0))}function jh(e,t,r,i,a,o,s,c,l,u,d,f,p,m,h){let g=function(e,t,r,i,a,o,s,c){let l=i.layout.get(`text-rotate`).evaluate(o,{})*Math.PI/180,u=[];for(let e of t.positionedLines)for(let i of e.positionedGlyphs){if(!i.rect)continue;let o=i.rect||{},d=4,f=!0,p=1,m=0,h=(a||c)&&i.vertical,g=i.metrics.advance*i.scale/2;if(c&&t.verticalizable&&(m=e.lineOffset/2-(i.imageName?-(Sd-i.metrics.width*i.scale)/2:(i.scale-1)*Sd)),i.imageName){let e=s[i.imageName];f=e.sdf,p=e.pixelRatio,d=1/p}let _=a?[i.x+g,i.y]:[0,0],v=a?[0,0]:[i.x+g+r[0],i.y+r[1]-m],y=[0,0];h&&(y=v,v=[0,0]);let b=i.metrics.isDoubleResolution?2:1,x=(i.metrics.left-d)*i.scale-g+v[0],S=(-i.metrics.top-d)*i.scale+v[1],C=x+o.w/b*i.scale/p,w=S+o.h/b*i.scale/p,T=new n(x,S),ee=new n(C,S),E=new n(x,w),D=new n(C,w);if(h){let e=new n(-g,g- -17),t=-Math.PI/2,r=12-g,a=new n(22-r,-(i.imageName?r:0)),o=new n(...y);T._rotateAround(t,e)._add(a)._add(o),ee._rotateAround(t,e)._add(a)._add(o),E._rotateAround(t,e)._add(a)._add(o),D._rotateAround(t,e)._add(a)._add(o)}if(l){let e=Math.sin(l),t=Math.cos(l),n=[t,-e,e,t];T._matMult(n),ee._matMult(n),E._matMult(n),D._matMult(n)}let O=new n(0,0),k=new n(0,0);u.push({tl:T,tr:ee,bl:E,br:D,tex:o,writingMode:t.writingMode,glyphOffset:_,sectionIndex:i.sectionIndex,isSDF:f,pixelOffsetTL:O,pixelOffsetBR:k,minFontScaleX:0,minFontScaleY:0})}return u}(0,r,c,a,o,s,i,e.allowVerticalPlacement),_=e.textSizeData,v=null;_.kind===`source`?(v=[128*a.layout.get(`text-size`).evaluate(s,{})],v[0]>ff&&pe(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):_.kind===`composite`&&(v=[128*m.compositeTextSizes[0].evaluate(s,{},h),128*m.compositeTextSizes[1].evaluate(s,{},h)],(v[0]>ff||v[1]>ff)&&pe(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,g,v,c,o,s,u,t,l.lineStartIndex,l.lineLength,p,h);for(let t of d)f[t]=e.text.placedSymbolArray.length-1;return 4*g.length}function Mh(e){for(let t in e)return e[t];return null}function Nh(e,t,n,r){let i=e.compareText;if(t in i){let e=i[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])<n)return!0}else i[t]=[];return i[t].push(r),!1}e.$=ke,e.A=f,e.B=Ba,e.C=ga,e.D=Ya,e.E=He,e.F=pa,e.G=function([e,t,n]){return t+=90,t*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(t)*Math.sin(n),y:e*Math.sin(t)*Math.sin(n),z:e*Math.cos(n)}},e.H=An,e.I=Zd,e.J=Ra,e.K=K,e.L=function(e){if(ge==null){let t=e.navigator?e.navigator.userAgent:null;ge=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match(`Safari`)&&!t.match(`Chrome`)))}return ge},e.M=Ne,e.N=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new jf((()=>this.process())),this.subscription=Se(this.target,`message`,(e=>this.receive(e)),!1),this.globalScope=he(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise(((n,r)=>{let i=Math.round(0xde0b6b3a7640000*Math.random()).toString(36).substring(0,10),a=t?Se(t.signal,`abort`,(()=>{a?.unsubscribe(),delete this.resolveRejects[i];let t={id:i,type:`<cancel>`,origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(t)}),Mf):null;this.resolveRejects[i]={resolve:e=>{a?.unsubscribe(),n(e)},reject:e=>{a?.unsubscribe(),r(e)}};let o=[],s=Object.assign(Object.assign({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Sa(e.data,o)});this.target.postMessage(s,{transfer:o})}))}receive(e){let t=e.data,n=t.id,r=[`file://`,`resource://android`,`null`],i=[t.origin,location.origin],a=t.origin===location.origin,o=i.some((e=>r.includes(e)));if((a||o)&&(!t.targetMapId||this.mapId===t.targetMapId)){if(t.type===`<cancel>`){delete this.tasks[n];let e=this.abortControllers[n];delete this.abortControllers[n],e&&e.abort();return}if(he(self)||t.mustQueue)return this.tasks[n]=t,this.taskQueue.push(n),void this.invoker.trigger();this.processTask(n,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}processTask(e,n){return t(this,void 0,void 0,(function*(){if(n.type===`<response>`){let t=this.resolveRejects[e];if(delete this.resolveRejects[e],!t)return;n.error?t.reject(k(Ca(n.error))):t.resolve(Ca(n.data));return}if(!this.messageHandlers[n.type])return void this.completeTask(e,Error(`Could not find a registered handler for ${n.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(`, `)}`));let t=Ca(n.data),r=new AbortController;this.abortControllers[e]=r;try{let i=yield this.messageHandlers[n.type](n.sourceMapId,t,r);this.completeTask(e,null,i)}catch(t){this.completeTask(e,k(t))}}))}completeTask(e,t,n){let r=[];delete this.abortControllers[e];let i={id:e,type:`<response>`,sourceMapId:this.mapId,origin:location.origin,error:t?Sa(t):null,data:Sa(n,r)};this.target.postMessage(i,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.O=function(){var e=new f(16);return f!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.P=n,e.Q=function(e,t,n){var r,i,a,o,s,c,l,u,d,f,p,m,h=n[0],g=n[1],_=n[2];return t===e?(e[12]=t[0]*h+t[4]*g+t[8]*_+t[12],e[13]=t[1]*h+t[5]*g+t[9]*_+t[13],e[14]=t[2]*h+t[6]*g+t[10]*_+t[14],e[15]=t[3]*h+t[7]*g+t[11]*_+t[15]):(i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],e[0]=r=t[0],e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=c,e[6]=l,e[7]=u,e[8]=d,e[9]=f,e[10]=p,e[11]=m,e[12]=r*h+s*g+d*_+t[12],e[13]=i*h+c*g+f*_+t[13],e[14]=a*h+l*g+p*_+t[14],e[15]=o*h+u*g+m*_+t[15]),e},e.R=Tc,e.S=function(e,t,n){var r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.T=Ic,e.U=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,e[4]=(y=n[4])*r+(b=n[5])*s+(x=n[6])*d+(S=n[7])*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,e[8]=(y=n[8])*r+(b=n[9])*s+(x=n[10])*d+(S=n[11])*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,e[12]=(y=n[12])*r+(b=n[13])*s+(x=n[14])*d+(S=n[15])*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e},e.V=function(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n},e.W=Pf,e.X=oe,e.Y=Rf,e.Z=Lf,e._=t,e.a=Oe,e.a$=function(e){var t=new f(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},e.a0=l,e.a1=u,e.a2=ye,e.a3=qf,e.a4=Bf,e.a5=Vf,e.a6=D,e.a7=Uf,e.a8=Yf,e.a9=25,e.aA=function(e){var t=e[0],n=e[1];return Math.sqrt(t*t+n*n)},e.aB=function(e){return e[0]=0,e[1]=0,e},e.aC=function(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e},e.aD=_f,e.aE=C,e.aF=function(e,t,r,i){let a=t.y-e.y,o=t.x-e.x,s=i.y-r.y,c=i.x-r.x,l=s*o-c*a;if(l===0)return null;let u=(c*(e.y-r.y)-s*(e.x-r.x))/l;return new n(e.x+u*o,e.y+u*a)},e.aG=th,e.aH=qs,e.aI=function(e){let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),n=Math.min(n,a.y),r=Math.max(r,a.x),i=Math.max(i,a.y);return[t,n,r,i]},e.aJ=Sd,e.aK=O,e.aL=function(e,t,n,r,i=!1){if(!n[0]&&!n[1])return[0,0];let a=i?r===`map`?-e.bearingInRadians:0:r===`viewport`?e.bearingInRadians:0;if(a){let e=Math.sin(a),t=Math.cos(a);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}return[i?n[0]:O(t,n[0],e.zoom),i?n[1]:O(t,n[1],e.zoom)]},e.aN=mf,e.aO=kh,e.aP=tf,e.aQ=e=>e.type===`symbol`,e.aR=Ql,e.aS=lo,e.aT=hl,e.aU=Jo,e.aV=us,e.aW=ss,e.aX=we,e.aY=Hf,e.aZ=y,e.a_=v,e.aa=Gf,e.ab=e=>{let t=window.document.createElement(`video`);return t.muted=!0,new Promise((n=>{t.onloadstart=()=>{n(t)};for(let n of e){let e=window.document.createElement(`source`);Le(n)||(t.crossOrigin=`Anonymous`),e.src=n,t.appendChild(e)}}))},e.ac=M,e.ad=function(){return ce++},e.ae=Lo,e.af=xf,e.ag=Wm,e.ah=Ci,e.ai=Us,e.aj=Zf,e.ak=function(e){let t={};if(e.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,n,r,i)=>{let a=r||i;return t[n]=!a||a.toLowerCase(),``})),t[`max-age`]){let e=parseInt(t[`max-age`],10);isNaN(e)?delete t[`max-age`]:t[`max-age`]=e}return t},e.al=ae,e.am=85.051129,e.an=Ce,e.ao=function(e){return 2**e},e.ap=m,e.aq=zf,e.ar=function(e){return Math.log(e)/Math.LN2},e.as=function(e){var t=e[0],n=e[1];return t*t+n*n},e.at=function(e){if(!e.length)return new Set;let t=Math.max(...e.map((e=>e.canonical.z))),n=1/0,r=-1/0,i=1/0,a=-1/0,o=[];for(let s of e){let{x:e,y:c,z:l}=s.canonical,u=2**(t-l),d=e*u,f=c*u;o.push({id:s,x:d,y:f}),d<n&&(n=d),d>r&&(r=d),f<i&&(i=f),f>a&&(a=f)}let s=new Set;for(let e of o)e.x!==n&&e.x!==r&&e.y!==i&&e.y!==a||s.add(e.id);return s},e.au=function(e,t){let n=Math.abs(2*e.wrap)-+(e.wrap<0),r=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-n||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x},e.av=class{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(let e in this.data)for(let t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,n){let r=e.wrapped().key;this.data[r]===void 0&&(this.data[r]=[]);let i={value:t,timeout:void 0};if(n!==void 0&&(i.timeout=setTimeout((()=>{this.remove(e,i)}),n)),this.data[r].push(i),this.order.push(r),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let n=e.wrapped().key,r=t===void 0?0:this.data[n].indexOf(t),i=this.data[n][r];return this.data[n].splice(r,1),i.timeout&&clearTimeout(i.timeout),this.data[n].length===0&&delete this.data[n],this.onRemove(i.value),this.order.splice(this.order.indexOf(n),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let n in this.data)for(let r of this.data[n])e(r.value)||t.push(r);for(let e of t)this.remove(e.value.tileID,e)}},e.aw=function(e,t){let n=0,r=0;if(e.kind===`constant`)r=e.layoutSize;else if(e.kind!==`source`){let{interpolationType:i,minZoom:a,maxZoom:o}=e,s=i?ae(On.interpolationFactor(i,t,a,o),0,1):0;e.kind===`camera`?r=An.number(e.minSize,e.maxSize,s):n=s}return{uSizeT:n,uSize:r}},e.ay=function(e,{uSize:t,uSizeT:n},{lowerSize:r,upperSize:i}){return e.kind===`source`?r/128:e.kind===`composite`?An.number(r/128,i/128,n):t},e.az=ee,e.b=_e,e.b$=Os,e.b0=function(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e},e.b1=function(e,t){var n=t[0],r=t[1],i=t[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},e.b2=b,e.b3=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},e.b4=function(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e},e.b5=g,e.b6=function(e,t,n){let r=t[0]*n[0]+t[1]*n[1]+t[2]*n[2];return r===0?null:(-(e[0]*n[0]+e[1]*n[1]+e[2]*n[2])-n[3])/r},e.b7=S,e.b8=function(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e},e.b9=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]},e.bA=T,e.bB=function(e,t,n){var r=n[0],i=n[1],a=n[2],o=n[3],s=t[0],c=t[1],l=t[2],u=i*l-a*c,d=a*s-r*l,f=r*c-i*s;return e[0]=s+o*(u+=u)+i*(f+=f)-a*(d+=d),e[1]=c+o*d+a*u-r*f,e[2]=l+o*f+r*d-i*u,e},e.bC=function(e,t,n){let r=(i=[e[0],e[1],e[2],t[0],t[1],t[2],n[0],n[1],n[2]])[0]*((u=i[8])*(o=i[4])-(s=i[5])*(l=i[7]))+i[1]*(-u*(a=i[3])+s*(c=i[6]))+i[2]*(l*a-o*c);var i,a,o,s,c,l,u;if(r===0)return null;let d=b([],[t[0],t[1],t[2]],[n[0],n[1],n[2]]),f=b([],[n[0],n[1],n[2]],[e[0],e[1],e[2]]),p=b([],[e[0],e[1],e[2]],[t[0],t[1],t[2]]),m=y([],d,-e[3]);return v(m,m,y([],f,-t[3])),v(m,m,y([],p,-n[3])),y(m,m,1/r),m},e.bD=Nf,e.bE=function(){return new Float64Array(4)},e.bF=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bG=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bH=function(e,t,n,r){var i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e},e.bI=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e},e.bJ=function(e,t){let n=te(e,360),r=te(t,360),i=r-n,a=r>n?i-360:i+360;return Math.abs(i)<Math.abs(a)?i:a},e.bK=function(e){return e[0]=0,e[1]=0,e[2]=0,e},e.bL=function(e,t,n,r){let i=Math.sqrt(e*e+t*t),a=Math.sqrt(n*n+r*r);e/=i,t/=i,n/=a,r/=a;let o=Math.acos(e*n+t*r);return-t*n+e*r>0?o:-o},e.bM=function(e,t){let n=te(e,2*Math.PI),r=te(t,2*Math.PI);return Math.min(Math.abs(n-r),Math.abs(n-r+2*Math.PI),Math.abs(n-r-2*Math.PI))},e.bN=function(){let e={},t=j.$version;for(let n in j.$root){let r=j.$root[n];if(r.required){let i=null;i=n===`version`?t:r.type===`array`?[]:{},i!=null&&(e[n]=i)}}return e},e.bO=Fe,e.bP=wa,e.bQ=function e(t,n){if(Array.isArray(t)){if(!Array.isArray(n)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(!e(t[r],n[r]))return!1;return!0}if(typeof t==`object`&&t&&n!==null){if(typeof n!=`object`||Object.keys(t).length!==Object.keys(n).length)return!1;for(let r in t)if(!e(t[r],n[r]))return!1;return!0}return t===n},e.bR=Ae,e.bS=function(e){e=e.slice();let t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)`ref`in e[n]&&(e[n]=We(e[n],t[e[n].ref]));return e},e.bT=function(e,t){if(e.type===`custom`)return new Af(e,t);switch(e.type){case`background`:return new kf(e,t);case`circle`:return new _c(e,t);case`color-relief`:return new zc(e,t);case`fill`:return new Ol(e,t);case`fill-extrusion`:return new Jl(e,t);case`heatmap`:return new kc(e,t);case`hillshade`:return new Mc(e,t);case`line`:return new pd(e,t);case`raster`:return new ao(e,t);case`symbol`:return new Ef(e,t)}},e.bU=e=>e.type===`raster`,e.bV=de,e.bW=function(e,t){if(!e)return[{command:`setStyle`,args:[t]}];let n=[];try{if(!Ge(e.version,t.version))return[{command:`setStyle`,args:[t]}];Ge(e.center,t.center)||n.push({command:`setCenter`,args:[t.center]}),Ge(e.state,t.state)||n.push({command:`setGlobalState`,args:[t.state]}),Ge(e.centerAltitude,t.centerAltitude)||n.push({command:`setCenterAltitude`,args:[t.centerAltitude]}),Ge(e.zoom,t.zoom)||n.push({command:`setZoom`,args:[t.zoom]}),Ge(e.bearing,t.bearing)||n.push({command:`setBearing`,args:[t.bearing]}),Ge(e.pitch,t.pitch)||n.push({command:`setPitch`,args:[t.pitch]}),Ge(e.roll,t.roll)||n.push({command:`setRoll`,args:[t.roll]}),Ge(e.sprite,t.sprite)||n.push({command:`setSprite`,args:[t.sprite]}),Ge(e.glyphs,t.glyphs)||n.push({command:`setGlyphs`,args:[t.glyphs]}),Ge(e.transition,t.transition)||n.push({command:`setTransition`,args:[t.transition]}),Ge(e.light,t.light)||n.push({command:`setLight`,args:[t.light]}),Ge(e.terrain,t.terrain)||n.push({command:`setTerrain`,args:[t.terrain]}),Ge(e.sky,t.sky)||n.push({command:`setSky`,args:[t.sky]}),Ge(e.projection,t.projection)||n.push({command:`setProjection`,args:[t.projection]});let r={},i=[];(function(e,t,n,r){let i;for(i in t||={},e||={})Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||Je(i,n,r));for(i in t)Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?Ge(e[i],t[i])||(e[i].type===`geojson`&&t[i].type===`geojson`&&Xe(e,t,i)?Ke(n,{command:`setGeoJSONSourceData`,args:[i,t[i].data]}):Ye(i,t,n,r)):qe(i,t,n))})(e.sources,t.sources,i,r);let a=[];e.layers&&e.layers.forEach((e=>{`source`in e&&r[e.source]?n.push({command:`removeLayer`,args:[e.id]}):a.push(e)})),n=n.concat(i),function(e,t,n){t||=[];let r=(e||=[]).map(Qe),i=t.map(Qe),a=e.reduce($e,{}),o=t.reduce($e,{}),s=r.slice(),c=Object.create(null),l,u,d,f,p;for(let e=0,t=0;e<r.length;e++)l=r[e],Object.prototype.hasOwnProperty.call(o,l)?t++:(Ke(n,{command:`removeLayer`,args:[l]}),s.splice(s.indexOf(l,t),1));for(let e=0,t=0;e<i.length;e++)l=i[i.length-1-e],s[s.length-1-e]!==l&&(Object.prototype.hasOwnProperty.call(a,l)?(Ke(n,{command:`removeLayer`,args:[l]}),s.splice(s.lastIndexOf(l,s.length-t),1)):t++,f=s[s.length-e],Ke(n,{command:`addLayer`,args:[o[l],f]}),s.splice(s.length-e,0,l),c[l]=!0);for(let e=0;e<i.length;e++)if(l=i[e],u=a[l],d=o[l],!c[l]&&!Ge(u,d))if(Ge(u.source,d.source)&&Ge(u[`source-layer`],d[`source-layer`])&&Ge(u.type,d.type)){for(p in Ze(u.layout,d.layout,n,l,null,`setLayoutProperty`),Ze(u.paint,d.paint,n,l,null,`setPaintProperty`),Ge(u.filter,d.filter)||Ke(n,{command:`setFilter`,args:[l,d.filter]}),Ge(u.minzoom,d.minzoom)&&Ge(u.maxzoom,d.maxzoom)||Ke(n,{command:`setLayerZoomRange`,args:[l,d.minzoom,d.maxzoom]}),u)Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?Ze(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):Ge(u[p],d[p])||Ke(n,{command:`setLayerProperty`,args:[l,p,d[p]]}));for(p in d)Object.prototype.hasOwnProperty.call(d,p)&&!Object.prototype.hasOwnProperty.call(u,p)&&p!==`layout`&&p!==`paint`&&p!==`filter`&&p!==`metadata`&&p!==`minzoom`&&p!==`maxzoom`&&(p.indexOf(`paint.`)===0?Ze(u[p],d[p],n,l,p.slice(6),`setPaintProperty`):Ge(u[p],d[p])||Ke(n,{command:`setLayerProperty`,args:[l,p,d[p]]}))}else Ke(n,{command:`removeLayer`,args:[l]}),f=s[s.lastIndexOf(l)+1],Ke(n,{command:`addLayer`,args:[d,f]})}(a,t.layers,n)}catch(e){console.warn(`Unable to compute style diff:`,e),n=[{command:`setStyle`,args:[t]}]}return n},e.bX=function(e){let t=[],n=e.id;return n===void 0&&t.push({message:`layers.${n}: missing required property "id"`}),e.render===void 0&&t.push({message:`layers.${n}: missing required method "render"`}),e.renderingMode&&e.renderingMode!==`2d`&&e.renderingMode!==`3d`&&t.push({message:`layers.${n}: property "renderingMode" must be either "2d" or "3d"`}),t},e.bY=le,e.bZ=ue,e.b_=class extends Ts{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1i(this.location,e))}},e.ba=Kf,e.bb=Jf,e.bc=function(e,t,n,r,i){var a=1/Math.tan(t/2);if(e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){var o=1/(r-i);e[10]=(i+r)*o,e[14]=2*i*r*o}else e[10]=-1,e[14]=-2*r;return e},e.bd=function(e){var t=new f(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.be=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e},e.bf=function(e,t,n){var r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e},e.bg=function(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,ee=u*_-p*m,E=d*g-f*h,D=d*_-p*h,O=f*_-p*g,k=v*O-y*D+b*E+x*ee-S*T+C*w;return k?(e[0]=(s*O-c*D+l*E)*(k=1/k),e[1]=(i*D-r*O-a*E)*k,e[2]=(h*C-g*S+_*x)*k,e[3]=(f*S-d*C-p*x)*k,e[4]=(c*ee-o*O-l*T)*k,e[5]=(n*O-i*ee+a*T)*k,e[6]=(g*b-m*C-_*y)*k,e[7]=(u*C-f*b+p*y)*k,e[8]=(o*D-s*ee+l*w)*k,e[9]=(r*ee-n*D-a*w)*k,e[10]=(m*S-h*b+_*v)*k,e[11]=(d*b-u*S-p*v)*k,e[12]=(s*T-o*E-c*w)*k,e[13]=(n*E-r*T+i*w)*k,e[14]=(h*y-m*x-g*v)*k,e[15]=(u*x-d*y+f*v)*k,e):null},e.bh=function(){let e=new Float32Array(16);return m(e),e},e.bi=function(){let e=new Float64Array(16);return m(e),e},e.bj=function(){return new Float64Array(16)},e.bk=function(e,t,n){let r=new Float64Array(4);return T(r,e,t-90,n),r},e.bl=function(e,t,n,r){var i,a,o,s,c,l=t[0],u=t[1],f=t[2],p=t[3],m=n[0],h=n[1],g=n[2],_=n[3];return(a=l*m+u*h+f*g+p*_)<0&&(a=-a,m=-m,h=-h,g=-g,_=-_),1-a>d?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-r)*i)/o,c=Math.sin(r*i)/o):(s=1-r,c=r),e[0]=s*l+c*m,e[1]=s*u+c*h,e[2]=s*f+c*g,e[3]=s*p+c*_,e},e.bm=function(e){let t=new Float64Array(9);var n,r,i,a,o,s,c,l,u,d=(i=(r=e)[0])*(c=i+i),f=(a=r[1])*c,p,m=(o=r[2])*c,h=o*(l=a+a),g,_=(s=r[3])*c,v=s*l,y=s*(u=o+o);(n=t)[0]=1-(p=a*l)-(g=o*u),n[3]=f-y,n[6]=m+v,n[1]=f+y,n[4]=1-d-g,n[7]=h-_,n[2]=m-v,n[5]=h+_,n[8]=1-d-p;let b=we(-Math.asin(ae(t[2],-1,1))),x,S;return Math.hypot(t[5],t[8])<.001?(x=0,S=-we(Math.atan2(t[3],t[4]))):(x=we(t[5]===0&&t[8]===0?0:Math.atan2(t[5],t[8])),S=we(t[1]===0&&t[0]===0?0:Math.atan2(t[1],t[0]))),{roll:x,pitch:b+90,bearing:S}},e.bn=function(e,t){return e.roll==t.roll&&e.pitch==t.pitch&&e.bearing==t.bearing},e.bo=Ut,e.bp=Es,e.bq=gl,e.br=_l,e.bs=ml,e.bt=ne,e.bu=A,e.bv=tn,e.bw=function(e,t,n,r,i){return ne(r,i,ae((e-t)/(n-t),0,1))},e.bx=function(e,t,n,r){return e[0]=t[0]+n[0]*r,e[1]=t[1]+n[1]*r,e[2]=t[2]+n[2]*r,e},e.by=te,e.bz=function(){return new Float64Array(3)},e.c=je,e.c$=mi,e.c0=class extends Ts{constructor(e,t){super(e,t),this.current=ks}set(e){if(e[12]!==this.current[12]||e[0]!==this.current[0])return this.current=e,void this.gl.uniformMatrix4fv(this.location,!1,e);for(let t=1;t<16;t++)if(e[t]!==this.current[t]){this.current=e,this.gl.uniformMatrix4fv(this.location,!1,e);break}}},e.c1=Ds,e.c2=class extends Ts{constructor(e,t){super(e,t),this.current=[0,0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]||(this.current=e,this.gl.uniform3f(this.location,e[0],e[1],e[2]))}},e.c3=class extends Ts{constructor(e,t){super(e,t),this.current=[0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]||(this.current=e,this.gl.uniform2f(this.location,e[0],e[1]))}},e.c4=p,e.c5=function(e,t){var n=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=n,e[2]=0,e[3]=-n,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},e.c6=function(e,t,n){var r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e},e.c7=function(e,t,n,r,i,a,o){var s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e},e.c8=class extends Ts{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(4*e.length);for(let n=0;n<e.length;n++)t[4*n]=e[n].r,t[4*n+1]=e[n].g,t[4*n+2]=e[n].b,t[4*n+3]=e[n].a;this.gl.uniform4fv(this.location,t)}}},e.c9=class extends Ts{constructor(e,t){super(e,t),this.current=[]}set(e){if(e!=this.current){this.current=e;let t=new Float32Array(e);this.gl.uniform1fv(this.location,t)}}},e.cA=function(e,t){return Te[t]&&`touches`in e},e.cB=function(e){return Te[e]||Ee[e]},e.cC=function(e,t,n){var r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e},e.cD=function(e,t){let{x:n,y:r}=Uf.fromLngLat(t);return!(e<0||e>25||r<0||r>=1||n<0||n>=1)},e.cE=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},e.cF=class extends po{},e.cG=Pe,e.cH=function(e,t){je.REGISTERED_PROTOCOLS[e]=t},e.cI=function(e){delete je.REGISTERED_PROTOCOLS[e]},e.cJ=function(e,t){let n={};for(let r=0;r<e.length;r++){let i=t&&t[e[r].id]||Mi(e[r]);t&&(t[e[r].id]=i);let a=n[i];a||=n[i]=[],a.push(e[r])}let r=[];for(let e in n)r.push(n[e]);return r},e.cK=q,e.cL=Xf,e.cM=Qm,e.cN=Qd,e.cO=function(t){var n;t.bucket.createArrays(),t.bucket.tilePixelRatio=D/(512*t.bucket.overscaling),t.bucket.compareText={},t.bucket.iconsNeedLinear=!1;let r=t.bucket.layers[0],i=r.layout,a=r._unevaluatedLayout._values,o={layoutIconSize:a[`icon-size`].possiblyEvaluate(new Ra(t.bucket.zoom+1),t.canonical),layoutTextSize:a[`text-size`].possiblyEvaluate(new Ra(t.bucket.zoom+1),t.canonical),textMaxSize:a[`text-size`].possiblyEvaluate(new Ra(18))};if(t.bucket.textSizeData.kind===`composite`){let{minZoom:e,maxZoom:n}=t.bucket.textSizeData;o.compositeTextSizes=[a[`text-size`].possiblyEvaluate(new Ra(e),t.canonical),a[`text-size`].possiblyEvaluate(new Ra(n),t.canonical)]}if(t.bucket.iconSizeData.kind===`composite`){let{minZoom:e,maxZoom:n}=t.bucket.iconSizeData;o.compositeIconSizes=[a[`icon-size`].possiblyEvaluate(new Ra(e),t.canonical),a[`icon-size`].possiblyEvaluate(new Ra(n),t.canonical)]}let s=i.get(`text-line-height`)*Sd,c=i.get(`text-rotation-alignment`)!==`viewport`&&i.get(`symbol-placement`)!==`point`,l=i.get(`text-keep-upright`),u=i.get(`text-size`);for(let a of t.bucket.features){let d=i.get(`text-font`).evaluate(a,{},t.canonical).join(`,`),f=u.evaluate(a,{},t.canonical),p=o.layoutTextSize.evaluate(a,{},t.canonical),m=o.layoutIconSize.evaluate(a,{},t.canonical),h={horizontal:{},vertical:void 0},g=a.text,_,v=[0,0];if(g){let n=g.toString(),o=i.get(`text-letter-spacing`).evaluate(a,{},t.canonical)*Sd,u=ka(n)?o:0,m=i.get(`text-anchor`).evaluate(a,{},t.canonical),_=Oh(r,a,t.canonical);if(!_){let e=i.get(`text-radial-offset`).evaluate(a,{},t.canonical);v=e?Dh(m,[e*Sd,Eh]):i.get(`text-offset`).evaluate(a,{},t.canonical).map((e=>e*Sd))}let y=c?`center`:i.get(`text-justify`).evaluate(a,{},t.canonical),b=i.get(`symbol-placement`)===`point`?i.get(`text-max-width`).evaluate(a,{},t.canonical)*Sd:1/0,x=()=>{t.bucket.allowVerticalPlacement&&Oa(n)&&(h.vertical=ef(g,t.glyphMap,t.glyphPositions,t.imagePositions,d,b,s,m,`left`,u,v,e.ax.vertical,!0,p,f))};if(!c&&_){let n=new Set;if(y===`auto`)for(let e=0;e<_.values.length;e+=2)n.add(kh(_.values[e]));else n.add(y);let r=!1;for(let i of n)if(!h.horizontal[i])if(r)h.horizontal[i]=h.horizontal[0];else{let n=ef(g,t.glyphMap,t.glyphPositions,t.imagePositions,d,b,s,`center`,i,u,v,e.ax.horizontal,!1,p,f);n&&(h.horizontal[i]=n,r=n.positionedLines.length===1)}x()}else{y===`auto`&&(y=kh(m));let r=ef(g,t.glyphMap,t.glyphPositions,t.imagePositions,d,b,s,m,y,u,v,e.ax.horizontal,!1,p,f);r&&(h.horizontal[y]=r),x(),Oa(n)&&c&&l&&(h.vertical=ef(g,t.glyphMap,t.glyphPositions,t.imagePositions,d,b,s,m,y,u,v,e.ax.vertical,!1,p,f))}}let y=!1;if(a.icon?.name){let e=t.imageMap[a.icon.name];e&&(_=lf(t.imagePositions[a.icon.name],i.get(`icon-offset`).evaluate(a,{},t.canonical),i.get(`icon-anchor`).evaluate(a,{},t.canonical)),y=!!e.sdf,t.bucket.sdfIcons===void 0?t.bucket.sdfIcons=y:t.bucket.sdfIcons!==y&&pe(`Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer`),(e.pixelRatio!==t.bucket.pixelRatio||i.get(`icon-rotate`).constantOr(1)!==0)&&(t.bucket.iconsNeedLinear=!0))}let b=Mh(h.horizontal)||h.vertical;(n=t.bucket).iconsInText||(n.iconsInText=!!b&&b.iconsInText),(b||_)&&Ah(t.bucket,a,h,_,t.imageMap,o,p,m,v,y,t.canonical,t.subdivisionGranularity)}t.showCollisionBoxes&&t.bucket.generateCollisionDebugBuffers()},e.cP=wl,e.cQ=Hl,e.cR=sd,e.cS=function(e,t=``){let n=new Fd;return function(e,t,n=``){for(let r in e.layers)t.writeMessage(3,((e,t)=>Gm(e,t,n)),e.layers[r])}(e,n,t),n.finish()},e.cT=function(e,t,n,r,i,a){let o=nh(e,t,n,i,0);return o=nh(o,t,r,a,1),o},e.cU=class{constructor(e){this.maxEntries=e,this.map=new Map}get(e){let t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.maxEntries){let e=this.map.keys().next().value;this.map.delete(e)}this.map.set(e,t)}clear(){this.map.clear()}},e.cV=Rl,e.cW=Fd,e.cX=Hm,e.cY=function(e,n,r,i,a){return t(this,void 0,void 0,(function*(){if(u())try{return yield ye(e,n,r,i,a)}catch{}return function(e,t,n,r,i){let a=e.width,o=e.height;be&&xe||(be=new OffscreenCanvas(a,o),xe=be.getContext(`2d`,{willReadFrequently:!0})),be.width=a,be.height=o,xe.drawImage(e,0,0,a,o);let s=xe.getImageData(t,n,r,i);return xe.clearRect(0,0,a,o),s.data}(e,n,r,i,a)}))},e.cZ=Lc,e.c_=class{constructor(e,t){this.layers={[Wm]:this},this.name=Wm,this.version=t?t.version:1,this.extent=t?t.extent:4096,this.length=e.length,this.features=e}feature(e){return new Um(this.features[e],this.extent)}},e.ca=class extends To{},e.cb=yd,e.cc=class extends Do{},e.cd=Oc,e.ce=function(e){return e<=1?1:2**Math.ceil(Math.log(e)/Math.LN2)},e.cf=Dc,e.cg=function(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return e[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/(o||=1),e[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,e},e.ch=class extends mo{},e.ci=class extends Po{},e.cj=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},e.ck=function(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],s=e[5],c=e[6],l=e[7],u=e[8],f=e[9],p=e[10],m=e[11],h=e[12],g=e[13],_=e[14],v=e[15],y=t[0],b=t[1],x=t[2],S=t[3],C=t[4],w=t[5],T=t[6],ee=t[7],E=t[8],D=t[9],O=t[10],k=t[11],te=t[12],ne=t[13],A=t[14],re=t[15];return Math.abs(n-y)<=d*Math.max(1,Math.abs(n),Math.abs(y))&&Math.abs(r-b)<=d*Math.max(1,Math.abs(r),Math.abs(b))&&Math.abs(i-x)<=d*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(a-S)<=d*Math.max(1,Math.abs(a),Math.abs(S))&&Math.abs(o-C)<=d*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(s-w)<=d*Math.max(1,Math.abs(s),Math.abs(w))&&Math.abs(c-T)<=d*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(l-ee)<=d*Math.max(1,Math.abs(l),Math.abs(ee))&&Math.abs(u-E)<=d*Math.max(1,Math.abs(u),Math.abs(E))&&Math.abs(f-D)<=d*Math.max(1,Math.abs(f),Math.abs(D))&&Math.abs(p-O)<=d*Math.max(1,Math.abs(p),Math.abs(O))&&Math.abs(m-k)<=d*Math.max(1,Math.abs(m),Math.abs(k))&&Math.abs(h-te)<=d*Math.max(1,Math.abs(h),Math.abs(te))&&Math.abs(g-ne)<=d*Math.max(1,Math.abs(g),Math.abs(ne))&&Math.abs(_-A)<=d*Math.max(1,Math.abs(_),Math.abs(A))&&Math.abs(v-re)<=d*Math.max(1,Math.abs(v),Math.abs(re))},e.cl=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.cm=e=>e.type===`circle`,e.cn=e=>e.type===`heatmap`,e.co=e=>e.type===`line`,e.cp=e=>e.type===`fill`,e.cq=e=>e.type===`fill-extrusion`,e.cr=e=>e.type===`hillshade`,e.cs=e=>e.type===`color-relief`,e.ct=e=>e.type===`background`,e.cu=e=>e.type===`custom`,e.cv=re,e.cw=function(e,t,n){if(t<=0)return e;let r=1/t;return n===void 0||Math.abs(n)<1e-10?Math.round(e*r)/r:(n>0?Math.ceil(e*r-1e-9):Math.floor(e*r+1e-10))/r},e.cx=function(e,t,n){let r=E(t.x-n.x,t.y-n.y),i=E(e.x-n.x,e.y-n.y);var a,o;return we(Math.atan2(r[0]*i[1]-r[1]*i[0],(a=r)[0]*(o=i)[0]+a[1]*o[1]))},e.cy=ie,e.cz=function(e,t){if(!Ee[t])return!1;let n=(e?.target)?.ownerDocument?.defaultView||window;return e instanceof n.MouseEvent||e instanceof n.WheelEvent},e.d=k,e.d0=class{constructor(e,t){let n=(t=this.options=Object.assign({},nd,t)).debug;if(n&&console.time(`preprocess data`),t.maxZoom<0||t.maxZoom>24)throw Error(`maxZoom should be in the 0-24 range`);if(t.promoteId&&t.generateId)throw Error(`promoteId and generateId cannot be used together.`);let r=lu(e,t);n&&(console.timeEnd(`preprocess data`),console.log(`index: maxZoom: %d, maxPoints: %d`,t.indexMaxZoom,t.indexMaxPoints),console.time(`generate tiles`)),r=Pu(r,t),t.updateable&&(this.source=r),this.initializeIndex(r,t)}initializeIndex(e,t){this.tileIndex=t.cluster?new Vu(t.clusterOptions):new ed(t),e.length&&this.tileIndex.initialize(e)}getTile(e,t,n){return t=+t,n=+n,(e=+e)<0||e>24?null:this.tileIndex.getTile(e,t,n)}updateData(e,t){let n=this.options;if(!n.updateable)throw Error("to update tile geojson `updateable` option must be set to true");let{affected:r,source:i}=function(e,t,n){let r=function(e,t){return e?{removeAll:e.removeAll,remove:new Set(e.remove||[]),add:new Map(e.add?.map((e=>[t.promoteId?e.properties[t.promoteId]:e.id,e]))),update:new Map(e.update?.map((e=>[e.id,e])))}:{remove:new Set,add:new Map,update:new Map}}(t,n),i=[];if(r.removeAll&&(i=e,e=[]),r.remove.size||r.add.size){let t=[];for(let n of e)(r.remove.has(n.id)||r.add.has(n.id))&&t.push(n);if(t.length){i.push(...t);let n=new Set(t.map((e=>e.id)));e=e.filter((e=>!n.has(e.id)))}if(r.add.size){let t=lu({type:`FeatureCollection`,features:Array.from(r.add.values())},n);t=Pu(t,n),i.push(...t),e.push(...t)}}if(r.update.size){let t=new Map,a=[];for(let n of e)r.update.has(n.id)?t.set(n.id,[...t.get(n.id)||[],n]):a.push(n);for(let[e,o]of r.update){let r=t.get(e);if(!r||r.length===0)continue;let s=Ru(r,o,n);i.push(...r,...s),a.push(...s)}e=a}return{affected:i,source:e}}(this.source,e,n);t&&({affected:r,source:i}=this.filterUpdate(i,r,t)),r.length&&(this.source=i,this.tileIndex.updateIndex(i,r,n))}filterUpdate(e,t,n){let r=new Set;for(let i of e)i.id!=null&&(n(hu(i))||(t.push(i),r.add(i.id)));return{affected:t,source:e=e.filter((e=>!r.has(e.id)))}}getData(){if(!this.options.updateable)throw Error("to retrieve data the `updateable` option must be set to true");return{type:`FeatureCollection`,features:this.source.map((e=>hu(e)))}}updateClusterOptions(e,t){let n=this.options.cluster;this.options.cluster=e,this.options.clusterOptions=t,n==e?this.tileIndex.updateIndex(this.source,[],this.options):this.initializeIndex(this.source,this.options)}getClusterExpansionZoom(e){return this.tileIndex.getClusterExpansionZoom(e)}getClusterChildren(e){return this.tileIndex.getChildren(e)}getClusterLeaves(e,t,n){return this.tileIndex.getLeaves(e,t,n)}},e.d1=La,e.e=se,e.f=Le,e.g=Me,e.h=e=>t(void 0,void 0,void 0,(function*(){if(e.byteLength===0)return createImageBitmap(new ImageData(1,1));let t=new Blob([new Uint8Array(e)],{type:`image/png`});try{return createImageBitmap(t)}catch(e){throw Error(`Could not load image because of ${k(e).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),e.i=he,e.j=e=>new Promise(((t,n)=>{let r=new Image;r.onload=()=>{t(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((()=>r.src=ve))},r.onerror=()=>n(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`));let i=new Blob([new Uint8Array(e)],{type:`image/png`});r.src=e.byteLength?URL.createObjectURL(i):ve})),e.k=(e,t)=>Ie(se(e,{type:`json`}),t),e.l=Ve,e.m=Ie,e.n=Be,e.o=(e,t)=>Ie(se(e,{type:`arrayBuffer`}),t),e.p=Xd,e.q=function(e){return new Fd(e).readFields(qd,[])},e.r=function(e){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(e))},e.s=Se,e.t=wc,e.u=$a,e.v=fa,e.w=pe,e.x=j,e.y=Ua,e.z=G})),n(`worker`,[`./shared`],(function(e){class t{constructor(e,t){this.keyCache={},e&&this.replace(e,t)}replace(e,t){this._layerConfigs={},this._layers={},this.update(e,[],t)}update(t,n,r){for(let n of t){this._layerConfigs[n.id]=n;let t=this._layers[n.id]=e.bT(n,r);t._featureFilter=e.ah(t.filter,r),this.keyCache[n.id]&&delete this.keyCache[n.id]}for(let e of n)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};let i=e.cJ(Object.values(this._layerConfigs),this.keyCache);for(let t of i){let n=t.map((e=>this._layers[e.id])),r=n[0];if(r.isHidden())continue;let i=r.source||``,a=this.familiesBySource[i];a||=this.familiesBySource[i]={};let o=r.sourceLayer||e.ag,s=a[o];s||=a[o]=[],s.push(n)}}}class n{constructor(t){let n={},r=[];for(let e in t){let i=t[e],a=n[e]={};for(let e in i){let t=i[+e];if(!t||t.bitmap.width===0||t.bitmap.height===0)continue;let n={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};r.push(n),a[e]={rect:n,metrics:t.metrics}}}let{w:i,h:a}=e.p(r),o=new e.t({width:i||1,height:a||1});for(let r in t){let i=t[r];for(let t in i){let a=i[+t];if(!a||a.bitmap.width===0||a.bitmap.height===0)continue;let s=n[r][t].rect;e.t.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=n}}e.cK(`GlyphAtlas`,n);class r{constructor(t){this.tileID=new e.a3(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[]}parse(t,r,a,o,s){return e._(this,void 0,void 0,(function*(){this.status=`parsing`,this.data=t,this.collisionBoxArray=new e.ae;let c=new e.cL(Object.keys(t.layers).sort()),l=new e.cM(this.tileID,this.promoteId);l.bucketLayerIDs=[];let u={},d={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},dashDependencies:{},availableImages:a,subdivisionGranularity:s},f=r.familiesBySource[this.source];for(let n in f){let r=t.layers[n];if(!r)continue;r.version===1&&e.w(`Vector tile source "${this.source}" layer "${n}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let o=c.encode(n),s=[];for(let e=0;e<r.length;e++){let t=r.feature(e),i=l.getId(t,n);s.push({feature:t,id:i,index:e,sourceLayerIndex:o})}for(let t of f[n]){let n=t[0];n.source!==this.source&&e.w(`layer.source = ${n.source} does not equal this.source = ${this.source}`),n.isHidden(this.zoom,!0)||(i(t,this.zoom,a),(u[n.id]=n.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(s,d,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))))}}let p=e.bY(d.glyphDependencies,(e=>Object.keys(e).map(Number)));for(let e of this.inFlightDependencies)e?.abort();this.inFlightDependencies=[];let m=Promise.resolve({});if(Object.keys(p).length){let e=new AbortController;this.inFlightDependencies.push(e),m=o.sendAsync({type:`GG`,data:{stacks:p,source:this.source,tileID:this.tileID,type:`glyphs`}},e)}let h=Object.keys(d.iconDependencies),g=Promise.resolve({});if(h.length){let e=new AbortController;this.inFlightDependencies.push(e),g=o.sendAsync({type:`GI`,data:{icons:h,source:this.source,tileID:this.tileID,type:`icons`}},e)}let _=Object.keys(d.patternDependencies),v=Promise.resolve({});if(_.length){let e=new AbortController;this.inFlightDependencies.push(e),v=o.sendAsync({type:`GI`,data:{icons:_,source:this.source,tileID:this.tileID,type:`patterns`}},e)}let y=d.dashDependencies,b=Promise.resolve({});if(Object.keys(y).length){let e=new AbortController;this.inFlightDependencies.push(e),b=o.sendAsync({type:`GDA`,data:{dashes:y}},e)}let[x,S,C,w]=yield Promise.all([m,g,v,b]),T=new n(x),ee=new e.cN(S,C);for(let t in u){let n=u[t];n instanceof e.af?(i(n.layers,this.zoom,a),e.cO({bucket:n,glyphMap:x,glyphPositions:T.positions,imageMap:S,imagePositions:ee.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical,subdivisionGranularity:d.subdivisionGranularity})):n.hasDependencies&&(n instanceof e.cP||n instanceof e.cQ||n instanceof e.cR)&&(i(n.layers,this.zoom,a),n.addFeatures(d,this.tileID.canonical,ee.patternPositions,w))}return this.status=`done`,{buckets:Object.values(u).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:T.image,imageAtlas:ee,dashPositions:w,glyphMap:this.returnDependencies?x:null,iconMap:this.returnDependencies?S:null,glyphPositions:this.returnDependencies?T.positions:null}}))}}function i(t,n,r){let i=new e.J(n);for(let e of t)e.recalculate(i,r)}class a{constructor(){this.loading={},this.loaded={},this.parsing={}}startLoading(e,t){this.loading[e]=t}finishLoading(e){delete this.loading[e]}abort(e){let t=this.loading[e];t!=null&&t.abort&&(t.abort.abort(),delete this.loading[e])}setParsing(e,t){this.parsing[e]=t}consumeParsing(e){let t=this.parsing[e];if(t)return delete this.parsing[e],t}clearParsing(e){delete this.parsing[e]}markLoaded(e,t){this.loaded[e]=t}getLoaded(e){let t=this.loaded[e];if(t)return t}removeLoaded(e){delete this.loaded[e]}clearLoaded(){this.loaded={}}}class o{constructor(e){this.start=`${e}#start`,this.end=`${e}#end`,this.measure=e,performance.mark(this.start)}finish(){performance.mark(this.end);let e=performance.getEntriesByName(this.measure);return e.length===0&&(performance.measure(this.measure,this.start,this.end),e=performance.getEntriesByName(this.measure),performance.clearMarks(this.start),performance.clearMarks(this.end),performance.clearMeasures(this.measure)),e}}class s{constructor(e,t,n,r,i){this.type=e,this.properties=n||{},this.extent=i,this.pointsArray=t,this.id=r}loadGeometry(){return this.pointsArray.map((t=>t.map((t=>new e.P(t.x,t.y)))))}}class c{constructor(e,t,n){this.version=2,this._myFeatures=e,this.name=t,this.length=e.length,this.extent=n}feature(e){return this._myFeatures[e]}}class l{constructor(){this.layers={}}addLayer(e){this.layers[e.name]=e}}function u(t){let n=e.cS(t);return n.byteOffset===0&&n.byteLength===n.buffer.byteLength||(n=new Uint8Array(n)),{vectorTile:t,rawData:n.buffer}}function d(t,n,r){let{extent:i}=t,a=2**(r.z-n.z),o=(r.x-n.x*a)*i,l=(r.y-n.y*a)*i,u=[];for(let n=0;n<t.length;n++){let r=t.feature(n),c=r.loadGeometry();for(let e of c)for(let t of e)t.x=t.x*a-o,t.y=t.y*a-l;c=e.cT(c,r.type,-128,-128,i+128,i+128),c.length!==0&&u.push(new s(r.type,c,r.properties,r.id,i))}return new c(u,t.name,i)}class f{constructor(t,n,r){this.actor=t,this.layerIndex=n,this.availableImages=r,this.tileState=new a,this.overzoomedTileResultCache=new e.cU(1e3)}loadVectorTile(t,n){try{return{vectorTile:t.encoding===`mlt`?new e.cX(n):new e.cV(new e.cW(n)),rawData:n}}catch(r){let i=new Uint8Array(n),a=`Unable to parse the tile at ${t.request.url}, `;throw a+=i[0]===31&&i[1]===139?`please make sure the data is not gzipped and that you have configured the relevant header in the server`:`got error: ${e.d(r).message}`,Error(a)}}loadTile(t){return e._(this,void 0,void 0,(function*(){let{uid:n,overzoomParameters:i}=t;i&&(t.request=i.overzoomRequest);let a=this._startRequestTiming(t),o=new r(t);this.tileState.startLoading(n,o);let s=new AbortController;o.abort=s;try{let r=yield e.o(t.request,s);if(t.etag&&t.etag===r.etag)return this.tileState.finishLoading(n),this._getEtagUnmodifiedResult(r,a);let c=this.loadVectorTile(t,r.data);if(this.tileState.finishLoading(n),!c)return null;let{vectorTile:l,rawData:u}=c;i&&({vectorTile:l,rawData:u}=this._getOverzoomTile(t,l));let d=this._getExpiryData(r),f=this._finishRequestTiming(a);o.vectorTile=l,this.tileState.markLoaded(n,o);let p={rawData:u,cacheControl:d,resourceTiming:f};this.tileState.setParsing(n,p);try{return yield this._parseWorkerTile(o,t,p)}finally{this.tileState.clearParsing(n)}}catch(e){throw this.tileState.finishLoading(n),o.status=`done`,this.tileState.markLoaded(n,o),e}}))}_getEtagUnmodifiedResult(t,n){let r=this._getExpiryData(t),i=this._finishRequestTiming(n);return e.e({etagUnmodified:!0},r,i)}_parseWorkerTile(t,n,r){return e._(this,void 0,void 0,(function*(){let i=yield t.parse(t.vectorTile,this.layerIndex,this.availableImages,this.actor,n.subdivisionGranularity);if(r){let{rawData:t,cacheControl:a,resourceTiming:o}=r;i=e.e({rawTileData:t.slice(0),encoding:n.encoding},i,a,o)}return i}))}_getExpiryData({expires:e,cacheControl:t,etag:n}){let r={};return e&&(r.expires=e),t&&(r.cacheControl=t),n&&(r.etag=n),r}_startRequestTiming(e){if(e.request?.collectResourceTiming)return new o(e.request.url)}_finishRequestTiming(e){let t=e?.finish();return t?{resourceTiming:JSON.parse(JSON.stringify(t))}:{}}_getOverzoomTile(e,t){let{tileID:n,source:r,overzoomParameters:i}=e,{maxZoomTileID:a}=i,o=`${a.key}_${n.key}_${e.request?.url}`,s=this.overzoomedTileResultCache.get(o);if(s)return s;let c=new l,f=this.layerIndex.familiesBySource[r];for(let e in f){let r=t.layers[e];if(!r)continue;let i=d(r,a,n.canonical);i.length>0&&c.addLayer(i)}let p=u(c);return this.overzoomedTileResultCache.set(o,p),p}reloadTile(t){return e._(this,void 0,void 0,(function*(){let e=t.uid,n=this.tileState.getLoaded(e);if(!n)throw Error(`Should not be trying to reload a tile that was never loaded or has been removed`);if(n.showCollisionBoxes=t.showCollisionBoxes,n.status===`parsing`){let r=this.tileState.consumeParsing(e);return yield this._parseWorkerTile(n,t,r)}if(n.status===`done`&&n.vectorTile)return yield this._parseWorkerTile(n,t)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){this.tileState.abort(t.uid)}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.tileState.removeLoaded(t.uid)}))}}class p{constructor(){this.loaded={}}loadTile(t){return e._(this,void 0,void 0,(function*(){let{uid:n,encoding:r,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:c}=t,l=i.width+2,u=i.height+2,d=e.b(i)?new e.R({width:l,height:u},yield e.cY(i,-1,-1,l,u)):i,f=new e.cZ(n,d,r,a,o,s,c);return this.loaded||={},this.loaded[n]=f,f}))}removeTile(e){let t=this.loaded,n=e.uid;t!=null&&t[n]&&delete t[n]}}class m{constructor(e,t,n,r=h){this.actor=e,this.layerIndex=t,this.availableImages=n,this.tileState=new a,this._createGeoJSONIndex=r}loadVectorTile(t){if(!this._geoJSONIndex)throw Error(`Unable to parse the data into a cluster or geojson`);let{z:n,x:r,y:i}=t.tileID.canonical,a=this._geoJSONIndex.getTile(n,r,i);return a?u(new e.c_(a.features,{version:2,extent:e.a6})):null}loadTile(t){return e._(this,void 0,void 0,(function*(){let{uid:e}=t,n=new r(t);n.abort=new AbortController;try{let r=this.loadVectorTile(t);if(!r)return null;let{vectorTile:i,rawData:a}=r;n.vectorTile=i,this.tileState.markLoaded(e,n);let o={rawData:a};this.tileState.setParsing(e,o);try{return yield this._parseWorkerTile(n,t,o)}finally{this.tileState.clearParsing(e)}}catch(t){throw n.status=`done`,this.tileState.markLoaded(e,n),t}}))}_reloadLoadedTile(t){return e._(this,void 0,void 0,(function*(){let e=t.uid,n=this.tileState.getLoaded(e);if(!n)throw Error(`Should not be trying to reload a tile that was never loaded or has been removed`);if(n.showCollisionBoxes=t.showCollisionBoxes,n.status===`parsing`){let r=this.tileState.consumeParsing(e);return yield this._parseWorkerTile(n,t,r)}if(n.status===`done`&&n.vectorTile)return yield this._parseWorkerTile(n,t)}))}_parseWorkerTile(t,n,r){return e._(this,void 0,void 0,(function*(){let i=yield t.parse(t.vectorTile,this.layerIndex,this.availableImages,this.actor,n.subdivisionGranularity);if(r){let{rawData:t}=r;i=e.e({rawTileData:t.slice(0),encoding:`mvt`},i)}return i}))}abortTile(t){return e._(this,void 0,void 0,(function*(){this.tileState.abort(t.uid)}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.tileState.removeLoaded(t.uid)}))}loadData(t){return e._(this,void 0,void 0,(function*(){var n;(n=this._pendingRequest)==null||n.abort();let r=this._startRequestTiming(t);this._pendingRequest=new AbortController;try{yield this.loadAndProcessGeoJSON(t,this._pendingRequest),delete this._pendingRequest,this.tileState.clearLoaded();let e={};return t.request&&(e.data=t.data),this._finishRequestTiming(r,t,e),e}catch(t){if(delete this._pendingRequest,!e.$(t))throw t;return{abandoned:!0}}}))}_startRequestTiming(e){if(e.request?.collectResourceTiming)return new o(e.request.url)}_finishRequestTiming(e,t,n){let r=e?.finish();r&&(n.resourceTiming={[t.source]:JSON.parse(JSON.stringify(r))})}reloadTile(e){return this.tileState.getLoaded(e.uid)?this._reloadLoadedTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,n){return e._(this,void 0,void 0,(function*(){if(t.request&&(t.data=(yield e.k(t.request,n)).data),t.data)return t.data=this._filterGeoJSON(t.data,t.filter),void(this._geoJSONIndex=this._createGeoJSONIndex(t.data,t));if(t.dataDiff)return this._geoJSONIndex??=this._createGeoJSONIndex({type:`FeatureCollection`,features:[]},t),void this._geoJSONIndex.updateData(t.dataDiff,this._getFilterPredicate(t.filter));if(t.updateCluster&&this._geoJSONIndex.updateClusterOptions(t.geojsonVtOptions.cluster,g(t)),this._geoJSONIndex==null)throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}))}_filterGeoJSON(e,t){if(e.type!==`FeatureCollection`)return e;let n=this._getFilterPredicate(t);return n?{type:`FeatureCollection`,features:e.features.filter((e=>n(e)))}:e}_getFilterPredicate(t){if(typeof t!=`boolean`&&!t?.length)return;let n=e.c$(t,{type:`boolean`,"property-type":`data-driven`,overridable:!1,transition:!1});if(n.result===`error`)throw Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(`, `));return e=>n.value.evaluate({zoom:0},e)}removeSource(t){return e._(this,void 0,void 0,(function*(){var e;(e=this._pendingRequest)==null||e.abort()}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getClusterChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getClusterLeaves(e.clusterId,e.limit,e.offset)}}function h(t,n){let r=e.e(n.geojsonVtOptions||{},{updateable:!0,clusterOptions:g(n)});return new e.d0(t,r)}function g({geojsonVtOptions:t,clusterProperties:n}){if(!n||!t.clusterOptions)return t.clusterOptions;let r={},i={},a={accumulated:null,zoom:0},o={properties:null},s=Object.keys(n);for(let t of s){let[a,o]=n[t],s=e.c$(o),c=e.c$(typeof a==`string`?[a,[`accumulated`],[`get`,t]]:a);r[t]=s.value,i[t]=c.value}return t.clusterOptions.map=e=>{o.properties=e;let t={};for(let e of s)t[e]=r[e].evaluate(a,o);return t},t.clusterOptions.reduce=(e,t)=>{o.properties=t;for(let t of s)a.accumulated=e[t],e[t]=i[t].evaluate(a,o)},t.clusterOptions}class _{constructor(t){this.self=t,this.actor=new e.N(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.globalStates=new Map,this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw Error(`Worker source with name "${e}" already registered.`);this.externalWorkerSourceTypes[e]=t},this.self.addProtocol=e.cH,this.self.removeProtocol=e.cI,this.self.registerRTLTextPlugin=t=>{e.d1.setMethods(t)},this.self.makeRequest=e.m,this.actor.registerMessageHandler(`LDT`,((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler(`RDT`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,n.source).removeTile(n)})))),this.actor.registerMessageHandler(`GCEZ`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterExpansionZoom(n)})))),this.actor.registerMessageHandler(`GCC`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterChildren(n)})))),this.actor.registerMessageHandler(`GCL`,((t,n)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,n.type,n.source).getClusterLeaves(n)})))),this.actor.registerMessageHandler(`LD`,((e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler(`LT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler(`RT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler(`AT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler(`RMT`,((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler(`RS`,((t,n)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]?.[n.type]?.[n.source])return;let e=this.workerSources[t][n.type][n.source];delete this.workerSources[t][n.type][n.source],e.removeSource!==void 0&&e.removeSource(n)})))),this.actor.registerMessageHandler(`RM`,(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t],this.globalStates.delete(t)})))),this.actor.registerMessageHandler(`SR`,((t,n)=>e._(this,void 0,void 0,(function*(){this.referrer=n})))),this.actor.registerMessageHandler(`SRPS`,((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler(`IS`,((t,n)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(n)})))),this.actor.registerMessageHandler(`SI`,((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler(`UL`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(n.layers,n.removedIds,this._getGlobalState(t))})))),this.actor.registerMessageHandler(`UGS`,((t,n)=>e._(this,void 0,void 0,(function*(){let e=this._getGlobalState(t);for(let t in n)e[t]=n[t]})))),this.actor.registerMessageHandler(`SL`,((t,n)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(n,this._getGlobalState(t))}))))}_getGlobalState(e){let t=this.globalStates.get(e);return t||(t={},this.globalStates.set(e,t)),t}_setImages(t,n){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=n;for(let e in this.workerSources[t]){let r=this.workerSources[t][e];for(let e in r)r[e].availableImages=n}}))}_syncRTLPluginState(t,n){return e._(this,void 0,void 0,(function*(){return yield e.d1.syncState(n,this.self.importScripts)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||=[],t}_getLayerIndex(e){let n=this.layerIndexes[e];return n||=this.layerIndexes[e]=new t,n}_getWorkerSource(e,t,n){var r,i;if((r=this.workerSources)[e]||(r[e]={}),(i=this.workerSources[e])[t]||(i[t]={}),!this.workerSources[e][t][n]){let r={sendAsync:(t,n)=>(t.targetMapId=e,this.actor.sendAsync(t,n))};switch(t){case`vector`:this.workerSources[e][t][n]=new f(r,this._getLayerIndex(e),this._getAvailableImages(e));break;case`geojson`:this.workerSources[e][t][n]=new m(r,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][n]=new this.externalWorkerSourceTypes[t](r,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][n]}_getDEMWorkerSource(e,t){var n,r;return(n=this.demWorkerSources)[e]||(n[e]={}),(r=this.demWorkerSources[e])[t]||(r[t]=new p),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new _(self)),_})),n(`index`,[`exports`,`./shared`],(function(e,t){var n=`5.24.0`;function r(){var e=new t.A(4);return t.A!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e}let i,a,o,s={frame(e,n,r,i){let a=i||window,o=a.requestAnimationFrame((e=>{s(),n(e)})),{unsubscribe:s}=t.s(e.signal,`abort`,(()=>{s(),a.cancelAnimationFrame(o),r(new t.a(e.signal.reason))}),!1)},frameAsync(e,t){return new Promise(((n,r)=>{this.frame(e,n,r,t)}))},getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t=window.document.createElement(`canvas`),n=t.getContext(`2d`,{willReadFrequently:!0});if(!n)throw Error(`failed to create canvas 2d context`);return t.width=e.width,t.height=e.height,n.drawImage(e,0,0,e.width,e.height),n},resolveURL:e=>(i||=document.createElement(`a`),i.href=e,i.href),hardwareConcurrency:typeof navigator<`u`&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return o===void 0?!!matchMedia&&(a??=matchMedia(`(prefers-reduced-motion: reduce)`),a.matches):o},set prefersReducedMotion(e){o=e}},c=new class{constructor(){this._frozenAt=null}getCurrentTime(){return this._frozenAt===null?performance.now():this._frozenAt}setNow(e){this._frozenAt=e}restoreNow(){this._frozenAt=null}isFrozen(){return this._frozenAt!==null}};function l(){return c.getCurrentTime()}var u;class d{static create(e,t,n){let r=window.document.createElement(e);return t!==void 0&&(r.className=t),n&&n.appendChild(r),r}static createNS(e,t){return window.document.createElementNS(e,t)}static disableDrag(){d.docStyle&&d.selectProp&&(d.userSelect=d.docStyle[d.selectProp],d.docStyle[d.selectProp]=`none`)}static enableDrag(){d.docStyle&&d.selectProp&&(d.docStyle[d.selectProp]=d.userSelect)}static suppressClickInternal(e){e.preventDefault(),e.stopPropagation(),window.removeEventListener(`click`,d.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(`click`,d.suppressClickInternal,!0),window.setTimeout((()=>{window.removeEventListener(`click`,d.suppressClickInternal,!0)}),0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,n,r){let i=n.boundingClientRect;return new t.P((r.clientX-i.left)/n.x-e.clientLeft,(r.clientY-i.top)/n.y-e.clientTop)}static mousePos(e,t){let n=d.getScale(e);return d.getPoint(e,n,t)}static touchPos(e,t){let n=[],r=d.getScale(e);for(let i of t)n.push(d.getPoint(e,r,i));return n}static sanitize(e){let t=new DOMParser().parseFromString(e,`text/html`).body||document.createElement(`body`),n=t.querySelectorAll(`script`);for(let e of n)e.remove();return d.clean(t),t.innerHTML}static isPossiblyDangerous(e,t){let n=t.replace(/\s+/g,``).toLowerCase();return!(![`src`,`href`,`xlink:href`].includes(e)||!n.includes(`javascript:`)&&!n.includes(`data:`))||!!e.startsWith(`on`)||void 0}static clean(e){let t=e.children;for(let e of t)d.removeAttributes(e),d.clean(e)}static removeAttributes(e){for(let{name:t,value:n}of e.attributes)d.isPossiblyDangerous(t,n)&&e.removeAttribute(t)}}d.docStyle=typeof window<`u`&&window.document?.documentElement.style,d.selectProp=!d.docStyle||`userSelect`in d.docStyle?`userSelect`:`webkitUserSelect`,function(e){let n,r,i,a;e.resetRequestQueue=()=>{n=[],r=0,i=0,a={}},e.addThrottleControl=e=>{let t=i++;return a[t]=e,t},e.removeThrottleControl=e=>{delete a[e],s()},e.getImage=(e,r,i=!0)=>new Promise(((a,o)=>{e.headers||={},e.headers.accept=`image/webp,*/*`,t.e(e,{type:`image`}),n.push({abortController:r,requestParameters:e,supportImageRefresh:i,state:`queued`,onError:e=>{o(e)},onSuccess:e=>{a(e)}}),s()}));let o=e=>t._(this,void 0,void 0,(function*(){e.state=`running`;let{requestParameters:n,supportImageRefresh:i,onError:a,onSuccess:o,abortController:l}=e,u=!1===i&&!t.i(self)&&!t.g(n.url)&&(!n.headers||Object.keys(n.headers).reduce(((e,t)=>e&&t===`accept`),!0));r++;let d=u?c(n,l):t.m(n,l);try{let n=yield d;delete e.abortController,e.state=`completed`,n.data instanceof HTMLImageElement||t.b(n.data)?o(n):n.data&&o({data:yield(f=n.data,typeof createImageBitmap==`function`?t.h(f):t.j(f)),cacheControl:n.cacheControl,expires:n.expires})}catch(n){delete e.abortController,a(t.d(n))}finally{r--,s()}var f})),s=()=>{let e=(()=>{for(let e of Object.keys(a))if(a[e]())return!0;return!1})()?t.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=r;t<e&&n.length>0;t++){let e=n.shift();e.abortController.signal.aborted?t--:o(e)}},c=(e,n)=>new Promise(((r,i)=>{let a=new Image,o=e.url,s=e.credentials;s&&s===`include`?a.crossOrigin=`use-credentials`:(s&&s===`same-origin`||!t.f(o))&&(a.crossOrigin=`anonymous`),n.signal.addEventListener(`abort`,(()=>{a.src=``,i(new t.a(n.signal.reason))})),a.fetchPriority=`high`,a.onload=()=>{a.onerror=a.onload=null,r({data:a})},a.onerror=()=>{a.onerror=a.onload=null,n.signal.aborted||i(Error(`Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))},a.src=o}))}(u||={}),u.resetRequestQueue();class f{constructor(e){this._transformRequestFn=e??null}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function p(e){let t=[];if(typeof e==`string`)t.push({id:`default`,url:e});else if(e&&e.length>0){let n=[];for(let{id:r,url:i}of e){let e=`${r}${i}`;n.includes(e)||(n.push(e),t.push({id:r,url:i}))}}return t}function m(e,t,n){try{let r=new URL(e);return r.pathname+=`${t}${n}`,r.toString()}catch{throw Error(`Invalid sprite URL "${e}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}function h(e){let{userImage:t}=e;return!(!t?.render||!t.render()||(e.data.replace(new Uint8Array(t.data.buffer)),0))}class g extends t.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.R({width:1,height:1}),this.dirty=!0}destroy(){this.atlasTexture&&=(this.atlasTexture.destroy(),null);for(let e of Object.keys(this.images))this.removeImage(e);this.patterns={},this.atlasImage=new t.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let n=this.images[e];if(n&&!n.data&&n.spriteData){let e=n.spriteData;n.data=new t.R({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),n.spriteData=null}return n}addImage(e,t){if(this.images[e])throw Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t)}_validate(e,n){let r=!0,i=n.data||n.spriteData;return this._validateStretch(n.stretchX,i?.width)||(this.fire(new t.l(Error(`Image "${e}" has invalid "stretchX" value`))),r=!1),this._validateStretch(n.stretchY,i?.height)||(this.fire(new t.l(Error(`Image "${e}" has invalid "stretchY" value`))),r=!1),this._validateContent(n.content,n)||(this.fire(new t.l(Error(`Image "${e}" has invalid "content" value`))),r=!1),r}_validateStretch(e,t){if(!e)return!0;let n=0;for(let r of e){if(r[0]<n||r[1]<r[0]||t<r[1])return!1;n=r[1]}return!0}_validateContent(e,t){if(!e)return!0;if(e.length!==4)return!1;let n=t.spriteData,r=n?.width||t.data.width,i=n?.height||t.data.height;return!(e[0]<0||r<e[0]||e[1]<0||i<e[1]||e[2]<0||r<e[2]||e[3]<0||i<e[3]||e[2]<e[0]||!(e[3]>=e[1]))}updateImage(e,t,n=!0){let r=this.getImage(e);if(n&&(r.data.width!==t.data.width||r.data.height!==t.data.height))throw Error(`size mismatch between old image (${r.data.width}x${r.data.height}) and new image (${t.data.width}x${t.data.height}).`);t.version=r.version+1,this.images[e]=t,this.updatedImages[e]=!0}removeImage(e){var t;let n=this.images[e];delete this.images[e],delete this.patterns[e],(t=n.userImage)!=null&&t.onRemove&&n.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(e){return new Promise(((t,n)=>{let r=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(r=!1);this.isLoaded()||r?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})}))}_getImagesForIds(e){let n={};for(let r of e){let e=this.getImage(r);e||=(this.fire(new t.n(`styleimagemissing`,{id:r})),this.getImage(r)),e?n[r]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!!e.userImage?.render}:t.w(`Image "${r}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return n}getPixelSize(){let{width:e,height:t}=this.atlasImage;return{width:e,height:t}}getPattern(e){let n=this.patterns[e],r=this.getImage(e);if(!r)return null;if(n&&n.position.version===r.version)return n.position;if(n)n.position.version=r.version;else{let n={w:r.data.width+2,h:r.data.height+2,x:0,y:0},i=new t.I(n,r);this.patterns[e]={bin:n,position:i}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){let n=e.gl;this.atlasTexture?this.dirty&&=(this.atlasTexture.update(this.atlasImage),!1):this.atlasTexture=new t.T(e,this.atlasImage,n.RGBA),this.atlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}_updatePatternAtlas(){let e=[];for(let t in this.patterns)e.push(this.patterns[t].bin);let{w:n,h:r}=t.p(e),i=this.atlasImage;i.resize({width:n||1,height:r||1});for(let e in this.patterns){let{bin:n}=this.patterns[e],r=n.x+1,a=n.y+1,o=this.getImage(e).data,s=o.width,c=o.height;t.R.copy(o,i,{x:0,y:0},{x:r,y:a},{width:s,height:c}),t.R.copy(o,i,{x:0,y:c-1},{x:r,y:a-1},{width:s,height:1}),t.R.copy(o,i,{x:0,y:0},{x:r,y:a+c},{width:s,height:1}),t.R.copy(o,i,{x:s-1,y:0},{x:r-1,y:a},{width:1,height:c}),t.R.copy(o,i,{x:0,y:0},{x:r+s,y:a},{width:1,height:c})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let n of e){if(this.callbackDispatchedThisFrame[n])continue;this.callbackDispatchedThisFrame[n]=!0;let e=this.getImage(n);e||t.w(`Image with ID: "${n}" was not found`),h(e)&&this.updateImage(n,e)}}cloneImages(){let e={};for(let t in this.images){let n=this.images[t];e[t]=Object.assign(Object.assign({},n),{data:n.data?n.data.clone():null})}return e}}let _=0x56bc75e2d63100000,v=new Float64Array(256);for(let e=0;e<256;e++){let t=.5-(e/255)**(1/2.2);v[e]=t*Math.abs(t)}function y(e,t,n,r,i,a,o,s,c){for(let l=t;l<t+r;l++)b(e,n*a+l,a,i,o,s,c);for(let l=n;l<n+i;l++)b(e,l*a+t,1,r,o,s,c)}function b(e,t,n,r,i,a,o){a[0]=0,o[0]=-0x56bc75e2d63100000,o[1]=_,i[0]=e[t];for(let s=1,c=0,l=0;s<r;s++){i[s]=e[t+s*n];let r=s*s;do{let e=a[c];l=(i[s]-i[e]+r-e*e)/(s-e)/2}while(l<=o[c]&&--c>-1);c++,a[c]=s,o[c]=l,o[c+1]=_}for(let s=0,c=0;s<r;s++){for(;o[c+1]<s;)c++;let r=a[c],l=s-r;e[t+s*n]=i[r]+l*l}}v[255]=-0x56bc75e2d63100000;let x=t.v.layout_symbol[`text-font`].default.join(`,`);class S{constructor(e,t,n){this.requestManager=e,this.localIdeographFontFamily=t,this.entries={},this.lang=n}setURL(e){this.url=e}getGlyphs(e){return t._(this,void 0,void 0,(function*(){let t=[];for(let n in e)for(let r of e[n])t.push(this._getAndCacheGlyphsPromise(n,r));let n=yield Promise.all(t),r={};for(let{stack:e,id:t,glyph:i}of n)r[e]||(r[e]={}),r[e][t]=i&&{id:i.id,bitmap:i.bitmap.clone(),metrics:i.metrics};return r}))}_getAndCacheGlyphsPromise(e,n){return t._(this,void 0,void 0,(function*(){var t;(t=this.entries)[e]??(t[e]={glyphs:{},requests:{},ranges:{}});let r=this.entries[e],i=r.glyphs[n];return i===void 0?!this.url||this._charUsesLocalIdeographFontFamily(n)?(i=r.glyphs[n]=this._drawGlyph(r,e,n),{stack:e,id:n,glyph:i}):yield this._downloadAndCacheRangePromise(e,n):{stack:e,id:n,glyph:i}}))}_downloadAndCacheRangePromise(e,n){return t._(this,void 0,void 0,(function*(){var r;let i=this.entries[e],a=Math.floor(n/256);if(i.ranges[a])return{stack:e,id:n,glyph:null};(r=i.requests)[a]||(r[a]=S.loadGlyphRange(e,a,this.url,this.requestManager));try{let t=yield i.requests[a];for(let e in t)i.glyphs[+e]=t[+e];return i.ranges[a]=!0,{stack:e,id:n,glyph:t[n]||null}}catch(r){let o=i.glyphs[n]=this._drawGlyph(i,e,n);return this._warnOnMissingGlyphRange(o,a,n,t.d(r)),{stack:e,id:n,glyph:o}}}))}_warnOnMissingGlyphRange(e,n,r,i){let a=256*n,o=a+255,s=r.toString(16).padStart(4,`0`).toUpperCase();t.w(`Unable to load glyph range ${n}, ${a}-${o}. Rendering codepoint U+${s} locally instead. ${i}`)}_charUsesLocalIdeographFontFamily(e){return!!this.localIdeographFontFamily&&t.r(e)}_drawGlyph(e,n,r){let i=n===x&&this.localIdeographFontFamily!==``&&this._charUsesLocalIdeographFontFamily(r),a=i?`ideographTinySDF`:`tinySDF`;e[a]||(e[a]=this._createTinySDF(i?this.localIdeographFontFamily:n));let o=e[a].draw(String.fromCodePoint(r)),s=/^\p{gc=Cf}+$/u.test(String.fromCodePoint(r));return{id:r,bitmap:new t.t({width:o.width||60,height:o.height||60},o.data),metrics:{width:s?0:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:s?0:o.glyphAdvance/2||24,isDoubleResolution:!0}}}_createTinySDF(e){let t=e?e.split(`,`):[];t.push(`sans-serif`);let n=t.map((e=>/[-\w]+/.test(e)?e:`'${CSS.escape(e)}'`)).join(`,`);return new S.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:n,fontWeight:this._fontWeight(t[0]),fontStyle:this._fontStyle(t[0]),lang:this.lang})}_fontStyle(e){return/italic/i.test(e)?`italic`:/oblique/i.test(e)?`oblique`:`normal`}_fontWeight(e){let t={thin:100,hairline:100,"extra light":200,"ultra light":200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,"extra bold":800,"ultra bold":800,black:900,heavy:900,"extra black":950,"ultra black":950},n;for(let[r,i]of Object.entries(t))RegExp(`\\b${r}\\b`,`i`).test(e)&&(n=`${i}`);return n}destroy(){for(let e in this.entries){let t=this.entries[e];t.tinySDF=null,t.ideographTinySDF=null,t.glyphs={},t.requests={},t.ranges={}}this.entries={}}}S.loadGlyphRange=function(e,n,r,i){return t._(this,void 0,void 0,(function*(){let a=256*n,o=a+255,s=yield i.transformRequest(r.replace(`{fontstack}`,e).replace(`{range}`,`${a}-${o}`),`Glyphs`),c=yield t.o(s,new AbortController);if(!c?.data)throw Error(`Could not load glyph range. range: ${n}, ${a}-${o}`);let l={};for(let e of t.q(c.data))l[e.id]=e;return l}))},S.TinySDF=class{constructor({fontSize:e=24,buffer:t=3,radius:n=8,cutoff:r=.25,fontFamily:i=`sans-serif`,fontWeight:a=`normal`,fontStyle:o=`normal`,lang:s=null}={}){this.buffer=t,this.radius=n,this.cutoff=r,this.lang=s;let c=this.size=e+4*t,l=this._createCanvas(c),u=this.ctx=l.getContext(`2d`,{willReadFrequently:!0});u.font=`${o} ${a} ${e}px ${i}`,u.textBaseline=`alphabetic`,u.textAlign=`left`,u.fillStyle=`black`,this.gridOuter=new Float64Array(c*c),this.gridInner=new Float64Array(c*c),this.f=new Float64Array(c),this.z=new Float64Array(c+1),this.v=new Uint16Array(c)}_createCanvas(e){if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(e,e);let t=document.createElement(`canvas`);return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:n,actualBoundingBoxDescent:r,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(n),s=Math.floor(i),c=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a)-s)),l=Math.max(0,Math.min(this.size-this.buffer,o+Math.ceil(r))),u=c+2*this.buffer,d=l+2*this.buffer,f=Math.max(u*d,0),p=new Uint8ClampedArray(f),m={data:p,width:u,height:d,glyphWidth:c,glyphHeight:l,glyphTop:o,glyphLeft:s,glyphAdvance:t};if(c===0||l===0)return m;let{ctx:h,buffer:g,gridInner:b,gridOuter:x}=this;this.lang&&(h.lang=this.lang),h.clearRect(g,g,c,l),h.fillText(e,g-s,g+o);let S=h.getImageData(g,g,c,l);x.fill(_,0,f),b.fill(0,0,f);let C=3;for(let e=0;e<l;e++){let t=(e+g)*u+g;for(let e=0;e<c;e++,C+=4,t++){let e=S.data[C];if(e===0)continue;let n=v[e];x[t]=Math.max(0,n),b[t]=Math.max(0,-n)}}y(x,0,0,u,d,u,this.f,this.v,this.z),y(b,g,g,c,l,u,this.f,this.v,this.z);let w=255/this.radius,T=255*(1-this.cutoff);for(let e=0;e<f;e++){let t=Math.sqrt(x[e])-Math.sqrt(b[e]);p[e]=Math.round(T-w*t)}return m}};class C{constructor(){this.specification=t.x.light.position}possiblyEvaluate(e,n){return t.G(e.expression.evaluate(n))}interpolate(e,n,r){return{x:t.H.number(e.x,n.x,r),y:t.H.number(e.y,n.y,r),z:t.H.number(e.z,n.z,r)}}}let w;class T extends t.E{constructor(e){super(),w||=new t.u({anchor:new t.D(t.x.light.anchor),position:new C,color:new t.D(t.x.light.color),intensity:new t.D(t.x.light.intensity)}),this._transitionable=new t.y(w,void 0),this.setLight(e),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(e,n={}){if(!this._validate(t.z,e,n))for(let n in e){let r=e[n];n.endsWith(t.B)?this._transitionable.setTransition(n.slice(0,-t.B.length),r):this._transitionable.setValue(n,r)}}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,n,r){return!1!==r?.validate&&t.C(this,e.call(t.F,{value:n,style:{glyphs:!0,sprite:!0},styleSpec:t.x}))}}let ee=new t.u({"sky-color":new t.D(t.x.sky[`sky-color`]),"horizon-color":new t.D(t.x.sky[`horizon-color`]),"fog-color":new t.D(t.x.sky[`fog-color`]),"fog-ground-blend":new t.D(t.x.sky[`fog-ground-blend`]),"horizon-fog-blend":new t.D(t.x.sky[`horizon-fog-blend`]),"sky-horizon-blend":new t.D(t.x.sky[`sky-horizon-blend`]),"atmosphere-blend":new t.D(t.x.sky[`atmosphere-blend`])});class E extends t.E{constructor(e){super(),this._transitionable=new t.y(ee,void 0),this.setSky(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new t.J(0))}setSky(e,n={}){if(!this._validate(t.K,e,n)){e||={"sky-color":`transparent`,"horizon-color":`transparent`,"fog-color":`transparent`,"fog-ground-blend":1,"atmosphere-blend":0};for(let n in e){let r=e[n];n.endsWith(t.B)?this._transitionable.setTransition(n.slice(0,-t.B.length),r):this._transitionable.setValue(n,r)}}}getSky(){return this._transitionable.serialize()}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(e,n,r={}){return!1!==r?.validate&&t.C(this,e.call(t.F,t.e({value:n,style:{glyphs:!0,sprite:!0},styleSpec:t.x})))}calculateFogBlendOpacity(e){return e<60?0:e<70?(e-60)/10:1}}class D{constructor(e,t){this.width=e,this.height=t,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(e,t){var n;let r=e.join(`,`)+String(t);return(n=this.dashEntry)[r]||(n[r]=this.addDash(e,t)),this.dashEntry[r]}getDashRanges(e,t,n){let r=[],i=e.length%2==1?-e[e.length-1]*n:0,a=e[0]*n,o=!0;r.push({left:i,right:a,isDash:o,zeroLength:e[0]===0});let s=e[0];for(let t=1;t<e.length;t++){o=!o;let c=e[t];i=s*n,s+=c,a=s*n,r.push({left:i,right:a,isDash:o,zeroLength:c===0})}return r}addRoundDash(e,t,n){let r=t/2;for(let t=-n;t<=n;t++){let i=this.width*(this.nextRow+n+t),a=0,o=e[a];for(let s=0;s<this.width;s++){s/o.right>1&&(o=e[++a]);let c=Math.abs(s-o.left),l=Math.abs(s-o.right),u=Math.min(c,l),d,f=t/n*(r+1);if(o.isDash){let e=r-Math.abs(f);d=Math.sqrt(u*u+e*e)}else d=r-Math.sqrt(u*u+f*f);this.data[i+s]=Math.max(0,Math.min(255,d+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let n=e[t],r=e[t+1];n.zeroLength?e.splice(t,1):r&&r.isDash===n.isDash&&(r.left=n.left,e.splice(t,1))}let t=e[0],n=e[e.length-1];t.isDash===n.isDash&&(t.left=n.left-this.width,n.right=t.right+this.width);let r=this.width*this.nextRow,i=0,a=e[i];for(let t=0;t<this.width;t++){t/a.right>1&&(a=e[++i]);let n=Math.abs(t-a.left),o=Math.abs(t-a.right),s=Math.min(n,o);this.data[r+t]=Math.max(0,Math.min(255,(a.isDash?s:-s)+128))}}addDash(e,n){let r=n?7:0,i=2*r+1;if(this.nextRow+i>this.height)return t.w(`LineAtlas out of space`),null;let a=0;for(let t of e)a+=t;if(a!==0){let t=this.width/a,i=this.getDashRanges(e,this.width,t);n?this.addRoundDash(i,t,r):this.addRegularDash(i)}let o={y:this.nextRow+r,height:2*r,width:a};return this.nextRow+=i,this.dirty=!0,o}bind(e){let t=e.gl;this.texture?(t.bindTexture(t.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,t.texSubImage2D(t.TEXTURE_2D,0,0,0,this.width,this.height,t.ALPHA,t.UNSIGNED_BYTE,this.data))):(this.texture=t.createTexture(),t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.REPEAT),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.ALPHA,this.width,this.height,0,t.ALPHA,t.UNSIGNED_BYTE,this.data))}}let O=`maplibre_preloaded_worker_pool`;class k{constructor(){this.active={}}acquire(e){if(!this.workers)for(this.workers=[];this.workers.length<k.workerCount;)this.workers.push(new Worker(t.c.WORKER_URL));return this.active[e]=!0,this.workers.slice()}release(e){if(delete this.active[e],this.numActive()===0){for(let e of this.workers)e.terminate();this.workers=null}}isPreloaded(){return!!this.active[O]}numActive(){return Object.keys(this.active).length}}let te=Math.floor(s.hardwareConcurrency/2),ne,A;function re(){return ne||=new k,ne}k.workerCount=t.L(globalThis)?Math.max(Math.min(te,3),1):1;class ie{constructor(e,n){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=n;let r=this.workerPool.acquire(n);for(let e=0;e<r.length;e++){let i=new t.N(r[e],n);i.name=`Worker ${e}`,this.actors.push(i)}if(!this.actors.length)throw Error(`No actors found`)}broadcast(e,t){let n=[];for(let r of this.actors)n.push(r.sendAsync({type:e,data:t}));return Promise.all(n)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(e=!0){for(let e of this.actors)e.remove();this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,t){for(let n of this.actors)n.registerMessageHandler(e,t)}unregisterMessageHandler(e){for(let t of this.actors)t.unregisterMessageHandler(e)}}function ae(){return A||(A=new ie(re(),t.M),A.registerMessageHandler(`GR`,((e,n,r)=>t.m(n,r)))),A}function oe(e,n){let r=t.O();return t.Q(r,r,[1,1,0]),t.S(r,r,[.5*e.width,.5*e.height,1]),e.calculatePosMatrix?t.U(r,r,e.calculatePosMatrix(n.toUnwrapped())):r}function se(e,t,n,r,i,a,o){let s=function(e,t,n){if(e)for(let r of e){let e=t[r];if(e?.source===n&&e.type===`fill-extrusion`)return!0}else for(let e in t){let r=t[e];if(r.source===n&&r.type===`fill-extrusion`)return!0}return!1}(i?.layers??null,t,e.id),c=a.maxPitchScaleFactor(),l=e.tilesIn(r,c,s);l.sort(ce);let u=[];for(let r of l)u.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(t,n,e.getState(),r.queryGeometry,r.cameraQueryGeometry,r.scale,i,a,c,oe(a,r.tileID),o?(e,t)=>o(r.tileID,e,t):void 0)});return function(e,t){for(let n in e)for(let r of e[n])le(r,t);return e}(function(e){let t={},n={};for(let{queryResults:r,wrappedTileID:i}of e){n[i]||(n[i]={});let e=n[i];for(let n in r){let i=r[n];e[n]||(e[n]={});let a=e[n];t[n]||(t[n]=[]);for(let e of i)a[e.featureIndex]||(a[e.featureIndex]=!0,t[n].push(e))}}return t}(u),e)}function ce(e,t){let n=e.tileID,r=t.tileID;return n.overscaledZ-r.overscaledZ||n.canonical.y-r.canonical.y||n.wrap-r.wrap||n.canonical.x-r.canonical.x}function le(e,t){let n=e.feature,r=t.getFeatureState(n.layer[`source-layer`],n.id);n.source=n.layer.source,n.layer[`source-layer`]&&(n.sourceLayer=n.layer[`source-layer`]),n.state=r}function ue(e,n,r,i){return t._(this,void 0,void 0,(function*(){let a=e;if(e.url?a=(yield t.k(yield n.transformRequest(e.url,`Source`),r)).data:yield s.frameAsync(r,i),!a)return null;let o=t.V(t.e(a,e),[`tiles`,`minzoom`,`maxzoom`,`attribution`,`bounds`,`scheme`,`tileSize`,`encoding`]);return`vector_layers`in a&&a.vector_layers&&(o.vectorLayerIds=a.vector_layers.map((e=>e.id))),o}))}class de{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof t.W?new t.W(e.lng,e.lat):t.W.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.W?new t.W(e.lng,e.lat):t.W.convert(e),this}extend(e){let n=this._sw,r=this._ne,i,a;if(e instanceof t.W)i=e,a=e;else{if(!(e instanceof de))return Array.isArray(e)?e.length===4||e.every(Array.isArray)?this.extend(de.convert(e)):this.extend(t.W.convert(e)):e&&(`lng`in e||`lon`in e)&&`lat`in e?this.extend(t.W.convert(e)):this;if(i=e._sw,a=e._ne,!i||!a)return this}return n||r?(n.lng=Math.min(i.lng,n.lng),n.lat=Math.min(i.lat,n.lat),r.lng=Math.max(a.lng,r.lng),r.lat=Math.max(a.lat,r.lat)):(this._sw=new t.W(i.lng,i.lat),this._ne=new t.W(a.lng,a.lat)),this}getCenter(){return new t.W((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new t.W(this.getWest(),this.getNorth())}getSouthEast(){return new t.W(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){let{lng:n,lat:r}=t.W.convert(e),i=this._sw.lng<=n&&n<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=n&&n>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&i}intersects(e){if(!((e=de.convert(e)).getNorth()>=this.getSouth()&&e.getSouth()<=this.getNorth()))return!1;let n=Math.abs(this.getEast()-this.getWest()),r=Math.abs(e.getEast()-e.getWest());if(n>=360||r>=360)return!0;let i=t.X(this.getWest(),-180,180),a=t.X(this.getEast(),-180,180),o=t.X(e.getWest(),-180,180),s=t.X(e.getEast(),-180,180),c=i>a,l=o>s;return!(!c||!l)||(c?s>=i||o<=a:l?a>=o||i<=s:o<=a&&s>=i)}static convert(e){return e instanceof de?e:e&&new de(e)}static fromLngLat(e,n=0){let r=360*n/40075017,i=r/Math.cos(Math.PI/180*e.lat);return new de(new t.W(e.lng-i,e.lat-r),new t.W(e.lng+i,e.lat+r))}adjustAntiMeridian(){let e=new t.W(this._sw.lng,this._sw.lat),n=new t.W(this._ne.lng,this._ne.lat);return new de(e,e.lng>n.lng?new t.W(n.lng+360,n.lat):n)}}class fe{constructor(e,t,n){this.bounds=de.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=n||24}validateBounds(e){return Array.isArray(e)&&e.length===4?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){let n=2**e.z,r=Math.floor(t.Z(this.bounds.getWest())*n),i=Math.floor(t.Y(this.bounds.getNorth())*n),a=Math.ceil(t.Z(this.bounds.getEast())*n),o=Math.ceil(t.Y(this.bounds.getSouth())*n);return e.x>=r&&e.x<a&&e.y>=i&&e.y<o}}class pe extends t.E{constructor(e,n,r,i){if(super(),this.id=e,this.dispatcher=r,this.type=`vector`,this.minzoom=0,this.maxzoom=22,this.scheme=`xyz`,this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.e(this,t.V(n,[`url`,`scheme`,`tileSize`,`promoteId`,`encoding`])),this._options=t.e({type:`vector`},n),this._collectResourceTiming=n.collectResourceTiming,this.tileSize!==512)throw Error(`vector tile sources must have a tileSize of 512`);this.setEventedParent(i)}load(){return t._(this,arguments,void 0,(function*(e=!1){this._loaded=!1,this.fire(new t.n(`dataloading`,{dataType:`source`})),this._tileJSONRequest=new AbortController;try{let n=yield ue(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,n&&(t.e(this,n),n.bounds&&(this.tileBounds=new fe(n.bounds,this.minzoom,this.maxzoom)),this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`metadata`})),this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this._loaded=!0,t.$(e)||this.fire(new t.l(t.d(e)))}}))}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}setSourceProperty(e){this._tileJSONRequest&&this._tileJSONRequest.abort(),e(),this.load(!0)}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}serialize(){return t.e({},this._options)}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n={request:yield this.map._requestManager.transformRequest(t,`Tile`),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity,encoding:this.encoding,overzoomParameters:yield this._getOverzoomParameters(e),etag:e.etag};n.request.collectResourceTiming=this._collectResourceTiming;let r=`RT`;if(e.actor&&e.state!==`expired`){if(e.state===`loading`)return new Promise(((t,n)=>{e.reloadPromise={resolve:t,reject:n}}))}else e.actor=this.dispatcher.getActor(),r=`LT`;e.abortController=new AbortController;try{let t=yield e.actor.sendAsync({type:r,data:n},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t);let i={};return t!=null&&t.etagUnmodified&&(i.unmodified=!0),i}catch(t){if(delete e.abortController,e.aborted)return;if(t&&t.status!==404)throw t;this._afterTileLoadWorkerResponse(e,null)}}))}_getOverzoomParameters(e){return t._(this,void 0,void 0,(function*(){if(e.tileID.canonical.z<=this.maxzoom||this.map._zoomLevelsToOverscale===void 0)return;let t=e.tileID.scaledTo(this.maxzoom).canonical,n=t.url(this.tiles,this.map.getPixelRatio(),this.scheme);return{maxZoomTileID:t,overzoomRequest:yield this.map._requestManager.transformRequest(n,`Tile`)}}))}_afterTileLoadWorkerResponse(e,t){if(t!=null&&t.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.etag=t?.etag,e.loadVectorData(t,this.map.painter),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:`AT`,data:{uid:e.uid,type:this.type,source:this.id}}))}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class me extends t.E{constructor(e,n,r,i){super(),this.id=e,this.dispatcher=r,this.setEventedParent(i),this.type=`raster`,this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=`xyz`,this.tileSize=512,this._loaded=!1,this._options=t.e({type:`raster`},n),t.e(this,t.V(n,[`url`,`scheme`,`tileSize`]))}load(){return t._(this,arguments,void 0,(function*(e=!1){this._loaded=!1,this.fire(new t.n(`dataloading`,{dataType:`source`})),this._tileJSONRequest=new AbortController;try{let n=yield ue(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,n&&(t.e(this,n),n.bounds&&(this.tileBounds=new fe(n.bounds,this.minzoom,this.maxzoom)),this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`metadata`})),this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`content`,sourceDataChanged:e})))}catch(e){this._tileJSONRequest=null,this._loaded=!0,t.$(e)||this.fire(new t.l(t.d(e)))}}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null)}setSourceProperty(e){this._tileJSONRequest&&=(this._tileJSONRequest.abort(),null),e(),this.load(!0)}setTiles(e){return this.setSourceProperty((()=>{this._options.tiles=e})),this}setUrl(e){return this.setSourceProperty((()=>{this.url=e,this._options.url=e})),this}serialize(){return t.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return t._(this,void 0,void 0,(function*(){let n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{let r=yield u.getImage(yield this.map._requestManager.transformRequest(n,`Tile`),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state=`unloaded`);if(r?.data){this.map._refreshExpiredTiles&&(r.cacheControl||r.expires)&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let n=this.map.painter.context,i=n.gl,a=r.data;e.texture=this.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new t.T(n,a,i.RGBA,{useMipmap:!0}),e.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST)),e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)}))}hasTransition(){return!1}}class he extends me{constructor(e,n,r,i){super(e,n,r,i),this.type=`raster-dem`,this.maxzoom=22,this._options=t.e({type:`raster-dem`},n),this.encoding=n.encoding||`mapbox`,this.redFactor=n.redFactor,this.greenFactor=n.greenFactor,this.blueFactor=n.blueFactor,this.baseShift=n.baseShift}loadTile(e){return t._(this,void 0,void 0,(function*(){let n=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r=yield this.map._requestManager.transformRequest(n,`Tile`);e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let n=yield u.getImage(r,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state=`unloaded`);if(n?.data){let r=n.data;this.map._refreshExpiredTiles&&(n.cacheControl||n.expires)&&e.setExpiryData({cacheControl:n.cacheControl,expires:n.expires});let i=t.b(r)&&t.a0()?r:yield this.readImageNow(r),a={type:this.type,uid:e.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(e.actor&&e.state!==`expired`&&e.state!==`reloading`)return;e.actor&&e.state!==`expired`||(e.actor=this.dispatcher.getActor()),e.dem=yield e.actor.sendAsync({type:`LDT`,data:a}),e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state=`loaded`}}catch(t){if(delete e.abortController,e.aborted)e.state=`unloaded`;else if(t)throw e.state=`errored`,t}}))}readImageNow(e){return t._(this,void 0,void 0,(function*(){if(typeof VideoFrame<`u`&&t.a1()){let n=e.width+2,r=e.height+2;try{return new t.R({width:n,height:r},yield t.a2(e,-1,-1,n,r))}catch{}}return s.getImageData(e,1)}))}_getNeighboringTiles(e){let n=e.canonical,r=2**n.z,i=(n.x-1+r)%r,a=n.x===0?e.wrap-1:e.wrap,o=(n.x+1+r)%r,s=n.x+1===r?e.wrap+1:e.wrap,c={};return c[new t.a3(e.overscaledZ,a,n.z,i,n.y).key]={backfilled:!1},c[new t.a3(e.overscaledZ,s,n.z,o,n.y).key]={backfilled:!1},n.y>0&&(c[new t.a3(e.overscaledZ,a,n.z,i,n.y-1).key]={backfilled:!1},c[new t.a3(e.overscaledZ,e.wrap,n.z,n.x,n.y-1).key]={backfilled:!1},c[new t.a3(e.overscaledZ,s,n.z,o,n.y-1).key]={backfilled:!1}),n.y+1<r&&(c[new t.a3(e.overscaledZ,a,n.z,i,n.y+1).key]={backfilled:!1},c[new t.a3(e.overscaledZ,e.wrap,n.z,n.x,n.y+1).key]={backfilled:!1},c[new t.a3(e.overscaledZ,s,n.z,o,n.y+1).key]={backfilled:!1}),c}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.demTexture&&this.map.painter.saveTileTexture(e.demTexture),e.fbo&&(e.fbo.destroy(),delete e.fbo),e.dem&&delete e.dem,delete e.neighboringTiles,e.state=`unloaded`,e.actor&&(yield e.actor.sendAsync({type:`RDT`,data:{type:this.type,uid:e.uid,source:this.id}}))}))}}function ge(e,t){return t?e.properties[t]:e.id}function _e(e,t){let n={id:e.id};if(t.removeAllProperties&&(delete e.removeProperties,delete e.addOrUpdateProperties,delete t.removeProperties),t.removeProperties)for(let n of t.removeProperties){let t=e.addOrUpdateProperties.findIndex((e=>e.key===n));t>-1&&e.addOrUpdateProperties.splice(t,1)}return(e.removeAllProperties||t.removeAllProperties)&&(n.removeAllProperties=!0),(e.removeProperties||t.removeProperties)&&(n.removeProperties=[...e.removeProperties||[],...t.removeProperties||[]]),(e.addOrUpdateProperties||t.addOrUpdateProperties)&&(n.addOrUpdateProperties=[...e.addOrUpdateProperties||[],...t.addOrUpdateProperties||[]]),(e.newGeometry||t.newGeometry)&&(n.newGeometry=t.newGeometry||e.newGeometry),n}function ve(e){if(!e)return{};let t={};return t.removeAll=e.removeAll,t.remove=new Set(e.remove||[]),t.add=new Map(e.add?.map((e=>[e.id,e]))),t.update=new Map(e.update?.map((e=>[e.id,e]))),t}function ye(e){return e&&e.length!==0?typeof e[0]==`number`?[e]:e.flatMap((e=>ye(e))):[]}function be(e){return e.type===`GeometryCollection`?e.geometries.flatMap((e=>be(e))):ye(e.coordinates)}function xe(e){let t=new de,n;switch(e.type){case`FeatureCollection`:n=e.features.flatMap((e=>be(e.geometry)));break;case`Feature`:n=be(e.geometry);break;default:n=be(e)}if(n.length===0)return t;for(let e of n){let[n,r]=e;t.extend([n,r])}return t}class Se extends t.E{constructor(e,n,r,i){super(),this.id=e,this.type=`geojson`,this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._isUpdatingWorker=!1,this._pendingWorkerUpdate={data:n.data},this.actor=r.getActor(),this.setEventedParent(i),this._data=typeof n.data==`string`?{url:n.data}:{geojson:n.data},this._options=t.e({},n),this._collectResourceTiming=n.collectResourceTiming,n.maxzoom!==void 0&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId,n.clusterMaxZoom!==void 0&&this.maxzoom<=n.clusterMaxZoom&&t.w(`The maxzoom value "${this.maxzoom}" is expected to be greater than the clusterMaxZoom value "${n.clusterMaxZoom}".`),this.workerOptions=t.e({source:this.id,geojsonVtOptions:{buffer:this._pixelsToTileUnits(n.buffer===void 0?128:n.buffer),tolerance:this._pixelsToTileUnits(n.tolerance===void 0?.375:n.tolerance),extent:t.a6,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1,promoteId:typeof n.promoteId==`string`?n.promoteId:void 0,cluster:n.cluster||!1,clusterOptions:{maxZoom:this._getClusterMaxZoom(n.clusterMaxZoom),minPoints:Math.max(2,n.clusterMinPoints||2),extent:t.a6,radius:this._pixelsToTileUnits(n.clusterRadius||50),log:!1,generateId:n.generateId||!1}},clusterProperties:n.clusterProperties,filter:n.filter},n.workerOptions)}_hasPendingWorkerUpdate(){return this._pendingWorkerUpdate.data!==void 0||this._pendingWorkerUpdate.diff!==void 0||this._pendingWorkerUpdate.updateCluster}_pixelsToTileUnits(e){return e*(t.a6/this.tileSize)}_getClusterMaxZoom(e){let n=e?Math.round(e):this.maxzoom-1;return Number.isInteger(e)||e===void 0||t.w(`Integer expected for option 'clusterMaxZoom': provided value "${e}" rounded to "${n}"`),n}load(){return t._(this,void 0,void 0,(function*(){yield this._updateWorkerData()}))}onAdd(e){this.map=e,this.load()}setData(e,t){this._data=typeof e==`string`?{url:e}:{geojson:e},this._pendingWorkerUpdate={data:e};let n=this._updateWorkerData();return t?n:this}updateData(e,t){this._pendingWorkerUpdate.diff=function(e,t){if(!e)return t||{};if(!t)return e||{};let n=ve(e),r=ve(t);(function(e,t){t.removeAll&&(e.add.clear(),e.update.clear(),e.remove.clear(),t.remove.clear());for(let n of t.remove)e.add.delete(n),e.update.delete(n);for(let[n,r]of t.update){let i=e.update.get(n);i&&(t.update.set(n,_e(i,r)),e.update.delete(n))}})(n,r);let i={};if((n.removeAll||r.removeAll)&&(i.removeAll=!0),i.remove=new Set([...n.remove,...r.remove]),i.add=new Map([...n.add,...r.add]),i.update=new Map([...n.update,...r.update]),i.remove.size&&i.add.size)for(let e of i.add.keys())i.remove.delete(e);return function(e){let t={};return e.removeAll&&(t.removeAll=e.removeAll),e.remove&&(t.remove=Array.from(e.remove)),e.add&&(t.add=Array.from(e.add.values())),e.update&&(t.update=Array.from(e.update.values())),t}(i)}(this._pendingWorkerUpdate.diff,e);let n=this._updateWorkerData();return t?n:this}getData(){return t._(this,void 0,void 0,(function*(){return this._data.url&&(yield this.once(`data`)),this._data.geojson?this._data.geojson:{type:`FeatureCollection`,features:Array.from(this._data.updateable.values())}}))}getBounds(){return t._(this,void 0,void 0,(function*(){return xe(yield this.getData())}))}setClusterOptions(e){return this.workerOptions.geojsonVtOptions.cluster=e.cluster,e.clusterRadius!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.radius=this._pixelsToTileUnits(e.clusterRadius)),e.clusterMaxZoom!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.maxZoom=this._getClusterMaxZoom(e.clusterMaxZoom)),this._pendingWorkerUpdate.updateCluster=!0,this._updateWorkerData(),this}getClusterExpansionZoom(e){return this.actor.sendAsync({type:`GCEZ`,data:{type:this.type,clusterId:e,source:this.id}})}getClusterChildren(e){return this.actor.sendAsync({type:`GCC`,data:{type:this.type,clusterId:e,source:this.id}})}getClusterLeaves(e,t,n){return this.actor.sendAsync({type:`GCL`,data:{type:this.type,source:this.id,clusterId:e,limit:t,offset:n}})}_updateWorkerData(){return t._(this,void 0,void 0,(function*(){if(this._isUpdatingWorker)return;if(!this._hasPendingWorkerUpdate())return void t.w(`No pending worker updates for GeoJSONSource ${this.id}.`);let{data:e,diff:n,updateCluster:r}=this._pendingWorkerUpdate,i=this._getLoadGeoJSONParameters(e,n,r);e===void 0?n?this._pendingWorkerUpdate.diff=void 0:r&&(this._pendingWorkerUpdate.updateCluster=void 0):this._pendingWorkerUpdate.data=void 0,yield this._dispatchWorkerUpdate(i)}))}_getLoadGeoJSONParameters(e,n,r){return t._(this,void 0,void 0,(function*(){let i=t.e({type:this.type},this.workerOptions);return typeof e==`string`?(i.request=yield this.map._requestManager.transformRequest(s.resolveURL(e),`Source`),i.request.collectResourceTiming=this._collectResourceTiming,i):e===void 0?n?(i.dataDiff=n,i):r?(i.updateCluster=!0,i):void 0:(i.data=e,i)}))}_dispatchWorkerUpdate(e){return t._(this,void 0,void 0,(function*(){this._isUpdatingWorker=!0,this.fire(new t.n(`dataloading`,{dataType:`source`}));try{let n=yield e,r=yield this.actor.sendAsync({type:`LD`,data:n});if(this._isUpdatingWorker=!1,this._removed||r.abandoned)return void this.fire(new t.n(`dataabort`,{dataType:`source`}));r.data&&(this._data={geojson:r.data});let i=this._applyDiffToSource(n.dataDiff),a=this._getShouldReloadTileOptions(i),o={dataType:`source`};this._applyResourceTiming(o,r),this.fire(new t.n(`data`,Object.assign(Object.assign({},o),{sourceDataType:`metadata`}))),this.fire(new t.n(`data`,Object.assign(Object.assign({},o),{sourceDataType:`content`,shouldReloadTileOptions:a})))}catch(e){if(this._isUpdatingWorker=!1,this._removed)return void this.fire(new t.n(`dataabort`,{dataType:`source`}));this.fire(new t.l(t.d(e)))}finally{this._hasPendingWorkerUpdate()&&this._updateWorkerData()}}))}_applyResourceTiming(e,n){if(!this._collectResourceTiming)return;let r=n.resourceTiming?.[this.id];if(!r)return;let i=r.slice(0);i!=null&&i.length&&t.e(e,{resourceTiming:i})}_applyDiffToSource(e){if(!e)return;let t=typeof this.promoteId==`string`?this.promoteId:void 0;if(!this._data.url&&!this._data.updateable){let e=function(e,t){let n=new Map;if(e==null||e.type==null)return n;if(e.type===`Feature`){let r=ge(e,t);return r==null?void 0:(n.set(r,e),n)}if(e.type===`FeatureCollection`){let r=new Set;for(let i of e.features){let e=ge(i,t);if(e==null||r.has(e))return;r.add(e),n.set(e,i)}return n}}(this._data.geojson,t);if(!e)throw Error(`GeoJSONSource "${this.id}": GeoJSON data is not compatible with updateData`);this._data={updateable:e}}if(!this._data.updateable)return;let n=function(e,t,n){let r=[];if(t.removeAll)e.clear();else if(t.remove)for(let n of t.remove){let t=e.get(n);t&&(r.push(t.geometry),e.delete(n))}if(t.add)for(let i of t.add){let t=ge(i,n);if(t==null)continue;let a=e.get(t);a&&r.push(a.geometry),r.push(i.geometry),e.set(t,i)}if(t.update)for(let n of t.update){let t=e.get(n.id);if(!t)continue;let i=!!n.newGeometry,a=n.removeAllProperties||n.removeProperties?.length>0||n.addOrUpdateProperties?.length>0;if(!i&&!a)continue;r.push(t.geometry);let o=Object.assign({},t);if(e.set(n.id,o),i&&(r.push(n.newGeometry),o.geometry=n.newGeometry),a){if(o.properties=n.removeAllProperties?{}:Object.assign({},o.properties||{}),n.removeProperties)for(let e of n.removeProperties)delete o.properties[e];if(n.addOrUpdateProperties)for(let{key:e,value:t}of n.addOrUpdateProperties)o.properties[e]=t}}return r}(this._data.updateable,e,t);return e.removeAll||this._options.cluster?void 0:n}_getShouldReloadTileOptions(e){if(e)return{affectedBounds:e.filter(Boolean).map((e=>xe(e)))}}shouldReloadTile(e,{affectedBounds:n}){if(e.state===`loading`)return!0;if(e.state===`unloaded`)return!1;let{buffer:r,extent:i}=this.workerOptions.geojsonVtOptions,a=function({x:e,y:n,z:r},i=0){let a=t.a4((e-i)/2**r),o=t.a5((n+1+i)/2**r),s=t.a4((e+1+i)/2**r),c=t.a5((n-i)/2**r);return new de([a,o],[s,c])}(e.tileID.canonical,r/i);for(let e of n)if(a.intersects(e))return!0;return!1}loaded(){return!this._isUpdatingWorker&&!this._hasPendingWorkerUpdate()}loadTile(e){return t._(this,void 0,void 0,(function*(){let t=e.actor?`RT`:`LT`;e.actor=this.actor;let n={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};e.abortController=new AbortController;let r=yield this.actor.sendAsync({type:t,data:n},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(r,this.map.painter,t===`RT`)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0}))}unloadTile(e){return t._(this,void 0,void 0,(function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:`RMT`,data:{uid:e.uid,type:this.type,source:this.id}})}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:`RS`,data:{type:this.type,source:this.id}})}serialize(){return t.e({},this._options,{type:this.type,data:this._data.updateable?{type:`FeatureCollection`,features:Array.from(this._data.updateable.values())}:this._data.url||this._data.geojson})}hasTransition(){return!1}}class Ce extends t.E{constructor(e,t,n,r){super(),this.flippedWindingOrder=!1,this.id=e,this.dispatcher=n,this.coordinates=t.coordinates,this.type=`image`,this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=t}load(e){return t._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new t.n(`dataloading`,{dataType:`source`})),this.url=this.options.url,this._request=new AbortController;try{let t=yield u.getImage(yield this.map._requestManager.transformRequest(this.url,`Image`),this._request);this._request=null,this._loaded=!0,t!=null&&t.data&&(this.image=t.data,e&&(this.coordinates=e),this._finishLoading())}catch(e){this._request=null,this._loaded=!0,t.$(e)||this.fire(new t.l(t.d(e)))}}))}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&=(this._request.abort(),null),this.options.url=e.url,this.load(e.coordinates).finally((()=>this.texture=null)),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`metadata`})))}onAdd(e){this.map=e,this.load()}onRemove(){this._request&&=(this._request.abort(),null)}setCoordinates(e){this.coordinates=e;let n=e.map(t.a7.fromLngLat);var r;return this.tileID=function(e){let n=t.a8.fromPoints(e),r=n.width(),i=n.height(),a=Math.max(0,Math.floor(-Math.log(Math.max(r,i))/Math.LN2)),o=2**a;return new t.aa(a,Math.floor((n.minX+n.maxX)/2*o),Math.floor((n.minY+n.maxY)/2*o))}(n),this.terrainTileRanges=this._getOverlappingTileRanges(n),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=n.map((e=>this.tileID.getTilePoint(e)._round())),this.flippedWindingOrder=((r=this.tileCoords)[1].x-r[0].x)*(r[2].y-r[0].y)-(r[1].y-r[0].y)*(r[2].x-r[0].x)<0,this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`content`})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let e=this.map.painter.context,n=e.gl;this.texture||(this.texture=new t.T(e,this.image,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}loadTile(e){return t._(this,void 0,void 0,(function*(){this.tileID?.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state=`errored`}))}serialize(){return{type:`image`,url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}_getOverlappingTileRanges(e){let{minX:n,minY:r,maxX:i,maxY:a}=t.a8.fromPoints(e),o={};for(let e=0;e<=t.a9;e++){let t=2**e,s=Math.floor(n*t),c=Math.floor(r*t),l=Math.floor(i*t),u=Math.floor(a*t),d=(s%t+t)%t,f=l%t;o[e]={minWrap:Math.floor(s/t),maxWrap:Math.floor(l/t),minTileXWrapped:d,maxTileXWrapped:f,minTileY:c,maxTileY:u}}return o}}class we extends Ce{constructor(e,t,n,r){super(e,t,n,r),this._onPlayingHandler=()=>{var e;(e=this.map)==null||e.triggerRepaint()},this.roundZoom=!0,this.type=`video`,this.options=t}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!1;let e=this.options;this.urls=[];for(let t of e.urls)this.urls.push((yield this.map._requestManager.transformRequest(t,`Source`)).url);try{let e=yield t.ab(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener(`playing`,this._onPlayingHandler),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new t.l(t.d(e)))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let n=this.video.seekable;e<n.start(0)||e>n.end(0)?this.fire(new t.l(new t.ac(`sources.${this.id}`,null,`Playback for this video can be set only between the ${n.start(0)} and ${n.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}onRemove(){super.onRemove(),this.video&&(this.video.removeEventListener(`playing`,this._onPlayingHandler),this.video.pause())}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let e=this.map.painter.context,n=e.gl;this.texture?this.video.paused||(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.video)):(this.texture=new t.T(e,this.video,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let r=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,r=!0)}r&&this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`video`,urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class Te extends Ce{constructor(e,n,r,i){super(e,n,r,i),n.coordinates?Array.isArray(n.coordinates)&&n.coordinates.length===4&&!n.coordinates.some((e=>!Array.isArray(e)||e.length!==2||e.some((e=>typeof e!=`number`))))||this.fire(new t.l(new t.ac(`sources.${e}`,null,`"coordinates" property must be an array of 4 longitude/latitude array pairs`))):this.fire(new t.l(new t.ac(`sources.${e}`,null,`missing required property "coordinates"`))),n.animate&&typeof n.animate!=`boolean`&&this.fire(new t.l(new t.ac(`sources.${e}`,null,`optional "animate" property must be a boolean value`))),n.canvas?typeof n.canvas==`string`||n.canvas instanceof HTMLCanvasElement||this.fire(new t.l(new t.ac(`sources.${e}`,null,`"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance`))):this.fire(new t.l(new t.ac(`sources.${e}`,null,`missing required property "canvas"`))),this.options=n,this.animate=n.animate===void 0||n.animate}load(){return t._(this,void 0,void 0,(function*(){this._loaded=!0,this.canvas||=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.l(Error(`Canvas dimensions cannot be less than or equal to zero.`))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&=(this.prepare(),!1)},this._finishLoading())}))}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let n=this.map.painter.context,r=n.gl;this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):(this.texture=new t.T(n,this.canvas,r.RGBA,{premultiply:!0}),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let i=!1;for(let e in this.tiles){let t=this.tiles[e];t.state!==`loaded`&&(t.state=`loaded`,t.texture=this.texture,i=!0)}i&&this.fire(new t.n(`data`,{dataType:`source`,sourceDataType:`idle`,sourceId:this.id}))}serialize(){return{type:`canvas`,animate:this.animate,canvas:this.options.canvas,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}let Ee={},De=e=>{switch(e){case`geojson`:return Se;case`image`:return Ce;case`raster`:return me;case`raster-dem`:return he;case`vector`:return pe;case`video`:return we;case`canvas`:return Te}return Ee[e]},Oe=`RTLPluginLoaded`;class ke extends t.E{constructor(){super(...arguments),this.status=`unavailable`,this.url=null,this.dispatcher=ae()}_syncState(e){return this.status=e,this.dispatcher.broadcast(`SRPS`,{pluginStatus:e,pluginURL:this.url}).catch((e=>{throw this.status=`error`,e}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=`unavailable`,this.url=null}setRTLTextPlugin(e){return t._(this,arguments,void 0,(function*(e,t=!1){if(this.url)throw Error(`setRTLTextPlugin cannot be called multiple times.`);if(this.url=s.resolveURL(e),!this.url)throw Error(`requested url ${e} is invalid`);if(this.status===`unavailable`){if(!t)return this._requestImport();this.status=`deferred`,this._syncState(this.status)}else if(this.status===`requested`)return this._requestImport()}))}_requestImport(){return t._(this,void 0,void 0,(function*(){yield this._syncState(`loading`),this.status=`loaded`,this.fire(new t.n(Oe))}))}lazyLoad(){this.status===`unavailable`?this.status=`requested`:this.status===`deferred`&&this._requestImport()}}let Ae=null;function je(){return Ae||=new ke,Ae}var Me,Ne;(function(e){e[e.Base=0]=`Base`,e[e.Parent=1]=`Parent`})(Me||={}),function(e){e[e.Departing=0]=`Departing`,e[e.Incoming=1]=`Incoming`}(Ne||={});class Pe{constructor(e,n){this.timeAdded=0,this.fadeEndTime=0,this.fadeOpacity=1,this.tileID=e,this.uid=t.ad(),this.uses=0,this.tileSize=n,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttFingerprint={},this.expiredRequestCount=0,this.state=`loading`}isRenderable(e){return this.hasData()&&(!this.fadeEndTime||this.fadeOpacity>0)&&(e||!this.holdingForSymbolFade())}setCrossFadeLogic({fadingRole:e,fadingDirection:t,fadingParentID:n,fadeEndTime:r}){this.resetFadeLogic(),this.fadingRole=e,this.fadingDirection=t,this.fadingParentID=n,this.fadeEndTime=r}setSelfFadeLogic(e){this.resetFadeLogic(),this.selfFading=!0,this.fadeEndTime=e}resetFadeLogic(){this.fadingRole=null,this.fadingDirection=null,this.fadingParentID=null,this.selfFading=!1,this.timeAdded=l(),this.fadeEndTime=0,this.fadeOpacity=1}wasRequested(){return this.state===`errored`||this.state===`loaded`||this.state===`reloading`}clearTextures(e){this.demTexture&&e.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(e,n,r){if(!0!==e?.etagUnmodified)if(this.hasData()&&this.unloadVectorData(),this.state=`loaded`,e){e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestEncoding=e.encoding,this.latestFeatureIndex.rawTileData=e.rawTileData,this.latestFeatureIndex.encoding=e.encoding):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData,this.latestFeatureIndex.encoding=this.latestEncoding)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(e,t){let n={};if(!t)return n;for(let r of e){let e=r.layerIds.map((e=>t.getLayer(e))).filter(Boolean);if(e.length!==0){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(let t of e)n[t.id]=r}}return n}(e.buckets,n?.style),this.hasSymbolBuckets=!1;for(let e in this.buckets){let n=this.buckets[e];if(n instanceof t.af){if(this.hasSymbolBuckets=!0,!r)break;n.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let n=this.buckets[e];if(n instanceof t.af&&n.hasRTLText){this.hasRTLText=!0,je().lazyLoad();break}}this.queryPadding=0;for(let e in this.buckets){let t=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,n.style.getLayer(e).queryRadius(t))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage),this.dashPositions=e.dashPositions}else this.collisionBoxArray=new t.ae;else this.state=`loaded`}unloadVectorData(){for(let e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.imageAtlas=null,this.dashPositions=null,this.latestFeatureIndex=null,this.state=`unloaded`}getBucket(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let n=this.buckets[t];n.uploadPending()&&n.upload(e)}let n=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new t.T(e,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&=(this.glyphAtlasTexture=new t.T(e,this.glyphAtlasImage,n.ALPHA),null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,n,r,i,a,o,s,c,l,u){return this.latestFeatureIndex?.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*c,getElevation:u},e,t,n):{}}querySourceFeatures(e,n){let r=this.latestFeatureIndex;if(!r?.rawTileData)return;let i=r.loadVTLayers(),a=n?.sourceLayer?n.sourceLayer:``,o=i[t.ag]||i[a];if(!o)return;let s=t.ah(n?.filter,n?.globalState),{z:c,x:l,y:u}=this.tileID.canonical,d={z:c,x:l,y:u};for(let n=0;n<o.length;n++){let i=o.feature(n);if(s.needGeometry){let e=t.ai(i,!0);if(!s.filter(new t.J(this.tileID.overscaledZ),e,this.tileID.canonical))continue}else if(!s.filter(new t.J(this.tileID.overscaledZ),i))continue;let f=r.getId(i,a),p=new t.aj(i,c,l,u,f);p.tile=d,e.push(p)}}hasData(){return this.state===`loaded`||this.state===`reloading`||this.state===`expired`}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(e){let n=this.expirationTime;if(e.cacheControl){let n=t.ak(e.cacheControl);n[`max-age`]&&(this.expirationTime=Date.now()+1e3*n[`max-age`])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){let e=Date.now(),t=!1;if(this.expirationTime>e)t=!1;else if(n)if(this.expirationTime<n)t=!0;else{let r=this.expirationTime-n;r?this.expirationTime=e+Math.max(r,3e4):t=!0}else t=!0;t?(this.expiredRequestCount++,this.state=`expired`):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),2**31-1)}setFeatureState(e,n){if(!this.latestFeatureIndex?.rawTileData||Object.keys(e).length===0)return;let r=this.latestFeatureIndex.loadVTLayers();for(let i in this.buckets){if(!n.style.hasLayer(i))continue;let a=this.buckets[i],o=a.layers[0].sourceLayer||t.ag,s=r[o],c=e[o];if(!s||!c||Object.keys(c).length===0)continue;a.update(c,s,this.imageAtlas?.patternPositions||{},this.dashPositions||{});let l=(n?.style)?.getLayer(i);l&&(this.queryPadding=Math.max(this.queryPadding,l.queryRadius(a)))}}holdingForSymbolFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<l()}clearSymbolFadeHold(){this.symbolFadeHoldUntil=void 0}setSymbolHoldDuration(e){this.symbolFadeHoldUntil=l()+e}setDependencies(e,t){let n={};for(let e of t)n[e]=!0;this.dependencies[e]=n}hasDependency(e,t){for(let n of e){let e=this.dependencies[n];if(e){for(let n of t)if(e[n])return!0}}return!1}}class Fe{constructor(){this.state={},this.stateChanges={},this.deletedStates={},this.revision=0}updateState(e,n,r){var i,a;let o=String(n);if((i=this.stateChanges)[e]||(i[e]={}),(a=this.stateChanges[e])[o]||(a[o]={}),t.e(this.stateChanges[e][o],r),this.deletedStates[e]===null){this.deletedStates[e]={};for(let t in this.state[e])t!==o&&(this.deletedStates[e][t]=null)}else if(this.deletedStates[e]?.[o]===null){this.deletedStates[e][o]={};for(let t in this.state[e][o])r[t]||(this.deletedStates[e][o][t]=null)}else for(let t in r)this.deletedStates[e]?.[o]?.[t]===null&&delete this.deletedStates[e][o][t]}removeFeatureState(e,t,n){var r,i;if(this.deletedStates[e]===null)return;let a=String(t);if((r=this.deletedStates)[e]||(r[e]={}),n&&t!==void 0)this.deletedStates[e][a]!==null&&((i=this.deletedStates[e])[a]||(i[a]={}),this.deletedStates[e][a][n]=null);else if(t!==void 0)if(this.stateChanges[e]?.[a])for(n in this.deletedStates[e][a]={},this.stateChanges[e][a])this.deletedStates[e][a][n]=null;else this.deletedStates[e][a]=null;else this.deletedStates[e]=null}getState(e,n){let r=String(n),i=t.e({},(this.state[e]||{})[r],(this.stateChanges[e]||{})[r]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){let t=this.deletedStates[e][n];if(t===null)return{};for(let e in t)delete i[e]}return i}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(e,n){var r,i,a;let o={};for(let e in this.stateChanges){(r=this.state)[e]||(r[e]={});let n={};for(let r in this.stateChanges[e])(i=this.state[e])[r]||(i[r]={}),t.e(this.state[e][r],this.stateChanges[e][r]),n[r]=this.state[e][r];o[e]=n}for(let e in this.deletedStates){(a=this.state)[e]||(a[e]={});let n={};if(this.deletedStates[e]===null)for(let t in this.state[e])n[t]={},this.state[e][t]={};else for(let t in this.deletedStates[e]){if(this.deletedStates[e][t]===null)this.state[e][t]={};else for(let n of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][n];n[t]=this.state[e][t]}o[e]||(o[e]={}),t.e(o[e],n)}this.stateChanges={},this.deletedStates={},Object.keys(o).length!==0&&(this.revision++,e.setFeatureState(o,n))}}let Ie=89.25;function Le(e,n){let r=t.al(n.lat,-t.am,t.am);return new t.P(t.Z(n.lng)*e,t.Y(r)*e)}function Re(e,n){return new t.a7(n.x/e,n.y/e).toLngLat()}function ze(e){return e.cameraToCenterDistance*Math.min(.85*Math.tan(t.an(90-e.pitch)),Math.tan(t.an(Ie-e.pitch)))}function Be(e,n){let r=e.canonical,i=n/t.ao(r.z),a=r.x+2**r.z*e.wrap,o=t.ap(new Float64Array(16));return t.Q(o,o,[a*i,r.y*i,0]),t.S(o,o,[i/t.a6,i/t.a6,1]),o}function Ve(e,n,r,i,a){let o=t.a7.fromLngLat(e,n),s=a*t.aq(1,e.lat),{x:c,y:l,z:u}=He(r,i);return new t.a7(o.x+s*-c,o.y+s*-l,o.z+s*-u)}function He(e,n){let r=t.an(e),i=t.an(n),a=Math.cos(-r),o=Math.sin(r);return{x:o*Math.sin(i),y:-o*Math.cos(i),z:a}}function j(e,t,n){let r=t.intersectsFrustum(e);if(!n||r===0)return r;let i=t.intersectsPlane(n);return i===0?0:r===2&&i===2?2:1}function Ue(e,t,n){let r=0,i=(n-t)/10;for(let a=0;a<10;a++)r+=i*Math.cos(t+(a+.5)/10*(n-t))**+e;return r}function We(e,n){return function(r,i,a,o,s){let c=2*((e-1)/t.ar(Math.cos(t.an(Ie-s))/Math.cos(t.an(Ie)))-1),l=Math.acos(a/o),u=2*Ue(c-1,0,t.an(s/2)),d=Math.min(t.an(Ie),l+t.an(s/2)),f=Ue(c-1,Math.min(d,l-t.an(s/2)),d),p=Math.atan(i/a),m=Math.hypot(i,a),h=r;return h+=t.ar(o/m/Math.max(.5,Math.cos(t.an(s/2)))),h+=c*t.ar(Math.cos(p))/2,h-=t.ar(Math.max(1,f/u/n))/2,h}}let Ge=We(9.314,3);function Ke(e,n){let r=(n.roundZoom?Math.round:Math.floor)(e.zoom+t.ar(e.tileSize/n.tileSize));return Math.max(0,r)}function qe(e,n){let r=e.getCameraFrustum(),i=e.getClippingPlane(),a=e.screenPointToMercatorCoordinate(e.getCameraPoint()),o=t.a7.fromLngLat(e.center,e.elevation);a.z=o.z+Math.cos(e.pitchInRadians)*e.cameraToCenterDistance/e.worldSize;let s=e.getCoveringTilesDetailsProvider(),c=s.allowVariableZoom(e,n),l=Ke(e,n),u=n.minzoom||0,d=n.maxzoom===void 0?e.maxZoom:n.maxzoom,f=Math.min(Math.max(0,l),d),p=2**f,m=[p*a.x,p*a.y,0],h=[p*o.x,p*o.y,0],g=Math.hypot(o.x-a.x,o.y-a.y),_=Math.abs(o.z-a.z),v=Math.hypot(g,_),y=e=>({zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),b=[],x=[];if(e.renderWorldCopies&&s.allowWorldCopies())for(let e=1;e<=3;e++)b.push(y(-e)),b.push(y(e));for(b.push(y(0));b.length>0;){let p=b.pop(),g=p.x,y=p.y,S=p.fullyVisible,C={x:g,y,z:p.zoom},w=s.getTileBoundingVolume(C,p.wrap,e.elevation,n);if(!S){let e=j(r,w,i);if(e===0)continue;S=e===2}let T=s.distanceToTile2d(a.x,a.y,C,w),ee=l;c&&(ee=(n.calculateTileZoom||Ge)(e.zoom+t.ar(e.tileSize/n.tileSize),T,_,v,e.fov)),ee=(n.roundZoom?Math.round:Math.floor)(ee),ee=Math.max(0,ee);let E=Math.min(ee,d);if(p.wrap=s.getWrap(o,C,p.wrap),p.zoom>=E){if(p.zoom<u)continue;let e=f-p.zoom,r=m[0]-.5-(g<<e),i=m[1]-.5-(y<<e),a=n.reparseOverscaled?Math.max(p.zoom,ee):p.zoom;x.push({tileID:new t.a3(p.zoom===d?a:p.zoom,p.wrap,p.zoom,g,y),distanceSq:t.as([h[0]-.5-g,h[1]-.5-y]),tileDistanceToCamera:Math.sqrt(r*r+i*i)})}else for(let e=0;e<4;e++)b.push({zoom:p.zoom+1,x:(g<<1)+e%2,y:(y<<1)+(e>>1),wrap:p.wrap,fullyVisible:S})}return x.sort(((e,t)=>e.distanceSq-t.distanceSq)).map((e=>e.tileID))}let Je=t.a8.fromPoints([new t.P(0,0),new t.P(t.a6,t.a6)]);function Ye(e){return e===`raster`||e===`image`||e===`video`}function Xe(e,t,n,r,i,a,o){if(!t.hasData())return!1;let{tileID:s,fadingRole:c,fadingDirection:l,fadingParentID:u}=t;if(c===Me.Base&&l===Ne.Incoming&&u)return n[u.key]=u,!0;let d=Math.max(s.overscaledZ-i,a);for(let i=s.overscaledZ-1;i>=d;i--){let a=s.scaledTo(i),c=e.getLoadedTile(a);if(c)return t.setCrossFadeLogic({fadingRole:Me.Base,fadingDirection:Ne.Incoming,fadingParentID:c.tileID,fadeEndTime:r+o}),c.setCrossFadeLogic({fadingRole:Me.Parent,fadingDirection:Ne.Departing,fadeEndTime:r+o}),n[a.key]=a,!0}return!1}function Ze(e,t,n,r,i,a){if(!t.hasData())return!1;let o=t.tileID.children(i),s=Qe(e,t,o,n,r,i,a);if(s)return!0;for(let c of o)Qe(e,t,c.children(i),n,r,i,a)&&(s=!0);return s}function Qe(e,t,n,r,i,a,o){if(n[0].overscaledZ>=a)return!1;let s=!1;for(let a of n){let n=e.getLoadedTile(a);if(!n)continue;let{fadingRole:c,fadingDirection:l,fadingParentID:u}=n;c===Me.Base&&l===Ne.Departing&&u||(n.setCrossFadeLogic({fadingRole:Me.Base,fadingDirection:Ne.Departing,fadingParentID:t.tileID,fadeEndTime:i+o}),t.setCrossFadeLogic({fadingRole:Me.Parent,fadingDirection:Ne.Incoming,fadeEndTime:i+o})),r[a.key]=a,s=!0}return s}function $e(e,t,n,r){let i=e.tileID;return!!e.selfFading||!e.hasData()&&!!t.has(i)&&(e.setSelfFadeLogic(n+r),!0)}function M(e,t){var n;e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0;let r=t.tileID.canonical.x-e.tileID.canonical.x,i=t.tileID.canonical.y-e.tileID.canonical.y,a=2**e.tileID.canonical.z,o=t.tileID.key;r===0&&i===0||Math.abs(i)>1||(Math.abs(r)>1&&(Math.abs(r+a)===1?r+=a:Math.abs(r-a)===1&&(r-=a)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,i),(n=e.neighboringTiles)!=null&&n[o]&&(e.neighboringTiles[o].backfilled=!0)))}class et{constructor(){this._tiles={}}handleWrapJump(e){let t={};for(let n in this._tiles){let r=this._tiles[n];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t}setFeatureState(e,t){for(let n in this._tiles)this._tiles[n].setFeatureState(e,t)}getAllTiles(){return Object.values(this._tiles)}getAllIds(e=!1){return e?Object.values(this._tiles).map((e=>e.tileID)).sort(t.au).map((e=>e.key)):Object.keys(this._tiles)}getTileById(e){return this._tiles[e]}setTile(e,t){this._tiles[e]=t}deleteTileById(e){delete this._tiles[e]}getLoadedTile(e){let t=this.getTileById(e.key);return t?.hasData()?t:null}isIdRenderable(e,t=!1){return this.getTileById(e)?.isRenderable(t)}getRenderableIds(e=0,n){let r=[];for(let e of this.getAllIds())this.isIdRenderable(e,n)&&r.push(this.getTileById(e));return n?r.sort(((n,r)=>{let i=n.tileID,a=r.tileID,o=new t.P(i.canonical.x,i.canonical.y)._rotate(-e),s=new t.P(a.canonical.x,a.canonical.y)._rotate(-e);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})).map((e=>e.tileID.key)):r.map((e=>e.tileID)).sort(t.au).map((e=>e.key))}}class tt extends t.E{constructor(e,n,r){super(),this.id=e,this.dispatcher=r,this.on(`data`,(e=>{this._dataHandler(e)})),this.on(`dataloading`,(()=>{this._sourceErrored=!1})),this.on(`error`,(()=>{this._sourceErrored=this._source.loaded()})),this._source=((e,t,n,r)=>{let i=new(De(t.type))(e,t,n,r);if(i.id!==e)throw Error(`Expected Source id to be ${e} instead of ${i.id}`);return i})(e,n,r,this),this._inViewTiles=new et,this._outOfViewCache=new t.av(0,(e=>this._unloadTile(e))),this._timers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._rasterFadeDuration=0,this._maxFadingAncestorLevels=5,this._state=new Fe,this._didEmitContent=!1,this._updated=!1}onAdd(e){var t;this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,(t=this._source)!=null&&t.onAdd&&this._source.onAdd(e)}onRemove(e){var t;for(let e of this._inViewTiles.getAllTiles())e.unloadVectorData();this.clearTiles(),(t=this._source)!=null&&t.onRemove&&this._source.onRemove(e),this._inViewTiles=new et}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let e of this._inViewTiles.getAllTiles())if(e.state!==`loaded`&&e.state!==`errored`)return!1;return!0}getSource(){return this._source}getState(){return this._state}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,n,r){return t._(this,void 0,void 0,(function*(){try{let t=yield this._source.loadTile(e);this._tileLoaded(e,n,r,t)}catch(n){e.state=`errored`,n.status===404?this.update(this.transform,this.terrain):this._source.fire(new t.l(t.d(n),{tile:e}))}}))}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new t.n(`dataabort`,{tile:e,coord:e.tileID,dataType:`source`}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._inViewTiles,this.map?this.map.painter:null);for(let t of this._inViewTiles.getAllTiles())t.upload(e),t.prepare(this.map.style.imageManager)}getIds(){return this._inViewTiles.getAllIds(!0)}getRenderableIds(e){return this._inViewTiles.getRenderableIds(this.transform?.bearingInRadians,e)}hasRenderableParent(e){let t=e.overscaledZ-1;if(t>=this._source.minzoom){let n=this.getLoadedTile(e.scaledTo(t));if(n)return this._inViewTiles.isIdRenderable(n.tileID.key)}return!1}reload(e,t=void 0){if(this._paused)this._shouldReloadOnResume=!0;else{this._outOfViewCache.reset();for(let n of this._inViewTiles.getAllIds()){let r=this._inViewTiles.getTileById(n);t&&!this._source.shouldReloadTile(r,t)||(e?this._reloadTile(n,`expired`):r.state!==`errored`&&this._reloadTile(n,`reloading`))}}}_reloadTile(e,n){return t._(this,void 0,void 0,(function*(){let t=this._inViewTiles.getTileById(e);t&&(t.state!==`loading`&&(t.state=n),yield this._loadTile(t,e,n))}))}_tileLoaded(e,n,r,i){e.timeAdded=l(),e.selfFading&&(e.fadeEndTime=e.timeAdded+this._rasterFadeDuration),r===`expired`&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(n,e),i!=null&&i.unmodified||(this.getSource().type===`raster-dem`&&e.dem&&function(e,t){var n;let r=t.getRenderableIds();for(let i of r){if(!e.neighboringTiles?.[i])continue;let r=t.getTileById(i);e.neighboringTiles[i].backfilled||M(e,r),(n=r.neighboringTiles?.[e.tileID.key])!=null&&n.backfilled||M(r,e)}}(e,this._inViewTiles),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.n(`data`,{dataType:`source`,tile:e,coord:e.tileID})))}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._inViewTiles.getTileById(e)}_retainLoadedChildren(e,t){let n=this._getLoadedDescendents(t),r=new Set;for(let i of t){let t=n[i.key];if(!t?.length){r.add(i);continue}let a=i.overscaledZ+tt.maxOverzooming,o=t.filter((e=>e.tileID.overscaledZ<=a));if(!o.length){r.add(i);continue}let s=Math.min(...o.map((e=>e.tileID.overscaledZ))),c=o.filter((e=>e.tileID.overscaledZ===s)).map((e=>e.tileID));for(let t of c)e[t.key]=t;this._areDescendentsComplete(c,s,i.overscaledZ)||r.add(i)}return r}_getLoadedDescendents(e){var t;let n={};for(let r of this._inViewTiles.getAllTiles().filter((e=>e.hasData())))for(let i of e)r.tileID.isChildOf(i)&&(n[t=i.key]||(n[t]=[]),n[i.key].push(r));return n}_areDescendentsComplete(e,t,n){return e.length===1&&e[0].isOverscaled()?e[0].overscaledZ===t:4**(t-n)===e.length}getLoadedTile(e){return this._inViewTiles.getLoadedTile(e)}updateCacheSize(e){let n=Math.ceil(e.width/this._source.tileSize)+1,r=Math.ceil(e.height/this._source.tileSize)+1,i=Math.floor(n*r*(this._maxTileCacheZoomLevels===null?t.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),a=typeof this._maxTileCacheSize==`number`?Math.min(this._maxTileCacheSize,i):i;this._outOfViewCache.setMaxSize(a)}handleWrapJump(e){let t=Math.round((e-(this._prevLng===void 0?e:this._prevLng))/360);this._prevLng=e,t&&(this._inViewTiles.handleWrapJump(t),this._resetTileReloadTimers())}update(e,n){if(!this._sourceLoaded||this._paused)return;let r;this.transform=e,this.terrain=n,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this.used||this.usedForTerrain?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((e=>new t.a3(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y))):(r=qe(e,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.type===`vector`&&this.map._zoomLevelsToOverscale!==void 0?e.maxZoom-this.map._zoomLevelsToOverscale:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:n,calculateTileZoom:this._source.calculateTileZoom}),this._source.hasTile&&(r=r.filter((e=>this._source.hasTile(e))))):r=[],this.usedForTerrain&&(r=this._addTerrainIdealTiles(r));let i=r.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,i&&this.fire(new t.n(`data`,{sourceDataType:`idle`,dataType:`source`,sourceId:this.id}));let a=Ke(e,this._source),o=this._updateRetainedTiles(r,a),s=Ye(this._source.type);s&&this._rasterFadeDuration>0&&!n&&function(e,n,r,i,a,o,s){let c=l(),u=t.at(n);for(let t of n){let n=e.getTileById(t.key);n.fadingDirection!==Ne.Departing&&n.fadeOpacity!==0||n.resetFadeLogic(),Xe(e,n,r,c,i,a,s)||Ze(e,n,r,c,o,s)||$e(n,u,c,s)||n.resetFadeLogic()}}(this._inViewTiles,r,o,this._maxFadingAncestorLevels,this._source.minzoom,this._source.maxzoom,this._rasterFadeDuration),s?this._cleanUpRasterTiles(o):this._cleanUpVectorTiles(o)}_cleanUpRasterTiles(e){for(let t of this._inViewTiles.getAllIds())e[t]||this._removeTile(t)}_cleanUpVectorTiles(e){for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);e[t]?n.clearSymbolFadeHold():n.hasSymbolBuckets?n.holdingForSymbolFade()?n.symbolFadeFinished()&&this._removeTile(t):n.setSymbolHoldDuration(this.map._fadeDuration):this._removeTile(t)}}_addTerrainIdealTiles(e){let t=[];for(let n of e)if(n.canonical.z>this._source.minzoom){let e=n.scaledTo(n.canonical.z-1);t.push(e);let r=n.scaledTo(Math.max(this._source.minzoom,Math.min(n.canonical.z,5)));t.push(r)}return e.concat(t)}releaseSymbolFadeTiles(){for(let e of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(e).holdingForSymbolFade()&&this._removeTile(e)}_updateRetainedTiles(e,t){let n=new Set;for(let t of e)this._addTile(t).hasData()||n.add(t);let r=e.reduce(((e,t)=>(e[t.key]=t,e)),{}),i=this._retainLoadedChildren(r,n),a={},o=Math.max(t-tt.maxUnderzooming,this._source.minzoom);for(let e of i){let t=this._inViewTiles.getTileById(e.key),n=t?.wasRequested();for(let i=e.overscaledZ-1;i>=o;--i){let o=e.scaledTo(i);if(a[o.key])break;if(a[o.key]=!0,t=this.getTile(o),!t&&n&&(t=this._addTile(o)),t){let e=t.hasData();if((e||!this.map?.cancelPendingTileRequestsWhileZooming||n)&&(r[o.key]=o),n=t.wasRequested(),e)break}}}return r}_addTile(e){let n=this._inViewTiles.getTileById(e.key);if(n)return n;n=this._outOfViewCache.getAndRemove(e),n&&(n.resetFadeLogic(),this._setTileReloadTimer(e.key,n),n.tileID=e,this._state.initializeTileState(n,this.map?this.map.painter:null));let r=n;return n||(n=new Pe(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(n,e.key,n.state)),n.uses++,this._inViewTiles.setTile(e.key,n),r||this._source.fire(new t.n(`dataloading`,{tile:n,coord:n.tileID,dataType:`source`})),n}_setTileReloadTimer(e,t){this._clearTileReloadTimer(e);let n=t.getExpiryTimeout();n&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,`expired`),delete this._timers[e]}),n))}_clearTileReloadTimer(e){let t=this._timers[e];t&&(clearTimeout(t),delete this._timers[e])}_resetTileReloadTimers(){for(let e in this._timers)clearTimeout(this._timers[e]),delete this._timers[e];for(let e of this._inViewTiles.getAllIds()){let t=this._inViewTiles.getTileById(e);this._setTileReloadTimer(e,t)}}refreshTiles(e){for(let t of this._inViewTiles.getAllIds()){let n=this._inViewTiles.getTileById(t);(this._inViewTiles.isIdRenderable(t)||n.state==`errored`)&&e.some((e=>e.equals(n.tileID.canonical)))&&this._reloadTile(t,`expired`)}}_removeTile(e){let t=this._inViewTiles.getTileById(e);t&&(t.uses--,this._inViewTiles.deleteTileById(e),this._clearTileReloadTimer(e),t.uses>0||(t.hasData()&&t.state!==`reloading`?this._outOfViewCache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){e.dataType===`source`&&(e.sourceDataType===`metadata`?this._sourceLoaded=!0:e.sourceDataType===`content`&&this._sourceLoaded&&!this._paused&&(this.reload(e.sourceDataChanged,e.shouldReloadTileOptions),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let e of this._inViewTiles.getAllIds())this._removeTile(e);this._outOfViewCache.reset()}tilesIn(e,n,r){let i=[],a=this.transform;if(!a)return i;let o=a.getCoveringTilesDetailsProvider().allowWorldCopies(),s=r?a.getCameraQueryGeometry(e):e,c=e=>a.screenPointToMercatorCoordinate(e,this.terrain),l=this.transformBbox(e,c,!o),u=this.transformBbox(s,c,!o),d=this.getIds(),f=t.a8.fromPoints(u);for(let e of d){let r=this._inViewTiles.getTileById(e);if(r.holdingForSymbolFade())continue;let s=o?[r.tileID]:[r.tileID.unwrapTo(-1),r.tileID.unwrapTo(0)],c=2**(a.zoom-r.tileID.overscaledZ),d=n*r.queryPadding*t.a6/r.tileSize/c;for(let e of s){let n=f.map((n=>e.getTilePoint(new t.a7(n.x,n.y))));if(n.expandBy(d),n.intersects(Je)){let t=l.map((t=>e.getTilePoint(t))),n=u.map((t=>e.getTilePoint(t)));i.push({tile:r,tileID:o?e:e.unwrapTo(0),queryGeometry:t,cameraQueryGeometry:n,scale:c})}}}return i}transformBbox(e,n,r){let i=e.map(n);if(r){let r=t.a8.fromPoints(e);r.shrinkBy(.001*Math.min(r.width(),r.height()));let a=r.map(n);t.a8.fromPoints(i).covers(a)||(i=i.map((e=>e.x>.5?new t.a7(e.x-1,e.y,e.z):e)))}return i}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map((e=>this._inViewTiles.getTileById(e).tileID));return this.transform&&this.transform.populateCache(t),t}hasTransition(){return!!this._source.hasTransition()||Ye(this._source.type)&&function(e,t){if(t<=0)return!1;let n=l();for(let t of e.getAllTiles())if(t.fadeEndTime>=n)return!0;return!1}(this._inViewTiles,this._rasterFadeDuration)}setRasterFadeDuration(e){this._rasterFadeDuration=e}setFeatureState(e,n,r){e||=t.ag,this._state.updateState(e,n,r)}removeFeatureState(e,n,r){e||=t.ag,this._state.removeFeatureState(e,n,r)}getFeatureState(e,n){return e||=t.ag,this._state.getState(e,n)}setDependencies(e,t,n){let r=this._inViewTiles.getTileById(e);r&&r.setDependencies(t,n)}reloadTilesForDependencies(e,t){for(let n of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(n).hasDependency(e,t)&&this._reloadTile(n,`reloading`);this._outOfViewCache.filter((n=>!n.hasDependency(e,t)))}areTilesLoaded(){for(let e of this._inViewTiles.getAllTiles())if(e.state!==`loaded`&&e.state!==`errored`)return!1;return!0}}tt.maxUnderzooming=10,tt.maxOverzooming=3;class nt{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e<this.points.length;e++)this._distances[e]=this._distances[e-1]+this.points[e].dist(this.points[e-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(t||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(e){if(this.points.length===1)return this.points[0];e=t.al(e,0,1);let n=1,r=this._distances[n],i=e*this.paddedLength+this.padding;for(;r<i&&n<this._distances.length;)r=this._distances[++n];let a=n-1,o=this._distances[a],s=r-o,c=s>0?(i-o)/s:0;return this.points[a].mult(1-c).add(this.points[n].mult(c))}}function rt(e,t){let n=!0;return e===`always`||e!==`never`&&t!==`never`||(n=!1),n}class N{constructor(e,t,n){let r=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/n),this.yCellCount=Math.ceil(t/n);for(let e=0;e<this.xCellCount*this.yCellCount;e++)r.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=e,this.height=t,this.xScale=this.xCellCount/e,this.yScale=this.yCellCount/t,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(e,t,n,r,i){this._forEachCell(t,n,r,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(n),this.bboxes.push(r),this.bboxes.push(i)}insertCircle(e,t,n,r){this._forEachCell(t-r,n-r,t+r,n+r,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(n),this.circles.push(r)}_insertBoxCell(e,t,n,r,i,a){this.boxCells[i].push(a)}_insertCircleCell(e,t,n,r,i,a){this.circleCells[i].push(a)}_query(e,t,n,r,i,a,o){if(n<0||e>this.width||r<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=n&&this.height<=r){if(i)return[{key:null,x1:e,y1:t,x2:n,y2:r}];for(let e=0;e<this.boxKeys.length;e++)s.push({key:this.boxKeys[e],x1:this.bboxes[4*e],y1:this.bboxes[4*e+1],x2:this.bboxes[4*e+2],y2:this.bboxes[4*e+3]});for(let e=0;e<this.circleKeys.length;e++){let t=this.circles[3*e],n=this.circles[3*e+1],r=this.circles[3*e+2];s.push({key:this.circleKeys[e],x1:t-r,y1:n-r,x2:t+r,y2:n+r})}}else this._forEachCell(e,t,n,r,this._queryCell,s,{hitTest:i,overlapMode:a,seenUids:{box:{},circle:{}}},o);return s}query(e,t,n,r){return this._query(e,t,n,r,!1,null)}hitTest(e,t,n,r,i,a){return this._query(e,t,n,r,!0,i,a).length>0}hitTestCircle(e,t,n,r,i){let a=e-n,o=e+n,s=t-n,c=t+n;if(o<0||a>this.width||c<0||s>this.height)return!1;let l=[];return this._forEachCell(a,s,o,c,this._queryCellCircle,l,{hitTest:!0,overlapMode:r,circle:{x:e,y:t,radius:n},seenUids:{box:{},circle:{}}},i),l.length>0}_queryCell(e,t,n,r,i,a,o,s){let{seenUids:c,hitTest:l,overlapMode:u}=o,d=this.boxCells[i],f=1e-6;if(d!==null){let i=this.bboxes;for(let o of d)if(!c.box[o]){c.box[o]=!0;let d=4*o,p=this.boxKeys[o];if(e<=i[d+2]+f&&t<=i[d+3]+f&&n>=i[d+0]-f&&r>=i[d+1]-f&&(!s||s(p))&&(!l||!rt(u,p.overlapMode))&&(a.push({key:p,x1:i[d],y1:i[d+1],x2:i[d+2],y2:i[d+3]}),l))return!0}}let p=this.circleCells[i];if(p!==null){let i=this.circles;for(let o of p)if(!c.circle[o]){c.circle[o]=!0;let d=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[d],i[d+1],i[d+2],e,t,n,r)&&(!s||s(f))&&(!l||!rt(u,f.overlapMode))){let e=i[d],t=i[d+1],n=i[d+2];if(a.push({key:f,x1:e-n,y1:t-n,x2:e+n,y2:t+n}),l)return!0}}}return!1}_queryCellCircle(e,t,n,r,i,a,o,s){let{circle:c,seenUids:l,overlapMode:u}=o,d=this.boxCells[i];if(d!==null){let e=this.bboxes;for(let t of d)if(!l.box[t]){l.box[t]=!0;let n=4*t,r=this.boxKeys[t];if(this._circleAndRectCollide(c.x,c.y,c.radius,e[n+0],e[n+1],e[n+2],e[n+3])&&(!s||s(r))&&!rt(u,r.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(f!==null){let e=this.circles;for(let t of f)if(!l.circle[t]){l.circle[t]=!0;let n=3*t,r=this.circleKeys[t];if(this._circlesCollide(e[n],e[n+1],e[n+2],c.x,c.y,c.radius)&&(!s||s(r))&&!rt(u,r.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,n,r,i,a,o,s){let c=this._convertToXCellCoord(e),l=this._convertToYCellCoord(t),u=this._convertToXCellCoord(n),d=this._convertToYCellCoord(r);for(let f=c;f<=u;f++)for(let c=l;c<=d;c++)if(i.call(this,e,t,n,r,this.xCellCount*c+f,a,o,s))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,n,r,i,a){let o=r-e,s=i-t,c=n+a;return c*c>o*o+s*s}_circleAndRectCollide(e,t,n,r,i,a,o){let s=(a-r)/2,c=Math.abs(e-(r+s));if(c>s+n)return!1;let l=(o-i)/2,u=Math.abs(t-(i+l));if(u>l+n)return!1;if(c<=s||u<=l)return!0;let d=c-s,f=u-l;return d*d+f*f<=n*n}}function P(e,t){let n=1/(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),r=1/(t[8]*t[8]+t[9]*t[9]+t[10]*t[10]),i=t[0]*n,a=t[4]*n,o=t[8]*r,s=t[1]*n,c=t[5]*n,l=t[9]*r,u=t[2]*n,d=t[6]*n,f=t[10]*r;e[0]=i,e[1]=a,e[2]=o,e[4]=s,e[5]=c,e[6]=l,e[8]=u,e[9]=d,e[10]=f;let p=t[12],m=t[13],h=t[14];return e[12]=-i*p-s*m-u*h,e[13]=-a*p-c*m-d*h,e[14]=-o*p-l*m-f*h,e[3]=0,e[7]=0,e[11]=0,e[15]=1,e}let it=t.O();function at(e,n,i){let a=t.O();if(!e){let{vecSouth:e,vecEast:t}=st(n),i=r();i[0]=t[0],i[1]=t[1],i[2]=e[0],i[3]=e[1],o=i,(f=(c=(s=i)[0])*(d=s[3])-(u=s[2])*(l=s[1]))&&(o[0]=d*(f=1/f),o[1]=-l*f,o[2]=-u*f,o[3]=c*f),a[0]=i[0],a[1]=i[1],a[4]=i[2],a[5]=i[3]}var o,s,c,l,u,d,f;return t.S(a,a,[1/i,1/i,1]),a}function ot(e,n,r,i){if(e){let e=t.O();if(!n){let{vecSouth:t,vecEast:n}=st(r);e[0]=n[0],e[1]=n[1],e[4]=t[0],e[5]=t[1]}return t.S(e,e,[i,i,1]),e}return r.pixelsToClipSpaceMatrix}function st(e){let n=Math.cos(e.rollInRadians),r=Math.sin(e.rollInRadians),i=Math.cos(e.pitchInRadians),a=Math.cos(e.bearingInRadians),o=Math.sin(e.bearingInRadians),s=t.az();s[0]=-a*i*r-o*n,s[1]=-o*i*r+a*n;let c=t.aA(s);c<1e-9?t.aB(s):t.aC(s,s,1/c);let l=t.az();l[0]=a*i*n-o*r,l[1]=o*i*n+a*r;let u=t.aA(l);return u<1e-9?t.aB(l):t.aC(l,l,1/u),{vecEast:l,vecSouth:s}}function F(e,n,r,i){let a;i?(a=[e,n,i(e,n),1],t.aE(a,a,r)):(a=[e,n,0,1],wt(a,a,r));let o=a[3];return{point:new t.P(a[0]/o,a[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function ct(e,t){return .5+e/t*.5}function lt(e,t){return e.x>=-t[0]&&e.x<=t[0]&&e.y>=-t[1]&&e.y<=t[1]}function ut(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=r?e.textSizeData:e.iconSizeData,h=t.aw(m,n.transform.zoom),g=[256/n.width*2+1,256/n.height*2+1],_=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;_.clear();let v=e.lineVertexArray,y=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,b=n.transform.width/n.transform.height,x=!1;for(let r=0;r<y.length;r++){let S=y.get(r);if(S.hidden||S.writingMode===t.ax.vertical&&!x){Ct(S.numGlyphs,_);continue}x=!1;let C=new t.P(S.anchorX,S.anchorY),w={getElevation:p,pitchedLabelPlaneMatrix:i,lineVertexArray:v,pitchWithMap:o,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:n.transform,tileAnchorPoint:C,unwrappedTileID:l,width:u,height:d,translation:f},T=vt(S.anchorX,S.anchorY,w);if(!lt(T.point,g)){Ct(S.numGlyphs,_);continue}let ee=ct(n.transform.cameraToCenterDistance,T.signedDistanceFromCamera),E=t.ay(m,h,S),D=o?E*n.transform.getPitchedTextCorrection(S.anchorX,S.anchorY,l)/ee:E*ee,O=pt({projectionContext:w,pitchedLabelPlaneMatrixInverse:a,symbol:S,fontSize:D,flip:!1,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:_,aspectRatio:b,rotateToLine:c});x=O.useVertical,(O.notEnoughRoom||x||O.needsFlipping&&pt({projectionContext:w,pitchedLabelPlaneMatrixInverse:a,symbol:S,fontSize:D,flip:!0,keepUpright:s,glyphOffsetArray:e.glyphOffsetArray,dynamicLayoutVertexArray:_,aspectRatio:b,rotateToLine:c}).notEnoughRoom)&&Ct(S.numGlyphs,_)}r?e.text.dynamicLayoutVertexBuffer.updateData(_):e.icon.dynamicLayoutVertexBuffer.updateData(_)}function dt(e,t,n,r,i,a,o,s){let c=a.glyphStartIndex+a.numGlyphs,l=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,d=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(c-1),p=xt(e*d,n,r,i,a.segment,l,u,s,o);if(!p)return null;let m=xt(e*f,n,r,i,a.segment,l,u,s,o);return m?s.projectionCache.anyProjectionOccluded?null:{first:p,last:m}:null}function ft(e,n,r,i){return e===t.ax.horizontal&&Math.abs(r.y-n.y)>Math.abs(r.x-n.x)*i?{useVertical:!0}:(e===t.ax.vertical?n.y<r.y:n.x>r.x)?{needsFlipping:!0}:null}function pt(e){let{projectionContext:n,pitchedLabelPlaneMatrixInverse:r,symbol:i,fontSize:a,flip:o,keepUpright:s,glyphOffsetArray:c,dynamicLayoutVertexArray:l,aspectRatio:u,rotateToLine:d}=e,f=a/24,p=i.lineOffsetX*f,m=i.lineOffsetY*f,h;if(i.numGlyphs>1){let e=i.glyphStartIndex+i.numGlyphs,t=i.lineStartIndex,a=i.lineStartIndex+i.lineLength,l=dt(f,c,p,m,o,i,d,n);if(!l)return{notEnoughRoom:!0};let g=_t(l.first.point.x,l.first.point.y,n,r),_=_t(l.last.point.x,l.last.point.y,n,r);if(s&&!o){let e=ft(i.writingMode,g,_,u);if(e)return e}h=[l.first];for(let r=i.glyphStartIndex+1;r<e-1;r++){let e=xt(f*c.getoffsetX(r),p,m,o,i.segment,t,a,n,d);if(!e)return{notEnoughRoom:!0};h.push(e)}h.push(l.last)}else{if(s&&!o){let e=gt(n.tileAnchorPoint.x,n.tileAnchorPoint.y,n).point,a=i.lineStartIndex+i.segment+1,o=new t.P(n.lineVertexArray.getx(a),n.lineVertexArray.gety(a)),s=gt(o.x,o.y,n),c=s.signedDistanceFromCamera>0?s.point:mt(n.tileAnchorPoint,o,e,1,n),l=_t(e.x,e.y,n,r),d=_t(c.x,c.y,n,r),f=ft(i.writingMode,l,d,u);if(f)return f}let e=xt(f*c.getoffsetX(i.glyphStartIndex),p,m,o,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,n,d);if(!e||n.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};h=[e]}for(let e of h)t.aD(l,e.point,e.angle);return{}}function mt(e,t,n,r,i){let a=e.add(e.sub(t)._unit()),o=gt(a.x,a.y,i).point,s=n.sub(o);return n.add(s._mult(r/s.mag()))}function ht(e,n,r){let i=n.projectionCache;if(i.projections[e])return i.projections[e];let a=new t.P(n.lineVertexArray.getx(e),n.lineVertexArray.gety(e)),o=gt(a.x,a.y,n);if(o.signedDistanceFromCamera>0)return i.projections[e]=o.point,i.anyProjectionOccluded||=o.isOccluded,o.point;let s=e-r.direction;return mt(r.distanceFromAnchor===0?n.tileAnchorPoint:new t.P(n.lineVertexArray.getx(s),n.lineVertexArray.gety(s)),a,r.previousVertex,r.absOffsetX-r.distanceFromAnchor+1,n)}function gt(e,t,n){let r=e+n.translation[0],i=t+n.translation[1],a;return n.pitchWithMap?(a=F(r,i,n.pitchedLabelPlaneMatrix,n.getElevation),a.isOccluded=!1):(a=n.transform.projectTileCoordinates(r,i,n.unwrappedTileID,n.getElevation),a.point.x=(.5*a.point.x+.5)*n.width,a.point.y=(.5*-a.point.y+.5)*n.height),a}function _t(e,n,r,i){if(r.pitchWithMap){let a=[e,n,0,1];return t.aE(a,a,i),r.transform.projectTileCoordinates(a[0]/a[3],a[1]/a[3],r.unwrappedTileID,r.getElevation).point}return{x:e/r.width*2-1,y:1-n/r.height*2}}function vt(e,t,n){return n.transform.projectTileCoordinates(e,t,n.unwrappedTileID,n.getElevation)}function yt(e,t,n){return e._unit()._perp()._mult(t*n)}function bt(e,n,r,i,a,o,s,c,l){if(c.projectionCache.offsets[e])return c.projectionCache.offsets[e];let u=r.add(n);if(e+l.direction<i||e+l.direction>=a)return c.projectionCache.offsets[e]=u,u;let d=ht(e+l.direction,c,l),f=yt(d.sub(r),s,l.direction),p=r.add(f),m=d.add(f);return c.projectionCache.offsets[e]=t.aF(o,u,p,m)||u,c.projectionCache.offsets[e]}function xt(e,t,n,r,i,a,o,s,c){let l=r?e-t:e+t,u=l>0?1:-1,d=0;r&&(u*=-1,d=Math.PI),u<0&&(d+=Math.PI);let f,p=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=gt(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let m,h,g=f,_=f,v=0,y=0,b=Math.abs(l),x=[],S;for(;v+y<=b;){if(p+=u,p<a||p>=o)return null;v+=y,_=g,h=m;let e={absOffsetX:b,direction:u,distanceFromAnchor:v,previousVertex:_};if(g=ht(p,s,e),n===0)x.push(_),S=g.sub(_);else{let t,r=g.sub(_);t=r.mag()===0?yt(ht(p+u,s,e).sub(g),n,u):yt(r,n,u),h||=_.add(t),m=bt(p,t,g,a,o,h,n,s,e),x.push(h),S=m.sub(h)}y=S.mag()}let C=S._mult((b-v)/y)._add(h||_),w=d+Math.atan2(g.y-_.y,g.x-_.x);return x.push(C),{point:C,angle:c?w:0,path:x}}let St=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Ct(e,t){for(let n=0;n<e;n++){let e=t.length;t.resize(e+4),t.float32.set(St,3*e)}}function wt(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e[3]=n[3]*r+n[7]*i+n[15],e}class Tt{constructor(e,t=new N(e.width+200,e.height+200,25),n=new N(e.width+200,e.height+200,25)){this.transform=e,this.grid=t,this.ignoredGrid=n,this.pitchFactor=Math.cos(e.pitch*Math.PI/180)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+100,this.screenBottomBoundary=e.height+100,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(e,t,n,r,i,a,o,s,c,l,u,d){let f=this.projectAndGetPerspectiveRatio(e.anchorPointX+s[0],e.anchorPointY+s[1],i,l,d),p=n*f.perspectiveRatio,m;if(a||o)m=this._projectCollisionBox(e,p,r,i,a,o,s,f,l,u,d);else{let t=f.x+(u?u.x*p:0),n=f.y+(u?u.y*p:0);m={allPointsOccluded:!1,box:[t+e.x1*p,n+e.y1*p,t+e.x2*p,n+e.y2*p]}}let[h,g,_,v]=m.box,y=a?m.allPointsOccluded:f.isOccluded,b=y;return b||=f.perspectiveRatio<this.perspectiveRatioCutoff,b||=!this.isInsideGrid(h,g,_,v),b||t!==`always`&&this.grid.hitTest(h,g,_,v,t,c)?{box:[h,g,_,v],placeable:!1,offscreen:!1,occluded:y}:{box:[h,g,_,v],placeable:!0,offscreen:this.isOffscreen(h,g,_,v),occluded:y}}placeCollisionCircles(e,n,r,i,a,o,s,c,l,u,d,f,p,m){let h=[],g=new t.P(n.anchorX,n.anchorY),_=this.getPerspectiveRatio(g.x,g.y,o,m),v=(l?a*this.transform.getPitchedTextCorrection(n.anchorX,n.anchorY,o)/_:a*_)/t.aJ,y={getElevation:m,pitchedLabelPlaneMatrix:s,lineVertexArray:r,pitchWithMap:l,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:this.transform,tileAnchorPoint:g,unwrappedTileID:o,width:this.transform.width,height:this.transform.height,translation:p},b=dt(v,i,n.lineOffsetX*v,n.lineOffsetY*v,!1,n,!1,y),x=!1,S=!1,C=!0;if(b){let n=.5*d*_+f,r=new t.P(-100,-100),i=new t.P(this.screenRightBoundary,this.screenBottomBoundary),a=new nt,o=b.first,s=b.last,p=[];for(let e=o.path.length-1;e>=1;e--)p.push(o.path[e]);for(let e=1;e<s.path.length;e++)p.push(s.path[e]);let m=2.5*n;if(l){let e=this.projectPathToScreenSpace(p,y);p=e.some((e=>e.signedDistanceFromCamera<=0))?[]:e.map((e=>e.point))}let g=[];if(p.length>0){let e=p[0].clone(),n=p[0].clone();for(let t=1;t<p.length;t++)e.x=Math.min(e.x,p[t].x),e.y=Math.min(e.y,p[t].y),n.x=Math.max(n.x,p[t].x),n.y=Math.max(n.y,p[t].y);g=e.x>=r.x&&n.x<=i.x&&e.y>=r.y&&n.y<=i.y?[p]:n.x<r.x||e.x>i.x||n.y<r.y||e.y>i.y?[]:t.aG([p],r.x,r.y,i.x,i.y)}for(let t of g){a.reset(t,.25*n);let r=0;r=a.length<=.5*n?1:Math.ceil(a.paddedLength/m)+1;for(let t=0;t<r;t++){let i=t/Math.max(r-1,1),o=a.lerp(i),s=o.x+100,l=o.y+100;h.push(s,l,n,0);let d=s-n,f=l-n,p=s+n,m=l+n;if(C&&=this.isOffscreen(d,f,p,m),S||=this.isInsideGrid(d,f,p,m),e!==`always`&&this.grid.hitTestCircle(s,l,n,e,u)&&(x=!0,!c))return{circles:[],offscreen:!1,collisionDetected:x}}}}return{circles:!c&&x||!S||_<this.perspectiveRatioCutoff?[]:h,offscreen:C,collisionDetected:x}}projectPathToScreenSpace(e,t){return function(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)e[a].isOccluded?(r=a+1,i=0):(i++,i>n&&(n=i,t=r));return e.slice(t,t+n)}(function(e,t){let n=it;return function(e,t){let n=1/(t[0]*t[5]-t[1]*t[4]);e[0]=t[5]*n,e[1]=-t[1]*n,e[2]=0,e[3]=0,e[4]=-t[4]*n,e[5]=t[0]*n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1/t[10],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1/t[15]}(n,t.pitchedLabelPlaneMatrix),e.map((e=>{let r=F(e.x,e.y,n,t.getElevation),i=t.transform.projectTileCoordinates(r.point.x,r.point.y,t.unwrappedTileID,t.getElevation);return i.point.x=(.5*i.point.x+.5)*t.width,i.point.y=(.5*-i.point.y+.5)*t.height,i}))}(e,t))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let n=[],r=new t.a8;for(let i of e){let e=new t.P(i.x+100,i.y+100);r.extend(e),n.push(e)}let{minX:i,minY:a,maxX:o,maxY:s}=r,c=this.grid.query(i,a,o,s).concat(this.ignoredGrid.query(i,a,o,s)),l={},u={};for(let e of c){let r=e.key;if(l[r.bucketInstanceId]===void 0&&(l[r.bucketInstanceId]={}),l[r.bucketInstanceId][r.featureIndex])continue;let i=[new t.P(e.x1,e.y1),new t.P(e.x2,e.y1),new t.P(e.x2,e.y2),new t.P(e.x1,e.y2)];t.aH(n,i)&&(l[r.bucketInstanceId][r.featureIndex]=!0,u[r.bucketInstanceId]===void 0&&(u[r.bucketInstanceId]=[]),u[r.bucketInstanceId].push(r.featureIndex))}return u}insertCollisionBox(e,t,n,r,i,a){(n?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,n,r,i,a){let o=n?this.ignoredGrid:this.grid,s={bucketInstanceId:r,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t<e.length;t+=4)o.insertCircle(s,e[t],e[t+1],e[t+2])}projectAndGetPerspectiveRatio(e,n,r,i,a){if(a){let r;i?(r=[e,n,i(e,n),1],t.aE(r,r,a)):(r=[e,n,0,1],wt(r,r,a));let o=r[3];return{x:(r[0]/o+1)/2*this.transform.width+100,y:(-r[1]/o+1)/2*this.transform.height+100,perspectiveRatio:.5+this.transform.cameraToCenterDistance/o*.5,isOccluded:!1,signedDistanceFromCamera:o}}{let t=this.transform.projectTileCoordinates(e,n,r,i);return{x:(t.point.x+1)/2*this.transform.width+100,y:(1-t.point.y)/2*this.transform.height+100,perspectiveRatio:.5+this.transform.cameraToCenterDistance/t.signedDistanceFromCamera*.5,isOccluded:t.isOccluded,signedDistanceFromCamera:t.signedDistanceFromCamera}}}getPerspectiveRatio(e,t,n,r){let i=this.transform.projectTileCoordinates(e,t,n,r);return .5+this.transform.cameraToCenterDistance/i.signedDistanceFromCamera*.5}isOffscreen(e,t,n,r){return n<100||e>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary}isInsideGrid(e,t,n,r){return n>=0&&e<this.gridRightBoundary&&r>=0&&t<this.gridBottomBoundary}getViewportMatrix(){let e=t.ap([]);return t.Q(e,e,[-100,-100,0]),e}_projectCollisionBox(e,n,r,i,a,o,s,c,l,u,d){let f=1,p=0,m=0,h=1,g=e.anchorPointX+s[0],_=e.anchorPointY+s[1];if(o&&!a){let e=this.projectAndGetPerspectiveRatio(g+1,_,i,l,d),t=e.x-c.x,n=Math.atan((e.y-c.y)/t)+(t<0?Math.PI:0),r=Math.sin(n),a=Math.cos(n);f=a,p=r,m=-r,h=a}else if(!o&&a){let e=st(this.transform);f=e.vecEast[0],p=e.vecEast[1],m=e.vecSouth[0],h=e.vecSouth[1]}let v=c.x,y=c.y,b=n;a&&(v=g,y=_,b=2**-(this.transform.zoom-r.overscaledZ),b*=this.transform.getPitchedTextCorrection(g,_,i),u||(b*=t.al(.5+c.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))),u&&(v+=f*u.x*b+m*u.y*b,y+=p*u.x*b+h*u.y*b);let x=e.x1*b,S=e.x2*b,C=(x+S)/2,w=e.y1*b,T=e.y2*b,ee=(w+T)/2,E=[{offsetX:x,offsetY:w},{offsetX:C,offsetY:w},{offsetX:S,offsetY:w},{offsetX:S,offsetY:ee},{offsetX:S,offsetY:T},{offsetX:C,offsetY:T},{offsetX:x,offsetY:T},{offsetX:x,offsetY:ee}],D=[];for(let{offsetX:e,offsetY:n}of E)D.push(new t.P(v+f*e+m*n,y+p*e+h*n));let O=!1;if(a){let e=D.map((e=>this.projectAndGetPerspectiveRatio(e.x,e.y,i,l,d)));O=e.some((e=>!e.isOccluded)),D=e.map((e=>new t.P(e.x,e.y)))}else O=!0;return{box:t.aI(D),allPointsOccluded:!O}}}class Et{constructor(e,t,n,r){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):r&&n?1:0,this.placed=n}isHidden(){return this.opacity===0&&!this.placed}}class I{constructor(e,t,n,r,i){this.text=new Et(e?e.text:null,t,n,i),this.icon=new Et(e?e.icon:null,t,r,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class R{constructor(e,t,n){this.text=e,this.icon=t,this.skipFade=n}}class Dt{constructor(e,t,n,r,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=n,this.bucketIndex=r,this.tileID=i}}class Ot{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function kt(e,n,r,i,a){let{horizontalAlign:o,verticalAlign:s}=t.aP(e);return new t.P(-(o-.5)*n+i[0]*a,-(s-.5)*r+i[1]*a)}class At{constructor(e,t,n,r,i){this.transform=e.clone(),this.terrain=t,this.collisionIndex=new Tt(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new Ot(r),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=i,i&&(i.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;return t?(n,r)=>t.getElevation(e,n,r):null}getBucketParts(e,n,r,i){let a=r.getBucket(n),o=r.latestFeatureIndex;if(!a||!o||n.id!==a.layerIds[0])return;let s=r.collisionBoxArray,c=a.layers[0].layout,l=a.layers[0].paint,u=2**(this.transform.zoom-r.tileID.overscaledZ),d=r.tileSize/t.a6,f=r.tileID.toUnwrapped(),p=c.get(`text-rotation-alignment`)===`map`,m=t.aK(r,1,this.transform.zoom),h=t.aL(this.collisionIndex.transform,r,l.get(`text-translate`),l.get(`text-translate-anchor`)),g=t.aL(this.collisionIndex.transform,r,l.get(`icon-translate`),l.get(`icon-translate-anchor`)),_=at(p,this.transform,m);this.retainedQueryData[a.bucketInstanceId]=new Dt(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID);let v={bucket:a,layout:c,translationText:h,translationIcon:g,unwrappedTileID:f,pitchedLabelPlaneMatrix:_,scale:u,textPixelRatio:d,holdingForFade:r.holdingForSymbolFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.aw(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(let t of a.sortKeyRanges){let{sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i}=t;e.push({sortKey:n,symbolInstanceStart:r,symbolInstanceEnd:i,parameters:v})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:v})}attemptAnchorPlacement(e,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b){var x,S;let C=t.aM[e.textAnchor],w=[e.textOffset0,e.textOffset1],T=kt(C,r,i,w,a),ee=this.collisionIndex.placeCollisionBox(n,f,c,l,u,s,o,g,d.predicate,y,T,b);if((!v||this.collisionIndex.placeCollisionBox(v,f,c,l,u,s,o,_,d.predicate,y,T,b).placeable)&&ee.placeable){let e;if((x=this.prevPlacement)!=null&&x.variableOffsets[p.crossTileID]&&(S=this.prevPlacement?.placements[p.crossTileID])!=null&&S.text&&(e=this.prevPlacement.variableOffsets[p.crossTileID].anchor),p.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);return this.variableOffsets[p.crossTileID]={textOffset:w,width:r,height:i,anchor:C,textBoxScale:a,prevAnchor:e},this.markUsedJustification(m,C,p,h),m.allowVerticalPlacement&&(this.markUsedOrientation(m,h,p),this.placedOrientations[p.crossTileID]=h),{shift:T,placedGlyphBoxes:ee}}}placeLayerBucketPart(e,n,r){let{bucket:i,layout:a,translationText:o,translationIcon:s,unwrappedTileID:c,pitchedLabelPlaneMatrix:l,textPixelRatio:u,holdingForFade:d,collisionBoxArray:f,partiallyEvaluatedTextSize:p,collisionGroup:m}=e.parameters,h=a.get(`text-optional`),g=a.get(`icon-optional`),_=t.aN(a,`text-overlap`,`text-allow-overlap`),v=_===`always`,y=t.aN(a,`icon-overlap`,`icon-allow-overlap`),b=y===`always`,x=a.get(`text-rotation-alignment`)===`map`,S=a.get(`text-pitch-alignment`)===`map`,C=a.get(`icon-text-fit`)!==`none`,w=a.get(`symbol-z-order`)===`viewport-y`,T=v&&(b||!i.hasIconData()||g),ee=b&&(v||!i.hasTextData()||h);!i.collisionArrays&&f&&i.deserializeCollisionBoxes(f);let E=this.retainedQueryData[i.bucketInstanceId].tileID,D=this._getTerrainElevationFunc(E),O=this.transform.getFastPathSimpleProjectionMatrix(E),k=(e,f,b)=>{if(n[e.crossTileID])return;if(d)return void(this.placements[e.crossTileID]=new R(!1,!1,!1));let w=!1,k=!1,te=!0,ne=null,A={box:null,placeable:!1,offscreen:null,occluded:!1},re={placeable:!1},ie=null,ae=null,oe=null,se=0,ce=0,le=0;f.textFeatureIndex?se=f.textFeatureIndex:e.useRuntimeCollisionCircles&&(se=e.featureIndex),f.verticalTextFeatureIndex&&(ce=f.verticalTextFeatureIndex);let ue=f.textBox;if(ue){let n=n=>{let r=t.ax.horizontal;if(i.allowVerticalPlacement&&!n&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,r=t,this.markUsedOrientation(i,r,e))}return r},a=(n,r)=>{if(i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&f.verticalTextBox){for(let e of i.writingModes)if(e===t.ax.vertical?(A=r(),re=A):A=n(),A?.placeable)break}else A=n()},l=e.textAnchorOffsetStartIndex,d=e.textAnchorOffsetEndIndex;if(d===l){let r=(t,n)=>{let r=this.collisionIndex.placeCollisionBox(t,_,u,E,c,S,x,o,m.predicate,D,void 0,O);return r!=null&&r.placeable&&(this.markUsedOrientation(i,n,e),this.placedOrientations[e.crossTileID]=n),r};a((()=>r(ue,t.ax.horizontal)),(()=>{let n=f.verticalTextBox;return i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&n?r(n,t.ax.vertical):{box:null,offscreen:null}})),n(A?.placeable)}else{let p=t.aM[this.prevPlacement?.variableOffsets[e.crossTileID]?.anchor],h=(t,n,a)=>{let f=t.x2-t.x1,h=t.y2-t.y1,g=e.textBoxScale,v=C&&y===`never`?n:null,b=null,T=_===`never`?1:2,ee=`never`;p&&T++;for(let n=0;n<T;n++){for(let n=l;n<d;n++){let r=i.textAnchorOffsets.get(n);if(p&&r.textAnchor!==p)continue;let l=this.attemptAnchorPlacement(r,t,f,h,g,x,S,u,E,c,m,ee,e,i,a,o,s,v,D);if(l&&(b=l.placedGlyphBoxes,b?.placeable))return w=!0,ne=l.shift,b}p?p=null:ee=_}return r&&!b&&(b={box:this.collisionIndex.placeCollisionBox(ue,`always`,u,E,c,S,x,o,m.predicate,D,void 0,O).box,offscreen:!1,placeable:!1,occluded:!1}),b};a((()=>h(ue,f.iconBox,t.ax.horizontal)),(()=>{let n=f.verticalTextBox;return i.allowVerticalPlacement&&!A?.placeable&&e.numVerticalGlyphVertices>0&&n?h(n,f.verticalIconBox,t.ax.vertical):{box:null,occluded:!0,offscreen:null}})),A&&(w=A.placeable,te=A.offscreen);let g=n(A?.placeable);if(!w&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(i,t.anchor,e,g))}}}if(ie=A,w=ie?.placeable,te=ie?.offscreen,e.useRuntimeCollisionCircles&&e.centerJustifiedTextSymbolIndex>=0){let n=i.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),s=t.ay(i.textSizeData,p,n),u=a.get(`text-padding`);ae=this.collisionIndex.placeCollisionCircles(_,n,i.lineVertexArray,i.glyphOffsetArray,s,c,l,r,S,m.predicate,e.collisionCircleDiameter,u,o,D),ae.circles.length&&ae.collisionDetected&&!r&&t.w(`Collisions detected, but collision boxes are not shown`),w=v||ae.circles.length>0&&!ae.collisionDetected,te&&=ae.offscreen}if(f.iconFeatureIndex&&(le=f.iconFeatureIndex),f.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,y,u,E,c,S,x,s,m.predicate,D,C&&ne?ne:void 0,O);re&&re.placeable&&f.verticalIconBox?(oe=e(f.verticalIconBox),k=oe.placeable):(oe=e(f.iconBox),k=oe.placeable),te&&=oe.offscreen}let de=h||e.numHorizontalGlyphVertices===0&&e.numVerticalGlyphVertices===0,fe=g||e.numIconVertices===0;de||fe?fe?de||(k&&=w):w=k&&w:k=w=k&&w;let pe=k&&oe.placeable;if(w&&ie.placeable&&this.collisionIndex.insertCollisionBox(ie.box,_,a.get(`text-ignore-placement`),i.bucketInstanceId,re&&re.placeable&&ce?ce:se,m.ID),pe&&this.collisionIndex.insertCollisionBox(oe.box,y,a.get(`icon-ignore-placement`),i.bucketInstanceId,le,m.ID),ae&&w&&this.collisionIndex.insertCollisionCircles(ae.circles,_,a.get(`text-ignore-placement`),i.bucketInstanceId,se,m.ID),r&&this.storeCollisionData(i.bucketInstanceId,b,f,ie,oe,ae),e.crossTileID===0)throw Error(`symbolInstance.crossTileID can't be 0`);if(i.bucketInstanceId===0)throw Error(`bucket.bucketInstanceId can't be 0`);this.placements[e.crossTileID]=new R((w||T)&&!ie?.occluded,(k||ee)&&!oe?.occluded,te||i.justReloaded),n[e.crossTileID]=!0};if(w){if(e.symbolInstanceStart!==0)throw Error(`bucket.bucketInstanceId should be 0`);let t=i.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let e=t.length-1;e>=0;--e){let n=t[e];k(i.symbolInstances.get(n),i.collisionArrays[n],n)}}else for(let t=e.symbolInstanceStart;t<e.symbolInstanceEnd;t++)k(i.symbolInstances.get(t),i.collisionArrays[t],t);i.justReloaded=!1}storeCollisionData(e,t,n,r,i,a){if(n.textBox||n.iconBox){let a,o;this.collisionBoxArrays.has(e)?a=this.collisionBoxArrays.get(e):(a=new Map,this.collisionBoxArrays.set(e,a)),a.has(t)?o=a.get(t):(o={text:null,icon:null},a.set(t,o)),n.textBox&&(o.text=r.box),n.iconBox&&(o.icon=i.box)}if(a){let t=this.collisionCircleArrays[e];t===void 0&&(t=this.collisionCircleArrays[e]=[]);for(let e=0;e<a.circles.length;e+=4)t.push(a.circles[e+0]-100),t.push(a.circles[e+1]-100),t.push(a.circles[e+2]),t.push(+!!a.collisionDetected)}}markUsedJustification(e,n,r,i){let a;a=i===t.ax.vertical?r.verticalPlacedTextSymbolIndex:{left:r.leftJustifiedTextSymbolIndex,center:r.centerJustifiedTextSymbolIndex,right:r.rightJustifiedTextSymbolIndex}[t.aO(n)];let o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex,r.verticalPlacedTextSymbolIndex];for(let t of o)t>=0&&(e.text.placedSymbolArray.get(t).crossTileID=a>=0&&t!==a?0:r.crossTileID)}markUsedOrientation(e,n,r){let i=n===t.ax.horizontal||n===t.ax.horizontalOnly?n:0,a=n===t.ax.vertical?n:0,o=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(let t of o)e.text.placedSymbolArray.get(t).placedOrientation=i;r.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,n=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let r=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new I(a,r,t.text,t.icon),n||=t.text!==a.text.placed,n||=t.icon!==a.icon.placed):(this.opacities[e]=new I(null,r,t.text,t.icon,t.skipFade),n||=t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new I(t,r,!1,!1);i.isHidden()||(this.opacities[e]=i,n||=t.text.placed,n||=t.icon.placed)}}for(let e in a)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=a[e]);for(let e in o)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=o[e]);if(t&&t.lastPlacementChangeTime===void 0)throw Error(`Last placement time for previous placement is not defined`);n?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!=`number`&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let n={};for(let r of t){let t=r.getBucket(e);t&&r.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,r.tileID,n,r.collisionBoxArray)}}updateBucketOpacities(e,n,r,i){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let a=e.layers[0],o=a.layout,s=new I(null,0,!1,!1,!0),c=o.get(`text-allow-overlap`),l=o.get(`icon-allow-overlap`),u=a._unevaluatedLayout.hasValue(`text-variable-anchor`)||a._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),d=o.get(`text-rotation-alignment`)===`map`,f=o.get(`text-pitch-alignment`)===`map`,p=o.get(`icon-text-fit`)!==`none`,m=new I(null,0,c&&(l||!e.hasIconData()||o.get(`icon-optional`)),l&&(c||!e.hasTextData()||o.get(`text-optional`)),!0);!e.collisionArrays&&i&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(i);let h=(e,t,n)=>{for(let r=0;r<t/4;r++)e.opacityVertexArray.emplaceBack(n);e.hasVisibleVertices||=n!==Lt},g=this.collisionBoxArrays.get(e.bucketInstanceId);for(let n=0;n<e.symbolInstances.length;n++){let i=e.symbolInstances.get(n),{numHorizontalGlyphVertices:a,numVerticalGlyphVertices:o,crossTileID:c}=i,l=this.opacities[c];r[c]?l=s:l||(l=m,this.opacities[c]=l),r[c]=!0;let _=i.numIconVertices>0,v=this.placedOrientations[i.crossTileID],y=v===t.ax.vertical,b=v===t.ax.horizontal||v===t.ax.horizontalOnly;if(a>0||o>0){let t=It(l.text);h(e.text,a,y?Lt:t),h(e.text,o,b?Lt:t);let n=l.text.isHidden(),r=[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex];for(let t of r)t>=0&&(e.text.placedSymbolArray.get(t).hidden=n||y?1:0);i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=n||b?1:0);let s=this.variableOffsets[i.crossTileID];s&&this.markUsedJustification(e,s.anchor,i,v);let c=this.placedOrientations[i.crossTileID];c&&(this.markUsedJustification(e,`left`,i,c),this.markUsedOrientation(e,c,i))}if(_){let t=It(l.icon),n=!(p&&i.verticalPlacedIconSymbolIndex&&y);i.placedIconSymbolIndex>=0&&(h(e.icon,i.numIconVertices,n?t:Lt),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=l.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(h(e.icon,i.numVerticalIconVertices,n?Lt:t),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=l.icon.isHidden())}let x=g?.has(n)?g.get(n):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let r=e.collisionArrays[n];if(r){let n=new t.P(0,0);if(r.textBox||r.verticalTextBox){let t=!0;if(u){let e=this.variableOffsets[c];e?(n=kt(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),d&&n._rotate(f?-this.transform.bearingInRadians:this.transform.bearingInRadians)):t=!1}if(r.textBox||r.verticalTextBox){let i;r.textBox&&(i=y),r.verticalTextBox&&(i=b),jt(e.textCollisionBox.collisionVertexArray,l.text.placed,!t||i,x.text,n.x,n.y)}}if(r.iconBox||r.verticalIconBox){let t=!!(!b&&r.verticalIconBox),i;r.iconBox&&(i=t),r.verticalIconBox&&(i=!t),jt(e.iconCollisionBox.collisionVertexArray,l.icon.placed,i,x.icon,p?n.x:0,p?n.y:0)}}}}if(e.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);e.bucketInstanceId in this.collisionCircleArrays&&(e.collisionCircleArray=this.collisionCircleArrays[e.bucketInstanceId],delete this.collisionCircleArrays[e.bucketInstanceId])}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(e,t){let n=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*n>e}setStale(){this.stale=!0}}function jt(e,t,n,r,i,a){r&&r.length!==0||(r=[0,0,0,0]);let o=r[0]-100,s=r[1]-100,c=r[2]-100,l=r[3]-100;e.emplaceBack(+!!t,+!!n,i||0,a||0,o,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,s),e.emplaceBack(+!!t,+!!n,i||0,a||0,c,l),e.emplaceBack(+!!t,+!!n,i||0,a||0,o,l)}let Mt=2**25,Nt=2**24,Pt=2**17,Ft=2**16;function It(e){if(e.opacity===0&&!e.placed)return 0;if(e.opacity===1&&e.placed)return 4294967295;let t=+!!e.placed,n=Math.floor(127*e.opacity);return n*Mt+t*Nt+n*Pt+t*Ft+n*512+t*256+n*2+t}let Lt=0;class Rt{constructor(e){this._sortAcrossTiles=e.layout.get(`symbol-z-order`)!==`viewport-y`&&!e.layout.get(`symbol-sort-key`).isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,n,r,i){let a=this._bucketParts;for(;this._currentTileIndex<e.length;)if(t.getBucketParts(a,r,e[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,i())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort(((e,t)=>e.sortKey-t.sortKey)));this._currentPartIndex<a.length;)if(t.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,n),this._currentPartIndex++,i())return!0;return!1}}class zt{constructor(e,t,n,r,i,a,o,s){this.placement=new At(e,t,a,o,s),this._currentPlacementIndex=n.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=i,this._done=!1}isDone(){return this._done}continuePlacement(e,n,r){let i=l(),a=()=>!this._forceFullPlacement&&l()-i>2;for(;this._currentPlacementIndex>=0;){let i=n[e[this._currentPlacementIndex]],o=this.placement.collisionIndex.transform.zoom;if(t.aQ(i)&&i.layout&&(!i.minzoom||i.minzoom<=o)&&(!i.maxzoom||i.maxzoom>o)){if(this._inProgressLayer||=new Rt(i),this._inProgressLayer.continuePlacement(r[i.source],this.placement,this._showCollisionBoxes,i,a))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}let Bt=512/t.a6/2;class Vt{constructor(e,n,r){this.tileID=e,this.bucketInstanceId=r,this._symbolsByKey={};let i=new Map;for(let e=0;e<n.length;e++){let t=n.get(e),r=t.key,a=i.get(r);a?a.push(t):i.set(r,[t])}for(let[e,n]of i){let r={positions:n.map((e=>({x:Math.floor(e.anchorX*Bt),y:Math.floor(e.anchorY*Bt)}))),crossTileIDs:n.map((e=>e.crossTileID))};if(r.positions.length>128){let e=new t.aR(r.positions.length,16,Uint16Array);for(let{x:t,y:n}of r.positions)e.add(t,n);e.finish(),delete r.positions,r.index=e}this._symbolsByKey[e]=r}}getScaledCoordinates(e,n){let{x:r,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:c}=n.canonical,l=Bt/2**(c-a),u=(s*t.a6+e.anchorY)*l,d=i*t.a6*Bt;return{x:Math.floor((o*t.a6+e.anchorX)*l-r*t.a6*Bt),y:Math.floor(u-d)}}findMatches(e,t,n){let r=this.tileID.canonical.z<t.canonical.z?1:2**(this.tileID.canonical.z-t.canonical.z);for(let i=0;i<e.length;i++){let a=e.get(i);if(a.crossTileID)continue;let o=this._symbolsByKey[a.key];if(!o)continue;let s=this.getScaledCoordinates(a,t);if(o.index){let e=o.index.range(s.x-r,s.y-r,s.x+r,s.y+r).sort();for(let t of e){let e=o.crossTileIDs[t];if(!n[e]){n[e]=!0,a.crossTileID=e;break}}}else if(o.positions)for(let e=0;e<o.positions.length;e++){let t=o.positions[e],i=o.crossTileIDs[e];if(Math.abs(t.x-s.x)<=r&&Math.abs(t.y-s.y)<=r&&!n[i]){n[i]=!0,a.crossTileID=i;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map((({crossTileIDs:e})=>e))}}class Ht{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ut{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(t!==0)for(let e in this.indexes){let n=this.indexes[e],r={};for(let e in n){let i=n[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),r[i.tileID.key]=i}this.indexes[e]=r}this.lng=e}addBucket(e,t,n){var r,i;if(this.indexes[e.overscaledZ]?.[e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;e<t.symbolInstances.length;e++)t.symbolInstances.get(e).crossTileID=0;(r=this.usedCrossTileIDs)[i=e.overscaledZ]||(r[i]={});let a=this.usedCrossTileIDs[e.overscaledZ];for(let n in this.indexes){let r=this.indexes[n];if(Number(n)>e.overscaledZ)for(let n in r){let i=r[n];i.tileID.isChildOf(e)&&i.findMatches(t.symbolInstances,e,a)}else{let i=r[e.scaledTo(Number(n)).key];i&&i.findMatches(t.symbolInstances,e,a)}}for(let e=0;e<t.symbolInstances.length;e++){let r=t.symbolInstances.get(e);r.crossTileID||(r.crossTileID=n.generate(),a[r.crossTileID]=!0)}return this.indexes[e.overscaledZ]===void 0&&(this.indexes[e.overscaledZ]={}),this.indexes[e.overscaledZ][e.key]=new Vt(e,t.symbolInstances,t.bucketInstanceId),!0}removeBucketCrossTileIDs(e,t){for(let n of t.getCrossTileIDsLists())for(let t of n)delete this.usedCrossTileIDs[e][t]}removeStaleBuckets(e){let t=!1;for(let n in this.indexes){let r=this.indexes[n];for(let i in r)e[r[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(n,r[i]),delete r[i],t=!0)}return t}}class Wt{constructor(){this.layerIndexes={},this.crossTileIDs=new Ht,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(e,t,n){let r=this.layerIndexes[e.id];r===void 0&&(r=this.layerIndexes[e.id]=new Ut);let i=!1,a={};r.handleWrapJump(n);for(let n of t){let t=n.getBucket(e);e.id===t?.layerIds[0]&&(t.bucketInstanceId||=(this.maxBucketInstanceId+=1,this.maxBucketInstanceId),r.addBucket(n.tileID,t,this.crossTileIDs)&&(i=!0),a[t.bucketInstanceId]=!0)}return r.removeStaleBuckets(a)&&(i=!0),i}pruneUnusedLayers(e){let t={};for(let n of e)t[n]=!0;for(let e in this.layerIndexes)t[e]||delete this.layerIndexes[e]}}var Gt=`void main() {fragColor=vec4(1.0);}`;let Kt={prelude:qt(`#ifdef GL_ES
precision mediump float;
#else
#if !defined(lowp)
#define lowp
#endif
#if !defined(mediump)
#define mediump
#endif
#if !defined(highp)
#define highp
#endif
#endif
out highp vec4 fragColor;`,`#ifdef GL_ES
precision highp float;
#else
#if !defined(lowp)
#define lowp
#endif
#if !defined(mediump)
#define mediump
#endif
#if !defined(highp)
#define highp
#endif
#endif
vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0
);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}mat3 rotationMatrixFromAxisAngle(vec3 u,float angle) {float c=cos(angle);float s=sin(angle);float c2=1.0-c;return mat3(u.x*u.x*c2+      c,u.x*u.y*c2-u.z*s,u.x*u.z*c2+u.y*s,u.y*u.x*c2+u.z*s,u.y*u.y*c2+    c,u.y*u.z*c2-u.x*s,u.z*u.x*c2-u.y*s,u.z*u.y*c2+u.x*s,u.z*u.z*c2+    c
);}
#ifdef TERRAIN3D
uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;
#endif
const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {
#ifdef TERRAIN3D
highp float d=unpack(texture(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));
#else
return 1.0;
#endif
}float calculate_visibility(vec4 pos) {
#ifdef TERRAIN3D
vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;
#else
return 1.0;
#endif
}float ele(vec2 pos) {
#ifdef TERRAIN3D
vec4 rgb=(texture(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;
#else
return 0.0;
#endif
}float get_elevation(vec2 pos) {
#ifdef TERRAIN3D
#ifdef GLOBE
if ((pos.y <-32767.5) || (pos.y > 32766.5)) {return 0.0;}
#endif
vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;
#else
return 0.0;
#endif
}const float PI=3.141592653589793;uniform mat4 u_projection_matrix;`),projectionMercator:qt(``,`float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y <-32767.5 || rawPos.y > 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}`),projectionGlobe:qt(``,`#define GLOBE_RADIUS 6371008.8
uniform highp vec4 u_projection_tile_mercator_coords;uniform highp vec4 u_projection_clipping_plane;uniform highp float u_projection_transition;uniform mat4 u_projection_fallback_matrix;vec3 globeRotateVector(vec3 vec,vec2 angles) {vec3 axisRight=vec3(vec.z,0.0,-vec.x);vec3 axisUp=cross(axisRight,vec);axisRight=normalize(axisRight);axisUp=normalize(axisUp);vec2 t=tan(angles);return normalize(vec+axisRight*t.x+axisUp*t.y);}mat3 globeGetRotationMatrix(vec3 spherePos) {vec3 axisRight=vec3(spherePos.z,0.0,-spherePos.x);vec3 axisDown=cross(axisRight,spherePos);axisRight=normalize(axisRight);axisDown=normalize(axisDown);return mat3(axisRight,axisDown,spherePos
);}float circumferenceRatioAtTileY(float tileY) {float mercator_pos_y=u_projection_tile_mercator_coords.y+u_projection_tile_mercator_coords.w*tileY;float spherical_y=2.0*atan(exp(PI-(mercator_pos_y*PI*2.0)))-PI*0.5;return cos(spherical_y);}float projectLineThickness(float tileY) {float thickness=1.0/circumferenceRatioAtTileY(tileY); 
if (u_projection_transition < 0.999) {return mix(1.0,thickness,u_projection_transition);} else {return thickness;}}vec3 projectToSphere(vec2 translatedPos,vec2 rawPos) {vec2 mercator_pos=u_projection_tile_mercator_coords.xy+u_projection_tile_mercator_coords.zw*translatedPos;vec2 spherical;spherical.x=mercator_pos.x*PI*2.0+PI;spherical.y=2.0*atan(exp(PI-(mercator_pos.y*PI*2.0)))-PI*0.5;float len=cos(spherical.y);vec3 pos=vec3(sin(spherical.x)*len,sin(spherical.y),cos(spherical.x)*len
);if (rawPos.y <-32767.5) {pos=vec3(0.0,1.0,0.0);}if (rawPos.y > 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y <-32767.5) || (posInTile.y > 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`),background:qt(`uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}`),backgroundPattern:qt(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}`),circle:qt(`in vec3 v_data;in float v_visibility;
#pragma mapbox: define highp vec4 color
#pragma mapbox: define mediump float radius
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define highp vec4 stroke_color
#pragma mapbox: define mediump float stroke_width
#pragma mapbox: define lowp float stroke_opacity
void main() {
#pragma mapbox: initialize highp vec4 color
#pragma mapbox: initialize mediump float radius
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize highp vec4 stroke_color
#pragma mapbox: initialize mediump float stroke_width
#pragma mapbox: initialize lowp float stroke_opacity
vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));fragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);const float epsilon=0.5/255.0;if (fragColor.r < epsilon && fragColor.g < epsilon && fragColor.b < epsilon && fragColor.a < epsilon) {discard;}
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform highp float u_globe_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;uniform vec2 u_translate;in vec2 a_pos;out vec3 v_data;out float v_visibility;
#pragma mapbox: define highp vec4 color
#pragma mapbox: define mediump float radius
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define highp vec4 stroke_color
#pragma mapbox: define mediump float stroke_width
#pragma mapbox: define lowp float stroke_opacity
void main(void) {
#pragma mapbox: initialize highp vec4 color
#pragma mapbox: initialize mediump float radius
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize highp vec4 stroke_color
#pragma mapbox: initialize mediump float stroke_width
#pragma mapbox: initialize lowp float stroke_opacity
vec2 pos_raw=a_pos+32768.0;vec2 extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);vec2 circle_center=floor(pos_raw/8.0)+u_translate;float ele=get_elevation(circle_center);v_visibility=calculate_visibility(projectTileWithElevation(circle_center,ele));if (u_pitch_with_map) {
#ifdef GLOBE
vec3 center_vector=projectToSphere(circle_center);
#endif
float angle_scale=u_globe_extrude_scale;vec2 corner_position=circle_center;if (u_scale_with_map) {angle_scale*=(radius+stroke_width);corner_position+=extrude*u_extrude_scale*(radius+stroke_width);} else {
#ifdef GLOBE
vec4 projected_center=interpolateProjection(circle_center,center_vector,ele);
#else
vec4 projected_center=projectTileWithElevation(circle_center,ele);
#endif
corner_position+=extrude*u_extrude_scale*(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);angle_scale*=(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);}
#ifdef GLOBE
vec2 angles=extrude*angle_scale;vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(corner_position,corner_vector,ele);
#else
gl_Position=projectTileWithElevation(corner_position,ele);
#endif
} else {gl_Position=projectTileWithElevation(circle_center,ele);if (gl_Position.z/gl_Position.w > 1.0) {gl_Position.xy=vec2(10000.0);}if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:qt(Gt,`in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}`),heatmap:qt(`uniform highp float u_intensity;in vec2 v_extrude;
#pragma mapbox: define highp float weight
#define GAUSS_COEF 0.3989422804014327
void main() {
#pragma mapbox: initialize highp float weight
float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);fragColor=vec4(val,1.0,1.0,1.0);
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;in vec2 a_pos;out vec2 v_extrude;
#pragma mapbox: define highp float weight
#pragma mapbox: define mediump float radius
const highp float ZERO=1.0/255.0/16.0;
#define GAUSS_COEF 0.3989422804014327
void main(void) {
#pragma mapbox: initialize highp float weight
#pragma mapbox: initialize mediump float radius
vec2 pos_raw=a_pos+32768.0;vec2 unscaled_extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 circle_center=floor(pos_raw/8.0);
#ifdef GLOBE
vec2 angles=v_extrude*radius*u_globe_extrude_scale;vec3 center_vector=projectToSphere(circle_center);vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(circle_center+extrude,corner_vector,0.0);
#else
gl_Position=projectTileFor3D(circle_center+extrude,get_elevation(circle_center));
#endif
}`),heatmapTexture:qt(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(0.0);
#endif
}`,`uniform mat4 u_matrix;uniform vec2 u_world;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}`),collisionBox:qt(`in float v_placed;in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}`,`in vec2 a_anchor_pos;in vec2 a_placed;in vec2 a_box_real;uniform vec2 u_pixel_extrude_scale;out float v_placed;out float v_notUsed;void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}`),collisionCircle:qt(`in float v_radius;in vec2 v_extrude;in float v_collision;void main() {float alpha=0.5;float stroke_radius=0.9;float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);fragColor=color*alpha*opacity_t;}`,`in vec2 a_pos;in float a_radius;in vec2 a_flags;uniform vec2 u_viewport_size;out float v_radius;out vec2 v_extrude;out float v_collision;void main() {float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_collision=collision;gl_Position=vec4((a_pos/u_viewport_size*2.0-1.0)*vec2(1.0,-1.0),0.0,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}`),colorRelief:qt(`#ifdef GL_ES
precision highp float;
#endif
uniform sampler2D u_image;uniform vec4 u_unpack;uniform sampler2D u_elevation_stops;uniform sampler2D u_color_stops;uniform int u_color_ramp_size;uniform float u_opacity;in vec2 v_pos;float getElevation(vec2 coord) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}float getElevationStop(int stop) {float x=(float(stop)+0.5)/float(u_color_ramp_size);vec4 data=texture(u_elevation_stops,vec2(x,0))*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {float el=getElevation(v_pos);int r=(u_color_ramp_size-1);int l=0;float el_l=getElevationStop(l);float el_r=getElevationStop(r);while(r-l > 1){int m=(r+l)/2;float el_m=getElevationStop(m);if(el < el_m){r=m;el_r=el_m;}else
{l=m;el_l=el_m;}}float x=(float(l)+(el-el_l)/(el_r-el_l)+0.5)/float(u_color_ramp_size);fragColor=u_opacity*texture(u_color_stops,vec2(x,0));
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec2 u_dimension;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_pos/8192.0)*scale+epsilon;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}`),debug:qt(`uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}`,`in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}`),depth:qt(Gt,`in vec2 a_pos;void main() {
#ifdef GLOBE
gl_Position=projectTileFor3D(a_pos,0.0);
#else
gl_Position=u_projection_matrix*vec4(a_pos,0.0,1.0);
#endif
}`),fill:qt(`#pragma mapbox: define highp vec4 color
#pragma mapbox: define lowp float opacity
void main() {
#pragma mapbox: initialize highp vec4 color
#pragma mapbox: initialize lowp float opacity
fragColor=color*opacity;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec2 u_fill_translate;in vec2 a_pos;
#pragma mapbox: define highp vec4 color
#pragma mapbox: define lowp float opacity
void main() {
#pragma mapbox: initialize highp vec4 color
#pragma mapbox: initialize lowp float opacity
gl_Position=projectTile(a_pos+u_fill_translate,a_pos);}`),fillOutline:qt(`in vec2 v_pos;
#ifdef GLOBE
in float v_depth;
#endif
#pragma mapbox: define highp vec4 outline_color
#pragma mapbox: define lowp float opacity
void main() {
#pragma mapbox: initialize highp vec4 outline_color
#pragma mapbox: initialize lowp float opacity
float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=outline_color*(alpha*opacity);
#ifdef GLOBE
if (v_depth > 1.0) {discard;}
#endif
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec2 u_world;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos;
#ifdef GLOBE
out float v_depth;
#endif
#pragma mapbox: define highp vec4 outline_color
#pragma mapbox: define lowp float opacity
void main() {
#pragma mapbox: initialize highp vec4 outline_color
#pragma mapbox: initialize lowp float opacity
gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;
#ifdef GLOBE
v_depth=gl_Position.z/gl_Position.w;
#endif
}`),fillOutlinePattern:qt(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos;
#ifdef GLOBE
in float v_depth;
#endif
#pragma mapbox: define lowp float opacity
#pragma mapbox: define lowp vec4 pattern_from
#pragma mapbox: define lowp vec4 pattern_to
void main() {
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump vec4 pattern_from
#pragma mapbox: initialize mediump vec4 pattern_to
vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=mix(color1,color2,u_fade)*alpha*opacity;
#ifdef GLOBE
if (v_depth > 1.0) {discard;}
#endif
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos;
#ifdef GLOBE
out float v_depth;
#endif
#pragma mapbox: define lowp float opacity
#pragma mapbox: define lowp vec4 pattern_from
#pragma mapbox: define lowp vec4 pattern_to
#pragma mapbox: define lowp float pixel_ratio_from
#pragma mapbox: define lowp float pixel_ratio_to
void main() {
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump vec4 pattern_from
#pragma mapbox: initialize mediump vec4 pattern_to
#pragma mapbox: initialize lowp float pixel_ratio_from
#pragma mapbox: initialize lowp float pixel_ratio_to
vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;
#ifdef GLOBE
v_depth=gl_Position.z/gl_Position.w;
#endif
}`),fillPattern:qt(`#ifdef GL_ES
precision highp float;
#endif
uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;
#pragma mapbox: define lowp float opacity
#pragma mapbox: define lowp vec4 pattern_from
#pragma mapbox: define lowp vec4 pattern_to
void main() {
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump vec4 pattern_from
#pragma mapbox: initialize mediump vec4 pattern_to
vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_fade)*opacity;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;
#pragma mapbox: define lowp float opacity
#pragma mapbox: define lowp vec4 pattern_from
#pragma mapbox: define lowp vec4 pattern_to
#pragma mapbox: define lowp float pixel_ratio_from
#pragma mapbox: define lowp float pixel_ratio_to
void main() {
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump vec4 pattern_from
#pragma mapbox: initialize mediump vec4 pattern_to
#pragma mapbox: initialize lowp float pixel_ratio_from
#pragma mapbox: initialize lowp float pixel_ratio_to
vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:qt(`in vec4 v_color;void main() {fragColor=v_color;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;in vec2 a_pos;in vec4 a_normal_ed;
#ifdef TERRAIN3D
in vec2 a_centroid;
#endif
out vec4 v_color;
#pragma mapbox: define highp float base
#pragma mapbox: define highp float height
#pragma mapbox: define highp vec4 color
void main() {
#pragma mapbox: initialize highp float base
#pragma mapbox: initialize highp float height
#pragma mapbox: initialize highp vec4 color
vec3 normal=a_normal_ed.xyz;
#ifdef TERRAIN3D
float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);
#else
float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;
#endif
base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate;
#ifdef GLOBE
vec3 spherePos=projectToSphere(posInTile,a_pos);gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation);
#else
gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0);
#endif
float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;vec3 normalForLighting=normal/16384.0;float directional=clamp(dot(normalForLighting,u_lightpos),0.0,1.0);
#ifdef GLOBE
mat3 rotMatrix=globeGetRotationMatrix(spherePos);normalForLighting=rotMatrix*normalForLighting;directional=mix(directional,clamp(dot(normalForLighting,u_lightpos_globe),0.0,1.0),u_projection_transition);
#endif
directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:qt(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in vec4 v_lighting;
#pragma mapbox: define lowp float base
#pragma mapbox: define lowp float height
#pragma mapbox: define lowp vec4 pattern_from
#pragma mapbox: define lowp vec4 pattern_to
#pragma mapbox: define lowp float pixel_ratio_from
#pragma mapbox: define lowp float pixel_ratio_to
void main() {
#pragma mapbox: initialize lowp float base
#pragma mapbox: initialize lowp float height
#pragma mapbox: initialize mediump vec4 pattern_from
#pragma mapbox: initialize mediump vec4 pattern_to
#pragma mapbox: initialize lowp float pixel_ratio_from
#pragma mapbox: initialize lowp float pixel_ratio_to
vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);fragColor=mixedColor*v_lighting;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;in vec2 a_pos;in vec4 a_normal_ed;
#ifdef TERRAIN3D
in vec2 a_centroid;
#endif
#ifdef GLOBE
out vec3 v_sphere_pos;
#endif
out vec2 v_pos_a;out vec2 v_pos_b;out vec4 v_lighting;
#pragma mapbox: define lowp float base
#pragma mapbox: define lowp float height
#pragma mapbox: define lowp vec4 pattern_from
#pragma mapbox: define lowp vec4 pattern_to
#pragma mapbox: define lowp float pixel_ratio_from
#pragma mapbox: define lowp float pixel_ratio_to
void main() {
#pragma mapbox: initialize lowp float base
#pragma mapbox: initialize lowp float height
#pragma mapbox: initialize mediump vec4 pattern_from
#pragma mapbox: initialize mediump vec4 pattern_to
#pragma mapbox: initialize lowp float pixel_ratio_from
#pragma mapbox: initialize lowp float pixel_ratio_to
vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;
#ifdef TERRAIN3D
float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);
#else
float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;
#endif
base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate;
#ifdef GLOBE
vec3 spherePos=projectToSphere(posInTile,a_pos);vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);v_sphere_pos=elevatedPos;gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation);
#else
gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0);
#endif
vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0
? a_pos
: vec2(edgedistance,elevation*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:qt(`#ifdef GL_ES
precision highp float;
#endif
uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {vec2 epsilon=1.0/u_dimension;float tileSize=u_dimension.x-2.0;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))*tileSize/pow(2.0,exaggeration+(28.2562-u_zoom));fragColor=clamp(vec4(deriv.x/8.0+0.5,deriv.y/8.0+0.5,1.0,1.0),0.0,1.0);
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform mat4 u_matrix;uniform vec2 u_dimension;in vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}`),hillshade:qt(`uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_latrange;uniform float u_exaggeration;uniform vec4 u_accent;uniform int u_method;uniform float u_altitudes[NUM_ILLUMINATION_SOURCES];uniform float u_azimuths[NUM_ILLUMINATION_SOURCES];uniform vec4 u_shadows[NUM_ILLUMINATION_SOURCES];uniform vec4 u_highlights[NUM_ILLUMINATION_SOURCES];
#define PI 3.141592653589793
#define STANDARD 0
#define COMBINED 1
#define IGOR 2
#define MULTIDIRECTIONAL 3
#define BASIC 4
float get_aspect(vec2 deriv){return deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);}void igor_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float aspect=get_aspect(deriv);float azimuth=u_azimuths[0]+PI;float slope_stength=atan(length(deriv))*2.0/PI;float aspect_strength=1.0-abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);float shadow_strength=slope_stength*aspect_strength;float highlight_strength=slope_stength*(1.0-aspect_strength);fragColor=u_shadows[0]*shadow_strength+u_highlights[0]*highlight_strength;}void standard_hillshade(vec2 deriv){float azimuth=u_azimuths[0]+PI;float slope=atan(0.625*length(deriv));float aspect=get_aspect(deriv);float intensity=u_exaggeration;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadows[0],u_highlights[0],shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);fragColor=accent_color*(1.0-shade_color.a)+shade_color;}void basic_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor=u_highlights[0]*(2.0*shade-1.0);}else
{fragColor=u_shadows[0]*(1.0-2.0*shade);}}void multidirectional_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;fragColor=vec4(0,0,0,0);for(int i=0; i < NUM_ILLUMINATION_SOURCES; i++){float cos_alt=cos(u_altitudes[i]);float sin_alt=sin(u_altitudes[i]);float cos_az=-cos(u_azimuths[i]);float sin_az=-sin(u_azimuths[i]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor+=u_highlights[i]*(2.0*shade-1.0)/float(NUM_ILLUMINATION_SOURCES);}else
{fragColor+=u_shadows[i]*(1.0-2.0*shade)/float(NUM_ILLUMINATION_SOURCES);}}}void combined_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=acos((sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv)));cang=clamp(cang,0.0,PI/2.0);float shade=cang*atan(length(deriv))*4.0/PI/PI;float highlight=(PI/2.0-cang)*atan(length(deriv))*4.0/PI/PI;fragColor=u_shadows[0]*shade+u_highlights[0]*highlight;}void main() {vec4 pixel=texture(u_image,v_pos);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));vec2 deriv=((pixel.rg*8.0)-4.0)/scaleFactor;if (u_method==BASIC) {basic_hillshade(deriv);} else if (u_method==COMBINED) {combined_hillshade(deriv);} else if (u_method==IGOR) {igor_hillshade(deriv);} else if (u_method==MULTIDIRECTIONAL) {multidirectional_hillshade(deriv);} else if (u_method==STANDARD) {standard_hillshade(deriv);} else {standard_hillshade(deriv);}
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform mat4 u_matrix;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}`),line:qt(`uniform lowp float u_device_pixel_ratio;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;
#ifdef GLOBE
in float v_depth;
#endif
#pragma mapbox: define highp vec4 color
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
void main() {
#pragma mapbox: initialize highp vec4 color
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);fragColor=color*(alpha*opacity);
#ifdef GLOBE
if (v_depth > 1.0) {discard;}
#endif
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`
#define scale 0.015873016
in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp float v_linesofar;
#ifdef GLOBE
out float v_depth;
#endif
#pragma mapbox: define highp vec4 color
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define mediump float gapwidth
#pragma mapbox: define lowp float offset
#pragma mapbox: define mediump float width
void main() {
#pragma mapbox: initialize highp vec4 color
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump float gapwidth
#pragma mapbox: initialize lowp float offset
#pragma mapbox: initialize mediump float width
float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
#ifdef GLOBE
v_depth=gl_Position.z/gl_Position.w;
#endif
#ifdef TERRAIN3D
v_gamma_scale=1.0;
#else
float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
#endif
v_width2=vec2(outset,inset);}`),lineGradient:qt(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv;
#ifdef GLOBE
in float v_depth;
#endif
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
void main() {
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture(u_image,v_uv);fragColor=color*(alpha*opacity);
#ifdef GLOBE
if (v_depth > 1.0) {discard;}
#endif
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`
#define scale 0.015873016
in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv;
#ifdef GLOBE
out float v_depth;
#endif
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define mediump float gapwidth
#pragma mapbox: define lowp float offset
#pragma mapbox: define mediump float width
void main() {
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump float gapwidth
#pragma mapbox: initialize lowp float offset
#pragma mapbox: initialize mediump float width
float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
#ifdef GLOBE
v_depth=gl_Position.z/gl_Position.w;
#endif
#ifdef TERRAIN3D
v_gamma_scale=1.0;
#else
float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
#endif
v_width2=vec2(outset,inset);}`),linePattern:qt(`#ifdef GL_ES
precision highp float;
#endif
uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;in vec2 v_normal;in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;in float v_width;
#ifdef GLOBE
in float v_depth;
#endif
#pragma mapbox: define lowp vec4 pattern_from
#pragma mapbox: define lowp vec4 pattern_to
#pragma mapbox: define lowp float pixel_ratio_from
#pragma mapbox: define lowp float pixel_ratio_to
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
void main() {
#pragma mapbox: initialize mediump vec4 pattern_from
#pragma mapbox: initialize mediump vec4 pattern_to
#pragma mapbox: initialize lowp float pixel_ratio_from
#pragma mapbox: initialize lowp float pixel_ratio_to
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture(u_image,pos_a),texture(u_image,pos_b),u_fade);fragColor=color*alpha*opacity;
#ifdef GLOBE
if (v_depth > 1.0) {discard;}
#endif
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`
#define scale 0.015873016
#define LINE_DISTANCE_SCALE 2.0
in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;out float v_width;
#ifdef GLOBE
out float v_depth;
#endif
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define lowp float offset
#pragma mapbox: define mediump float gapwidth
#pragma mapbox: define mediump float width
#pragma mapbox: define lowp float floorwidth
#pragma mapbox: define lowp vec4 pattern_from
#pragma mapbox: define lowp vec4 pattern_to
#pragma mapbox: define lowp float pixel_ratio_from
#pragma mapbox: define lowp float pixel_ratio_to
void main() {
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize lowp float offset
#pragma mapbox: initialize mediump float gapwidth
#pragma mapbox: initialize mediump float width
#pragma mapbox: initialize lowp float floorwidth
#pragma mapbox: initialize mediump vec4 pattern_from
#pragma mapbox: initialize mediump vec4 pattern_to
#pragma mapbox: initialize lowp float pixel_ratio_from
#pragma mapbox: initialize lowp float pixel_ratio_to
float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
#ifdef GLOBE
v_depth=gl_Position.z/gl_Position.w;
#endif
#ifdef TERRAIN3D
v_gamma_scale=1.0;
#else
float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
#endif
v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:qt(`uniform lowp float u_device_pixel_ratio;uniform lowp float u_lineatlas_width;uniform sampler2D u_image;uniform float u_mix;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;
#ifdef GLOBE
in float v_depth;
#endif
#pragma mapbox: define highp vec4 color
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define mediump float width
#pragma mapbox: define lowp float floorwidth
#pragma mapbox: define mediump vec4 dasharray_from
#pragma mapbox: define mediump vec4 dasharray_to
void main() {
#pragma mapbox: initialize highp vec4 color
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump float width
#pragma mapbox: initialize lowp float floorwidth
#pragma mapbox: initialize mediump vec4 dasharray_from
#pragma mapbox: initialize mediump vec4 dasharray_to
float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture(u_image,v_tex_a).a;float sdfdist_b=texture(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);float sdfgamma=(u_lineatlas_width/256.0/u_device_pixel_ratio)/min(dasharray_from.w,dasharray_to.w);alpha*=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*opacity);
#ifdef GLOBE
if (v_depth > 1.0) {discard;}
#endif
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`
#define scale 0.015873016
#define LINE_DISTANCE_SCALE 2.0
in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;out vec2 v_width2;out vec2 v_tex_a;out vec2 v_tex_b;out float v_gamma_scale;
#ifdef GLOBE
out float v_depth;
#endif
#pragma mapbox: define highp vec4 color
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define mediump float gapwidth
#pragma mapbox: define lowp float offset
#pragma mapbox: define mediump float width
#pragma mapbox: define lowp float floorwidth
#pragma mapbox: define mediump vec4 dasharray_from
#pragma mapbox: define mediump vec4 dasharray_to
void main() {
#pragma mapbox: initialize highp vec4 color
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump float gapwidth
#pragma mapbox: initialize lowp float offset
#pragma mapbox: initialize mediump float width
#pragma mapbox: initialize lowp float floorwidth
#pragma mapbox: initialize mediump vec4 dasharray_from
#pragma mapbox: initialize mediump vec4 dasharray_to
float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
#ifdef GLOBE
v_depth=gl_Position.z/gl_Position.w;
#endif
#ifdef TERRAIN3D
v_gamma_scale=1.0;
#else
float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
#endif
float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),lineGradientSDF:qt(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform sampler2D u_image_dash;uniform float u_mix;uniform lowp float u_lineatlas_width;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;in highp vec2 v_uv;
#ifdef GLOBE
in float v_depth;
#endif
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define mediump float width
#pragma mapbox: define lowp float floorwidth
#pragma mapbox: define mediump vec4 dasharray_from
#pragma mapbox: define mediump vec4 dasharray_to
void main() {
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump float width
#pragma mapbox: initialize lowp float floorwidth
#pragma mapbox: initialize mediump vec4 dasharray_from
#pragma mapbox: initialize mediump vec4 dasharray_to
float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture(u_image,v_uv);float sdfdist_a=texture(u_image_dash,v_tex_a).a;float sdfdist_b=texture(u_image_dash,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);float sdfgamma=(u_lineatlas_width/256.0)/min(dasharray_from.w,dasharray_to.w);float dash_alpha=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*dash_alpha*opacity);
#ifdef GLOBE
if (v_depth > 1.0) {discard;}
#endif
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`
#define scale 0.015873016
#define LINE_DISTANCE_SCALE 2.0
in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv;out vec2 v_tex_a;out vec2 v_tex_b;
#ifdef GLOBE
out float v_depth;
#endif
#pragma mapbox: define lowp float blur
#pragma mapbox: define lowp float opacity
#pragma mapbox: define mediump float gapwidth
#pragma mapbox: define lowp float offset
#pragma mapbox: define mediump float width
#pragma mapbox: define lowp float floorwidth
#pragma mapbox: define mediump vec4 dasharray_from
#pragma mapbox: define mediump vec4 dasharray_to
void main() {
#pragma mapbox: initialize lowp float blur
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize mediump float gapwidth
#pragma mapbox: initialize lowp float offset
#pragma mapbox: initialize mediump float width
#pragma mapbox: initialize lowp float floorwidth
#pragma mapbox: initialize mediump vec4 dasharray_from
#pragma mapbox: initialize mediump vec4 dasharray_to
float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;float texel_height=1.0/u_image_height;float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude;
#ifdef GLOBE
v_depth=gl_Position.z/gl_Position.w;
#endif
#ifdef TERRAIN3D
v_gamma_scale=1.0;
#else
float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;
#endif
float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),raster:qt(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec2 v_pos0;in vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture(u_image0,v_pos0);vec4 color1=texture(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;in vec2 a_pos;out vec2 v_pos0;out vec2 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 position=mix(mix(u_coords_top.xy,u_coords_top.zw,fractionalPos.x),mix(u_coords_bottom.xy,u_coords_bottom.zw,fractionalPos.x),fractionalPos.y);gl_Position=projectTile(position,position);v_pos0=((fractionalPos-0.5)/u_buffer_scale)+0.5;
#ifdef GLOBE
if (a_pos.y <-32767.5) {v_pos0.y=0.0;}if (a_pos.y > 32766.5) {v_pos0.y=1.0;}
#endif
v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}`),symbolIcon:qt(`uniform sampler2D u_texture;in vec2 v_tex;in float v_total_opacity;void main() {fragColor=texture(u_texture,v_tex)*v_total_opacity;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;out vec2 v_tex;out float v_total_opacity;
#pragma mapbox: define lowp float opacity
void main() {
#pragma mapbox: initialize lowp float opacity
vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_total_opacity=opacity*max(0.0,min(visibility,fade_opacity[0]+fade_change));if (v_total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?
camera_to_anchor_distance/u_camera_to_center_distance :
u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;
#ifdef GLOBE
if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);}
#endif
vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;}`),symbolSDF:qt(`#define SDF_PX 8.0
uniform bool u_is_halo;uniform bool u_is_plain;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;in vec2 v_data0;in vec3 v_data1;
#pragma mapbox: define highp vec4 fill_color
#pragma mapbox: define highp vec4 halo_color
#pragma mapbox: define lowp float halo_width
#pragma mapbox: define lowp float halo_blur
void main() {
#pragma mapbox: initialize highp vec4 fill_color
#pragma mapbox: initialize highp vec4 halo_color
#pragma mapbox: initialize lowp float halo_width
#pragma mapbox: initialize lowp float halo_blur
float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float total_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;lowp float dist=texture(u_texture,tex).a;lowp vec4 color_alpha_out_text,color_alpha_out_halo;if (u_is_plain){highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);color_alpha_out_text=total_opacity*alpha*fill_color;}if (u_is_halo) {float gamma_halo=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);float inner_edge_halo=inner_edge+gamma_halo*gamma_scale;highp float gamma_scaled_halo=gamma_halo*gamma_scale;highp float alpha_halo=smoothstep(inner_edge_halo-gamma_scaled_halo,inner_edge_halo+gamma_scaled_halo,dist);highp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha_halo= min(smoothstep(halo_edge-gamma_scaled_halo,halo_edge+gamma_scaled_halo,dist),1.0-alpha_halo);color_alpha_out_halo=total_opacity*alpha_halo*halo_color;}if (u_is_plain && u_is_halo) {fragColor=color_alpha_out_text+(1.-color_alpha_out_text.a)*color_alpha_out_halo;} else if (u_is_halo){fragColor=color_alpha_out_halo;} else {fragColor=color_alpha_out_text;}
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;out vec2 v_data0;out vec3 v_data1;
#pragma mapbox: define highp vec4 fill_color
#pragma mapbox: define highp vec4 halo_color
#pragma mapbox: define lowp float opacity
#pragma mapbox: define lowp float halo_width
#pragma mapbox: define lowp float halo_blur
void main() {
#pragma mapbox: initialize highp vec4 fill_color
#pragma mapbox: initialize highp vec4 halo_color
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize lowp float halo_width
#pragma mapbox: initialize lowp float halo_blur
vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy/16.0;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));float total_opacity=opacity*interpolated_fade_opacity;if (total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?
camera_to_anchor_distance/u_camera_to_center_distance :
u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;
#ifdef GLOBE
if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);}
#endif
vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,total_opacity);}`),symbolTextAndIcon:qt(`#define SDF_PX 8.0
#define SDF 1.0
#define ICON 0.0
uniform bool u_is_halo;uniform bool u_is_text;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;in vec4 v_data0;in vec4 v_data1;
#pragma mapbox: define highp vec4 fill_color
#pragma mapbox: define highp vec4 halo_color
#pragma mapbox: define lowp float halo_width
#pragma mapbox: define lowp float halo_blur
void main() {
#pragma mapbox: initialize highp vec4 fill_color
#pragma mapbox: initialize highp vec4 halo_color
#pragma mapbox: initialize lowp float halo_width
#pragma mapbox: initialize lowp float halo_blur
float total_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;fragColor=texture(u_texture_icon,tex_icon)*total_opacity;
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;lowp float dist=texture(u_texture,tex).a;lowp vec4 color_alpha_out,color_alpha_out_halo;if (u_is_text) {highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);color_alpha_out=fill_color*(alpha*total_opacity);}if (u_is_halo) {highp float gamma_halo=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);lowp float buff_halo=(6.0-halo_width/fontScale)/SDF_PX;highp float gamma_scaled_halo=gamma_halo*gamma_scale;highp float alpha_halo=smoothstep(buff_halo-gamma_scaled_halo,buff_halo+gamma_scaled_halo,dist);color_alpha_out_halo=halo_color*(alpha_halo*total_opacity);}if (u_is_text && u_is_halo) {fragColor=color_alpha_out+(1.-color_alpha_out.a)*color_alpha_out_halo;} else if (u_is_halo) {fragColor=color_alpha_out_halo;} else {fragColor=color_alpha_out;}
#ifdef OVERDRAW_INSPECTOR
fragColor=vec4(1.0);
#endif
}`,`in vec4 a_pos_offset;in vec4 a_data;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;out vec4 v_data0;out vec4 v_data1;
#pragma mapbox: define highp vec4 fill_color
#pragma mapbox: define highp vec4 halo_color
#pragma mapbox: define lowp float opacity
#pragma mapbox: define lowp float halo_width
#pragma mapbox: define lowp float halo_blur
void main() {
#pragma mapbox: initialize highp vec4 fill_color
#pragma mapbox: initialize highp vec4 halo_color
#pragma mapbox: initialize lowp float opacity
#pragma mapbox: initialize lowp float halo_width
#pragma mapbox: initialize lowp float halo_blur
vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));float total_opacity=opacity*interpolated_fade_opacity;if (total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?
camera_to_anchor_distance/u_camera_to_center_distance :
u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;
#ifdef GLOBE
if(u_pitch_with_map && !u_is_along_line) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);}
#endif
vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,total_opacity,is_sdf);}`),terrain:qt(`uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;uniform bool u_is_globe_mode;in vec2 v_texture_pos;in float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture(u_texture,vec2(v_texture_pos.x,1.0-v_texture_pos.y));if (!u_is_globe_mode && u_fog_ground_blend_opacity > 0.0 && v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}`,`in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}`),terrainDepth:qt(`in float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {fragColor=pack(v_depth);}`,`in vec3 a_pos3d;uniform float u_ele_delta;out float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}`),terrainCoords:qt(`precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;in vec2 v_texture_pos;void main() {vec4 rgba=texture(u_texture,v_texture_pos);fragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}`,`in vec3 a_pos3d;uniform float u_ele_delta;out vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);}`),projectionErrorMeasurement:qt(`in vec4 v_output_error_encoded;void main() {fragColor=v_output_error_encoded;}`,`in vec2 a_pos;uniform highp float u_input;uniform highp float u_output_expected;out vec4 v_output_error_encoded;void main() {float real_output=2.0*atan(exp(PI-(u_input*PI*2.0)))-PI*0.5;float error=real_output-u_output_expected;float abs_error=abs(error)*128.0;v_output_error_encoded.x=min(floor(abs_error*256.0),255.0)/255.0;abs_error-=v_output_error_encoded.x;v_output_error_encoded.y=min(floor(abs_error*65536.0),255.0)/255.0;abs_error-=v_output_error_encoded.x/255.0;v_output_error_encoded.z=min(floor(abs_error*16777216.0),255.0)/255.0;v_output_error_encoded.w=error >=0.0 ? 1.0 : 0.0;gl_Position=vec4(a_pos,0.0,1.0);}`),atmosphere:qt(`#ifdef GL_ES
precision highp float;
#endif
in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;/**Shader use from https:*Made some change to adapt to MapLibre Globe geometry*/const float PI=3.141592653589793;const int iSteps=5;const int jSteps=3;/*radius of the planet*/const float EARTH_RADIUS=6371e3;/*radius of the atmosphere*/const float ATMOS_RADIUS=6471e3;vec2 rsi(vec3 r0,vec3 rd,float sr) {float a=dot(rd,rd);float b=2.0*dot(rd,r0);float c=dot(r0,r0)-(sr*sr);float d=(b*b)-4.0*a*c;if (d < 0.0) return vec2(1e5,-1e5);return vec2((-b-sqrt(d))/(2.0*a),(-b+sqrt(d))/(2.0*a));}vec4 atmosphere(vec3 r,vec3 r0,vec3 pSun,float iSun,float rPlanet,float rAtmos,vec3 kRlh,float kMie,float shRlh,float shMie,float g) {pSun=normalize(pSun);r=normalize(r);vec2 p=rsi(r0,r,rAtmos);if (p.x > p.y) {return vec4(0.0,0.0,0.0,1.0);}if (p.x < 0.0) {p.x=0.0;}vec3 pos=r0+r*p.x;vec2 p2=rsi(r0,r,rPlanet);if (p2.x <=p2.y && p2.x > 0.0) {p.y=min(p.y,p2.x);}float iStepSize=(p.y-p.x)/float(iSteps);float iTime=p.x+iStepSize*0.5;vec3 totalRlh=vec3(0,0,0);vec3 totalMie=vec3(0,0,0);float iOdRlh=0.0;float iOdMie=0.0;float mu=dot(r,pSun);float mumu=mu*mu;float gg=g*g;float pRlh=3.0/(16.0*PI)*(1.0+mumu);float pMie=3.0/(8.0*PI)*((1.0-gg)*(mumu+1.0))/(pow(1.0+gg-2.0*mu*g,1.5)*(2.0+gg));for (int i=0; i < iSteps; i++) {vec3 iPos=r0+r*iTime;float iHeight=length(iPos)-rPlanet;float odStepRlh=exp(-iHeight/shRlh)*iStepSize;float odStepMie=exp(-iHeight/shMie)*iStepSize;iOdRlh+=odStepRlh;iOdMie+=odStepMie;float jStepSize=rsi(iPos,pSun,rAtmos).y/float(jSteps);float jTime=jStepSize*0.5;float jOdRlh=0.0;float jOdMie=0.0;for (int j=0; j < jSteps; j++) {vec3 jPos=iPos+pSun*jTime;float jHeight=length(jPos)-rPlanet;jOdRlh+=exp(-jHeight/shRlh)*jStepSize;jOdMie+=exp(-jHeight/shMie)*jStepSize;jTime+=jStepSize;}vec3 attn=exp(-(kMie*(iOdMie+jOdMie)+kRlh*(iOdRlh+jOdRlh)));totalRlh+=odStepRlh*attn;totalMie+=odStepMie*attn;iTime+=iStepSize;}float opacity=exp(-(length(kRlh)*length(totalRlh)+kMie*length(totalMie)));vec3 color=iSun*(pRlh*kRlh*totalRlh+pMie*kMie*totalMie);return vec4(color,opacity);}void main() {vec3 scale_camera_pos=-u_globe_position*EARTH_RADIUS/u_globe_radius;vec4 color=atmosphere(normalize(view_direction),scale_camera_pos,u_sun_pos,22.0,EARTH_RADIUS,ATMOS_RADIUS,vec3(5.5e-6,13.0e-6,22.4e-6),21e-6,8e3,1.2e3,0.758
);color.rgb=1.0-exp(-1.0*color.rgb);color=pow(color,vec4(1.0/2.2));fragColor=vec4(color.rgb,1.0-color.a)*u_atmosphere_blend;}`,`in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 view_direction;void main() {view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,0.0,1.0);}`),sky:qt(`uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform vec2 u_horizon;uniform vec2 u_horizon_normal;uniform float u_sky_horizon_blend;uniform float u_sky_blend;void main() {float x=gl_FragCoord.x;float y=gl_FragCoord.y;float blend=(y-u_horizon.y)*u_horizon_normal.y+(x-u_horizon.x)*u_horizon_normal.x;if (blend > 0.0) {if (blend < u_sky_horizon_blend) {fragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {fragColor=u_sky_color;}}fragColor=mix(fragColor,vec4(vec3(0.0),0.0),u_sky_blend);}`,`in vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}`)};function qt(e,t){let n=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=t.match(/in ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(n,((e,t,n,r,i)=>(s[i]=!0,t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nin ${n} ${r} ${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${i}\n    ${n} ${r} ${i} = u_${i};\n#endif\n`))),vertexSource:t=t.replace(n,((e,t,n,r,i)=>{let a=r===`float`?`vec2`:`vec4`,o=i.match(/color/)?`color`:a;return s[i]?t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nin ${n} ${a} a_${i};\nout ${n} ${r} ${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:o===`vec4`?`\n#ifndef HAS_UNIFORM_u_${i}\n    ${i} = a_${i};\n#else\n    ${n} ${r} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n    ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n    ${n} ${r} ${i} = u_${i};\n#endif\n`:t===`define`?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nin ${n} ${a} a_${i};\n#else\nuniform ${n} ${r} u_${i};\n#endif\n`:o===`vec4`?`\n#ifndef HAS_UNIFORM_u_${i}\n    ${n} ${r} ${i} = a_${i};\n#else\n    ${n} ${r} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n    ${n} ${r} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n    ${n} ${r} ${i} = u_${i};\n#endif\n`})),staticAttributes:r,staticUniforms:o}}class Jt{constructor(e,t,n){this.vertexBuffer=e,this.indexBuffer=t,this.segments=n}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}var Yt=t.aS([{name:`a_pos`,type:`Int16`,components:2}]);let Xt=`#define PROJECTION_MERCATOR`,Zt=`mercator`;class Qt{constructor(){this._cachedMesh=null}get name(){return`mercator`}get useSubdivision(){return!1}get shaderVariantName(){return Zt}get shaderDefine(){return Xt}get shaderPreludeCode(){return Kt.projectionMercator}get vertexShaderPreludeCode(){return Kt.projectionMercator.vertexSource}get subdivisionGranularity(){return t.aT.noSubdivision}get useGlobeControls(){return!1}get transitionState(){return 0}get latitudeErrorCorrectionRadians(){return 0}destroy(){}updateGPUdependent(e){}getMeshFromTileID(e,n,r,i,a){if(this._cachedMesh)return this._cachedMesh;let o=new t.aU;o.emplaceBack(0,0),o.emplaceBack(t.a6,0),o.emplaceBack(0,t.a6),o.emplaceBack(t.a6,t.a6);let s=e.createVertexBuffer(o,Yt.members),c=t.aV.simpleSegment(0,0,4,2),l=new t.aW;l.emplaceBack(1,0,2),l.emplaceBack(1,2,3);let u=e.createIndexBuffer(l);return this._cachedMesh=new Jt(s,u,c),this._cachedMesh}recalculate(){}hasTransition(){return!1}setErrorQueryLatitudeDegrees(e){}}class $t{constructor(e=0,t=0,n=0,r=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(n)||n<0||isNaN(r)||r<0)throw Error(`Invalid value for edge-insets, top, bottom, left and right must all be numbers`);this.top=e,this.bottom=t,this.left=n,this.right=r}interpolate(e,n,r){return n.top!=null&&e.top!=null&&(this.top=t.H.number(e.top,n.top,r)),n.bottom!=null&&e.bottom!=null&&(this.bottom=t.H.number(e.bottom,n.bottom,r)),n.left!=null&&e.left!=null&&(this.left=t.H.number(e.left,n.left,r)),n.right!=null&&e.right!=null&&(this.right=t.H.number(e.right,n.right,r)),this}getCenter(e,n){let r=t.al((this.left+e-this.right)/2,0,e),i=t.al((this.top+n-this.bottom)/2,0,n);return new t.P(r,i)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new $t(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function en(e,t){if(!e.renderWorldCopies||e.lngRange)return;let n=t.lng-e.center.lng;t.lng+=n>180?-360:n<-180?360:0}function tn(e){return Math.max(0,Math.floor(e))}class nn{constructor(e,n){this.applyConstrain=(e,t)=>this._constrainOverride===null?this._callbacks.defaultConstrain(e,t):this._constrainOverride(e,t),this._callbacks=e,this._tileSize=512,this._renderWorldCopies=n?.renderWorldCopies===void 0||!!n?.renderWorldCopies,this._minZoom=n?.minZoom||0,this._maxZoom=n?.maxZoom||22,this._minPitch=n?.minPitch==null?0:n?.minPitch,this._maxPitch=n?.maxPitch==null?60:n?.maxPitch,this._constrainOverride=n?.constrainOverride??null,this.setMaxBounds(),this._width=0,this._height=0,this._center=new t.W(0,0),this._elevation=0,this._zoom=0,this._tileZoom=tn(this._zoom),this._scale=t.ao(this._zoom),this._bearingInRadians=0,this._fovInRadians=.6435011087932844,this._pitchInRadians=0,this._rollInRadians=0,this._unmodified=!0,this._edgeInsets=new $t,this._minElevationForCurrentTile=0,this._autoCalculateNearFarZ=!0}apply(e,n,r){this._constrainOverride=e.constrainOverride,this._latRange=e.latRange,this._lngRange=e.lngRange,this._width=e.width,this._height=e.height,this._center=e.center,this._elevation=e.elevation,this._minElevationForCurrentTile=e.minElevationForCurrentTile,this._zoom=e.zoom,this._tileZoom=tn(this._zoom),this._scale=t.ao(this._zoom),this._bearingInRadians=e.bearingInRadians,this._fovInRadians=e.fovInRadians,this._pitchInRadians=e.pitchInRadians,this._rollInRadians=e.rollInRadians,this._unmodified=e.unmodified,this._edgeInsets=new $t(e.padding.top,e.padding.bottom,e.padding.left,e.padding.right),this._minZoom=e.minZoom,this._maxZoom=e.maxZoom,this._minPitch=e.minPitch,this._maxPitch=e.maxPitch,this._renderWorldCopies=e.renderWorldCopies,this._cameraToCenterDistance=e.cameraToCenterDistance,this._nearZ=e.nearZ,this._farZ=e.farZ,this._autoCalculateNearFarZ=!r&&e.autoCalculateNearFarZ,n&&this.constrainInternal(),this._calcMatrices()}get pixelsToClipSpaceMatrix(){return this._pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._clipSpaceToPixelsMatrix}get minElevationForCurrentTile(){return this._minElevationForCurrentTile}setMinElevationForCurrentTile(e){this._minElevationForCurrentTile=e}get tileSize(){return this._tileSize}get tileZoom(){return this._tileZoom}get scale(){return this._scale}get width(){return this._width}get height(){return this._height}get bearingInRadians(){return this._bearingInRadians}get lngRange(){return this._lngRange}get latRange(){return this._latRange}get pixelsToGLUnits(){return this._pixelsToGLUnits}get minZoom(){return this._minZoom}setMinZoom(e){this._minZoom!==e&&(this._minZoom=e,this.setZoom(this.applyConstrain(this._center,this.zoom).zoom))}get maxZoom(){return this._maxZoom}setMaxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.setZoom(this.applyConstrain(this._center,this.zoom).zoom))}get minPitch(){return this._minPitch}setMinPitch(e){this._minPitch!==e&&(this._minPitch=e,this.setPitch(Math.max(this.pitch,e)))}get maxPitch(){return this._maxPitch}setMaxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.setPitch(Math.min(this.pitch,e)))}get renderWorldCopies(){return this._renderWorldCopies}setRenderWorldCopies(e){e===void 0?e=!0:e===null&&(e=!1),this._renderWorldCopies=e}get constrainOverride(){return this._constrainOverride}setConstrainOverride(e){e===void 0&&(e=null),this._constrainOverride!==e&&(this._constrainOverride=e,this.constrainInternal(),this._calcMatrices())}get worldSize(){return this._tileSize*this._scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this._width,this._height)}get bearing(){return this._bearingInRadians/Math.PI*180}setBearing(e){let n=t.X(e,-180,180)*Math.PI/180;var i,a,o,s,c,l,u,d,f;this._bearingInRadians!==n&&(this._unmodified=!1,this._bearingInRadians=n,this._calcMatrices(),this._rotationMatrix=r(),i=this._rotationMatrix,o=-this._bearingInRadians,s=(a=this._rotationMatrix)[0],c=a[1],l=a[2],u=a[3],d=Math.sin(o),f=Math.cos(o),i[0]=s*f+l*d,i[1]=c*f+u*d,i[2]=s*-d+l*f,i[3]=c*-d+u*f)}get rotationMatrix(){return this._rotationMatrix}get pitchInRadians(){return this._pitchInRadians}get pitch(){return this._pitchInRadians/Math.PI*180}setPitch(e){let n=t.al(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitchInRadians!==n&&(this._unmodified=!1,this._pitchInRadians=n,this._calcMatrices())}get rollInRadians(){return this._rollInRadians}get roll(){return this._rollInRadians/Math.PI*180}setRoll(e){let t=e/180*Math.PI;this._rollInRadians!==t&&(this._unmodified=!1,this._rollInRadians=t,this._calcMatrices())}get fovInRadians(){return this._fovInRadians}get fov(){return t.aX(this._fovInRadians)}setFov(e){e=t.al(e,.1,150),this.fov!==e&&(this._unmodified=!1,this._fovInRadians=t.an(e),this._calcMatrices())}get zoom(){return this._zoom}setZoom(e){let n=this.applyConstrain(this._center,e).zoom;this._zoom!==n&&(this._unmodified=!1,this._zoom=n,this._tileZoom=Math.max(0,Math.floor(n)),this._scale=t.ao(n),this.constrainInternal(),this._calcMatrices())}get center(){return this._center}setCenter(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this.constrainInternal(),this._calcMatrices())}get elevation(){return this._elevation}setElevation(e){e!==this._elevation&&(this._elevation=e,this.constrainInternal(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}setPadding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this._width,this._height)}get pixelsPerMeter(){return this._pixelPerMeter}get unmodified(){return this._unmodified}get cameraToCenterDistance(){return this._cameraToCenterDistance}get nearZ(){return this._nearZ}get farZ(){return this._farZ}get autoCalculateNearFarZ(){return this._autoCalculateNearFarZ}overrideNearFarZ(e,t){this._autoCalculateNearFarZ=!1,this._nearZ=e,this._farZ=t,this._calcMatrices()}clearNearFarZOverride(){this._autoCalculateNearFarZ=!0,this._calcMatrices()}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,n){this._unmodified=!1,this._edgeInsets.interpolate(e,t,n),this.constrainInternal(),this._calcMatrices()}resize(e,t,n=!0){this._width=e,this._height=t,n&&this.constrainInternal(),this._calcMatrices()}getMaxBounds(){return this._latRange?.length!==2||this._lngRange?.length!==2?null:new de([this._lngRange[0],this._latRange[0]],[this._lngRange[1],this._latRange[1]])}setMaxBounds(e){e?(this._lngRange=[e.getWest(),e.getEast()],this._latRange=[e.getSouth(),e.getNorth()],this.constrainInternal()):(this._lngRange=null,this._latRange=[-t.am,t.am])}getCameraQueryGeometry(e,n){if(n.length===1)return[n[0],e];{let{minX:r,minY:i,maxX:a,maxY:o}=t.a8.fromPoints(n).extend(e);return[new t.P(r,i),new t.P(a,i),new t.P(a,o),new t.P(r,o),new t.P(r,i)]}}constrainInternal(){if(!this.center||!this._width||!this._height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:n}=this.applyConstrain(this.center,this.zoom);this.setCenter(t),this.setZoom(n),this._unmodified=e,this._constraining=!1}_calcMatrices(){if(this._width&&this._height){this._pixelsToGLUnits=[2/this._width,-2/this._height];let e=t.ap(new Float64Array(16));t.S(e,e,[this._width/2,-this._height/2,1]),t.Q(e,e,[1,-1,0]),this._clipSpaceToPixelsMatrix=e,e=t.ap(new Float64Array(16)),t.S(e,e,[1,-1,1]),t.Q(e,e,[-1,-1,0]),t.S(e,e,[2/this._width,2/this._height,1]),this._pixelsToClipSpaceMatrix=e,this._cameraToCenterDistance=.5/Math.tan(this.fovInRadians/2)*this._height}this._callbacks.calcMatrices()}calculateCenterFromCameraLngLatAlt(e,n,r,i){let a=r===void 0?this.bearing:r,o=i=i===void 0?this.pitch:i,{distanceToCenter:s,clampedElevation:c}=this._distanceToCenterFromAltElevationPitch(n,this.elevation,o),{x:l,y:u}=He(o,a),d=t.a7.fromLngLat(e,n),f,p,m=t.aY(1,d.y),h=0;do{if(h+=1,h>10)break;p=s/m,f=new t.a7(d.x+l*p,d.y+u*p),m=1/f.meterInMercatorCoordinateUnits()}while(Math.abs(s-p*m)>1e-12);return{center:f.toLngLat(),elevation:c,zoom:t.ar(this.height/2/Math.tan(this.fovInRadians/2)/p/this.tileSize)}}recalculateZoomAndCenter(e){if(this.elevation-e==0)return;let n=1/this.worldSize,r=t.aq(1,this.center.lat)*this.worldSize,i=t.a7.fromLngLat(this.center,this.elevation),a=i.x/n,o=i.y/n,s=i.z/n,c=this.pitch,l=this.bearing,{x:u,y:d,z:f}=He(c,l),p=this.cameraToCenterDistance,m=a+p*-u,h=o+p*-d,g=s+p*f,{distanceToCenter:_,clampedElevation:v}=this._distanceToCenterFromAltElevationPitch(g/r,e,c),y=_*r,b=new t.a7((m+u*y)*n,(h+d*y)*n,0).toLngLat(),x=t.aq(1,b.lat),S=t.ar(this.height/2/Math.tan(this.fovInRadians/2)/_/x/this.tileSize);this._elevation=v,this._center=b,this.setZoom(S)}_distanceToCenterFromAltElevationPitch(e,n,r){let i=-Math.cos(t.an(r)),a=e-n,o,s=n;return i*a>=0||Math.abs(i)<.1?(o=1e4,s=e+o*i):o=-a/i,{distanceToCenter:o,clampedElevation:s}}getCameraPoint(){let e=Math.tan(this.pitchInRadians)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(e*Math.sin(this.rollInRadians),e*Math.cos(this.rollInRadians)))}getCameraAltitude(){return Math.cos(this.pitchInRadians)*this._cameraToCenterDistance/this._pixelPerMeter+this.elevation}getCameraLngLat(){let e=t.aq(1,this.center.lat)*this.worldSize;return Ve(this.center,this.elevation,this.pitch,this.bearing,this.cameraToCenterDistance/e).toLngLat()}getMercatorTileCoordinates(e){if(!e)return[0,0,1,1];let n=e.canonical.z>=0?1<<e.canonical.z:2**e.canonical.z;return[e.canonical.x/n,e.canonical.y/n,1/n/t.a6,1/n/t.a6]}}class rn{constructor(e,n){this.min=e,this.max=n,this.center=t.aZ([],t.a_([],this.min,this.max),.5)}quadrant(e){let n=[e%2==0,e<2],r=t.a$(this.min),i=t.a$(this.max);for(let e=0;e<n.length;e++)r[e]=n[e]?this.min[e]:this.center[e],i[e]=n[e]?this.center[e]:this.max[e];return i[2]=this.max[2],new rn(r,i)}distanceX(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]}distanceY(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]}intersectsFrustum(e){let t=!0;for(let n of e.planes){let e=this.intersectsPlane(n);if(e===0)return 0;e===1&&(t=!1)}return t?2:e.aabb.min[0]>this.max[0]||e.aabb.min[1]>this.max[1]||e.aabb.min[2]>this.max[2]||e.aabb.max[0]<this.min[0]||e.aabb.max[1]<this.min[1]||e.aabb.max[2]<this.min[2]?0:1}intersectsPlane(e){let t=e[3],n=e[3];for(let r=0;r<3;r++)e[r]>0?(t+=e[r]*this.min[r],n+=e[r]*this.max[r]):(n+=e[r]*this.min[r],t+=e[r]*this.max[r]);return t>=0?2:n<0?0:1}}class an{distanceToTile2d(e,t,n,r){let i=r,a=i.distanceX([e,t]),o=i.distanceY([e,t]);return Math.hypot(a,o)}getWrap(e,t,n){return n}getTileBoundingVolume(e,n,r,i){let a=0,o=0;if(i?.terrain){let s=new t.a3(e.z,n,e.z,e.x,e.y),c=i.terrain.getMinMaxElevation(s);a=c.minElevation??Math.min(0,r),o=c.maxElevation??Math.max(0,r)}let s=1<<e.z;return new rn([n+e.x/s,e.y/s,a],[n+(e.x+1)/s,(e.y+1)/s,o])}allowVariableZoom(e,n){let r=e.fov*(Math.abs(Math.cos(e.rollInRadians))*e.height+Math.abs(Math.sin(e.rollInRadians))*e.width)/e.height,i=t.al(78.5-r/2,0,60);return!!n.terrain||e.pitch>i}allowWorldCopies(){return!0}prepareNextFrame(){}}class on{constructor(e,t,n){this.points=e,this.planes=t,this.aabb=n}static fromInvProjectionMatrix(e,n=1,r=0,i,a){let o=a?[[6,5,4],[0,1,2],[0,3,7],[2,1,5],[3,2,6],[0,4,5]]:[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],s=2**r,c=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>function(e,n,r,i){let a=t.aE([],e,n),o=1/a[3]/r*i;return t.b4(a,a,[o,o,1/a[3],o])}(r,e,n,s)));i&&function(e,n,r,i){let a=i?4:0,o=i?0:4,s=0,c=[],l=[];for(let n=0;n<4;n++){let r=t.b0([],e[n+o],e[n+a]),i=t.b5(r);t.aZ(r,r,1/i),c.push(i),l.push(r)}for(let n=0;n<4;n++){let i=t.b6(e[n+a],l[n],r);s=i!==null&&i>=0?Math.max(s,i):Math.max(s,c[n])}let u=function(e,n){let r=t.b0([],e[n[0]],e[n[1]]),i=t.b0([],e[n[2]],e[n[1]]),a=[0,0,0,0];return t.b1(a,t.b2([],r,i)),a[3]=-t.b3(a,e[n[0]]),a}(e,n),d=function(e,n){let r=t.b7(e),i=t.b8([],e,1/r),a=t.b0([],n,t.aZ([],i,t.b3(n,i))),o=t.b7(a);if(o>0){let e=Math.sqrt(1-i[3]*i[3]),r=t.aZ([],i,-i[3]),s=t.a_([],r,t.aZ([],a,e/o));return t.b9(n,s)}return null}(r,u);if(d!==null){let e=d/t.b3(l[0],u);s=Math.min(s,e)}for(let t=0;t<4;t++){let n=Math.min(s,c[t]);e[t+o]=[e[t+a][0]+l[t][0]*n,e[t+a][1]+l[t][1]*n,e[t+a][2]+l[t][2]*n,1]}}(c,o[0],i,a);let l=o.map((e=>{let n=t.b0([],c[e[0]],c[e[1]]),r=t.b0([],c[e[2]],c[e[1]]),i=t.b1([],t.b2([],n,r)),a=-t.b3(i,c[e[1]]);return i.concat(a)})),u=[1/0,1/0,1/0],d=[-1/0,-1/0,-1/0];for(let e of c)for(let t=0;t<3;t++)u[t]=Math.min(u[t],e[t]),d[t]=Math.max(d[t],e[t]);return new on(c,l,new rn(u,d))}}class sn{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t,n=!0){this._helper.resize(e,t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}setConstrainOverride(e){this._helper.setConstrainOverride(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(e,t){}constructor(e){this._posMatrixCache=new Map,this._alignedPosMatrixCache=new Map,this._fogMatrixCacheF32=new Map,this.defaultConstrain=(e,n)=>{n=t.al(+n,this.minZoom,this.maxZoom);let r={center:new t.W(e.lng,e.lat),zoom:n},i=this._helper._lngRange;!this._helper._renderWorldCopies&&i===null&&(i=[-179.9999999999,179.9999999999]);let a=this.tileSize*t.ao(r.zoom),o=0,s=a,c=0,l=a,u=0,d=0,{x:f,y:p}=this.size;if(this._helper._latRange){let e=this._helper._latRange;o=t.Y(e[1])*a,s=t.Y(e[0])*a,s-o<p&&(u=p/(s-o))}i&&(c=t.X(t.Z(i[0])*a,0,a),l=t.X(t.Z(i[1])*a,0,a),l<c&&(l+=a),l-c<f&&(d=f/(l-c)));let{x:m,y:h}=Le(a,e),g,_,v=Math.max(d||0,u||0);if(v)return r.center=Re(a,new t.P(d?(l+c)/2:m,u?(s+o)/2:h)).wrap(),r.zoom+=t.ar(v),r;if(this._helper._latRange){let e=p/2;h-e<o&&(_=o+e),h+e>s&&(_=s-e)}if(i){let e=(c+l)/2,n=m;this._helper._renderWorldCopies&&(n=t.X(m,e-a/2,e+a/2));let r=f/2;n-r<c&&(g=c+r),n+r>l&&(g=l-r)}return(g!==void 0||_!==void 0)&&(r.center=Re(a,new t.P(g??m,_??h)).wrap()),r},this.applyConstrain=(e,t)=>this._helper.applyConstrain(e,t),this._helper=new nn({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(e,t)=>this.defaultConstrain(e,t)},e),this._coveringTilesDetailsProvider=new an}clone(){let e=new sn;return e.apply(this,!1),e}apply(e,t,n){this._helper.apply(e,t,n)}get cameraPosition(){return this._cameraPosition}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._viewProjMatrix}get inverseProjectionMatrix(){return this._invProjMatrix}get mercatorMatrix(){return this._mercatorMatrix}getVisibleUnwrappedCoordinates(e){let n=[new t.ba(0,e)];if(this._helper._renderWorldCopies){let r=this.screenPointToMercatorCoordinate(new t.P(0,0)),i=this.screenPointToMercatorCoordinate(new t.P(this._helper._width,0)),a=this.screenPointToMercatorCoordinate(new t.P(this._helper._width,this._helper._height)),o=this.screenPointToMercatorCoordinate(new t.P(0,this._helper._height)),s=Math.floor(Math.min(r.x,i.x,a.x,o.x)),c=Math.floor(Math.max(r.x,i.x,a.x,o.x));for(let r=s-1;r<=c+1;r++)r!==0&&n.push(new t.ba(r,e))}return n}getCameraFrustum(){return on.fromInvProjectionMatrix(this._invViewProjMatrix,this.worldSize)}getClippingPlane(){return null}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(e){let t=this.screenPointToLocation(this.centerPoint,e),n=e?e.getElevationForLngLatZoom(t,this._helper._tileZoom):0;this._helper.recalculateZoomAndCenter(n)}setLocationAtPoint(e,n){let r=t.aq(this.elevation,this.center.lat),i=this.screenPointToMercatorCoordinateAtZ(n,r),a=this.screenPointToMercatorCoordinateAtZ(this.centerPoint,r),o=t.a7.fromLngLat(e),s=new t.a7(o.x-(i.x-a.x),o.y-(i.y-a.y));this.setCenter(s?.toLngLat()),this._helper._renderWorldCopies&&this.setCenter(this.center.wrap())}locationToScreenPoint(e,n){return n?this.coordinatePoint(t.a7.fromLngLat(e),n.getElevationForLngLat(e,this),this._pixelMatrix3D):this.coordinatePoint(t.a7.fromLngLat(e))}screenPointToLocation(e,t){return this.screenPointToMercatorCoordinate(e,t)?.toLngLat()}screenPointToMercatorCoordinate(e,t){if(t){let n=t.pointCoordinate(e);if(n!=null)return n}return this.screenPointToMercatorCoordinateAtZ(e)}screenPointToMercatorCoordinateAtZ(e,n){let r=n||0,i=[e.x,e.y,0,1],a=[e.x,e.y,1,1];t.aE(i,i,this._pixelMatrixInverse),t.aE(a,a,this._pixelMatrixInverse);let o=i[3],s=a[3],c=i[1]/o,l=a[1]/s,u=i[2]/o,d=a[2]/s,f=u===d?0:(r-u)/(d-u);return new t.a7(t.H.number(i[0]/o,a[0]/s,f)/this.worldSize,t.H.number(c,l,f)/this.worldSize,r)}coordinatePoint(e,n=0,r=this._pixelMatrix){let i=[e.x*this.worldSize,e.y*this.worldSize,n,1];return t.aE(i,i,r),new t.P(i[0]/i[3],i[1]/i[3])}getBounds(){let e=Math.max(0,this._helper._height/2-ze(this));return new de().extend(this.screenPointToLocation(new t.P(0,e))).extend(this.screenPointToLocation(new t.P(this._helper._width,e))).extend(this.screenPointToLocation(new t.P(this._helper._width,this._helper._height))).extend(this.screenPointToLocation(new t.P(0,this._helper._height)))}isPointOnMapSurface(e,t){return t?t.pointCoordinate(e)!=null:e.y>this.height/2-ze(this)}calculatePosMatrix(e,n=!1,r){let i=e.key??t.bb(e.wrap,e.canonical.z,e.canonical.z,e.canonical.x,e.canonical.y),a=n?this._alignedPosMatrixCache:this._posMatrixCache;if(a.has(i)){let e=a.get(i);return r?e.f32:e.f64}let o=Be(e,this.worldSize);t.U(o,n?this._alignedProjMatrix:this._viewProjMatrix,o);let s={f64:o,f32:new Float32Array(o)};return a.set(i,s),r?s.f32:s.f64}calculateFogMatrix(e){let n=e.key,r=this._fogMatrixCacheF32;if(r.has(n))return r.get(n);let i=Be(e,this.worldSize);return t.U(i,this._fogMatrix,i),r.set(n,new Float32Array(i)),r.get(n)}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}_calculateNearFarZIfNeeded(e,n,r){if(!this._helper.autoCalculateNearFarZ)return;let i=Math.min(this.elevation,this.minElevationForCurrentTile,this.getCameraAltitude()-100),a=e-i*this._helper._pixelPerMeter/Math.cos(n),o=i<0?a:e,s=Math.PI/2+this.pitchInRadians,c=t.an(this.fov)*(Math.abs(Math.cos(t.an(this.roll)))*this.height+Math.abs(Math.sin(t.an(this.roll)))*this.width)/this.height*(.5+r.y/this.height),l=Math.sin(c)*o/Math.sin(t.al(Math.PI-s-c,.01,Math.PI-.01)),u=ze(this),d=Math.atan(u/this._helper.cameraToCenterDistance),f=t.an(.75),p=d>f?2*d*(.5+r.y/(2*u)):f,m=Math.sin(p)*o/Math.sin(t.al(Math.PI-s-p,.01,Math.PI-.01)),h=Math.min(l,m);this._helper._farZ=1.01*(Math.cos(Math.PI/2-n)*h+o),this._helper._nearZ=this._helper._height/50}_calcMatrices(){if(!this._helper._height)return;let e=this.centerOffset,n=Le(this.worldSize,this.center),r=n.x,i=n.y;this._helper._pixelPerMeter=t.aq(1,this.center.lat)*this.worldSize;let a=t.an(Math.min(this.pitch,Ie)),o=Math.max(this._helper.cameraToCenterDistance/2,this._helper.cameraToCenterDistance+this._helper._elevation*this._helper._pixelPerMeter/Math.cos(a)),s;var c,l;this._calculateNearFarZIfNeeded(o,a,e),s=new Float64Array(16),t.bc(s,this.fovInRadians,this._helper._width/this._helper._height,this._helper._nearZ,this._helper._farZ),this._invProjMatrix=new Float64Array(16),(c=this._invProjMatrix)[0]=1/(l=s)[0],c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=1/l[5],c[6]=0,c[7]=0,c[8]=0,c[9]=0,c[10]=0,c[11]=1/l[14],c[12]=0,c[13]=0,c[14]=-1,c[15]=l[10]/l[14],s[8]=2*-e.x/this._helper._width,s[9]=2*e.y/this._helper._height,this._projectionMatrix=t.bd(s),t.S(s,s,[1,-1,1]),t.Q(s,s,[0,0,-this._helper.cameraToCenterDistance]),t.be(s,s,-this.rollInRadians),t.bf(s,s,this.pitchInRadians),t.be(s,s,-this.bearingInRadians),t.Q(s,s,[-r,-i,0]),this._mercatorMatrix=t.S([],s,[this.worldSize,this.worldSize,this.worldSize]),t.S(s,s,[1,1,this._helper._pixelPerMeter]),this._pixelMatrix=t.U(new Float64Array(16),this.clipSpaceToPixelsMatrix,s),t.Q(s,s,[0,0,-this.elevation]),this._viewProjMatrix=s,this._invViewProjMatrix=t.bg([],s);let u=[0,0,-1,1];t.aE(u,u,this._invViewProjMatrix),this._cameraPosition=[u[0]/u[3],u[1]/u[3],u[2]/u[3]],this._fogMatrix=new Float64Array(16),t.bc(this._fogMatrix,this.fovInRadians,this.width/this.height,o,this._helper._farZ),this._fogMatrix[8]=2*-e.x/this.width,this._fogMatrix[9]=2*e.y/this.height,t.S(this._fogMatrix,this._fogMatrix,[1,-1,1]),t.Q(this._fogMatrix,this._fogMatrix,[0,0,-this.cameraToCenterDistance]),t.be(this._fogMatrix,this._fogMatrix,-this.rollInRadians),t.bf(this._fogMatrix,this._fogMatrix,this.pitchInRadians),t.be(this._fogMatrix,this._fogMatrix,-this.bearingInRadians),t.Q(this._fogMatrix,this._fogMatrix,[-r,-i,0]),t.S(this._fogMatrix,this._fogMatrix,[1,1,this._helper._pixelPerMeter]),t.Q(this._fogMatrix,this._fogMatrix,[0,0,-this.elevation]),this._pixelMatrix3D=t.U(new Float64Array(16),this.clipSpaceToPixelsMatrix,s);let d=this._helper._width%2/2,f=this._helper._height%2/2,p=Math.cos(this.bearingInRadians),m=Math.sin(-this.bearingInRadians),h=r-Math.round(r)+p*d+m*f,g=i-Math.round(i)+p*f+m*d,_=new Float64Array(s);if(t.Q(_,_,[h>.5?h-1:h,g>.5?g-1:g,0]),this._alignedProjMatrix=_,s=t.bg(new Float64Array(16),this._pixelMatrix),!s)throw Error(`failed to invert matrix`);this._pixelMatrixInverse=s,this._clearMatrixCaches()}_clearMatrixCaches(){this._posMatrixCache.clear(),this._alignedPosMatrixCache.clear(),this._fogMatrixCacheF32.clear()}maxPitchScaleFactor(){if(!this._pixelMatrixInverse)return 1;let e=this.screenPointToMercatorCoordinate(new t.P(0,0)),n=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.aE(n,n,this._pixelMatrix)[3]/this._helper.cameraToCenterDistance}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){let e=t.aq(1,this.center.lat)*this.worldSize;return Ve(this.center,this.elevation,this.pitch,this.bearing,this._helper.cameraToCenterDistance/e).toLngLat()}lngLatToCameraDepth(e,n){let r=t.a7.fromLngLat(e),i=[r.x*this.worldSize,r.y*this.worldSize,n,1];return t.aE(i,i,this._viewProjMatrix),i[2]/i[3]}getProjectionData(e){let{overscaledTileID:n,aligned:r,applyTerrainMatrix:i}=e,a=this._helper.getMercatorTileCoordinates(n),o=n?this.calculatePosMatrix(n,r,!0):null,s;return s=n?.terrainRttPosMatrix32f&&i?n.terrainRttPosMatrix32f:o||t.bh(),{mainMatrix:s,tileMercatorCoords:a,clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:s}}isLocationOccluded(e){return!1}getPixelScale(){return 1}getCircleRadiusCorrection(){return 1}getPitchedTextCorrection(e,t,n){return 1}transformLightDirection(e){return t.a$(e)}getRayDirectionFromPixel(e){throw Error(`Not implemented.`)}projectTileCoordinates(e,n,r,i){let a=this.calculatePosMatrix(r),o;i?(o=[e,n,i(e,n),1],t.aE(o,o,a)):(o=[e,n,0,1],wt(o,o,a));let s=o[3];return{point:new t.P(o[0]/s,o[1]/s),signedDistanceFromCamera:s,isOccluded:!1}}populateCache(e){for(let t of e)this.calculatePosMatrix(t)}getMatrixForModel(e,n){let r=t.a7.fromLngLat(e,n),i=r.meterInMercatorCoordinateUnits(),a=t.bi();return t.Q(a,a,[r.x,r.y,r.z]),t.be(a,a,Math.PI),t.bf(a,a,Math.PI/2),t.S(a,a,[-i,i,i]),a}getProjectionDataForCustomLayer(e=!0){let n=new t.a3(0,0,0,0,0),r=this.getProjectionData({overscaledTileID:n,applyGlobeMatrix:e}),i=Be(n,this.worldSize);t.U(i,this._viewProjMatrix,i),r.tileMercatorCoords=[0,0,1,1];let a=[t.a6,t.a6,this.worldSize/this._helper.pixelsPerMeter],o=t.bj();return t.S(o,i,a),r.fallbackMatrix=o,r.mainMatrix=o,r}getFastPathSimpleProjectionMatrix(e){return this.calculatePosMatrix(e)}}function cn(){t.w(`Map cannot fit within canvas with the given bounds, padding, and/or offset.`)}function ln(e){if(e.useSlerp)if(e.k<1){let n=t.bk(e.startEulerAngles.roll,e.startEulerAngles.pitch,e.startEulerAngles.bearing),r=t.bk(e.endEulerAngles.roll,e.endEulerAngles.pitch,e.endEulerAngles.bearing),i=new Float64Array(4);t.bl(i,n,r,e.k);let a=t.bm(i);e.tr.setRoll(a.roll),e.tr.setPitch(a.pitch),e.tr.setBearing(a.bearing)}else e.tr.setRoll(e.endEulerAngles.roll),e.tr.setPitch(e.endEulerAngles.pitch),e.tr.setBearing(e.endEulerAngles.bearing);else e.tr.setRoll(t.H.number(e.startEulerAngles.roll,e.endEulerAngles.roll,e.k)),e.tr.setPitch(t.H.number(e.startEulerAngles.pitch,e.endEulerAngles.pitch,e.k)),e.tr.setBearing(t.H.number(e.startEulerAngles.bearing,e.endEulerAngles.bearing,e.k))}function un(e,n,r,i,a){let o=a.padding,s=Le(a.worldSize,r.getNorthWest()),c=Le(a.worldSize,r.getNorthEast()),l=Le(a.worldSize,r.getSouthEast()),u=Le(a.worldSize,r.getSouthWest()),d=t.an(-i),f=s.rotate(d),p=c.rotate(d),m=l.rotate(d),h=u.rotate(d),g=new t.P(Math.max(f.x,p.x,h.x,m.x),Math.max(f.y,p.y,h.y,m.y)),_=new t.P(Math.min(f.x,p.x,h.x,m.x),Math.min(f.y,p.y,h.y,m.y)),v=g.sub(_),y=(a.width-(o.left+o.right+n.left+n.right))/v.x,b=(a.height-(o.top+o.bottom+n.top+n.bottom))/v.y;if(b<0||y<0)return void cn();let x=Math.min(t.ar(a.scale*Math.min(y,b)),e.maxZoom),S=t.P.convert(e.offset),C=new t.P((n.left-n.right)/2,(n.top-n.bottom)/2).rotate(t.an(i)),w=S.add(C).mult(a.scale/t.ao(x));return{center:Re(a.worldSize,s.add(l).div(2).sub(w)),zoom:x,bearing:i}}class dn{get useGlobeControls(){return!1}handlePanInertia(e,t){let n=e.mag(),r=Math.abs(ze(t));return{easingOffset:e.mult(Math.min(.75*r/n,1)),easingCenter:t.center}}handleMapControlsRollPitchBearingZoom(e,t){e.bearingDelta&&t.setBearing(t.bearing+e.bearingDelta),e.pitchDelta&&t.setPitch(t.pitch+e.pitchDelta),e.rollDelta&&t.setRoll(t.roll+e.rollDelta),e.zoomDelta&&t.setZoom(t.zoom+e.zoomDelta)}handleMapControlsPan(e,t,n){e.around.distSqr(t.centerPoint)<.01||t.setLocationAtPoint(n,e.around)}cameraForBoxAndBearing(e,t,n,r,i){return un(e,t,n,r,i)}handleJumpToCenterZoom(e,n){e.zoom!==(n.zoom===void 0?e.zoom:+n.zoom)&&e.setZoom(+n.zoom),n.center!==void 0&&e.setCenter(t.W.convert(n.center))}handleEaseTo(e,n){let r=e.zoom,i=e.padding,a={roll:e.roll,pitch:e.pitch,bearing:e.bearing},o={roll:n.roll===void 0?e.roll:n.roll,pitch:n.pitch===void 0?e.pitch:n.pitch,bearing:n.bearing===void 0?e.bearing:n.bearing},s=n.zoom!==void 0,c=!e.isPaddingEqual(n.padding),l=!1,u=s?+n.zoom:e.zoom,d=e.centerPoint.add(n.offsetAsPoint),f=e.screenPointToLocation(d),{center:p,zoom:m}=e.applyConstrain(t.W.convert(n.center||f),u??r);en(e,p);let h=Le(e.worldSize,f),g=Le(e.worldSize,p).sub(h),_=t.ao(m-r);return l=m!==r,{easeFunc:s=>{if(l&&e.setZoom(t.H.number(r,m,s)),t.bn(a,o)||ln({startEulerAngles:a,endEulerAngles:o,tr:e,k:s,useSlerp:a.roll!=o.roll}),c&&(e.interpolatePadding(i,n.padding,s),d=e.centerPoint.add(n.offsetAsPoint)),n.around)e.setLocationAtPoint(n.around,n.aroundPoint);else{let n=t.ao(e.zoom-r),i=(m>r?Math.min(2,_):Math.max(.5,_))**(1-s),a=Re(e.worldSize,h.add(g.mult(s*i)).mult(n));e.setLocationAtPoint(e.renderWorldCopies?a.wrap():a,d)}},isZooming:l,elevationCenter:p}}handleFlyTo(e,n){let r=n.zoom!==void 0,i=e.zoom,a=e.applyConstrain(t.W.convert(n.center||n.locationAtOffset),r?+n.zoom:i),o=a.center,s=a.zoom;en(e,o);let c=Le(e.worldSize,n.locationAtOffset),l=Le(e.worldSize,o).sub(c),u=l.mag(),d=t.ao(s-i),f;if(n.minZoom!==void 0){let r=Math.min(+n.minZoom,i,s),a=e.applyConstrain(o,r).zoom;f=t.ao(a-i)}return{easeFunc:(n,r,a,u)=>{e.setZoom(n===1?s:i+t.ar(r));let d=n===1?o:Re(e.worldSize,c.add(l.mult(a)).mult(r));e.setLocationAtPoint(e.renderWorldCopies?d.wrap():d,u)},scaleOfZoom:d,targetCenter:o,scaleOfMinZoom:f,pixelPathLength:u}}}class fn{constructor(e,t,n){this.blendFunction=e,this.blendColor=t,this.mask=n}}fn.Replace=[1,0],fn.disabled=new fn(fn.Replace,t.bo.transparent,[!1,!1,!1,!1]),fn.unblended=new fn(fn.Replace,t.bo.transparent,[!0,!0,!0,!0]),fn.alphaBlended=new fn([1,771],t.bo.transparent,[!0,!0,!0,!0]);let pn=2305;class mn{constructor(e,t,n){this.enable=e,this.mode=t,this.frontFace=n}}mn.disabled=new mn(!1,1029,pn),mn.backCCW=new mn(!0,1029,pn),mn.frontCCW=new mn(!0,1028,pn);class hn{constructor(e,t,n){this.func=e,this.mask=t,this.range=n}}hn.ReadOnly=!1,hn.ReadWrite=!0,hn.disabled=new hn(519,hn.ReadOnly,[0,1]);let gn=7680;class _n{constructor(e,t,n,r,i,a){this.test=e,this.ref=t,this.mask=n,this.fail=r,this.depthFail=i,this.pass=a}}function vn(e){return typeof WebGL2RenderingContext<`u`&&e instanceof WebGL2RenderingContext}_n.disabled=new _n({func:519,mask:0},0,0,gn,gn,gn);class yn{get awaitingQuery(){return!!this._readbackQueue}constructor(e){this._readbackWaitFrames=4,this._measureWaitFrames=6,this._texWidth=1,this._texHeight=1,this._measuredError=0,this._updateCount=0,this._lastReadbackFrame=-1e3,this._readbackQueue=null,this._cachedRenderContext=e;let n=e.context,r=n.gl;this._texFormat=r.RGBA,this._texType=r.UNSIGNED_BYTE;let i=new t.aU;i.emplaceBack(-1,-1),i.emplaceBack(2,-1),i.emplaceBack(-1,2);let a=new t.aW;a.emplaceBack(0,1,2),this._fullscreenTriangle=new Jt(n.createVertexBuffer(i,Yt.members),n.createIndexBuffer(a),t.aV.simpleSegment(0,0,i.length,a.length)),this._resultBuffer=new Uint8Array(4),n.activeTexture.set(r.TEXTURE1);let o=r.createTexture();r.bindTexture(r.TEXTURE_2D,o),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texImage2D(r.TEXTURE_2D,0,this._texFormat,this._texWidth,this._texHeight,0,this._texFormat,this._texType,null),this._fbo=n.createFramebuffer(this._texWidth,this._texHeight,!1,!1),this._fbo.colorAttachment.set(o),vn(r)&&(this._pbo=r.createBuffer(),r.bindBuffer(r.PIXEL_PACK_BUFFER,this._pbo),r.bufferData(r.PIXEL_PACK_BUFFER,4,r.STREAM_READ),r.bindBuffer(r.PIXEL_PACK_BUFFER,null))}destroy(){let e=this._cachedRenderContext.context.gl;this._fullscreenTriangle.destroy(),this._fbo.destroy(),e.deleteBuffer(this._pbo),this._fullscreenTriangle=null,this._fbo=null,this._pbo=null,this._resultBuffer=null}updateErrorLoop(e,t){let n=this._updateCount;return this._readbackQueue?n>=this._readbackQueue.frameNumberIssued+this._readbackWaitFrames&&this._tryReadback():n>=this._lastReadbackFrame+this._measureWaitFrames&&this._renderErrorTexture(e,t),this._updateCount++,this._measuredError}_bindFramebuffer(){let e=this._cachedRenderContext.context,t=e.gl;e.activeTexture.set(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this._fbo.colorAttachment.get()),e.bindFramebuffer.set(this._fbo.framebuffer)}_renderErrorTexture(e,n){let r=this._cachedRenderContext.context,i=r.gl;if(this._bindFramebuffer(),r.viewport.set([0,0,this._texWidth,this._texHeight]),r.clear({color:t.bo.transparent}),this._cachedRenderContext.useProgram(`projectionErrorMeasurement`).draw(r,i.TRIANGLES,hn.disabled,_n.disabled,fn.unblended,mn.disabled,((e,t)=>({u_input:e,u_output_expected:t}))(e,n),null,null,`$clipping`,this._fullscreenTriangle.vertexBuffer,this._fullscreenTriangle.indexBuffer,this._fullscreenTriangle.segments),this._pbo&&vn(i)){i.bindBuffer(i.PIXEL_PACK_BUFFER,this._pbo),i.readBuffer(i.COLOR_ATTACHMENT0),i.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,0),i.bindBuffer(i.PIXEL_PACK_BUFFER,null);let e=i.fenceSync(i.SYNC_GPU_COMMANDS_COMPLETE,0);i.flush(),this._readbackQueue={frameNumberIssued:this._updateCount,sync:e}}else this._readbackQueue={frameNumberIssued:this._updateCount,sync:null}}_tryReadback(){let e=this._cachedRenderContext.context.gl;if(this._pbo&&this._readbackQueue&&vn(e)){let n=e.clientWaitSync(this._readbackQueue.sync,0,0);if(n===e.WAIT_FAILED)return t.w(`WebGL2 clientWaitSync failed.`),this._readbackQueue=null,void(this._lastReadbackFrame=this._updateCount);if(n===e.TIMEOUT_EXPIRED)return;e.bindBuffer(e.PIXEL_PACK_BUFFER,this._pbo),e.getBufferSubData(e.PIXEL_PACK_BUFFER,0,this._resultBuffer,0,4),e.bindBuffer(e.PIXEL_PACK_BUFFER,null)}else this._bindFramebuffer(),e.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,this._resultBuffer);this._readbackQueue=null,this._measuredError=yn._parseRGBA8float(this._resultBuffer),this._lastReadbackFrame=this._updateCount}static _parseRGBA8float(e){let t=0;return t+=e[0]/256,t+=e[1]/65536,t+=e[2]/16777216,e[3]<127&&(t=-t),t/128}}let bn=t.a6/128;function z(e,n){let r=e.granularity===void 0?1:Math.max(e.granularity,1),i=r+(e.generateBorders?2:0),a=r+(e.extendToNorthPole||e.generateBorders?1:0)+(e.extendToSouthPole||e.generateBorders?1:0),o=i+1,s=a+1,c=e.generateBorders?-1:0,l=e.generateBorders||e.extendToNorthPole?-1:0,u=r+ +!!e.generateBorders,d=r+(e.generateBorders||e.extendToSouthPole?1:0),f=o*s,p=i*a*6,m=o*s>65536;if(m&&n===`16bit`)throw Error(`Granularity is too large and meshes would not fit inside 16 bit vertex indices.`);let h=m||n===`32bit`,g=new Int16Array(2*f),_=0;for(let n=l;n<=d;n++)for(let i=c;i<=u;i++){let a=i/r*t.a6;i===-1&&(a=-bn),i===r+1&&(a=t.a6+bn);let o=n/r*t.a6;n===-1&&(o=e.extendToNorthPole?t.bq:-bn),n===r+1&&(o=e.extendToSouthPole?t.br:t.a6+bn),g[_++]=a,g[_++]=o}let v=h?new Uint32Array(p):new Uint16Array(p),y=0;for(let e=0;e<a;e++)for(let t=0;t<i;t++){let n=t+1+e*o,r=t+(e+1)*o,i=t+1+(e+1)*o;v[y++]=t+e*o,v[y++]=r,v[y++]=n,v[y++]=n,v[y++]=r,v[y++]=i}return{vertices:g.buffer.slice(0),indices:v.buffer.slice(0),uses32bitIndices:h}}let xn=new t.aT({fill:new t.bs(128,2),line:new t.bs(512,0),tile:new t.bs(128,32),stencil:new t.bs(128,1),circle:3});class Sn{constructor(){this._tileMeshCache={},this._errorCorrectionUsable=0,this._errorMeasurementLastValue=0,this._errorCorrectionPreviousValue=0,this._errorMeasurementLastChangeTime=-1e3}get name(){return`vertical-perspective`}get transitionState(){return 1}get useSubdivision(){return!0}get shaderVariantName(){return`globe`}get shaderDefine(){return`#define GLOBE`}get shaderPreludeCode(){return Kt.projectionGlobe}get vertexShaderPreludeCode(){return Kt.projectionMercator.vertexSource}get subdivisionGranularity(){return xn}get useGlobeControls(){return!0}get latitudeErrorCorrectionRadians(){return this._errorCorrectionUsable}destroy(){this._errorMeasurement&&this._errorMeasurement.destroy()}updateGPUdependent(e){this._errorMeasurement||=new yn(e);let n=t.Y(this._errorQueryLatitudeDegrees),r=2*Math.atan(Math.exp(Math.PI-n*Math.PI*2))-.5*Math.PI,i=this._errorMeasurement.updateErrorLoop(n,r),a=l();i!==this._errorMeasurementLastValue&&(this._errorCorrectionPreviousValue=this._errorCorrectionUsable,this._errorMeasurementLastValue=i,this._errorMeasurementLastChangeTime=a);let o=Math.min(Math.max((a-this._errorMeasurementLastChangeTime)/1e3/.5,0),1);this._errorCorrectionUsable=t.bt(this._errorCorrectionPreviousValue,-this._errorMeasurementLastValue,t.bu(o))}_getMeshKey(e){return`${e.granularity.toString(36)}_${e.generateBorders?`b`:``}${e.extendToNorthPole?`n`:``}${e.extendToSouthPole?`s`:``}`}getMeshFromTileID(e,t,n,r,i){let a=(i===`stencil`?xn.stencil:xn.tile).getGranularityForZoomLevel(t.z);return this._getMesh(e,{granularity:a,generateBorders:n,extendToNorthPole:t.y===0&&r,extendToSouthPole:t.y===(1<<t.z)-1&&r})}_getMesh(e,n){let r=this._getMeshKey(n);if(r in this._tileMeshCache)return this._tileMeshCache[r];let i=function(e,n){let r=z(n,`16bit`),i=t.aU.deserialize({arrayBuffer:r.vertices,length:r.vertices.byteLength/2/2}),a=t.aW.deserialize({arrayBuffer:r.indices,length:r.indices.byteLength/2/3});return new Jt(e.createVertexBuffer(i,Yt.members),e.createIndexBuffer(a),t.aV.simpleSegment(0,0,i.length,a.length))}(e,n);return this._tileMeshCache[r]=i,i}recalculate(e){}hasTransition(){let e=l(),t=!1;return t||=(e-this._errorMeasurementLastChangeTime)/1e3<.7,t||=this._errorMeasurement?.awaitingQuery,t}setErrorQueryLatitudeDegrees(e){this._errorQueryLatitudeDegrees=e}}let Cn=new t.u({type:new t.D(t.x.projection.type)});class wn extends t.E{constructor(e){super(),this._transitionable=new t.y(Cn,void 0),this.setProjection(e),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new t.J(0)),this._mercatorProjection=new Qt,this._verticalPerspectiveProjection=new Sn}get transitionState(){let e=this.properties.get(`type`);if(typeof e==`string`&&e===`mercator`)return 0;if(typeof e==`string`&&e===`vertical-perspective`)return 1;if(e instanceof t.bv){if(e.from===`vertical-perspective`&&e.to===`mercator`)return 1-e.transition;if(e.from===`mercator`&&e.to===`vertical-perspective`)return e.transition}return 1}get useGlobeRendering(){return this.transitionState>0}get latitudeErrorCorrectionRadians(){return this._verticalPerspectiveProjection.latitudeErrorCorrectionRadians}get currentProjection(){return this.useGlobeRendering?this._verticalPerspectiveProjection:this._mercatorProjection}get name(){return`globe`}get useSubdivision(){return this.currentProjection.useSubdivision}get shaderVariantName(){return this.currentProjection.shaderVariantName}get shaderDefine(){return this.currentProjection.shaderDefine}get shaderPreludeCode(){return this.currentProjection.shaderPreludeCode}get vertexShaderPreludeCode(){return this.currentProjection.vertexShaderPreludeCode}get subdivisionGranularity(){return this.currentProjection.subdivisionGranularity}get useGlobeControls(){return this.transitionState>0}destroy(){this._mercatorProjection.destroy(),this._verticalPerspectiveProjection.destroy()}updateGPUdependent(e){this._mercatorProjection.updateGPUdependent(e),this._verticalPerspectiveProjection.updateGPUdependent(e)}getMeshFromTileID(e,t,n,r,i){return this.currentProjection.getMeshFromTileID(e,t,n,r,i)}setProjection(e){this._transitionable.setValue(`type`,e?.type||`mercator`)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()||this.currentProjection.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}setErrorQueryLatitudeDegrees(e){this._verticalPerspectiveProjection.setErrorQueryLatitudeDegrees(e),this._mercatorProjection.setErrorQueryLatitudeDegrees(e)}}function Tn(e){let t=On(e.worldSize,e.center.lat);return 2*Math.PI*t}function En(e,n,r,i,a){let o=1/(1<<a),s=n/t.a6*o+i*o,c=t.by((e/t.a6*o+r*o)*Math.PI*2+Math.PI,2*Math.PI),l=2*Math.atan(Math.exp(Math.PI-s*Math.PI*2))-.5*Math.PI,u=Math.cos(l),d=new Float64Array(3);return d[0]=Math.sin(c)*u,d[1]=Math.sin(l),d[2]=Math.cos(c)*u,d}function Dn(e){return function(e,t){let n=Math.cos(t),r=new Float64Array(3);return r[0]=Math.sin(e)*n,r[1]=Math.sin(t),r[2]=Math.cos(e)*n,r}(e.lng*Math.PI/180,e.lat*Math.PI/180)}function On(e,t){return e/(2*Math.PI)/Math.cos(t*Math.PI/180)}function kn(e){let n=Math.asin(e[1])/Math.PI*180,r=Math.sqrt(e[0]*e[0]+e[2]*e[2]);if(r>1e-6){let i=e[0]/r,a=Math.acos(e[2]/r),o=(i>0?a:-a)/Math.PI*180;return new t.W(t.X(o,-180,180),n)}return new t.W(0,n)}function An(e){return Math.cos(e*Math.PI/180)}function jn(e,n){let r=An(e),i=An(n);return t.ar(i/r)}function Mn(e,n){let r=e.rotate(n.bearingInRadians),i=n.zoom+jn(n.center.lat,0),a=t.bt(1/An(n.center.lat),1/An(Math.min(Math.abs(n.center.lat),60)),t.bw(i,7,3,0,1)),o=360/Tn({worldSize:n.worldSize,center:{lat:n.center.lat}});return new t.W(n.center.lng-r.x*o*a,t.al(n.center.lat+r.y*o,-t.am,t.am))}function Nn(e){let t=.5*e,n=Math.sin(t),r=Math.cos(t);return Math.log(n+r)-Math.log(r-n)}function Pn(e,n,r,i){let a=e.lat+r*i;if(Math.abs(r)>1){let o=(Math.sign(e.lat+r)===Math.sign(e.lat)?Math.abs(e.lat):-Math.abs(e.lat))*Math.PI/180,s=Math.abs(e.lat+r)*Math.PI/180,c=Nn(o+i*(s-o)),l=Nn(o),u=Nn(s);return new t.W(e.lng+n*((c-l)/(u-l)),a)}return new t.W(e.lng+n*i,a)}class Fn{constructor(e){this._cachePrevious=new Map,this._cache=new Map,this._hadAnyChanges=!1,this._boundingVolumeFactory=e}swapBuffers(){if(!this._hadAnyChanges)return;let e=this._cachePrevious;this._cachePrevious=this._cache,this._cache=e,this._cache.clear(),this._hadAnyChanges=!1}getTileBoundingVolume(e,t,n,r){let i=`${e.z}_${e.x}_${e.y}_${r?.terrain?`t`:``}`,a=this._cache.get(i);if(a)return a;let o=this._cachePrevious.get(i);if(o)return this._cache.set(i,o),o;let s=this._boundingVolumeFactory(e,t,n,r);return this._cache.set(i,s),this._hadAnyChanges=!0,s}}class In{constructor(e,t,n,r){this.min=n,this.max=r,this.points=e,this.planes=t}static fromAabb(e,t){let n=[];for(let r=0;r<8;r++)n.push([1&~r?e[0]:t[0],(r>>1&1)==1?t[1]:e[1],(r>>2&1)==1?t[2]:e[2]]);return new In(n,[[-1,0,0,t[0]],[1,0,0,-e[0]],[0,-1,0,t[1]],[0,1,0,-e[1]],[0,0,-1,t[2]],[0,0,1,-e[2]]],e,t)}static fromCenterSizeAngles(e,n,r){let i=t.bA([],r[0],r[1],r[2]),a=t.bB([],[n[0],0,0],i),o=t.bB([],[0,n[1],0],i),s=t.bB([],[0,0,n[2]],i),c=[...e],l=[...e];for(let t=0;t<8;t++)for(let n=0;n<3;n++){let r=e[n]+a[n]*(1&~t?-1:1)+o[n]*((t>>1&1)==1?1:-1)+s[n]*((t>>2&1)==1?1:-1);c[n]=Math.min(c[n],r),l[n]=Math.max(l[n],r)}let u=[];for(let n=0;n<8;n++){let r=[...e];t.a_(r,r,t.aZ([],a,1&~n?-1:1)),t.a_(r,r,t.aZ([],o,(n>>1&1)==1?1:-1)),t.a_(r,r,t.aZ([],s,(n>>2&1)==1?1:-1)),u.push(r)}return new In(u,[[...a,-t.b3(a,u[0])],[...o,-t.b3(o,u[0])],[...s,-t.b3(s,u[0])],[-a[0],-a[1],-a[2],-t.b3(a,u[7])],[-o[0],-o[1],-o[2],-t.b3(o,u[7])],[-s[0],-s[1],-s[2],-t.b3(s,u[7])]],c,l)}intersectsFrustum(e){let t=!0,n=this.points.length,r=this.planes.length,i=e.planes.length,a=e.points.length;for(let r=0;r<i;r++){let i=e.planes[r],a=0;for(let e=0;e<n;e++){let t=this.points[e];i[0]*t[0]+i[1]*t[1]+i[2]*t[2]+i[3]>=0&&a++}if(a===0)return 0;a<n&&(t=!1)}if(t)return 2;for(let t=0;t<r;t++){let n=this.planes[t],r=0;for(let t=0;t<a;t++){let i=e.points[t];n[0]*i[0]+n[1]*i[1]+n[2]*i[2]+n[3]>=0&&r++}if(r===0)return 0}return 1}intersectsPlane(e){let t=this.points.length,n=0;for(let r=0;r<t;r++){let t=this.points[r];e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]>=0&&n++}return n===t?2:n===0?0:1}}function Ln(e,t,n){let r=e-t;return r<0?-r:Math.max(0,r-n)}function Rn(e,t,n,r,i){let a=e-n,o;return o=a<0?Math.min(-a,1+a-i):a>i?Math.min(Math.max(a-i,0),1-a):0,Math.max(o,Ln(t,r,i))}class zn{constructor(){this._boundingVolumeCache=new Fn(this._computeTileBoundingVolume)}prepareNextFrame(){this._boundingVolumeCache.swapBuffers()}distanceToTile2d(e,t,n,r){let i=1<<n.z,a=1/i,o=n.x/i,s=n.y/i,c=2;return c=Math.min(c,Rn(e,t,o,s,a)),c=Math.min(c,Rn(e,t,o+.5,-s-a,a)),c=Math.min(c,Rn(e,t,o+.5,2-s-a,a)),c}getWrap(e,t,n){let r=1<<t.z,i=1/r,a=t.x/r,o=Ln(e.x,a,i),s=Ln(e.x,a-1,i),c=Ln(e.x,a+1,i),l=Math.min(o,s,c);return l===c?1:l===s?-1:0}allowVariableZoom(e,t){return Ke(e,t)>4}allowWorldCopies(){return!1}getTileBoundingVolume(e,t,n,r){return this._boundingVolumeCache.getTileBoundingVolume(e,t,n,r)}_computeTileBoundingVolume(e,n,r,i){let a=0,o=0;if(i?.terrain){let s=new t.a3(e.z,n,e.z,e.x,e.y),c=i.terrain.getMinMaxElevation(s);a=c.minElevation??Math.min(0,r),o=c.maxElevation??Math.max(0,r)}if(a/=t.bD,o/=t.bD,a+=1,o+=1,e.z<=0)return In.fromAabb([-o,-o,-o],[o,o,o]);if(e.z===1)return In.fromAabb([e.x===0?-o:0,e.y===0?0:-o,-o],[e.x===0?0:o,e.y===0?o:0,o]);{let n=[En(0,0,e.x,e.y,e.z),En(t.a6,0,e.x,e.y,e.z),En(t.a6,t.a6,e.x,e.y,e.z),En(0,t.a6,e.x,e.y,e.z)],r=[];for(let e of n)r.push(t.aZ([],e,o));if(o!==a)for(let e of n)r.push(t.aZ([],e,a));e.y===0&&r.push([0,1,0]),e.y===(1<<e.z)-1&&r.push([0,-1,0]);let i=[1,1,1],s=[-1,-1,-1];for(let e of r)for(let t=0;t<3;t++)i[t]=Math.min(i[t],e[t]),s[t]=Math.max(s[t],e[t]);let c=En(t.a6/2,t.a6/2,e.x,e.y,e.z),l=t.b2([],[0,1,0],c);t.b1(l,l);let u=t.b2([],c,l);t.b1(u,u);let d=t.b2([],n[2],n[1]);t.b1(d,d);let f=t.b2([],n[0],n[3]);t.b1(f,f),r.push(t.aZ([],c,o)),e.y>=(1<<e.z)/2&&r.push(t.aZ([],En(t.a6/2,0,e.x,e.y,e.z),o)),e.y<(1<<e.z)/2&&r.push(t.aZ([],En(t.a6/2,t.a6,e.x,e.y,e.z),o));let p=Bn(c,r),m=Bn(u,r),h=[-c[0],-c[1],-c[2],p.max],g=[c[0],c[1],c[2],-p.min],_=[-u[0],-u[1],-u[2],m.max],v=[u[0],u[1],u[2],-m.min],y=[...d,0],b=[...f,0],x=[];return e.y===0?x.push(t.bC(b,y,h),t.bC(b,y,g)):x.push(t.bC(_,y,h),t.bC(_,y,g),t.bC(_,b,h),t.bC(_,b,g)),e.y===(1<<e.z)-1?x.push(t.bC(b,y,h),t.bC(b,y,g)):x.push(t.bC(v,y,h),t.bC(v,y,g),t.bC(v,b,h),t.bC(v,b,g)),new In(x,[h,g,_,v,y,b],i,s)}}}function Bn(e,n){let r=1/0,i=-1/0;for(let a of n){let n=t.b3(e,a);r=Math.min(r,n),i=Math.max(i,n)}return{min:r,max:i}}class Vn{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t){this._helper.resize(e,t)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}setConstrainOverride(e){this._helper.setConstrainOverride(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(e){}constructor(e){this._cachedClippingPlane=t.bE(),this._projectionMatrix=t.bi(),this._globeViewProjMatrix32f=t.bh(),this._globeViewProjMatrixNoCorrection=t.bi(),this._globeViewProjMatrixNoCorrectionInverted=t.bi(),this._globeProjMatrixInverted=t.bi(),this._cameraPosition=t.bz(),this._globeLatitudeErrorCorrectionRadians=0,this.defaultConstrain=(e,n)=>{let r=t.al(e.lat,-t.am,t.am),i=t.al(+n,this.minZoom+jn(0,r),this.maxZoom);return{center:new t.W(e.lng,r),zoom:i}},this.applyConstrain=(e,t)=>this._helper.applyConstrain(e,t),this._helper=new nn({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(e,t)=>this.defaultConstrain(e,t)},e),this._coveringTilesDetailsProvider=new zn}clone(){let e=new Vn;return e.apply(this,!1),e}apply(e,t,n){this._globeLatitudeErrorCorrectionRadians=n||0,this._helper.apply(e,t)}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._globeViewProjMatrixNoCorrection}get inverseProjectionMatrix(){return this._globeProjMatrixInverted}get cameraPosition(){let e=t.bz();return e[0]=this._cameraPosition[0],e[1]=this._cameraPosition[1],e[2]=this._cameraPosition[2],e}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}getProjectionData(e){let{overscaledTileID:t,applyGlobeMatrix:n}=e,r=this._helper.getMercatorTileCoordinates(t);return{mainMatrix:this._globeViewProjMatrix32f,tileMercatorCoords:r,clippingPlane:this._cachedClippingPlane,projectionTransition:+!!n,fallbackMatrix:this._globeViewProjMatrix32f}}_computeClippingPlane(e){let n=this.pitchInRadians,r=this.cameraToCenterDistance/e,i=Math.sin(n)*r,a=Math.cos(n)*r+1,o=1/Math.sqrt(i*i+a*a)*1,s=-i,c=a,l=Math.sqrt(s*s+c*c);s/=l,c/=l;let u=[0,s,c];t.bF(u,u,[0,0,0],-this.bearingInRadians),t.bG(u,u,[0,0,0],-1*this.center.lat*Math.PI/180),t.bH(u,u,[0,0,0],this.center.lng*Math.PI/180);let d=1/t.b5(u);return t.aZ(u,u,d),[...u,-o*d]}isLocationOccluded(e){return!this.isSurfacePointVisible(Dn(e))}transformLightDirection(e){let n=this._helper._center.lng*Math.PI/180,r=this._helper._center.lat*Math.PI/180,i=Math.cos(r),a=[Math.sin(n)*i,Math.sin(r),Math.cos(n)*i],o=[a[2],0,-a[0]],s=[0,0,0];t.b2(s,o,a),t.b1(o,o),t.b1(s,s);let c=[0,0,0];return t.b1(c,[o[0]*e[0]+s[0]*e[1]+a[0]*e[2],o[1]*e[0]+s[1]*e[1]+a[1]*e[2],o[2]*e[0]+s[2]*e[1]+a[2]*e[2]]),c}getPixelScale(){return 1/Math.cos(this._helper._center.lat*Math.PI/180)}getCircleRadiusCorrection(){return Math.cos(this._helper._center.lat*Math.PI/180)}getPitchedTextCorrection(e,n,r){let i=function(e,n,r){let i=1/(1<<r.z);return new t.a7(e/t.a6*i+r.x*i,n/t.a6*i+r.y*i)}(e,n,r.canonical),a=(o=i.y,[t.by(i.x*Math.PI*2+Math.PI,2*Math.PI),2*Math.atan(Math.exp(Math.PI-o*Math.PI*2))-.5*Math.PI]);var o;return this.getCircleRadiusCorrection()/Math.cos(a[1])}projectTileCoordinates(e,n,r,i){let a=r.canonical,o=En(e,n,a.x,a.y,a.z),s=1+(i?i(e,n):0)/t.bD,c=[o[0]*s,o[1]*s,o[2]*s,1];t.aE(c,c,this._globeViewProjMatrixNoCorrection);let l=this._cachedClippingPlane,u=l[0]*o[0]+l[1]*o[1]+l[2]*o[2]+l[3]<0;return{point:new t.P(c[0]/c[3],c[1]/c[3]),signedDistanceFromCamera:c[3],isOccluded:u}}_calcMatrices(){if(!this._helper._width||!this._helper._height)return;let e=On(this.worldSize,this.center.lat),n=t.bj(),r=t.bj();this._helper.autoCalculateNearFarZ&&(this._helper._nearZ=.5,this._helper._farZ=this.cameraToCenterDistance+2*e),t.bc(n,this.fovInRadians,this.width/this.height,this._helper._nearZ,this._helper._farZ);let i=this.centerOffset;n[8]=2*-i.x/this._helper._width,n[9]=2*i.y/this._helper._height,this._projectionMatrix=t.bd(n),this._globeProjMatrixInverted=t.bj(),t.bg(this._globeProjMatrixInverted,n),t.Q(n,n,[0,0,-this.cameraToCenterDistance]),t.be(n,n,this.rollInRadians),t.bf(n,n,-this.pitchInRadians),t.be(n,n,this.bearingInRadians),t.Q(n,n,[0,0,-e]);let a=t.bz();a[0]=e,a[1]=e,a[2]=e,t.bf(r,n,this.center.lat*Math.PI/180),t.bI(r,r,-this.center.lng*Math.PI/180),t.S(r,r,a),this._globeViewProjMatrixNoCorrection=r,t.bf(n,n,this.center.lat*Math.PI/180-this._globeLatitudeErrorCorrectionRadians),t.bI(n,n,-this.center.lng*Math.PI/180),t.S(n,n,a),this._globeViewProjMatrix32f=new Float32Array(n),this._globeViewProjMatrixNoCorrectionInverted=t.bj(),t.bg(this._globeViewProjMatrixNoCorrectionInverted,r);let o=t.bz();this._cameraPosition=t.bz(),this._cameraPosition[2]=this.cameraToCenterDistance/e,t.bF(this._cameraPosition,this._cameraPosition,o,-this.rollInRadians),t.bG(this._cameraPosition,this._cameraPosition,o,this.pitchInRadians),t.bF(this._cameraPosition,this._cameraPosition,o,-this.bearingInRadians),t.a_(this._cameraPosition,this._cameraPosition,[0,0,1]),t.bG(this._cameraPosition,this._cameraPosition,o,-this.center.lat*Math.PI/180),t.bH(this._cameraPosition,this._cameraPosition,o,this.center.lng*Math.PI/180),this._cachedClippingPlane=this._computeClippingPlane(e);let s=t.bd(this._globeViewProjMatrixNoCorrectionInverted);t.S(s,s,[1,1,-1]),this._cachedFrustum=on.fromInvProjectionMatrix(s,1,0,this._cachedClippingPlane,!0)}calculateFogMatrix(e){t.w(`calculateFogMatrix is not supported on globe projection.`);let n=t.bj();return t.ap(n),n}getVisibleUnwrappedCoordinates(e){return[new t.ba(0,e)]}getCameraFrustum(){return this._cachedFrustum}getClippingPlane(){return this._cachedClippingPlane}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(e){e&&t.w(`terrain is not fully supported on vertical perspective projection.`),this._helper.recalculateZoomAndCenter(0)}maxPitchScaleFactor(){return 1}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(e,n){if(!this._globeViewProjMatrixNoCorrection)return 1;let r=Dn(e);t.aZ(r,r,1+n/t.bD);let i=t.bE();return t.aE(i,[r[0],r[1],r[2],1],this._globeViewProjMatrixNoCorrection),i[2]/i[3]}populateCache(e){}getBounds(){let e=.5*this.width,n=.5*this.height,r=[new t.P(0,0),new t.P(e,0),new t.P(this.width,0),new t.P(this.width,n),new t.P(this.width,this.height),new t.P(e,this.height),new t.P(0,this.height),new t.P(0,n)],i=[];for(let e of r)i.push(this.unprojectScreenPoint(e));let a=0,o=0,s=0,c=0,l=this.center;for(let e of i){let n=t.bJ(l.lng,e.lng),r=t.bJ(l.lat,e.lat);n<o&&(o=n),n>a&&(a=n),r<c&&(c=r),r>s&&(s=r)}let u=[l.lng+o,l.lat+c,l.lng+a,l.lat+s];return this.isSurfacePointOnScreen([0,1,0])&&(u[3]=90,u[0]=-180,u[2]=180),this.isSurfacePointOnScreen([0,-1,0])&&(u[1]=-90,u[0]=-180,u[2]=180),new de(u)}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}setLocationAtPoint(e,n){let r=Dn(this.unprojectScreenPoint(n)),i=Dn(e),a=t.bz();t.bK(a);let o=t.bz();t.bH(o,r,a,-this.center.lng*Math.PI/180),t.bG(o,o,a,this.center.lat*Math.PI/180);let s=i[0]*i[0]+i[2]*i[2],c=o[0]*o[0];if(s<c)return;let l=Math.sqrt(s-c),u=-l,d=t.bL(i[0],i[2],o[0],l),f=t.bL(i[0],i[2],o[0],u),p=t.bz();t.bH(p,i,a,-d);let m=t.bL(p[1],p[2],o[1],o[2]),h=t.bz();t.bH(h,i,a,-f);let g=t.bL(h[1],h[2],o[1],o[2]),_=.5*Math.PI,v=m>=-_&&m<=_,y=g>=-_&&g<=_,b,x;if(v&&y){let e=this.center.lng*Math.PI/180,n=this.center.lat*Math.PI/180;t.bM(d,e)+t.bM(m,n)<t.bM(f,e)+t.bM(g,n)?(b=d,x=m):(b=f,x=g)}else if(v)b=d,x=m;else{if(!y)return;b=f,x=g}let S=b/Math.PI*180,C=x/Math.PI*180,w=this.center.lat;this.setCenter(new t.W(S,t.al(C,-90,90))),this.setZoom(this.zoom+jn(w,this.center.lat))}locationToScreenPoint(e,n){let r=Dn(e);if(n){let i=n.getElevationForLngLatZoom(e,this._helper._tileZoom);t.aZ(r,r,1+i/t.bD)}return this._projectSurfacePointToScreen(r)}_projectSurfacePointToScreen(e){let n=t.bE();return t.aE(n,[...e,1],this._globeViewProjMatrixNoCorrection),n[0]/=n[3],n[1]/=n[3],new t.P((.5*n[0]+.5)*this.width,(.5*-n[1]+.5)*this.height)}screenPointToMercatorCoordinate(e,n){if(n){let t=n.pointCoordinate(e);if(t)return t}return t.a7.fromLngLat(this.unprojectScreenPoint(e))}screenPointToLocation(e,t){return this.screenPointToMercatorCoordinate(e,t)?.toLngLat()}isPointOnMapSurface(e,t){let n=this._cameraPosition,r=this.getRayDirectionFromPixel(e);return!!this.rayPlanetIntersection(n,r)}getRayDirectionFromPixel(e){let n=t.bE();n[0]=e.x/this.width*2-1,n[1]=-1*(e.y/this.height*2-1),n[2]=1,n[3]=1,t.aE(n,n,this._globeViewProjMatrixNoCorrectionInverted),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3];let r=t.bz();r[0]=n[0]-this._cameraPosition[0],r[1]=n[1]-this._cameraPosition[1],r[2]=n[2]-this._cameraPosition[2];let i=t.bz();return t.b1(i,r),i}isSurfacePointVisible(e){let t=this._cachedClippingPlane;return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]>=0}isSurfacePointOnScreen(e){if(!this.isSurfacePointVisible(e))return!1;let n=t.bE();return t.aE(n,[...e,1],this._globeViewProjMatrixNoCorrection),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3],n[0]>-1&&n[0]<1&&n[1]>-1&&n[1]<1&&n[2]>-1&&n[2]<1}rayPlanetIntersection(e,n){let r=t.b3(e,n),i=t.bz(),a=t.bz();t.aZ(a,n,r),t.b0(i,e,a);let o=1-t.b3(i,i);if(o<0)return null;let s=t.b3(e,e)-1,c=-r+(r<0?1:-1)*Math.sqrt(o),l=s/c,u=c;return{tMin:Math.min(l,u),tMax:Math.max(l,u)}}unprojectScreenPoint(e){let n=this._cameraPosition,r=this.getRayDirectionFromPixel(e),i=this.rayPlanetIntersection(n,r);if(i){let e=t.bz();t.a_(e,n,[r[0]*i.tMin,r[1]*i.tMin,r[2]*i.tMin]);let a=t.bz();return t.b1(a,e),kn(a)}let a=this._cachedClippingPlane,o=a[0]*r[0]+a[1]*r[1]+a[2]*r[2],s=-t.b9(a,n)/o,c=t.bz();if(s>0)t.a_(c,n,[r[0]*s,r[1]*s,r[2]*s]);else{let e=t.bz();t.a_(e,n,[2*r[0],2*r[1],2*r[2]]);let i=t.b9(this._cachedClippingPlane,e);t.b0(c,e,[this._cachedClippingPlane[0]*i,this._cachedClippingPlane[1]*i,this._cachedClippingPlane[2]*i])}let l=function(e){let n=t.bz();return n[0]=e[0]*-e[3],n[1]=e[1]*-e[3],n[2]=e[2]*-e[3],{center:n,radius:Math.sqrt(1-e[3]*e[3])}}(a);return kn(function(e,n,r){let i=t.bz();t.b0(i,r,e);let a=t.bz();return t.bx(a,e,i,n/t.b7(i)),a}(l.center,l.radius,c))}getMatrixForModel(e,n){let r=t.W.convert(e),i=1/t.bD,a=t.bi();return t.bI(a,a,r.lng/180*Math.PI),t.bf(a,a,-r.lat/180*Math.PI),t.Q(a,a,[0,0,1+n/t.bD]),t.bf(a,a,.5*Math.PI),t.S(a,a,[i,i,i]),a}getProjectionDataForCustomLayer(e=!0){let n=this.getProjectionData({overscaledTileID:new t.a3(0,0,0,0,0),applyGlobeMatrix:e});return n.tileMercatorCoords=[0,0,1,1],n}getFastPathSimpleProjectionMatrix(e){}}class Hn{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(e){this._helper.setMinZoom(e)}setMaxZoom(e){this._helper.setMaxZoom(e)}setMinPitch(e){this._helper.setMinPitch(e)}setMaxPitch(e){this._helper.setMaxPitch(e)}setRenderWorldCopies(e){this._helper.setRenderWorldCopies(e)}setBearing(e){this._helper.setBearing(e)}setPitch(e){this._helper.setPitch(e)}setRoll(e){this._helper.setRoll(e)}setFov(e){this._helper.setFov(e)}setZoom(e){this._helper.setZoom(e)}setCenter(e){this._helper.setCenter(e)}setElevation(e){this._helper.setElevation(e)}setMinElevationForCurrentTile(e){this._helper.setMinElevationForCurrentTile(e)}setPadding(e){this._helper.setPadding(e)}interpolatePadding(e,t,n){this._helper.interpolatePadding(e,t,n)}isPaddingEqual(e){return this._helper.isPaddingEqual(e)}resize(e,t,n=!0){this._helper.resize(e,t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(e){this._helper.setMaxBounds(e)}setConstrainOverride(e){this._helper.setConstrainOverride(e)}overrideNearFarZ(e,t){this._helper.overrideNearFarZ(e,t)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(e){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),e)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}get isGlobeRendering(){return this._globeness>0}setTransitionState(e,t){this._globeness=e,this._globeLatitudeErrorCorrectionRadians=t,this._calcMatrices(),this._verticalPerspectiveTransform.getCoveringTilesDetailsProvider().prepareNextFrame(),this._mercatorTransform.getCoveringTilesDetailsProvider().prepareNextFrame()}get currentTransform(){return this.isGlobeRendering?this._verticalPerspectiveTransform:this._mercatorTransform}constructor(e){this._globeLatitudeErrorCorrectionRadians=0,this._globeness=1,this.defaultConstrain=(e,t)=>this.currentTransform.defaultConstrain(e,t),this.applyConstrain=(e,t)=>this._helper.applyConstrain(e,t),this._helper=new nn({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(e,t)=>this.defaultConstrain(e,t)},e),this._globeness=1,this._mercatorTransform=new sn,this._verticalPerspectiveTransform=new Vn}clone(){let e=new Hn;return e._globeness=this._globeness,e._globeLatitudeErrorCorrectionRadians=this._globeLatitudeErrorCorrectionRadians,e.apply(this,!1),e}apply(e,t){this._helper.apply(e,t),this._mercatorTransform.apply(this,!1),this._verticalPerspectiveTransform.apply(this,!1,this._globeLatitudeErrorCorrectionRadians)}get projectionMatrix(){return this.currentTransform.projectionMatrix}get modelViewProjectionMatrix(){return this.currentTransform.modelViewProjectionMatrix}get inverseProjectionMatrix(){return this.currentTransform.inverseProjectionMatrix}get cameraPosition(){return this.currentTransform.cameraPosition}getProjectionData(e){let t=this._mercatorTransform.getProjectionData(e),n=this._verticalPerspectiveTransform.getProjectionData(e);return{mainMatrix:this.isGlobeRendering?n.mainMatrix:t.mainMatrix,clippingPlane:n.clippingPlane,tileMercatorCoords:n.tileMercatorCoords,projectionTransition:e.applyGlobeMatrix?this._globeness:0,fallbackMatrix:t.fallbackMatrix}}isLocationOccluded(e){return this.currentTransform.isLocationOccluded(e)}transformLightDirection(e){return this.currentTransform.transformLightDirection(e)}getPixelScale(){return t.bt(this._mercatorTransform.getPixelScale(),this._verticalPerspectiveTransform.getPixelScale(),this._globeness)}getCircleRadiusCorrection(){return t.bt(this._mercatorTransform.getCircleRadiusCorrection(),this._verticalPerspectiveTransform.getCircleRadiusCorrection(),this._globeness)}getPitchedTextCorrection(e,n,r){let i=this._mercatorTransform.getPitchedTextCorrection(e,n,r),a=this._verticalPerspectiveTransform.getPitchedTextCorrection(e,n,r);return t.bt(i,a,this._globeness)}projectTileCoordinates(e,t,n,r){return this.currentTransform.projectTileCoordinates(e,t,n,r)}_calcMatrices(){this._helper._width&&this._helper._height&&(this._verticalPerspectiveTransform.apply(this,!1,this._globeLatitudeErrorCorrectionRadians),this._helper._nearZ=this._verticalPerspectiveTransform.nearZ,this._helper._farZ=this._verticalPerspectiveTransform.farZ,this._mercatorTransform.apply(this,!0,this.isGlobeRendering),this._helper._nearZ=this._mercatorTransform.nearZ,this._helper._farZ=this._mercatorTransform.farZ)}calculateFogMatrix(e){return this.currentTransform.calculateFogMatrix(e)}getVisibleUnwrappedCoordinates(e){return this.currentTransform.getVisibleUnwrappedCoordinates(e)}getCameraFrustum(){return this.currentTransform.getCameraFrustum()}getClippingPlane(){return this.currentTransform.getClippingPlane()}getCoveringTilesDetailsProvider(){return this.currentTransform.getCoveringTilesDetailsProvider()}recalculateZoomAndCenter(e){this._mercatorTransform.recalculateZoomAndCenter(e),this._verticalPerspectiveTransform.recalculateZoomAndCenter(e)}maxPitchScaleFactor(){return this._mercatorTransform.maxPitchScaleFactor()}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(e,t){return this.currentTransform.lngLatToCameraDepth(e,t)}populateCache(e){this._mercatorTransform.populateCache(e),this._verticalPerspectiveTransform.populateCache(e)}getBounds(){return this.currentTransform.getBounds()}calculateCenterFromCameraLngLatAlt(e,t,n,r){return this._helper.calculateCenterFromCameraLngLatAlt(e,t,n,r)}setLocationAtPoint(e,t){if(!this.isGlobeRendering)return this._mercatorTransform.setLocationAtPoint(e,t),void this.apply(this._mercatorTransform,!1);this._verticalPerspectiveTransform.setLocationAtPoint(e,t),this.apply(this._verticalPerspectiveTransform,!1)}locationToScreenPoint(e,t){return this.currentTransform.locationToScreenPoint(e,t)}screenPointToMercatorCoordinate(e,t){return this.currentTransform.screenPointToMercatorCoordinate(e,t)}screenPointToLocation(e,t){return this.currentTransform.screenPointToLocation(e,t)}isPointOnMapSurface(e,t){return this.currentTransform.isPointOnMapSurface(e,t)}getRayDirectionFromPixel(e){return this._verticalPerspectiveTransform.getRayDirectionFromPixel(e)}getMatrixForModel(e,t){return this.currentTransform.getMatrixForModel(e,t)}getProjectionDataForCustomLayer(e=!0){let t=this._mercatorTransform.getProjectionDataForCustomLayer(e);if(!this.isGlobeRendering)return t;let n=this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(e);return n.fallbackMatrix=t.mainMatrix,n}getFastPathSimpleProjectionMatrix(e){return this.currentTransform.getFastPathSimpleProjectionMatrix(e)}}class Un{get useGlobeControls(){return!0}handlePanInertia(e,n){let r=Mn(e,n);return Math.abs(r.lng-n.center.lng)>180&&(r.lng=n.center.lng+179.5*Math.sign(r.lng-n.center.lng)),{easingCenter:r,easingOffset:new t.P(0,0)}}handleMapControlsRollPitchBearingZoom(e,n){let r=e.around,i=n.screenPointToLocation(r);e.bearingDelta&&n.setBearing(n.bearing+e.bearingDelta),e.pitchDelta&&n.setPitch(n.pitch+e.pitchDelta),e.rollDelta&&n.setRoll(n.roll+e.rollDelta);let a=n.zoom;e.zoomDelta&&n.setZoom(n.zoom+e.zoomDelta);let o=n.zoom-a;if(o===0)return;let s=t.bJ(n.center.lng,i.lng),c=s/(Math.abs(s/180)+1),l=t.bJ(n.center.lat,i.lat),u=n.getRayDirectionFromPixel(r),d=n.cameraPosition,f=-1*t.b3(d,u),p=t.bz();t.a_(p,d,[u[0]*f,u[1]*f,u[2]*f]);let m=t.b5(p)-1,h=Math.exp(.5*-Math.max(m-.3,0)),g=On(n.worldSize,n.center.lat)/Math.min(n.width,n.height),_=t.bw(g,.9,.5,1,.25),v=(1-t.ao(-o))*Math.min(h,_),y=n.center.lat,b=n.zoom,x=new t.W(n.center.lng+c*v,t.al(n.center.lat+l*v,-t.am,t.am));n.setLocationAtPoint(i,r);let S=n.center,C=t.bw(Math.abs(s),45,85,0,1),w=t.bw(g,.75,.35,0,1),T=Math.max(C,w)**.25,ee=t.bJ(S.lng,x.lng),E=t.bJ(S.lat,x.lat);n.setCenter(new t.W(S.lng+ee*T,S.lat+E*T).wrap()),n.setZoom(b+jn(y,n.center.lat))}handleMapControlsPan(e,t,n){if(!e.panDelta)return;let r=t.center.lat,i=t.zoom;t.setCenter(Mn(e.panDelta,t).wrap()),t.setZoom(i+jn(r,t.center.lat))}cameraForBoxAndBearing(e,n,r,i,a){let o=un(e,n,r,i,a),s=n.left/a.width*2-1,c=(a.width-n.right)/a.width*2-1,l=n.top/a.height*-2+1,u=(a.height-n.bottom)/a.height*-2+1,d=t.bJ(r.getWest(),r.getEast())<0,f=d?r.getEast():r.getWest(),p=d?r.getWest():r.getEast(),m=Math.max(r.getNorth(),r.getSouth()),h=Math.min(r.getNorth(),r.getSouth()),g=f+.5*t.bJ(f,p),_=m+.5*t.bJ(m,h),v=a.clone();v.setCenter(o.center),v.setBearing(o.bearing),v.setPitch(0),v.setRoll(0),v.setZoom(o.zoom);let y=v.modelViewProjectionMatrix,b=[Dn(r.getNorthWest()),Dn(r.getNorthEast()),Dn(r.getSouthWest()),Dn(r.getSouthEast()),Dn(new t.W(p,_)),Dn(new t.W(f,_)),Dn(new t.W(g,m)),Dn(new t.W(g,h))],x=Dn(o.center),S=1/0;for(let e of b)s<0&&(S=Un.getLesserNonNegativeNonNull(S,Un.solveVectorScale(e,x,y,`x`,s))),c>0&&(S=Un.getLesserNonNegativeNonNull(S,Un.solveVectorScale(e,x,y,`x`,c))),l>0&&(S=Un.getLesserNonNegativeNonNull(S,Un.solveVectorScale(e,x,y,`y`,l))),u<0&&(S=Un.getLesserNonNegativeNonNull(S,Un.solveVectorScale(e,x,y,`y`,u)));if(Number.isFinite(S)&&S!==0)return o.zoom=Math.min(v.zoom+t.ar(S),e.maxZoom),o;cn()}handleJumpToCenterZoom(e,n){let r=e.center.lat,i=e.applyConstrain(n.center?t.W.convert(n.center):e.center,e.zoom).center;e.setCenter(i.wrap());let a=n.zoom===void 0?e.zoom+jn(r,i.lat):+n.zoom;e.zoom!==a&&e.setZoom(a)}handleEaseTo(e,n){let r=e.zoom,i=e.center,a=e.padding,o={roll:e.roll,pitch:e.pitch,bearing:e.bearing},s={roll:n.roll===void 0?e.roll:n.roll,pitch:n.pitch===void 0?e.pitch:n.pitch,bearing:n.bearing===void 0?e.bearing:n.bearing},c=n.zoom!==void 0,l=!e.isPaddingEqual(n.padding),u=!1,d=n.center?t.W.convert(n.center):i,f=e.applyConstrain(d,r).center;en(e,f);let p=e.clone();p.setCenter(f),p.setZoom(c?+n.zoom:r+jn(i.lat,d.lat)),p.setBearing(n.bearing);let m=new t.P(t.al(e.centerPoint.x+n.offsetAsPoint.x,0,e.width),t.al(e.centerPoint.y+n.offsetAsPoint.y,0,e.height));p.setLocationAtPoint(f,m);let h=(n.offset&&n.offsetAsPoint.mag())>0?p.center:f,g=c?+n.zoom:r+jn(i.lat,h.lat),_=r+jn(i.lat,0),v=g+jn(h.lat,0),y=t.bJ(i.lng,h.lng),b=t.bJ(i.lat,h.lat),x=t.ao(v-_);return u=g!==r,{easeFunc:r=>{if(t.bn(o,s)||ln({startEulerAngles:o,endEulerAngles:s,tr:e,k:r,useSlerp:o.roll!=s.roll}),l&&e.interpolatePadding(a,n.padding,r),n.around)t.w(`Easing around a point is not supported under globe projection.`),e.setLocationAtPoint(n.around,n.aroundPoint);else{let t=(v>_?Math.min(2,x):Math.max(.5,x))**(1-r),n=Pn(i,y,b,r*t);e.setCenter(n.wrap())}if(u){let n=t.H.number(_,v,r)+jn(0,e.center.lat);e.setZoom(n)}},isZooming:u,elevationCenter:h}}handleFlyTo(e,n){let r=n.zoom!==void 0,i=e.center,a=e.zoom,o=e.padding,s=!e.isPaddingEqual(n.padding),c=e.applyConstrain(t.W.convert(n.center||n.locationAtOffset),a).center,l=r?+n.zoom:e.zoom+jn(e.center.lat,c.lat),u=e.clone();u.setCenter(c),u.setZoom(l),u.setBearing(n.bearing);let d=new t.P(t.al(e.centerPoint.x+n.offsetAsPoint.x,0,e.width),t.al(e.centerPoint.y+n.offsetAsPoint.y,0,e.height));u.setLocationAtPoint(c,d);let f=u.center;en(e,f);let p=function(e,n,r){let i=Dn(n),a=Dn(r),o=t.b3(i,a),s=Math.acos(o),c=Tn(e);return s/(2*Math.PI)*c}(e,i,f),m=a+jn(i.lat,0),h=l+jn(f.lat,0),g=t.ao(h-m),_;if(typeof n.minZoom==`number`){let r=+n.minZoom+jn(f.lat,0),i=Math.min(r,m,h)+jn(0,f.lat),a=e.applyConstrain(f,i).zoom+jn(f.lat,0);_=t.ao(a-m)}let v=t.bJ(i.lng,f.lng),y=t.bJ(i.lat,f.lat);return{easeFunc:(r,a,c,u)=>{let d=Pn(i,v,y,c);s&&e.interpolatePadding(o,n.padding,r);let p=r===1?f:d;e.setCenter(p.wrap());let h=m+t.ar(a);e.setZoom(r===1?l:h+jn(0,p.lat))},scaleOfZoom:g,targetCenter:f,scaleOfMinZoom:_,pixelPathLength:p}}static solveVectorScale(e,t,n,r,i){let a=r===`x`?[n[0],n[4],n[8],n[12]]:[n[1],n[5],n[9],n[13]],o=[n[3],n[7],n[11],n[15]],s=e[0]*a[0]+e[1]*a[1]+e[2]*a[2],c=e[0]*o[0]+e[1]*o[1]+e[2]*o[2],l=t[0]*a[0]+t[1]*a[1]+t[2]*a[2],u=t[0]*o[0]+t[1]*o[1]+t[2]*o[2];return l+i*c===s+i*u||o[3]*(s-l)+a[3]*(u-c)+s*u==l*c?null:(l+a[3]-i*u-i*o[3])/(l-s-i*u+i*c)}static getLesserNonNegativeNonNull(e,t){return t!==null&&t>=0&&t<e?t:e}}class Wn{constructor(e){this._globe=e,this._mercatorCameraHelper=new dn,this._verticalPerspectiveCameraHelper=new Un}get useGlobeControls(){return this._globe.useGlobeRendering}get currentHelper(){return this.useGlobeControls?this._verticalPerspectiveCameraHelper:this._mercatorCameraHelper}handlePanInertia(e,t){return this.currentHelper.handlePanInertia(e,t)}handleMapControlsRollPitchBearingZoom(e,t){this.currentHelper.handleMapControlsRollPitchBearingZoom(e,t)}handleMapControlsPan(e,t,n){this.currentHelper.handleMapControlsPan(e,t,n)}cameraForBoxAndBearing(e,t,n,r,i){return this.currentHelper.cameraForBoxAndBearing(e,t,n,r,i)}handleJumpToCenterZoom(e,t){this.currentHelper.handleJumpToCenterZoom(e,t)}handleEaseTo(e,t){return this.currentHelper.handleEaseTo(e,t)}handleFlyTo(e,t){return this.currentHelper.handleFlyTo(e,t)}}let Gn=(e,n)=>t.C(e,n?.filter((e=>e.identifier!==`source.canvas`))),Kn=t.bN();class qn extends t.E{constructor(e,n={}){super(),this._rtlPluginLoaded=()=>{for(let e in this.tileManagers){let t=this.tileManagers[e].getSource().type;t!==`vector`&&t!==`geojson`||this.tileManagers[e].reload()}},this.map=e,this.dispatcher=new ie(re(),e._getMapId()),this.dispatcher.registerMessageHandler(`GG`,((e,t)=>this.getGlyphs(e,t))),this.dispatcher.registerMessageHandler(`GI`,((e,t)=>this.getImages(e,t))),this.dispatcher.registerMessageHandler(`GDA`,((e,t)=>this.getDashes(e,t))),this.imageManager=new g,this.imageManager.setEventedParent(this);let r=e._container?.lang||typeof document<`u`&&document.documentElement?.lang||void 0;this.glyphManager=new S(e._requestManager,n.localIdeographFontFamily,r),this.lineAtlas=new D(256,512),this.crossTileSymbolIndex=new Wt,this._setInitialValues(),this._resetUpdates(),this.dispatcher.broadcast(`SR`,t.bO()),je().on(Oe,this._rtlPluginLoaded),this.on(`data`,(e=>{if(e.dataType!==`source`||e.sourceDataType!==`metadata`)return;let t=this.tileManagers[e.sourceId];if(!t)return;let n=t.getSource();if(n?.vectorLayerIds)for(let e in this._layers){let t=this._layers[e];t.source===n.id&&this._validateLayer(t)}}))}_setInitialValues(){this._spritesImagesIds={},this._layers={},this._order=[],this.tileManagers={},this.zoomHistory=new t.bP,this._availableImages=[],this._globalState={},this._serializedLayers={},this.stylesheet=null,this.light=null,this.sky=null,this.projection&&(this.projection.destroy(),delete this.projection),this._loaded=!1,this._changed=!1,this._updatedLayers={},this._updatedSources={},this._changedImages={},this._glyphsDidChange=!1,this._updatedPaintProps={},this._layerOrderChanged=!1,this.crossTileSymbolIndex=new((this.crossTileSymbolIndex?.constructor)||Object),this.pauseablePlacement=void 0,this.placement=void 0,this.z=0}setGlobalStateProperty(e,n){this._checkLoaded();let r=n===null?this.stylesheet.state?.[e]?.default??null:n;if(t.bQ(r,this._globalState[e]))return this;this._globalState[e]=r,this._applyGlobalStateChanges([e])}getGlobalState(){return this._globalState}setGlobalState(e){this._checkLoaded();let n=[];for(let r in e)!t.bQ(this._globalState[r],e[r].default)&&(n.push(r),this._globalState[r]=e[r].default);this._applyGlobalStateChanges(n)}_applyGlobalStateChanges(e){if(e.length===0)return;let t=new Set,n={};for(let r of e){n[r]=this._globalState[r];for(let e in this._layers){let n=this._layers[e],i=n.getLayoutAffectingGlobalStateRefs(),a=n.getPaintAffectingGlobalStateRefs(),o=n.getVisibilityAffectingGlobalStateRefs();if(i.has(r)&&t.add(n.source),a.has(r))for(let{name:e,value:t}of a.get(r))this._updatePaintProperty(n,e,t);o!=null&&o.has(r)&&(n.recalculateVisibility(),this._updateLayer(n))}}this.dispatcher.broadcast(`UGS`,n);for(let e in this.tileManagers)t.has(e)&&(this._reloadSource(e),this._changed=!0)}loadURL(e){return t._(this,arguments,void 0,(function*(e,n={},r){this.fire(new t.n(`dataloading`,{dataType:`style`})),n.validate=typeof n.validate!=`boolean`||n.validate,this._loadStyleRequest=new AbortController;let i=this._loadStyleRequest;try{let a=yield this.map._requestManager.transformRequest(e,`Style`);t.bR(i.signal);let o=yield t.k(a,i);this._loadStyleRequest===i&&(this._loadStyleRequest=null),this._load(o.data,n,r)}catch(e){this._loadStyleRequest===i&&(this._loadStyleRequest=null),e&&!i.signal.aborted&&this.fire(new t.l(t.d(e)))}}))}loadJSON(e,n={},r){this.fire(new t.n(`dataloading`,{dataType:`style`})),this._frameRequest=new AbortController,s.frameAsync(this._frameRequest,this.map._ownerWindow).then((()=>{this._frameRequest=null,n.validate=!1!==n.validate,this._load(e,n,r)})).catch((()=>{}))}loadEmpty(){this.fire(new t.n(`dataloading`,{dataType:`style`})),this._load(Kn,{validate:!1})}_load(e,n,r){let i=n.transformStyle?n.transformStyle(r,e):e;if(!n.validate||!Gn(this,t.F(i))){i=Object.assign({},i),this._loaded=!0,this.stylesheet=i;for(let e in i.sources)this.addSource(e,i.sources[e],{validate:!1});i.sprite?this._loadSprite(i.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(i.glyphs),this._createLayers(),this.light=new T(this.stylesheet.light),this._setProjectionInternal(this.stylesheet.projection?.type||`mercator`),this.sky=new E(this.stylesheet.sky),this.map.setTerrain(this.stylesheet.terrain??null),this.fire(new t.n(`data`,{dataType:`style`})),this.fire(new t.n(`style.load`))}}_createLayers(){let e=t.bS(this.stylesheet.layers);this.setGlobalState(this.stylesheet.state??null),this.dispatcher.broadcast(`SL`,e),this._order=e.map((e=>e.id)),this._layers={},this._serializedLayers=null;for(let n of e){let e=t.bT(n,this._globalState);if(e.setEventedParent(this,{layer:{id:n.id}}),this._layers[n.id]=e,t.bU(e)&&this.tileManagers[e.source]){let t=n.paint?.[`raster-fade-duration`]??e.paint.get(`raster-fade-duration`);this.tileManagers[e.source].setRasterFadeDuration(t)}}}_loadSprite(e,n=!1,r=void 0){this.imageManager.setLoaded(!1);let i=new AbortController,a;this._spriteRequest=i,function(e,n,r,i){return t._(this,void 0,void 0,(function*(){let a=p(e),o=r>1?`@2x`:``,c={},l={};for(let{id:e,url:r}of a){let a=yield n.transformRequest(m(r,o,`.json`),`SpriteJSON`);c[e]=t.k(a,i);let s=yield n.transformRequest(m(r,o,`.png`),`SpriteImage`);l[e]=u.getImage(s,i)}return yield Promise.all([...Object.values(c),...Object.values(l)]),function(e,n){return t._(this,void 0,void 0,(function*(){let t={};for(let r in e){t[r]={};let i=s.getImageCanvasContext((yield n[r]).data),a=(yield e[r]).data;for(let e in a){let{width:n,height:o,x:s,y:c,sdf:l,pixelRatio:u,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h}=a[e];t[r][e]={data:null,pixelRatio:u,sdf:l,stretchX:d,stretchY:f,content:p,textFitWidth:m,textFitHeight:h,spriteData:{width:n,height:o,x:s,y:c,context:i}}}}return t}))}(c,l)}))}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((e=>{if(this._spriteRequest=null,e)for(let t in e){this._spritesImagesIds[t]=[];let r=this._spritesImagesIds[t]?this._spritesImagesIds[t].filter((t=>!(t in e))):[];for(let e of r)this.imageManager.removeImage(e),this._changedImages[e]=!0;for(let r in e[t]){let i=t==="default"?r:`${t}:${r}`;this._spritesImagesIds[t].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,e[t][r],!1):this.imageManager.addImage(i,e[t][r]),n&&(this._changedImages[i]=!0)}}})).catch((e=>{this._spriteRequest=null,a=e,i.signal.aborted||this.fire(new t.l(a))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),n&&(this._changed=!0),this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.n(`data`,{dataType:`style`})),r&&r(a)}))}_unloadSprite(){for(let e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.n(`data`,{dataType:`style`}))}_validateLayer(e){let n=this.tileManagers[e.source];if(!n)return;let r=e.sourceLayer;if(!r)return;let i=n.getSource();(i.type===`geojson`||i.vectorLayerIds&&!i.vectorLayerIds.includes(r))&&this.fire(new t.l(Error(`Source layer "${r}" does not exist on source "${i.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.tileManagers)if(!this.tileManagers[e].loaded())return!1;return this.imageManager.isLoaded()}_serializeByIds(e,n=!1){let r=this._serializedAllLayers();if(!e||e.length===0)return Object.values(n?t.bV(r):r);let i=[];for(let a of e)if(r[a]){let e=n?t.bV(r[a]):r[a];i.push(e)}return i}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};let t=Object.keys(this._layers);for(let n of t){let t=this._layers[n];t.type!==`custom`&&(e[n]=t.serialize())}return e}hasTransitions(){if(this.light?.hasTransition()||this.sky?.hasTransition()||this.projection?.hasTransition())return!0;for(let e in this.tileManagers)if(this.tileManagers[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw Error(`Style is not done loading.`)}update(e){if(!this._loaded)return;let n=this._changed;if(n){let t=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);(t.length||n.length)&&this._updateWorkerLayers(t,n);for(let e in this._updatedSources){let t=this._updatedSources[e];if(t===`reload`)this._reloadSource(e);else{if(t!==`clear`)throw Error(`Invalid action ${t}`);this._clearSource(e)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let t in this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}let r={};for(let e in this.tileManagers){let t=this.tileManagers[e];r[e]=t.used,t.used=!1}for(let t of this._order){let n=this._layers[t];n.recalculate(e,this._availableImages),!n.isHidden(e.zoom)&&n.source&&(this.tileManagers[n.source].used=!0)}for(let e in r){let n=this.tileManagers[e];!!r[e]!=!!n.used&&n.fire(new t.n(`data`,{sourceDataType:`visibility`,dataType:`source`,sourceId:e}))}this.light.recalculate(e),this.sky.recalculate(e),this.projection.recalculate(e),this.z=e.zoom,n&&this.fire(new t.n(`data`,{dataType:`style`}))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.tileManagers)this.tileManagers[t].reloadTilesForDependencies([`icons`,`patterns`],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.tileManagers)this.tileManagers[e].reloadTilesForDependencies([`glyphs`],[``]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast(`UL`,{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,n={}){var r;this._checkLoaded();let i=this.serialize();if(e=n.transformStyle?n.transformStyle(i,e):e,((r=n.validate)==null||r)&&Gn(this,t.F(e)))return!1;(e=t.bV(e)).layers=t.bS(e.layers);let a=t.bW(i,e),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw Error(`Unimplemented: ${o.unimplemented.join(`, `)}.`);if(o.operations.length===0)return!1;for(let e of o.operations)e();return this.stylesheet=e,this._serializedLayers=null,this.fire(new t.n(`style.load`,{style:this})),!0}_getOperationsToPerform(e){let t=[],n=[];for(let r of e)switch(r.command){case`setCenter`:case`setZoom`:case`setBearing`:case`setPitch`:case`setRoll`:continue;case`addLayer`:t.push((()=>this.addLayer.apply(this,r.args)));break;case`removeLayer`:t.push((()=>this.removeLayer.apply(this,r.args)));break;case`setPaintProperty`:t.push((()=>this.setPaintProperty.apply(this,r.args)));break;case`setLayoutProperty`:t.push((()=>this.setLayoutProperty.apply(this,r.args)));break;case`setFilter`:t.push((()=>this.setFilter.apply(this,r.args)));break;case`addSource`:t.push((()=>this.addSource.apply(this,r.args)));break;case`removeSource`:t.push((()=>this.removeSource.apply(this,r.args)));break;case`setLayerZoomRange`:t.push((()=>this.setLayerZoomRange.apply(this,r.args)));break;case`setLight`:t.push((()=>this.setLight.apply(this,r.args)));break;case`setGeoJSONSourceData`:t.push((()=>this.setGeoJSONSourceData.apply(this,r.args)));break;case`setGlyphs`:t.push((()=>this.setGlyphs.apply(this,r.args)));break;case`setSprite`:t.push((()=>this.setSprite.apply(this,r.args)));break;case`setTerrain`:t.push((()=>this.map.setTerrain.apply(this,r.args)));break;case`setSky`:t.push((()=>this.setSky.apply(this,r.args)));break;case`setProjection`:this.setProjection.apply(this,r.args);break;case`setGlobalState`:t.push((()=>this.setGlobalState.apply(this,r.args)));break;case`setTransition`:t.push((()=>{}));break;default:n.push(r.command)}return{operations:t,unimplemented:n}}addImage(e,n){if(this.getImage(e))return this.fire(new t.l(Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,n),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new t.l(Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.n(`data`,{dataType:`style`}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,n,r={}){var i;if(this._checkLoaded(),this.tileManagers[e]!==void 0)throw Error(`Source "${e}" already exists.`);if(!n.type)throw Error(`The type property must be defined, but only the following properties were given: ${Object.keys(n).join(`, `)}.`);if([`vector`,`raster`,`geojson`,`video`,`image`].includes(n.type)&&this._validate(t.F.source,`sources.${e}`,n,null,r))return;(i=this.map)!=null&&i._collectResourceTiming&&(n.collectResourceTiming=!0);let a=this.tileManagers[e]=new tt(e,n,this.dispatcher);a.style=this,a.setEventedParent(this,(()=>({isSourceLoaded:a.loaded(),source:a.serialize(),sourceId:e}))),a.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),this.tileManagers[e]===void 0)throw Error(`There is no source with this ID=${e}`);for(let n in this._layers)if(this._layers[n].source===e)return this.fire(new t.l(Error(`Source "${e}" cannot be removed while layer "${n}" is using it.`)));let n=this.tileManagers[e];delete this.tileManagers[e],delete this._updatedSources[e],n.fire(new t.n(`data`,{sourceDataType:`metadata`,dataType:`source`,sourceId:e})),n.setEventedParent(null),n.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),this.tileManagers[e]===void 0)throw Error(`There is no source with this ID=${e}`);let n=this.tileManagers[e].getSource();if(n.type!==`geojson`)throw Error(`geojsonSource.type is ${n.type}, which is !== 'geojson`);n.setData(t),this._changed=!0}getSource(e){return this.tileManagers[e]?.getSource()}addLayer(e,n,r={}){this._checkLoaded();let i=e.id;if(this.getLayer(i))return void this.fire(new t.l(Error(`Layer "${i}" already exists on this map.`)));let a;if(e.type===`custom`){if(Gn(this,t.bX(e)))return;a=t.bT(e,this._globalState)}else{if(`source`in e&&typeof e.source==`object`&&(this.addSource(i,e.source),e=t.bV(e),e=t.e(e,{source:i})),this._validate(t.F.layer,`layers.${i}`,e,{arrayIndex:-1},r))return;a=t.bT(e,this._globalState),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}})}let o=n?this._order.indexOf(n):this._order.length;if(n&&o===-1)this.fire(new t.l(Error(`Cannot add layer "${i}" before non-existing layer "${n}".`)));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&a.type!==`custom`){let e=this._removedLayers[i];delete this._removedLayers[i],e.type===a.type?(this._updatedSources[a.source]=`reload`,this.tileManagers[a.source].pause()):this._updatedSources[a.source]=`clear`}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}moveLayer(e,n){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.l(Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===n)return;let r=this._order.indexOf(e);this._order.splice(r,1);let i=n?this._order.indexOf(n):this._order.length;n&&i===-1?this.fire(new t.l(Error(`Cannot move layer "${e}" before non-existing layer "${n}".`))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();let n=this._layers[e];if(!n)return void this.fire(new t.l(Error(`Cannot remove non-existing layer "${e}".`)));n.setEventedParent(null);let r=this._order.indexOf(e);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=n,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],n.onRemove&&n.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,n,r){this._checkLoaded();let i=this.getLayer(e);i?i.minzoom===n&&i.maxzoom===r||(n!=null&&(i.minzoom=n),r!=null&&(i.maxzoom=r),this._updateLayer(i)):this.fire(new t.l(Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,n,r={}){this._checkLoaded();let i=this.getLayer(e);if(i){if(!t.bQ(i.filter,n))return n==null?(i.setFilter(void 0),void this._updateLayer(i)):void(this._validate(t.F.filter,`layers.${i.id}.filter`,n,null,r)||(i.setFilter(t.bV(n)),this._updateLayer(i)))}else this.fire(new t.l(Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.bV(this.getLayer(e).filter)}setLayoutProperty(e,n,r,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.bQ(a.getLayoutProperty(n),r)||(a.setLayoutProperty(n,r,i),this._updateLayer(a)):this.fire(new t.l(Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,n){let r=this.getLayer(e);if(r)return r.getLayoutProperty(n);this.fire(new t.l(Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,n,r,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.bQ(a.getPaintProperty(n),r)||this._updatePaintProperty(a,n,r,i):this.fire(new t.l(Error(`Cannot style non-existing layer "${e}".`)))}_updatePaintProperty(e,n,r,i={}){e.setPaintProperty(n,r,i)&&this._updateLayer(e),t.bU(e)&&n===`raster-fade-duration`&&this.tileManagers[e.source].setRasterFadeDuration(r),this._changed=!0,this._updatedPaintProps[e.id]=!0,this._serializedLayers=null}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,n){this._checkLoaded();let r=e.source,i=e.sourceLayer,a=this.tileManagers[r];if(a===void 0)return void this.fire(new t.l(Error(`The source '${r}' does not exist in the map's style.`)));let o=a.getSource().type;o===`geojson`&&i?this.fire(new t.l(Error(`GeoJSON sources cannot have a sourceLayer parameter.`))):o!==`vector`||i?(e.id===void 0&&this.fire(new t.l(Error(`The feature id parameter must be provided.`))),a.setFeatureState(i,e.id,n)):this.fire(new t.l(Error(`The sourceLayer parameter must be provided for vector source types.`)))}removeFeatureState(e,n){this._checkLoaded();let r=e.source,i=this.tileManagers[r];if(i===void 0)return void this.fire(new t.l(Error(`The source '${r}' does not exist in the map's style.`)));let a=i.getSource().type,o=a===`vector`?e.sourceLayer:void 0;a!==`vector`||o?n&&typeof e.id!=`string`&&typeof e.id!=`number`?this.fire(new t.l(Error(`A feature id is required to remove its specific state property.`))):i.removeFeatureState(o,e.id,n):this.fire(new t.l(Error(`The sourceLayer parameter must be provided for vector source types.`)))}getFeatureState(e){this._checkLoaded();let n=e.source,r=e.sourceLayer,i=this.tileManagers[n];if(i!==void 0)return i.getSource().type!==`vector`||r?(e.id===void 0&&this.fire(new t.l(Error(`The feature id parameter must be provided.`))),i.getFeatureState(r,e.id)):void this.fire(new t.l(Error(`The sourceLayer parameter must be provided for vector source types.`)));this.fire(new t.l(Error(`The source '${n}' does not exist in the map's style.`)))}getTransition(){return t.e({duration:300,delay:0},this.stylesheet?.transition)}serialize(){if(!this._loaded)return;let e=t.bY(this.tileManagers,(e=>e.serialize())),n=this._serializeByIds(this._order,!0),r=this.map.getTerrain()||void 0,i=this.stylesheet;return t.bZ({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,projection:i.projection,sources:e,layers:n,terrain:r},(e=>e!==void 0))}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&this.tileManagers[e.source].getSource().type!==`raster`&&(this._updatedSources[e.source]=`reload`,this.tileManagers[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=e=>this._layers[e].type===`fill-extrusion`,n={},r=[];for(let i=this._order.length-1;i>=0;i--){let a=this._order[i];if(t(a)){n[a]=i;for(let t of e){let e=t[a];if(e)for(let t of e)r.push(t)}}}r.sort(((e,t)=>t.intersectionZ-e.intersectionZ));let i=[];for(let a=this._order.length-1;a>=0;a--){let o=this._order[a];if(t(o))for(let e=r.length-1;e>=0;e--){let t=r[e].feature;if(n[t.layer.id]<a)break;i.push(t),r.pop()}else for(let t of e){let e=t[o];if(e)for(let t of e)i.push(t.feature)}}return i}queryRenderedFeatures(e,n,r){n!=null&&n.filter&&this._validate(t.F.filter,`queryRenderedFeatures.filter`,n.filter,null,n);let i={};if(n?.layers){if(!(Array.isArray(n.layers)||n.layers instanceof Set))return this.fire(new t.l(Error(`parameters.layers must be an Array or a Set of strings`))),[];for(let e of n.layers){let n=this._layers[e];if(!n)return this.fire(new t.l(Error(`The layer '${e}' does not exist in the map's style and cannot be queried for features.`))),[];i[n.source]=!0}}let a=[];n.availableImages=this._availableImages;let o=this._serializedAllLayers(),s=n.layers instanceof Set?n.layers:Array.isArray(n.layers)?new Set(n.layers):null,c=Object.assign(Object.assign({},n),{layers:s,globalState:this._globalState});for(let t in this.tileManagers)n.layers&&!i[t]||a.push(se(this.tileManagers[t],this._layers,o,e,c,r,this.map.terrain?(e,t,n)=>this.map.terrain.getElevation(e,t,n):void 0));return this.placement&&a.push(function(e,t,n,r,i,a,o){let s={},c=a.queryRenderedSymbols(r),l=[];for(let e of Object.keys(c).map(Number))l.push(o[e]);l.sort(ce);for(let n of l){let r=n.featureIndex.lookupSymbolFeatures(c[n.bucketInstanceId],t,n.bucketIndex,n.sourceLayerIndex,{filterSpec:i.filter,globalState:i.globalState},i.layers,i.availableImages,e);for(let e in r){s[e]||(s[e]=[]);let t=r[e];t.sort(((e,t)=>{let r=n.featureSortOrder;if(r){let n=r.indexOf(e.featureIndex);return r.indexOf(t.featureIndex)-n}return t.featureIndex-e.featureIndex}));for(let n of t)s[e].push(n)}}return function(e,t,n){for(let r in e)for(let i of e[r])le(i,n[t[r].source]);return e}(s,e,n)}(this._layers,o,this.tileManagers,e,c,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,n){n!=null&&n.filter&&this._validate(t.F.filter,`querySourceFeatures.filter`,n.filter,null,n);let r=this.tileManagers[e];return r?function(e,t){let n=e.getRenderableIds().map((t=>e.getTileByID(t))),r=[],i={};for(let e of n){let n=e.tileID.canonical.key;i[n]||(i[n]=!0,e.querySourceFeatures(r,t))}return r}(r,n?Object.assign(Object.assign({},n),{globalState:this._globalState}):{globalState:this._globalState}):[]}getLight(){return this.light.getLight()}setLight(e,n={}){this._checkLoaded();let r=this.light.getLight(),i=!1;for(let n in e)if(!t.bQ(e[n],r[n])){i=!0;break}if(!i)return;let a={now:l(),transition:t.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,n),this.light.updateTransitions(a)}getProjection(){return this.stylesheet?.projection}setProjection(e){this._checkLoaded();let t=e??{type:`mercator`};if(this.stylesheet.projection=e,this.projection){if(this.projection.name===t.type)return;this.projection.destroy(),delete this.projection}this._setProjectionInternal(t.type)}getSky(){return this.stylesheet?.sky}setSky(e,n={}){this._checkLoaded();let r=this.getSky(),i=!1;if(!e&&!r)return;if(e&&!r)i=!0;else if(!e&&r)i=!0;else for(let n in e)if(!t.bQ(e[n],r[n])){i=!0;break}if(!i)return;let a={now:l(),transition:t.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=e,this.sky.setSky(e,n),this.sky.updateTransitions(a)}_setProjectionInternal(e){let n=function(e,n){let r={constrainOverride:n};if(Array.isArray(e)){let t=new wn({type:e});return{projection:t,transform:new Hn(r),cameraHelper:new Wn(t)}}switch(e){case`mercator`:return{projection:new Qt,transform:new sn(r),cameraHelper:new dn};case`globe`:{let e=new wn({type:[`interpolate`,[`linear`],[`zoom`],11,`vertical-perspective`,12,`mercator`]});return{projection:e,transform:new Hn(r),cameraHelper:new Wn(e)}}case`vertical-perspective`:return{projection:new Sn,transform:new Vn(r),cameraHelper:new Un};default:return t.w(`Unknown projection name: ${e}. Falling back to mercator projection.`),{projection:new Qt,transform:new sn(r),cameraHelper:new dn}}}(e,this.map.transformConstrain);this.projection=n.projection,this.map.migrateProjection(n.transform,n.cameraHelper);for(let e in this.tileManagers)this.tileManagers[e].reload()}_validate(e,n,r,i,a={}){return!1!==a?.validate&&Gn(this,e.call(t.F,t.e({key:n,style:this.serialize(),value:r,styleSpec:t.x},i)))}_remove(e=!0){this._frameRequest&&=(this._frameRequest.abort(),null),this._loadStyleRequest&&=(this._loadStyleRequest.abort(),null),this._spriteRequest&&=(this._spriteRequest.abort(),null),je().off(Oe,this._rtlPluginLoaded);for(let e in this._layers)this._layers[e].setEventedParent(null);for(let e in this.tileManagers){let t=this.tileManagers[e];t.setEventedParent(null),t.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),e&&this.dispatcher.broadcast(`RM`,void 0),this.dispatcher.remove(e)}_clearSource(e){this.tileManagers[e].clearTiles()}_reloadSource(e){this.tileManagers[e].resume(),this.tileManagers[e].reload()}_updateSources(e){for(let t in this.tileManagers)this.tileManagers[t].update(e,this.map.terrain)}_generateCollisionBoxes(){for(let e in this.tileManagers)this._reloadSource(e)}_updatePlacement(e,t,n,r,i=!1){let a=!1,o=!1,s={};for(let t of this._order){let n=this._layers[t];if(n.type!==`symbol`)continue;if(!s[n.source]){let e=this.tileManagers[n.source];s[n.source]=e.getRenderableIds(!0).map((t=>e.getTileByID(t))).sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}let r=this.crossTileSymbolIndex.addLayer(n,s[n.source],e.center.lng);a||=r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),i||=this._layerOrderChanged||n===0,(i||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(l(),e.zoom))&&(this.pauseablePlacement=new zt(e,this.map.terrain,this._order,i,t,n,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,s),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(l()),o=!0),a&&this.pauseablePlacement.placement.setStale()),o||a)for(let e of this._order){let t=this._layers[e];t.type===`symbol`&&this.placement.updateLayerOpacities(t,s[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(l())}_releaseSymbolFadeTiles(){for(let e in this.tileManagers)this.tileManagers[e].releaseSymbolFadeTiles()}getImages(e,n){return t._(this,void 0,void 0,(function*(){let e=yield this.imageManager.getImages(n.icons);this._updateTilesForChangedImages();let t=this.tileManagers[n.source];return t&&t.setDependencies(n.tileID.key,n.type,n.icons),e}))}getGlyphs(e,n){return t._(this,void 0,void 0,(function*(){let e=yield this.glyphManager.getGlyphs(n.stacks),t=this.tileManagers[n.source];return t&&t.setDependencies(n.tileID.key,n.type,[``]),e}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,n={}){this._checkLoaded(),e&&this._validate(t.F.glyphs,`glyphs`,e,null,n)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}getDashes(e,n){return t._(this,void 0,void 0,(function*(){let e={};for(let[t,r]of Object.entries(n.dashes))e[t]=this.lineAtlas.getDash(r.dasharray,r.round);return e}))}addSprite(e,n,r={},i){this._checkLoaded();let a=[{id:e,url:n}],o=[...p(this.stylesheet.sprite),...a];this._validate(t.F.sprite,`sprite`,o,null,r)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(e){this._checkLoaded();let n=p(this.stylesheet.sprite);if(n.find((t=>t.id===e))){if(this._spritesImagesIds[e])for(let t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;n.splice(n.findIndex((t=>t.id===e)),1),this.stylesheet.sprite=n.length>0?n:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(`SI`,this._availableImages),this.fire(new t.n(`data`,{dataType:`style`}))}else this.fire(new t.l(Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return p(this.stylesheet.sprite)}setSprite(e,n={},r){this._checkLoaded(),e&&this._validate(t.F.sprite,`sprite`,e,null,n)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,r):(this._unloadSprite(),r&&r(null)))}destroy(){this._frameRequest&&=(this._frameRequest.abort(),null),this._loadStyleRequest&&=(this._loadStyleRequest.abort(),null),this._spriteRequest&&=(this._spriteRequest.abort(),null);for(let e in this.tileManagers){let t=this.tileManagers[e];t.setEventedParent(null),t.onRemove(this.map)}this.tileManagers={},this.imageManager&&(this.imageManager.setEventedParent(null),this.imageManager.destroy(),this._availableImages=[],this._spritesImagesIds={}),this.glyphManager&&this.glyphManager.destroy();for(let e in this._layers){let t=this._layers[e];t.setEventedParent(null),t.onRemove&&t.onRemove(this.map)}this._setInitialValues(),this.setEventedParent(null),this.dispatcher.unregisterMessageHandler(`GG`),this.dispatcher.unregisterMessageHandler(`GI`),this.dispatcher.unregisterMessageHandler(`GDA`),this.dispatcher.remove(!0),this._listeners={},this._oneTimeListeners={}}}var Jn=t.aS([{name:`a_pos`,type:`Int16`,components:2},{name:`a_texture_pos`,type:`Int16`,components:2}]);class Yn{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,n,r,i,a,o,s,c){this.context=e;let l=this.boundPaintVertexBuffers.length!==r.length;for(let e=0;!l&&e<r.length;e++)this.boundPaintVertexBuffers[e]!==r[e]&&(l=!0);!this.vao||this.boundProgram!==t||this.boundLayoutVertexBuffer!==n||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s||this.boundDynamicVertexBuffer3!==c?this.freshBind(t,n,r,i,a,o,s,c):(e.bindVertexArray.set(this.vao),o&&o.bind(),i!=null&&i.dynamicDraw&&i.bind(),s&&s.bind(),c&&c.bind())}freshBind(e,t,n,r,i,a,o,s){let c=e.numAttributes,l=this.context,u=l.gl;this.vao&&this.destroy(),this.vao=l.createVertexArray(),l.bindVertexArray.set(this.vao),this.boundProgram=e,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=n,this.boundIndexBuffer=r,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o,this.boundDynamicVertexBuffer3=s,t.enableAttributes(u,e);for(let t of n)t.enableAttributes(u,e);a&&a.enableAttributes(u,e),o&&o.enableAttributes(u,e),s&&s.enableAttributes(u,e),t.bind(),t.setVertexAttribPointers(u,e,i);for(let t of n)t.bind(),t.setVertexAttribPointers(u,e,i);a&&(a.bind(),a.setVertexAttribPointers(u,e,i)),r&&r.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,e,i)),s&&(s.bind(),s.setVertexAttribPointers(u,e,i)),l.currentNumAttributes=c}destroy(){this.vao&&=(this.context.deleteVertexArray(this.vao),null)}}let Xn=(e,n,r,i,a)=>({u_texture:0,u_ele_delta:e,u_fog_matrix:n,u_fog_color:r?r.properties.get(`fog-color`):t.bo.white,u_fog_ground_blend:r?r.properties.get(`fog-ground-blend`):1,u_fog_ground_blend_opacity:a?0:r?r.calculateFogBlendOpacity(i):0,u_horizon_color:r?r.properties.get(`horizon-color`):t.bo.white,u_horizon_fog_blend:r?r.properties.get(`horizon-fog-blend`):1,u_is_globe_mode:+!!a}),Zn={mainMatrix:`u_projection_matrix`,tileMercatorCoords:`u_projection_tile_mercator_coords`,clippingPlane:`u_projection_clipping_plane`,projectionTransition:`u_projection_transition`,fallbackMatrix:`u_projection_fallback_matrix`};function Qn(e){let t=[];for(let n of e){if(n===null)continue;let e=n.split(` `);t.push(e.pop())}return t}class $n{constructor(e,n,r,i,a,o,s,c,l=[]){let u=e.gl;this.program=u.createProgram();let d=Qn(n.staticAttributes),f=r?r.getBinderAttributes():[],p=d.concat(f),m=Kt.prelude.staticUniforms?Qn(Kt.prelude.staticUniforms):[],h=s.staticUniforms?Qn(s.staticUniforms):[],g=n.staticUniforms?Qn(n.staticUniforms):[],_=r?r.getBinderUniforms():[],v=m.concat(h).concat(g).concat(_),y=[];for(let e of v)y.includes(e)||y.push(e);let b=r?r.defines():[];vn(u)&&b.unshift(`#version 300 es`),a&&b.push(`#define OVERDRAW_INSPECTOR;`),o&&b.push(`#define TERRAIN3D;`),c&&b.push(c),l&&b.push(...l);let x=b.concat(Kt.prelude.fragmentSource,s.fragmentSource,n.fragmentSource).join(`
`),S=b.concat(Kt.prelude.vertexSource,s.vertexSource,n.vertexSource).join(`
`);vn(u)||(x=function(e){return e.replace(/\bin\s/g,`varying `).replace(`out highp vec4 fragColor;`,``).replace(/fragColor/g,`gl_FragColor`).replace(/texture\(/g,`texture2D(`)}(x),S=function(e){return e.replace(/\bin\s/g,`attribute `).replace(/\bout\s/g,`varying `).replace(/texture\(/g,`texture2D(`)}(S));let C=u.createShader(u.FRAGMENT_SHADER);if(u.isContextLost())return void(this.failedToCreate=!0);if(u.shaderSource(C,x),u.compileShader(C),!u.getShaderParameter(C,u.COMPILE_STATUS))throw Error(`Could not compile fragment shader: ${u.getShaderInfoLog(C)}`);u.attachShader(this.program,C);let w=u.createShader(u.VERTEX_SHADER);if(u.isContextLost())return void(this.failedToCreate=!0);if(u.shaderSource(w,S),u.compileShader(w),!u.getShaderParameter(w,u.COMPILE_STATUS))throw Error(`Could not compile vertex shader: ${u.getShaderInfoLog(w)}`);u.attachShader(this.program,w),this.attributes={};let T={};this.numAttributes=p.length;for(let e=0;e<this.numAttributes;e++)p[e]&&(u.bindAttribLocation(this.program,e,p[e]),this.attributes[p[e]]=e);if(u.linkProgram(this.program),!u.getProgramParameter(this.program,u.LINK_STATUS))throw Error(`Program failed to link: ${u.getProgramInfoLog(this.program)}`);u.deleteShader(w),u.deleteShader(C);for(let e of y)if(e&&!T[e]){let t=u.getUniformLocation(this.program,e);t&&(T[e]=t)}this.fixedUniforms=i(e,T),this.terrainUniforms=((e,n)=>({u_depth:new t.b_(e,n.u_depth),u_terrain:new t.b_(e,n.u_terrain),u_terrain_dim:new t.bp(e,n.u_terrain_dim),u_terrain_matrix:new t.c0(e,n.u_terrain_matrix),u_terrain_unpack:new t.c1(e,n.u_terrain_unpack),u_terrain_exaggeration:new t.bp(e,n.u_terrain_exaggeration)}))(e,T),this.projectionUniforms=((e,n)=>({u_projection_matrix:new t.c0(e,n.u_projection_matrix),u_projection_tile_mercator_coords:new t.c1(e,n.u_projection_tile_mercator_coords),u_projection_clipping_plane:new t.c1(e,n.u_projection_clipping_plane),u_projection_transition:new t.bp(e,n.u_projection_transition),u_projection_fallback_matrix:new t.c0(e,n.u_projection_fallback_matrix)}))(e,T),this.binderUniforms=r?r.getUniforms(e,T):[]}draw(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){var y;let b=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(n),e.setStencilMode(r),e.setColorMode(i),e.setCullFace(a),s){e.activeTexture.set(b.TEXTURE2),b.bindTexture(b.TEXTURE_2D,s.depthTexture),e.activeTexture.set(b.TEXTURE3),b.bindTexture(b.TEXTURE_2D,s.texture);for(let e in this.terrainUniforms)this.terrainUniforms[e].set(s[e])}if(c)for(let e in c)this.projectionUniforms[Zn[e]].set(c[e]);if(o)for(let e in this.fixedUniforms)this.fixedUniforms[e].set(o[e]);h&&h.setUniforms(e,this.binderUniforms,p,{zoom:m});let x=0;switch(t){case b.LINES:x=2;break;case b.TRIANGLES:x=3;break;case b.LINE_STRIP:x=1}for(let n of f.get())n.vaos||={},(y=n.vaos)[l]||(y[l]=new Yn),n.vaos[l].bind(e,this,u,h?h.getPaintVertexBuffers():[],d,n.vertexOffset,g,_,v),b.drawElements(t,n.primitiveLength*x,b.UNSIGNED_SHORT,n.primitiveOffset*x*2)}}function er(e,n,r){let i=1/t.aK(r,1,n.transform.tileZoom),a=2**r.tileID.overscaledZ,o=r.tileSize*2**n.transform.tileZoom/a,s=o*(r.tileID.canonical.x+r.tileID.wrap*a),c=o*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[i,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[s>>16,c>>16],u_pixel_coord_lower:[65535&s,65535&c]}}let tr=(e,n,r,i)=>{let a=e.style.light,o=a.properties.get(`position`),s=[o.x,o.y,o.z],c=t.c4();a.properties.get(`anchor`)===`viewport`&&t.c5(c,e.transform.bearingInRadians),t.c6(s,s,c);let l=e.transform.transformLightDirection(s),u=a.properties.get(`color`);return{u_lightpos:s,u_lightpos_globe:l,u_lightintensity:a.properties.get(`intensity`),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:r,u_fill_translate:i}},nr=(e,n,r,i,a,o,s)=>t.e(tr(e,n,r,i),er(o,e,s),{u_height_factor:-(2**a.overscaledZ)/s.tileSize/8}),rr=(e,n,r,i)=>t.e(er(n,e,r),{u_fill_translate:i}),ir=(e,t)=>({u_world:e,u_fill_translate:t}),ar=(e,n,r,i,a)=>t.e(rr(e,n,r,a),{u_world:i}),or=(e,n,r,i,a)=>{let o=e.transform,s,c,l=0;if(r.paint.get(`circle-pitch-alignment`)===`map`){let e=t.aK(n,1,o.zoom);s=!0,c=[e,e],l=e/(t.a6*2**n.tileID.overscaledZ)*2*Math.PI*a}else s=!1,c=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+(r.paint.get(`circle-pitch-scale`)===`map`),u_pitch_with_map:+s,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:c,u_globe_extrude_scale:l,u_translate:i}},sr=e=>({u_pixel_extrude_scale:[1/e.width,1/e.height]}),cr=e=>({u_viewport_size:[e.width,e.height]}),lr=(e,t=1)=>({u_color:e,u_overlay:0,u_overlay_scale:t}),ur=(e,n,r,i)=>{let a=t.aK(e,1,n)/(t.a6*2**e.tileID.overscaledZ)*2*Math.PI*i;return{u_extrude_scale:t.aK(e,1,n),u_intensity:r,u_globe_extrude_scale:a}},dr=(e,n,r,i)=>{let a=t.O();t.c7(a,0,e.width,e.height,0,0,1);let o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:r,u_color_ramp:i,u_opacity:n.paint.get(`heatmap-opacity`)}},fr=(e,t,n)=>{let r=n.paint.get(`hillshade-accent-color`),i;switch(n.paint.get(`hillshade-method`)){case`basic`:i=4;break;case`combined`:i=1;break;case`igor`:i=2;break;case`multidirectional`:i=3;break;default:i=0}let a=n.getIlluminationProperties();for(let t=0;t<a.directionRadians.length;t++)n.paint.get(`hillshade-illumination-anchor`)===`viewport`&&(a.directionRadians[t]+=e.transform.bearingInRadians);return{u_image:0,u_latrange:mr(0,t.tileID),u_exaggeration:n.paint.get(`hillshade-exaggeration`),u_altitudes:a.altitudeRadians,u_azimuths:a.directionRadians,u_accent:r,u_method:i,u_highlights:a.highlightColor,u_shadows:a.shadowColor}},pr=(e,n)=>{let r=n.stride,i=t.O();return t.c7(i,0,t.a6,-t.a6,0,0,1),t.Q(i,i,[0,-t.a6,0]),{u_matrix:i,u_image:1,u_dimension:[r,r],u_zoom:e.overscaledZ,u_unpack:n.getUnpackVector()}};function mr(e,n){let r=2**n.canonical.z,i=n.canonical.y;return[new t.a7(0,i/r).toLngLat().lat,new t.a7(0,(i+1)/r).toLngLat().lat]}let hr=(e,t,n=0)=>({u_image:0,u_unpack:t.getUnpackVector(),u_dimension:[t.stride,t.stride],u_elevation_stops:1,u_color_stops:4,u_color_ramp_size:n,u_opacity:e.paint.get(`color-relief-opacity`)}),gr=(e,n,r,i)=>{let a=e.transform;return{u_translation:yr(e,n,r),u_ratio:i/t.aK(n,1,a.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},_r=(e,n,r,i,a)=>t.e(gr(e,n,r,i),{u_image:0,u_image_height:a}),vr=(e,n,r,i,a)=>{let o=e.transform,s=H(n,o);return{u_translation:yr(e,n,r),u_texsize:n.imageAtlasTexture.size,u_ratio:i/t.aK(n,1,o.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[s,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},B=(e,n,r,i,a)=>{let o=H(n,e.transform);return t.e(gr(e,n,r,i),{u_tileratio:o,u_crossfade_from:a.fromScale,u_crossfade_to:a.toScale,u_image:0,u_mix:a.t,u_lineatlas_width:e.lineAtlas.width,u_lineatlas_height:e.lineAtlas.height})},V=(e,n,r,i,a,o)=>{let s=H(n,e.transform);return t.e(gr(e,n,r,i),{u_image:0,u_image_height:o,u_tileratio:s,u_crossfade_from:a.fromScale,u_crossfade_to:a.toScale,u_image_dash:1,u_mix:a.t,u_lineatlas_width:e.lineAtlas.width,u_lineatlas_height:e.lineAtlas.height})};function H(e,n){return 1/t.aK(e,1,n.tileZoom)}function yr(e,n,r){return t.aL(e.transform,n,r.paint.get(`line-translate`),r.paint.get(`line-translate-anchor`))}let br=(e,t,n,r,i)=>{return{u_tl_parent:e,u_scale_parent:t,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*r.paint.get(`raster-opacity`),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(`raster-brightness-min`),u_brightness_high:r.paint.get(`raster-brightness-max`),u_saturation_factor:(o=r.paint.get(`raster-saturation`),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=r.paint.get(`raster-contrast`),a>0?1/(1-a):1+a),u_spin_weights:xr(r.paint.get(`raster-hue-rotate`)),u_coords_top:[i[0].x,i[0].y,i[1].x,i[1].y],u_coords_bottom:[i[3].x,i[3].y,i[2].x,i[2].y]};var a,o};function xr(e){e*=Math.PI/180;let t=Math.sin(e),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}let Sr=(e,t,n,r,i,a,o,s,c,l,u,d,f)=>{let p=o.transform;return{u_is_size_zoom_constant:+(e===`constant`||e===`source`),u_is_size_feature_constant:+(e===`constant`||e===`camera`),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:p.cameraToCenterDistance,u_pitch:p.pitch/360*2*Math.PI,u_rotate_symbol:+n,u_aspect_ratio:p.width/p.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_label_plane_matrix:s,u_coord_matrix:c,u_is_text:+u,u_pitch_with_map:+r,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:d,u_texture:0,u_translation:l,u_pitched_scale:f}},Cr=(e,n,r,i,a,o,s,c,l,u,d,f,p,m)=>{let h=s.transform;return t.e(Sr(e,n,r,i,a,o,s,c,l,u,d,f,m),{u_gamma_scale:i?Math.cos(h.pitch*Math.PI/180)*h.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+!!p,u_is_plain:1})},wr=(e,n,r,i,a,o,s,c,l,u,d,f,p)=>t.e(Cr(e,n,r,i,a,o,s,c,l,u,!0,d,!0,p),{u_texsize_icon:f,u_texture_icon:1}),Tr=(e,t)=>({u_opacity:e,u_color:t}),Er=(e,n,r,i,a)=>t.e(function(e,n,r,i){let a=r.imageManager.getPattern(e.from.toString()),o=r.imageManager.getPattern(e.to.toString()),{width:s,height:c}=r.imageManager.getPixelSize(),l=2**i.tileID.overscaledZ,u=i.tileSize*2**r.transform.tileZoom/l,d=u*(i.tileID.canonical.x+i.tileID.wrap*l),f=u*i.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[s,c],u_mix:n.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:o.displaySize,u_scale_a:n.fromScale,u_scale_b:n.toScale,u_tile_units_to_pixels:1/t.aK(i,1,r.transform.tileZoom),u_pixel_coord_upper:[d>>16,f>>16],u_pixel_coord_lower:[65535&d,65535&f]}}(r,a,n,i),{u_opacity:e}),Dr=(e,t)=>{},Or={fillExtrusion:(e,n)=>({u_lightpos:new t.c2(e,n.u_lightpos),u_lightpos_globe:new t.c2(e,n.u_lightpos_globe),u_lightintensity:new t.bp(e,n.u_lightintensity),u_lightcolor:new t.c2(e,n.u_lightcolor),u_vertical_gradient:new t.bp(e,n.u_vertical_gradient),u_opacity:new t.bp(e,n.u_opacity),u_fill_translate:new t.c3(e,n.u_fill_translate)}),fillExtrusionPattern:(e,n)=>({u_lightpos:new t.c2(e,n.u_lightpos),u_lightpos_globe:new t.c2(e,n.u_lightpos_globe),u_lightintensity:new t.bp(e,n.u_lightintensity),u_lightcolor:new t.c2(e,n.u_lightcolor),u_vertical_gradient:new t.bp(e,n.u_vertical_gradient),u_height_factor:new t.bp(e,n.u_height_factor),u_opacity:new t.bp(e,n.u_opacity),u_fill_translate:new t.c3(e,n.u_fill_translate),u_image:new t.b_(e,n.u_image),u_texsize:new t.c3(e,n.u_texsize),u_pixel_coord_upper:new t.c3(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.c3(e,n.u_pixel_coord_lower),u_scale:new t.c2(e,n.u_scale),u_fade:new t.bp(e,n.u_fade)}),fill:(e,n)=>({u_fill_translate:new t.c3(e,n.u_fill_translate)}),fillPattern:(e,n)=>({u_image:new t.b_(e,n.u_image),u_texsize:new t.c3(e,n.u_texsize),u_pixel_coord_upper:new t.c3(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.c3(e,n.u_pixel_coord_lower),u_scale:new t.c2(e,n.u_scale),u_fade:new t.bp(e,n.u_fade),u_fill_translate:new t.c3(e,n.u_fill_translate)}),fillOutline:(e,n)=>({u_world:new t.c3(e,n.u_world),u_fill_translate:new t.c3(e,n.u_fill_translate)}),fillOutlinePattern:(e,n)=>({u_world:new t.c3(e,n.u_world),u_image:new t.b_(e,n.u_image),u_texsize:new t.c3(e,n.u_texsize),u_pixel_coord_upper:new t.c3(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.c3(e,n.u_pixel_coord_lower),u_scale:new t.c2(e,n.u_scale),u_fade:new t.bp(e,n.u_fade),u_fill_translate:new t.c3(e,n.u_fill_translate)}),circle:(e,n)=>({u_camera_to_center_distance:new t.bp(e,n.u_camera_to_center_distance),u_scale_with_map:new t.b_(e,n.u_scale_with_map),u_pitch_with_map:new t.b_(e,n.u_pitch_with_map),u_extrude_scale:new t.c3(e,n.u_extrude_scale),u_device_pixel_ratio:new t.bp(e,n.u_device_pixel_ratio),u_globe_extrude_scale:new t.bp(e,n.u_globe_extrude_scale),u_translate:new t.c3(e,n.u_translate)}),collisionBox:(e,n)=>({u_pixel_extrude_scale:new t.c3(e,n.u_pixel_extrude_scale)}),collisionCircle:(e,n)=>({u_viewport_size:new t.c3(e,n.u_viewport_size)}),debug:(e,n)=>({u_color:new t.b$(e,n.u_color),u_overlay:new t.b_(e,n.u_overlay),u_overlay_scale:new t.bp(e,n.u_overlay_scale)}),depth:Dr,clippingMask:Dr,heatmap:(e,n)=>({u_extrude_scale:new t.bp(e,n.u_extrude_scale),u_intensity:new t.bp(e,n.u_intensity),u_globe_extrude_scale:new t.bp(e,n.u_globe_extrude_scale)}),heatmapTexture:(e,n)=>({u_matrix:new t.c0(e,n.u_matrix),u_world:new t.c3(e,n.u_world),u_image:new t.b_(e,n.u_image),u_color_ramp:new t.b_(e,n.u_color_ramp),u_opacity:new t.bp(e,n.u_opacity)}),hillshade:(e,n)=>({u_image:new t.b_(e,n.u_image),u_latrange:new t.c3(e,n.u_latrange),u_exaggeration:new t.bp(e,n.u_exaggeration),u_altitudes:new t.c9(e,n.u_altitudes),u_azimuths:new t.c9(e,n.u_azimuths),u_accent:new t.b$(e,n.u_accent),u_method:new t.b_(e,n.u_method),u_shadows:new t.c8(e,n.u_shadows),u_highlights:new t.c8(e,n.u_highlights)}),hillshadePrepare:(e,n)=>({u_matrix:new t.c0(e,n.u_matrix),u_image:new t.b_(e,n.u_image),u_dimension:new t.c3(e,n.u_dimension),u_zoom:new t.bp(e,n.u_zoom),u_unpack:new t.c1(e,n.u_unpack)}),colorRelief:(e,n)=>({u_image:new t.b_(e,n.u_image),u_unpack:new t.c1(e,n.u_unpack),u_dimension:new t.c3(e,n.u_dimension),u_elevation_stops:new t.b_(e,n.u_elevation_stops),u_color_stops:new t.b_(e,n.u_color_stops),u_color_ramp_size:new t.b_(e,n.u_color_ramp_size),u_opacity:new t.bp(e,n.u_opacity)}),line:(e,n)=>({u_translation:new t.c3(e,n.u_translation),u_ratio:new t.bp(e,n.u_ratio),u_device_pixel_ratio:new t.bp(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.c3(e,n.u_units_to_pixels)}),lineGradient:(e,n)=>({u_translation:new t.c3(e,n.u_translation),u_ratio:new t.bp(e,n.u_ratio),u_device_pixel_ratio:new t.bp(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.c3(e,n.u_units_to_pixels),u_image:new t.b_(e,n.u_image),u_image_height:new t.bp(e,n.u_image_height)}),linePattern:(e,n)=>({u_translation:new t.c3(e,n.u_translation),u_texsize:new t.c3(e,n.u_texsize),u_ratio:new t.bp(e,n.u_ratio),u_device_pixel_ratio:new t.bp(e,n.u_device_pixel_ratio),u_image:new t.b_(e,n.u_image),u_units_to_pixels:new t.c3(e,n.u_units_to_pixels),u_scale:new t.c2(e,n.u_scale),u_fade:new t.bp(e,n.u_fade)}),lineSDF:(e,n)=>({u_translation:new t.c3(e,n.u_translation),u_ratio:new t.bp(e,n.u_ratio),u_device_pixel_ratio:new t.bp(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.c3(e,n.u_units_to_pixels),u_image:new t.b_(e,n.u_image),u_mix:new t.bp(e,n.u_mix),u_tileratio:new t.bp(e,n.u_tileratio),u_crossfade_from:new t.bp(e,n.u_crossfade_from),u_crossfade_to:new t.bp(e,n.u_crossfade_to),u_lineatlas_width:new t.bp(e,n.u_lineatlas_width),u_lineatlas_height:new t.bp(e,n.u_lineatlas_height)}),lineGradientSDF:(e,n)=>({u_translation:new t.c3(e,n.u_translation),u_ratio:new t.bp(e,n.u_ratio),u_device_pixel_ratio:new t.bp(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.c3(e,n.u_units_to_pixels),u_image:new t.b_(e,n.u_image),u_image_height:new t.bp(e,n.u_image_height),u_tileratio:new t.bp(e,n.u_tileratio),u_crossfade_from:new t.bp(e,n.u_crossfade_from),u_crossfade_to:new t.bp(e,n.u_crossfade_to),u_image_dash:new t.b_(e,n.u_image_dash),u_mix:new t.bp(e,n.u_mix),u_lineatlas_width:new t.bp(e,n.u_lineatlas_width),u_lineatlas_height:new t.bp(e,n.u_lineatlas_height)}),raster:(e,n)=>({u_tl_parent:new t.c3(e,n.u_tl_parent),u_scale_parent:new t.bp(e,n.u_scale_parent),u_buffer_scale:new t.bp(e,n.u_buffer_scale),u_fade_t:new t.bp(e,n.u_fade_t),u_opacity:new t.bp(e,n.u_opacity),u_image0:new t.b_(e,n.u_image0),u_image1:new t.b_(e,n.u_image1),u_brightness_low:new t.bp(e,n.u_brightness_low),u_brightness_high:new t.bp(e,n.u_brightness_high),u_saturation_factor:new t.bp(e,n.u_saturation_factor),u_contrast_factor:new t.bp(e,n.u_contrast_factor),u_spin_weights:new t.c2(e,n.u_spin_weights),u_coords_top:new t.c1(e,n.u_coords_top),u_coords_bottom:new t.c1(e,n.u_coords_bottom)}),symbolIcon:(e,n)=>({u_is_size_zoom_constant:new t.b_(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.b_(e,n.u_is_size_feature_constant),u_size_t:new t.bp(e,n.u_size_t),u_size:new t.bp(e,n.u_size),u_camera_to_center_distance:new t.bp(e,n.u_camera_to_center_distance),u_pitch:new t.bp(e,n.u_pitch),u_rotate_symbol:new t.b_(e,n.u_rotate_symbol),u_aspect_ratio:new t.bp(e,n.u_aspect_ratio),u_fade_change:new t.bp(e,n.u_fade_change),u_label_plane_matrix:new t.c0(e,n.u_label_plane_matrix),u_coord_matrix:new t.c0(e,n.u_coord_matrix),u_is_text:new t.b_(e,n.u_is_text),u_pitch_with_map:new t.b_(e,n.u_pitch_with_map),u_is_along_line:new t.b_(e,n.u_is_along_line),u_is_variable_anchor:new t.b_(e,n.u_is_variable_anchor),u_texsize:new t.c3(e,n.u_texsize),u_texture:new t.b_(e,n.u_texture),u_translation:new t.c3(e,n.u_translation),u_pitched_scale:new t.bp(e,n.u_pitched_scale)}),symbolSDF:(e,n)=>({u_is_size_zoom_constant:new t.b_(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.b_(e,n.u_is_size_feature_constant),u_size_t:new t.bp(e,n.u_size_t),u_size:new t.bp(e,n.u_size),u_camera_to_center_distance:new t.bp(e,n.u_camera_to_center_distance),u_pitch:new t.bp(e,n.u_pitch),u_rotate_symbol:new t.b_(e,n.u_rotate_symbol),u_aspect_ratio:new t.bp(e,n.u_aspect_ratio),u_fade_change:new t.bp(e,n.u_fade_change),u_label_plane_matrix:new t.c0(e,n.u_label_plane_matrix),u_coord_matrix:new t.c0(e,n.u_coord_matrix),u_is_text:new t.b_(e,n.u_is_text),u_pitch_with_map:new t.b_(e,n.u_pitch_with_map),u_is_along_line:new t.b_(e,n.u_is_along_line),u_is_variable_anchor:new t.b_(e,n.u_is_variable_anchor),u_texsize:new t.c3(e,n.u_texsize),u_texture:new t.b_(e,n.u_texture),u_gamma_scale:new t.bp(e,n.u_gamma_scale),u_device_pixel_ratio:new t.bp(e,n.u_device_pixel_ratio),u_is_halo:new t.b_(e,n.u_is_halo),u_is_plain:new t.b_(e,n.u_is_plain),u_translation:new t.c3(e,n.u_translation),u_pitched_scale:new t.bp(e,n.u_pitched_scale)}),symbolTextAndIcon:(e,n)=>({u_is_size_zoom_constant:new t.b_(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.b_(e,n.u_is_size_feature_constant),u_size_t:new t.bp(e,n.u_size_t),u_size:new t.bp(e,n.u_size),u_camera_to_center_distance:new t.bp(e,n.u_camera_to_center_distance),u_pitch:new t.bp(e,n.u_pitch),u_rotate_symbol:new t.b_(e,n.u_rotate_symbol),u_aspect_ratio:new t.bp(e,n.u_aspect_ratio),u_fade_change:new t.bp(e,n.u_fade_change),u_label_plane_matrix:new t.c0(e,n.u_label_plane_matrix),u_coord_matrix:new t.c0(e,n.u_coord_matrix),u_is_text:new t.b_(e,n.u_is_text),u_pitch_with_map:new t.b_(e,n.u_pitch_with_map),u_is_along_line:new t.b_(e,n.u_is_along_line),u_is_variable_anchor:new t.b_(e,n.u_is_variable_anchor),u_texsize:new t.c3(e,n.u_texsize),u_texsize_icon:new t.c3(e,n.u_texsize_icon),u_texture:new t.b_(e,n.u_texture),u_texture_icon:new t.b_(e,n.u_texture_icon),u_gamma_scale:new t.bp(e,n.u_gamma_scale),u_device_pixel_ratio:new t.bp(e,n.u_device_pixel_ratio),u_is_halo:new t.b_(e,n.u_is_halo),u_translation:new t.c3(e,n.u_translation),u_pitched_scale:new t.bp(e,n.u_pitched_scale)}),background:(e,n)=>({u_opacity:new t.bp(e,n.u_opacity),u_color:new t.b$(e,n.u_color)}),backgroundPattern:(e,n)=>({u_opacity:new t.bp(e,n.u_opacity),u_image:new t.b_(e,n.u_image),u_pattern_tl_a:new t.c3(e,n.u_pattern_tl_a),u_pattern_br_a:new t.c3(e,n.u_pattern_br_a),u_pattern_tl_b:new t.c3(e,n.u_pattern_tl_b),u_pattern_br_b:new t.c3(e,n.u_pattern_br_b),u_texsize:new t.c3(e,n.u_texsize),u_mix:new t.bp(e,n.u_mix),u_pattern_size_a:new t.c3(e,n.u_pattern_size_a),u_pattern_size_b:new t.c3(e,n.u_pattern_size_b),u_scale_a:new t.bp(e,n.u_scale_a),u_scale_b:new t.bp(e,n.u_scale_b),u_pixel_coord_upper:new t.c3(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.c3(e,n.u_pixel_coord_lower),u_tile_units_to_pixels:new t.bp(e,n.u_tile_units_to_pixels)}),terrain:(e,n)=>({u_texture:new t.b_(e,n.u_texture),u_ele_delta:new t.bp(e,n.u_ele_delta),u_fog_matrix:new t.c0(e,n.u_fog_matrix),u_fog_color:new t.b$(e,n.u_fog_color),u_fog_ground_blend:new t.bp(e,n.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.bp(e,n.u_fog_ground_blend_opacity),u_horizon_color:new t.b$(e,n.u_horizon_color),u_horizon_fog_blend:new t.bp(e,n.u_horizon_fog_blend),u_is_globe_mode:new t.bp(e,n.u_is_globe_mode)}),terrainDepth:(e,n)=>({u_ele_delta:new t.bp(e,n.u_ele_delta)}),terrainCoords:(e,n)=>({u_texture:new t.b_(e,n.u_texture),u_terrain_coords_id:new t.bp(e,n.u_terrain_coords_id),u_ele_delta:new t.bp(e,n.u_ele_delta)}),projectionErrorMeasurement:(e,n)=>({u_input:new t.bp(e,n.u_input),u_output_expected:new t.bp(e,n.u_output_expected)}),atmosphere:(e,n)=>({u_sun_pos:new t.c2(e,n.u_sun_pos),u_atmosphere_blend:new t.bp(e,n.u_atmosphere_blend),u_globe_position:new t.c2(e,n.u_globe_position),u_globe_radius:new t.bp(e,n.u_globe_radius),u_inv_proj_matrix:new t.c0(e,n.u_inv_proj_matrix)}),sky:(e,n)=>({u_sky_color:new t.b$(e,n.u_sky_color),u_horizon_color:new t.b$(e,n.u_horizon_color),u_horizon:new t.c3(e,n.u_horizon),u_horizon_normal:new t.c3(e,n.u_horizon_normal),u_sky_horizon_blend:new t.bp(e,n.u_sky_horizon_blend),u_sky_blend:new t.bp(e,n.u_sky_blend)})};class kr{constructor(e,t,n){this.context=e;let r=e.gl;this.buffer=r.createBuffer(),this.dynamicDraw=!!n,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||t.freeBufferAfterUpload()}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw Error(`Attempted to update data while not in dynamic mode.`);this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Ar={Int8:`BYTE`,Uint8:`UNSIGNED_BYTE`,Int16:`SHORT`,Uint16:`UNSIGNED_SHORT`,Int32:`INT`,Uint32:`UNSIGNED_INT`,Float32:`FLOAT`};class jr{constructor(e,t,n,r){this.length=t.length,this.attributes=n,this.itemSize=t.bytesPerElement,this.dynamicDraw=r,this.context=e;let i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||t.freeBufferAfterUpload()}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let n of this.attributes){let r=t.attributes[n.name];r!==void 0&&e.enableVertexAttribArray(r)}}setVertexAttribPointers(e,t,n){for(let r of this.attributes){let i=t.attributes[r.name];i!==void 0&&e.vertexAttribPointer(i,r.components,e[Ar[r.type]],!1,this.itemSize,r.offset+this.itemSize*(n||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class Mr{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Nr extends Mr{getDefault(){return t.bo.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class Pr extends Mr{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}}class Fr extends Mr{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}}class Ir extends Mr{getDefault(){return[!0,!0,!0,!0]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class Lr extends Mr{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}}class Rr extends Mr{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}}class zr extends Mr{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){let t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}}class Br extends Mr{getDefault(){let e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}}class Vr extends Mr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}}class Hr extends Mr{getDefault(){return[0,1]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}}class Ur extends Mr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}}class Wr extends Mr{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}}class Gr extends Mr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}}class Kr extends Mr{getDefault(){let e=this.gl;return[e.ONE,e.ZERO]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)}}class qr extends Mr{getDefault(){return t.bo.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class Jr extends Mr{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)}}class Yr extends Mr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}}class Xr extends Mr{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}}class Zr extends Mr{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}}class Qr extends Mr{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}}class $r extends Mr{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}}class ei extends Mr{getDefault(){let e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class ti extends Mr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}}class ni extends Mr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class ri extends Mr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}}class ii extends Mr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class ai extends Mr{getDefault(){return null}set(e){let t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class oi extends Mr{getDefault(){return null}set(e){var t;if(e===this.current&&!this.dirty)return;let n=this.gl;vn(n)?n.bindVertexArray(e):(t=n.getExtension(`OES_vertex_array_object`))==null||t.bindVertexArrayOES(e),this.current=e,this.dirty=!1}}class si extends Mr{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}}class ci extends Mr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}}class li extends Mr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}}class ui extends Mr{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}}class di extends ui{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class fi extends ui{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class pi extends ui{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}let mi=`Framebuffer is not complete`;class hi{constructor(e,t,n,r,i){this.context=e,this.width=t,this.height=n;let a=e.gl,o=this.framebuffer=a.createFramebuffer();if(this.colorAttachment=new di(e,o),r)this.depthAttachment=i?new pi(e,o):new fi(e,o);else if(i)throw Error(`Stencil cannot be set without depth`);if(a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE)throw Error(mi)}destroy(){let e=this.context.gl,t=this.colorAttachment.get();if(t&&e.deleteTexture(t),this.depthAttachment){let t=this.depthAttachment.get();t&&e.deleteRenderbuffer(t)}e.deleteFramebuffer(this.framebuffer)}}class gi{constructor(e){if(this.gl=e,this.clearColor=new Nr(this),this.clearDepth=new Pr(this),this.clearStencil=new Fr(this),this.colorMask=new Ir(this),this.depthMask=new Lr(this),this.stencilMask=new Rr(this),this.stencilFunc=new zr(this),this.stencilOp=new Br(this),this.stencilTest=new Vr(this),this.depthRange=new Hr(this),this.depthTest=new Ur(this),this.depthFunc=new Wr(this),this.blend=new Gr(this),this.blendFunc=new Kr(this),this.blendColor=new qr(this),this.blendEquation=new Jr(this),this.cullFace=new Yr(this),this.cullFaceSide=new Xr(this),this.frontFace=new Zr(this),this.program=new Qr(this),this.activeTexture=new $r(this),this.viewport=new ei(this),this.bindFramebuffer=new ti(this),this.bindRenderbuffer=new ni(this),this.bindTexture=new ri(this),this.bindVertexBuffer=new ii(this),this.bindElementBuffer=new ai(this),this.bindVertexArray=new oi(this),this.pixelStoreUnpack=new si(this),this.pixelStoreUnpackPremultiplyAlpha=new ci(this),this.pixelStoreUnpackFlipY=new li(this),this.extTextureFilterAnisotropic=e.getExtension(`EXT_texture_filter_anisotropic`),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),vn(e)){this.HALF_FLOAT=e.HALF_FLOAT;let t=e.getExtension(`EXT_color_buffer_half_float`);this.RGBA16F=e.RGBA16F??t?.RGBA16F_EXT,this.RGB16F=e.RGB16F??t?.RGB16F_EXT,e.getExtension(`EXT_color_buffer_float`)}else{e.getExtension(`EXT_color_buffer_half_float`),e.getExtension(`OES_texture_half_float_linear`);let t=e.getExtension(`OES_texture_half_float`);this.HALF_FLOAT=t?.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,t){return new kr(this,e,t)}createVertexBuffer(e,t,n){return new jr(this,e,t,n)}createRenderbuffer(e,t,n){let r=this.gl,i=r.createRenderbuffer();return this.bindRenderbuffer.set(i),r.renderbufferStorage(r.RENDERBUFFER,e,t,n),this.bindRenderbuffer.set(null),i}createFramebuffer(e,t,n,r){return new hi(this,e,t,n,r)}clear({color:e,depth:t,stencil:n}){let r=this.gl,i=0;e&&(i|=r.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),t!==void 0&&(i|=r.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(t),this.depthMask.set(!0)),n!==void 0&&(i|=r.STENCIL_BUFFER_BIT,this.clearStencil.set(n),this.stencilMask.set(255)),r.clear(i)}setCullFace(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(e){t.bQ(e.blendFunction,fn.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)}createVertexArray(){return vn(this.gl)?this.gl.createVertexArray():this.gl.getExtension(`OES_vertex_array_object`)?.createVertexArrayOES()}deleteVertexArray(e){var t;vn(this.gl)?this.gl.deleteVertexArray(e):(t=this.gl.getExtension(`OES_vertex_array_object`))==null||t.deleteVertexArrayOES(e)}unbindVAO(){this.bindVertexArray.set(null)}}let _i;function U(e,n,r,i,a){let o=e.context,s=e.transform,c=o.gl,l=e.useProgram(`collisionBox`),u=[],d=0,f=0;for(let t of i){let i=n.getTile(t).getBucket(r);if(!i)continue;let p=a?i.textCollisionBox:i.iconCollisionBox,m=i.collisionCircleArray;m.length>0&&(u.push({circleArray:m,circleOffset:f,coord:t}),d+=m.length/4,f=d),p&&l.draw(o,c.LINES,hn.disabled,_n.disabled,e.colorModeForRenderPass(),mn.disabled,sr(e.transform),e.style.map.terrain?.getTerrainData(t),s.getProjectionData({overscaledTileID:t,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),r.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,null,e.transform.zoom,null,null,p.collisionVertexBuffer)}if(!a||!u.length)return;let p=e.useProgram(`collisionCircle`),m=new t.ca;m.resize(4*d),m._trim();let h=0;for(let e of u)for(let t=0;t<e.circleArray.length/4;t++){let n=4*t,r=e.circleArray[n+0],i=e.circleArray[n+1],a=e.circleArray[n+2],o=e.circleArray[n+3];m.emplace(h++,r,i,a,o,0),m.emplace(h++,r,i,a,o,1),m.emplace(h++,r,i,a,o,2),m.emplace(h++,r,i,a,o,3)}(!_i||_i.length<2*d)&&(_i=function(e){let n=2*e,r=new t.cc;r.resize(n),r._trim();for(let e=0;e<n;e++){let t=6*e;r.uint16[t+0]=4*e+0,r.uint16[t+1]=4*e+1,r.uint16[t+2]=4*e+2,r.uint16[t+3]=4*e+2,r.uint16[t+4]=4*e+3,r.uint16[t+5]=4*e+0}return r}(d));let g=o.createIndexBuffer(_i,!0),_=o.createVertexBuffer(m,t.cb.members,!0);for(let n of u){let i=cr(e.transform);p.draw(o,c.TRIANGLES,hn.disabled,_n.disabled,e.colorModeForRenderPass(),mn.disabled,i,e.style.map.terrain?.getTerrainData(n.coord),null,r.id,_,g,t.aV.simpleSegment(0,2*n.circleOffset,n.circleArray.length,n.circleArray.length/2),null,e.transform.zoom,null,null,null)}_.destroy(),g.destroy()}let vi=t.ap(new Float32Array(16));function yi(e,n,r,i,a,o){let{horizontalAlign:s,verticalAlign:c}=t.aP(e);return new t.P((-(s-.5)*n/a+i[0])*o,(-(c-.5)*r/a+i[1])*o)}function bi(e,n,r,i,a,o){let s=n.tileAnchorPoint.add(new t.P(n.translation[0],n.translation[1]));if(n.pitchWithMap){let e=i.mult(o);r||(e=e.rotate(-a));let t=s.add(e);return F(t.x,t.y,n.pitchedLabelPlaneMatrix,n.getElevation).point}if(r){let t=gt(n.tileAnchorPoint.x+1,n.tileAnchorPoint.y,n).point.sub(e),r=Math.atan(t.y/t.x)+(t.x<0?Math.PI:0);return e.add(i.rotate(r))}return e.add(i)}function xi(e,n,r,i,a,o,s,c,l,u,d,f){let p=e.text.placedSymbolArray,m=e.text.dynamicLayoutVertexArray,h=e.icon.dynamicLayoutVertexArray,g={};m.clear();for(let h=0;h<p.length;h++){let _=p.get(h),v=_.hidden||!_.crossTileID||e.allowVerticalPlacement&&!_.placedOrientation?null:i[_.crossTileID];if(v){let i=new t.P(_.anchorX,_.anchorY),p={getElevation:f,width:a.width,height:a.height,pitchedLabelPlaneMatrix:o,pitchWithMap:r,transform:a,tileAnchorPoint:i,translation:u,unwrappedTileID:d},h=r?vt(i.x,i.y,p):gt(i.x,i.y,p),y=ct(a.cameraToCenterDistance,h.signedDistanceFromCamera),b=t.ay(e.textSizeData,c,_)*y/t.aJ;r&&(b*=e.tilePixelRatio/s);let{width:x,height:S,anchor:C,textOffset:w,textBoxScale:T}=v,ee=yi(C,x,S,w,T,b),E=a.getPitchedTextCorrection(i.x+u[0],i.y+u[1],d),D=bi(h.point,p,n,ee,-a.bearingInRadians,E),O=e.allowVerticalPlacement&&_.placedOrientation===t.ax.vertical?Math.PI/2:0;for(let e=0;e<_.numGlyphs;e++)t.aD(m,D,O);l&&_.associatedIconIndex>=0&&(g[_.associatedIconIndex]={shiftedAnchor:D,angle:O})}else Ct(_.numGlyphs,m)}if(l){h.clear();let n=e.icon.placedSymbolArray;for(let e=0;e<n.length;e++){let r=n.get(e);if(r.hidden)Ct(r.numGlyphs,h);else{let n=g[e];if(n)for(let e=0;e<r.numGlyphs;e++)t.aD(h,n.shiftedAnchor,n.angle);else Ct(r.numGlyphs,h)}}e.icon.dynamicLayoutVertexBuffer.updateData(h)}e.text.dynamicLayoutVertexBuffer.updateData(m)}function Si(e,t,n){return n.iconsInText&&t?`symbolTextAndIcon`:e?`symbolSDF`:`symbolIcon`}function Ci(e,n,r,i,a,o,s,c,l,u,d,f,p){let m=e.context,h=m.gl,g=e.transform,_=c===`map`,v=l===`map`,y=c!==`viewport`&&r.layout.get(`symbol-placement`)!==`point`,b=_&&!v&&!y,x=!r.layout.get(`symbol-sort-key`).isConstant(),S=!1,C=e.getDepthModeForSublayer(0,hn.ReadOnly),w=r._unevaluatedLayout.hasValue(`text-variable-anchor`)||r._unevaluatedLayout.hasValue(`text-variable-anchor-offset`),T=[],ee=g.getCircleRadiusCorrection();for(let c of i){let i=n.getTile(c),l=i.getBucket(r);if(!l)continue;let d=a?l.text:l.icon;if(!d?.segments.get().length||!d.hasVisibleVertices)continue;let f=d.programConfigurations.get(r.id),m=a||l.sdfIcons,C=a?l.textSizeData:l.iconSizeData,E=v||g.pitch!==0,D=e.useProgram(Si(m,a,l),f),O=t.aw(C,g.zoom),k=e.style.map.terrain?.getTerrainData(c),te,ne,A,re,ie=[0,0],ae=null;if(a)ne=i.glyphAtlasTexture,A=h.LINEAR,te=i.glyphAtlasTexture.size,l.iconsInText&&(ie=i.imageAtlasTexture.size,ae=i.imageAtlasTexture,re=E||e.options.rotating||e.options.zooming||C.kind===`composite`||C.kind===`camera`?h.LINEAR:h.NEAREST);else{let t=r.layout.get(`icon-size`).constantOr(0)!==1||l.iconsNeedLinear;ne=i.imageAtlasTexture,A=m||e.options.rotating||e.options.zooming||t||E?h.LINEAR:h.NEAREST,te=i.imageAtlasTexture.size}let oe=t.aK(i,1,e.transform.zoom),se=at(_,e.transform,oe),ce=ot(v,_,e.transform,oe),le=t.aL(g,i,o,s),ue=g.getProjectionData({overscaledTileID:c,applyGlobeMatrix:!p,applyTerrainMatrix:!0}),de=w&&l.hasTextData(),fe=r.layout.get(`icon-text-fit`)!==`none`&&de&&l.hasIconData();if(y){let n=t.O();P(n,se);let i=e.style.map.terrain?(t,n)=>e.style.map.terrain.getElevation(c,t,n):null;ut(l,e,a,se,n,v,u,r.layout.get(`text-rotation-alignment`)===`map`,c.toUnwrapped(),g.width,g.height,le,i)}let pe=a&&w||fe,me=y||pe?vi:v?se:e.transform.clipSpaceToPixelsMatrix,he=m&&r.paint.get(a?`text-halo-width`:`icon-halo-width`).constantOr(1)!==0,ge;ge=m?l.iconsInText?wr(C.kind,O,b,v,y,pe,e,me,ce,le,te,ie,ee):Cr(C.kind,O,b,v,y,pe,e,me,ce,le,a,te,he,ee):Sr(C.kind,O,b,v,y,pe,e,me,ce,le,a,te,ee);let _e={program:D,buffers:d,uniformValues:ge,projectionData:ue,atlasTexture:ne,atlasTextureIcon:ae,atlasInterpolation:A,atlasInterpolationIcon:re,isSDF:m,hasHalo:he};if(x&&l.canOverlap){S=!0;let e=d.segments.get();for(let n of e)T.push({segments:new t.aV([n]),sortKey:n.sortKey,state:_e,terrainData:k})}else T.push({segments:d.segments,sortKey:0,state:_e,terrainData:k})}S&&T.sort(((e,t)=>e.sortKey-t.sortKey));let E=r.paint.get(a?`text-halo-width`:`icon-halo-width`).constantOr(null)??1/0,D=r.layout.get(`text-letter-spacing`).constantOr(0)*t.aJ<0||E>1;for(let t of T){let n=t.state;m.activeTexture.set(h.TEXTURE0),n.atlasTexture.bind(n.atlasInterpolation,h.CLAMP_TO_EDGE),n.atlasTextureIcon&&(m.activeTexture.set(h.TEXTURE1),n.atlasTextureIcon&&n.atlasTextureIcon.bind(n.atlasInterpolationIcon,h.CLAMP_TO_EDGE));let i=n.isSDF&&n.hasHalo;if(i){let i=n.uniformValues;i.u_is_halo=1,D&&(i.u_is_plain=0,wi(n.buffers,t.segments,r,e,n.program,C,d,f,i,n.projectionData,t.terrainData),i.u_is_halo=0,i.u_is_plain=1)}wi(n.buffers,t.segments,r,e,n.program,C,d,f,n.uniformValues,n.projectionData,t.terrainData),i&&!D&&(n.uniformValues.u_is_halo=0)}}function wi(e,t,n,r,i,a,o,s,c,l,u){let d=r.context;i.draw(d,d.gl.TRIANGLES,a,o,s,mn.backCCW,c,u,l,n.id,e.layoutVertexBuffer,e.indexBuffer,t,n.paint,r.transform.zoom,e.programConfigurations.get(n.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function Ti(e,n,r,i,a){let o=e.context,s=o.gl,c=_n.disabled,l=new fn([s.ONE,s.ONE],t.bo.transparent,[!0,!0,!0,!0]),u=n.getBucket(r);if(!u)return;let d=i.key,f=r.heatmapFbos.get(d);f||(f=Di(o,n.tileSize,n.tileSize),r.heatmapFbos.set(d,f)),o.bindFramebuffer.set(f.framebuffer),o.viewport.set([0,0,n.tileSize,n.tileSize]),o.clear({color:t.bo.transparent});let p=u.programConfigurations.get(r.id),m=e.useProgram(`heatmap`,p,!a),h=e.transform.getProjectionData({overscaledTileID:n.tileID,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),g=e.style.map.terrain.getTerrainData(i);m.draw(o,s.TRIANGLES,hn.disabled,c,l,mn.disabled,ur(n,e.transform.zoom,r.paint.get(`heatmap-intensity`),1),g,h,r.id,u.layoutVertexBuffer,u.indexBuffer,u.segments,r.paint,e.transform.zoom,p)}function Ei(e,t,n,r,i){let a=e.context,o=a.gl,s=e.transform;a.setColorMode(e.colorModeForRenderPass());let c=Oi(a,t),l=n.key,u=t.heatmapFbos.get(l);if(!u)return;a.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,u.colorAttachment.get()),a.activeTexture.set(o.TEXTURE1),c.bind(o.LINEAR,o.CLAMP_TO_EDGE);let d=s.getProjectionData({overscaledTileID:n,applyTerrainMatrix:i,applyGlobeMatrix:!r});e.useProgram(`heatmapTexture`).draw(a,o.TRIANGLES,hn.disabled,_n.disabled,e.colorModeForRenderPass(),mn.disabled,dr(e,t,0,1),null,d,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,s.zoom),u.destroy(),t.heatmapFbos.delete(l)}function Di(e,t,n){let r=e.gl,i=r.createTexture();r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR);let a=e.HALF_FLOAT??r.UNSIGNED_BYTE,o=e.RGBA16F??r.RGBA;r.texImage2D(r.TEXTURE_2D,0,o,t,n,0,r.RGBA,a,null);let s=e.createFramebuffer(t,n,!1,!1);return s.colorAttachment.set(i),s}function Oi(e,n){return n.colorRampTexture||=new t.T(e,n.colorRamp,e.gl.RGBA),n.colorRampTexture}function ki(e,n,r,i,a,o,s,c){let l=256;if(a.stepInterpolant){let i=n.getSource().maxzoom,a=s.canonical.z===i?Math.ceil(1<<e.transform.maxZoom-s.canonical.z):1;l=t.al(t.ce(o.maxLineLength/t.a6*1024*a),256,r.maxTextureSize)}return c.gradient=t.cf({expression:a.gradientExpression(),evaluationKey:`lineProgress`,resolution:l,image:c.gradient||void 0,clips:o.lineClipsArray}),c.texture?c.texture.update(c.gradient):c.texture=new t.T(r,c.gradient,i.RGBA),c.version=a.gradientVersion,c.texture}function Ai(e,t,n,r,i){e.activeTexture.set(t.TEXTURE0),n.imageAtlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE),r.updatePaintBuffers(i)}function ji(e,t,n,r,i,a){(i||e.lineAtlas.dirty)&&(t.activeTexture.set(n.TEXTURE0),e.lineAtlas.bind(t)),r.updatePaintBuffers(a)}function Mi(e,t,n,r,i,a,o){let s=a.gradients[i.id],c=s.texture;i.gradientVersion!==s.version&&(c=ki(e,t,n,r,i,a,o,s)),n.activeTexture.set(r.TEXTURE0),c.bind(i.stepInterpolant?r.NEAREST:r.LINEAR,r.CLAMP_TO_EDGE)}function Ni(e,t,n,r,i,a,o,s,c){let l=a.gradients[i.id],u=l.texture;i.gradientVersion!==l.version&&(u=ki(e,t,n,r,i,a,o,l)),n.activeTexture.set(r.TEXTURE0),u.bind(i.stepInterpolant?r.NEAREST:r.LINEAR,r.CLAMP_TO_EDGE),n.activeTexture.set(r.TEXTURE1),e.lineAtlas.bind(n),s.updatePaintBuffers(c)}function Pi(e,t,n,r,i){if(!n||!r?.imageAtlas)return;let a=r.imageAtlas.patternPositions,o=a[n.to.toString()],s=a[n.from.toString()];if(!o&&s&&(o=s),!s&&o&&(s=o),!o||!s){let e=i.getPaintProperty(t);o=a[e],s=a[e]}o&&s&&e.setConstantPatternPositions(o,s)}function Fi(e,n,r,i,a,o,s,c){let l=e.context.gl,u=`fill-pattern`,d=r.paint.get(u),f=d?.constantOr(1),p=r.getCrossfadeParameters(),m,h,g,_,v,y=e.transform,b=r.paint.get(`fill-translate`),x=r.paint.get(`fill-translate-anchor`);s?(h=f&&!r.getPaintProperty(`fill-outline-color`)?`fillOutlinePattern`:`fillOutline`,m=l.LINES):(h=f?`fillPattern`:`fill`,m=l.TRIANGLES);let S=d.constantOr(null);for(let d of i){let i=n.getTile(d);if(f&&!i.patternsLoaded())continue;let C=i.getBucket(r);if(!C)continue;let w=C.programConfigurations.get(r.id),T=e.useProgram(h,w),ee=e.style.map.terrain?.getTerrainData(d);f&&(e.context.activeTexture.set(l.TEXTURE0),i.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),w.updatePaintBuffers(p)),Pi(w,u,S,i,r);let E=y.getProjectionData({overscaledTileID:d,applyGlobeMatrix:!c,applyTerrainMatrix:!0}),D=t.aL(y,i,b,x);if(s){_=C.indexBuffer2,v=C.segments2;let t=[l.drawingBufferWidth,l.drawingBufferHeight];g=h===`fillOutlinePattern`&&f?ar(e,p,i,t,D):ir(t,D)}else _=C.indexBuffer,v=C.segments,g=f?rr(e,p,i,D):{u_fill_translate:D};let O=e.stencilModeForClipping(d);T.draw(e.context,m,a,O,o,mn.backCCW,g,ee,E,r.id,C.layoutVertexBuffer,_,v,r.paint,e.transform.zoom,w)}}function Ii(e,n,r,i,a,o,s,c){let l=e.context,u=l.gl,d=`fill-extrusion-pattern`,f=r.paint.get(d),p=f.constantOr(1),m=r.getCrossfadeParameters(),h=r.paint.get(`fill-extrusion-opacity`),g=f.constantOr(null),_=e.transform;for(let f of i){let i=n.getTile(f),v=i.getBucket(r);if(!v)continue;let y=e.style.map.terrain?.getTerrainData(f),b=v.programConfigurations.get(r.id),x=e.useProgram(p?`fillExtrusionPattern`:`fillExtrusion`,b);p&&(e.context.activeTexture.set(u.TEXTURE0),i.imageAtlasTexture.bind(u.LINEAR,u.CLAMP_TO_EDGE),b.updatePaintBuffers(m));let S=_.getProjectionData({overscaledTileID:f,applyGlobeMatrix:!c,applyTerrainMatrix:!0});Pi(b,d,g,i,r);let C=t.aL(_,i,r.paint.get(`fill-extrusion-translate`),r.paint.get(`fill-extrusion-translate-anchor`)),w=r.paint.get(`fill-extrusion-vertical-gradient`),T=p?nr(e,w,h,C,f,m,i):tr(e,w,h,C);x.draw(l,l.gl.TRIANGLES,a,o,s,mn.backCCW,T,y,S,r.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,r.paint,e.transform.zoom,b,e.style.map.terrain&&v.centroidVertexBuffer)}}function Li(e,t,n,r,i,a,o,s,c){let l=e.style.projection,u=e.context,d=e.transform,f=u.gl,p=[`#define NUM_ILLUMINATION_SOURCES ${n.paint.get(`hillshade-highlight-color`).values.length}`],m=e.useProgram(`hillshade`,null,!1,p),h=!e.options.moving;for(let p of r){let r=t.getTile(p),g=r.fbo;if(!g)continue;let _=l.getMeshFromTileID(u,p.canonical,s,!0,`raster`),v=e.style.map.terrain?.getTerrainData(p);u.activeTexture.set(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,g.colorAttachment.get());let y=d.getProjectionData({overscaledTileID:p,aligned:h,applyGlobeMatrix:!c,applyTerrainMatrix:!0});m.draw(u,f.TRIANGLES,a,i[p.overscaledZ],o,mn.backCCW,fr(e,r,n),v,y,n.id,_.vertexBuffer,_.indexBuffer,_.segments)}}let Ri=0;function zi(e,n,r,i,a,o,s,c,l){let u=e.style.projection,d=e.context,f=e.transform,p=d.gl,m=e.useProgram(`colorRelief`),h=!e.options.moving,g=r.paint.get(`resampling`)===`nearest`?p.NEAREST:p.LINEAR,_=!0,v=0;for(let y of i){let i=n.getTile(y),b=i.dem;if(_){Ri||=p.getParameter(p.MAX_TEXTURE_SIZE);let e=Ri,{elevationTexture:t,colorTexture:n}=r.getColorRampTextures(d,e,b.getUnpackVector());d.activeTexture.set(p.TEXTURE1),t.bind(p.NEAREST,p.CLAMP_TO_EDGE),d.activeTexture.set(p.TEXTURE4),n.bind(p.LINEAR,p.CLAMP_TO_EDGE),_=!1,v=t.size[0]}if(!b?.data)continue;let x=b.stride,S=b.getPixels();if(d.activeTexture.set(p.TEXTURE0),d.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture||=e.getTileTexture(x),i.demTexture){let e=i.demTexture;e.update(S,{premultiply:!1}),e.bind(g,p.CLAMP_TO_EDGE)}else i.demTexture=new t.T(d,S,p.RGBA,{premultiply:!1}),i.demTexture.bind(g,p.CLAMP_TO_EDGE);let C=u.getMeshFromTileID(d,y.canonical,c,!0,`raster`),w=e.style.map.terrain?.getTerrainData(y),T=f.getProjectionData({overscaledTileID:y,aligned:h,applyGlobeMatrix:!l,applyTerrainMatrix:!0});m.draw(d,p.TRIANGLES,o,a[y.overscaledZ],s,mn.backCCW,hr(r,i.dem,v),w,T,r.id,C.vertexBuffer,C.indexBuffer,C.segments)}}let Bi=[new t.P(0,0),new t.P(t.a6,0),new t.P(t.a6,t.a6),new t.P(0,t.a6)];function Vi(e,t,n,r,i,a,o,s,c=!1,l=!1){let u=r[r.length-1].overscaledZ,d=e.context,f=d.gl,p=e.useProgram(`raster`),m=e.transform,h=e.style.projection,g=e.colorModeForRenderPass(),_=!e.options.moving,v=n.paint.get(`raster-opacity`),y=n.paint.get(`resampling`)===`nearest`||n.paint.get(`raster-resampling`)===`nearest`?f.NEAREST:f.LINEAR,b=n.paint.get(`raster-fade-duration`),x=!!e.style.map.terrain;for(let S of r){let r=e.getDepthModeForSublayer(S.overscaledZ-u,v===1?hn.ReadWrite:hn.ReadOnly,f.LESS),C=t.getTile(S);d.activeTexture.set(f.TEXTURE0),C.texture.bind(y,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),d.activeTexture.set(f.TEXTURE1);let{parentTile:w,parentScaleBy:T,parentTopLeft:ee,fadeValues:E}=Hi(C,t,b,x);C.fadeOpacity=E.tileOpacity,w?(w.fadeOpacity=E.parentTileOpacity,w.texture.bind(y,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST)):C.texture.bind(y,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),C.texture.useMipmap&&d.extTextureFilterAnisotropic&&e.transform.pitch>e.options.anisotropicFilterPitch&&f.texParameterf(f.TEXTURE_2D,d.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,d.extTextureFilterAnisotropicMax);let D=e.style.map.terrain?.getTerrainData(S),O=m.getProjectionData({overscaledTileID:S,aligned:_,applyGlobeMatrix:!l,applyTerrainMatrix:!0}),k=br(ee,T,E.fadeMix,n,s),te=h.getMeshFromTileID(d,S.canonical,a,o,`raster`);p.draw(d,f.TRIANGLES,r,i?i[S.overscaledZ]:_n.disabled,g,c?mn.frontCCW:mn.backCCW,k,D,O,n.id,te.vertexBuffer,te.indexBuffer,te.segments)}}function Hi(e,n,r,i){let a={parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:{tileOpacity:1,parentTileOpacity:1,fadeMix:{opacity:1,mix:0}}};if(r===0||i)return a;if(e.fadingParentID){let i=n.getLoadedTile(e.fadingParentID);if(!i)return a;let o=2**(i.tileID.overscaledZ-e.tileID.overscaledZ);return{parentTile:i,parentScaleBy:o,parentTopLeft:[e.tileID.canonical.x*o%1,e.tileID.canonical.y*o%1],fadeValues:function(e,n,r){let i=l(),a=(i-n.timeAdded)/r,o=e.fadingDirection===Ne.Incoming,s=t.al((i-e.timeAdded)/r,0,1),c=t.al(1-a,0,1),u=o?s:c;return{tileOpacity:u,parentTileOpacity:o?c:s,fadeMix:{opacity:1,mix:1-u}}}(e,i,r)}}return e.selfFading?{parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:function(e,n){let r=(l()-e.timeAdded)/n,i=t.al(r,0,1);return{tileOpacity:i,fadeMix:{opacity:i,mix:0}}}(e,r)}:a}let Ui=new t.bo(1,0,0,1),Wi=new t.bo(0,1,0,1),Gi=new t.bo(0,0,1,1),Ki=new t.bo(1,0,1,1),qi=new t.bo(0,1,1,1);function Ji(e,t,n,r){Xi(e,0,t+n/2,e.transform.width,n,r)}function Yi(e,t,n,r){Xi(e,t-n/2,0,n,e.transform.height,r)}function Xi(e,t,n,r,i,a){let o=e.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,n*e.pixelRatio,r*e.pixelRatio,i*e.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function Zi(e,n,r){let i=e.context,a=i.gl,o=e.useProgram(`debug`),s=hn.disabled,c=_n.disabled,l=e.colorModeForRenderPass(),u=`$debug`,d=e.style.map.terrain?.getTerrainData(r);i.activeTexture.set(a.TEXTURE0);let f=n.getTileByID(r.key).latestRawTileData,p=Math.floor((f?.byteLength||0)/1024),m=n.getTile(r).tileSize,h=512/Math.min(m,512)*(r.overscaledZ/e.transform.zoom)*.5,g=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(g+=` => ${r.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let n=e.debugOverlayCanvas,r=e.context.gl,i=e.debugOverlayCanvas.getContext(`2d`);i.clearRect(0,0,n.width,n.height),i.shadowColor=`white`,i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle=`white`,i.textBaseline=`top`,i.font=`bold 36px Open Sans, sans-serif`,i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(n),e.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(e,`${g} ${p}kB`);let _=e.transform.getProjectionData({overscaledTileID:r,applyGlobeMatrix:!0,applyTerrainMatrix:!0});o.draw(i,a.TRIANGLES,s,c,fn.alphaBlended,mn.disabled,lr(t.bo.transparent,h),null,_,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),o.draw(i,a.LINE_STRIP,s,c,l,mn.disabled,lr(t.bo.red),d,_,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}function Qi(e,t,n,r){let{isRenderingGlobe:i}=r,a=e.context,o=a.gl,s=e.transform,c=e.colorModeForRenderPass(),l=e.getDepthModeFor3D(),u=e.useProgram(`terrain`);a.bindFramebuffer.set(null),a.viewport.set([0,0,e.width,e.height]);for(let r of n){let n=t.getTerrainMesh(r.tileID),d=e.renderToTexture.getTexture(r),f=t.getTerrainData(r.tileID);a.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,d.texture);let p=t.getMeshFrameDelta(s.zoom),m=s.calculateFogMatrix(r.tileID.toUnwrapped()),h=Xn(p,m,e.style.sky,s.pitch,i),g=s.getProjectionData({overscaledTileID:r.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});u.draw(a,o.TRIANGLES,l,_n.disabled,c,mn.backCCW,h,f,g,`terrain`,n.vertexBuffer,n.indexBuffer,n.segments)}}function $i(e,n){if(!n.mesh){let r=new t.aU;r.emplaceBack(-1,-1),r.emplaceBack(1,-1),r.emplaceBack(1,1),r.emplaceBack(-1,1);let i=new t.aW;i.emplaceBack(0,1,2),i.emplaceBack(0,2,3),n.mesh=new Jt(e.createVertexBuffer(r,Yt.members),e.createIndexBuffer(i),t.aV.simpleSegment(0,0,r.length,i.length))}return n.mesh}let ea={symbol:function(e,n,r,i,a,o){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:s}=o,c=_n.disabled,l=e.colorModeForRenderPass();(r._unevaluatedLayout.hasValue(`text-variable-anchor`)||r._unevaluatedLayout.hasValue(`text-variable-anchor-offset`))&&function(e,n,r,i,a,o,s,c,l){let u=n.transform,d=n.style.map.terrain,f=a===`map`,p=o===`map`;for(let a of e){let e=i.getTile(a),o=e.getBucket(r);if(!(o?.text)?.segments.get().length)continue;let m=t.aw(o.textSizeData,u.zoom),h=t.aK(e,1,n.transform.zoom),g=at(f,n.transform,h),_=r.layout.get(`icon-text-fit`)!==`none`&&o.hasIconData();if(m){let n=2**(u.zoom-e.tileID.overscaledZ),r=d?(e,t)=>d.getElevation(a,e,t):null;xi(o,f,p,l,u,g,n,m,_,t.aL(u,e,s,c),a.toUnwrapped(),r)}}}(i,e,r,n,r.layout.get(`text-rotation-alignment`),r.layout.get(`text-pitch-alignment`),r.paint.get(`text-translate`),r.paint.get(`text-translate-anchor`),a),r.paint.get(`icon-opacity`).constantOr(1)!==0&&Ci(e,n,r,i,!1,r.paint.get(`icon-translate`),r.paint.get(`icon-translate-anchor`),r.layout.get(`icon-rotation-alignment`),r.layout.get(`icon-pitch-alignment`),r.layout.get(`icon-keep-upright`),c,l,s),r.paint.get(`text-opacity`).constantOr(1)!==0&&Ci(e,n,r,i,!0,r.paint.get(`text-translate`),r.paint.get(`text-translate-anchor`),r.layout.get(`text-rotation-alignment`),r.layout.get(`text-pitch-alignment`),r.layout.get(`text-keep-upright`),c,l,s),n.map.showCollisionBoxes&&(U(e,n,r,i,!0),U(e,n,r,i,!1))},circle:function(e,n,r,i,a){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:o}=a,s=r.paint.get(`circle-opacity`),c=r.paint.get(`circle-stroke-width`),l=r.paint.get(`circle-stroke-opacity`),u=!r.layout.get(`circle-sort-key`).isConstant();if(s.constantOr(1)===0&&(c.constantOr(1)===0||l.constantOr(1)===0))return;let d=e.context,f=d.gl,p=e.transform,m=e.getDepthModeForSublayer(0,hn.ReadOnly),h=_n.disabled,g=e.colorModeForRenderPass(),_=[],v=p.getCircleRadiusCorrection();for(let a of i){let i=n.getTile(a),s=i.getBucket(r);if(!s)continue;let c=r.paint.get(`circle-translate`),l=r.paint.get(`circle-translate-anchor`),d=t.aL(p,i,c,l),f=s.programConfigurations.get(r.id),m=e.useProgram(`circle`,f),h=s.layoutVertexBuffer,g=s.indexBuffer,y=e.style.map.terrain?.getTerrainData(a),b={programConfiguration:f,program:m,layoutVertexBuffer:h,indexBuffer:g,uniformValues:or(e,i,r,d,v),terrainData:y,projectionData:p.getProjectionData({overscaledTileID:a,applyGlobeMatrix:!o,applyTerrainMatrix:!0})};if(u){let e=s.segments.get();for(let n of e)_.push({segments:new t.aV([n]),sortKey:n.sortKey,state:b})}else _.push({segments:s.segments,sortKey:0,state:b})}u&&_.sort(((e,t)=>e.sortKey-t.sortKey));for(let t of _){let{programConfiguration:n,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:c,projectionData:l}=t.state;i.draw(d,f.TRIANGLES,m,h,g,mn.backCCW,s,c,l,r.id,a,o,t.segments,r.paint,e.transform.zoom,n)}},heatmap:function(e,n,r,i,a){if(r.paint.get(`heatmap-opacity`)===0)return;let o=e.context,{isRenderingToTexture:s,isRenderingGlobe:c}=a;if(e.style.map.terrain){for(let t of i){let i=n.getTile(t);n.hasRenderableParent(t)||(e.renderPass===`offscreen`?Ti(e,i,r,t,c):e.renderPass===`translucent`&&Ei(e,r,t,s,c))}o.viewport.set([0,0,e.width,e.height])}else e.renderPass===`offscreen`?function(e,n,r,i){let a=e.context,o=a.gl,s=e.transform,c=_n.disabled,l=new fn([o.ONE,o.ONE],t.bo.transparent,[!0,!0,!0,!0]);(function(e,n,r){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,n.width/4,n.height/4]);let a=r.heatmapFbos.get(t.cd);a?(i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)):(a=Di(e,n.width/4,n.height/4),r.heatmapFbos.set(t.cd,a))})(a,e,r),a.clear({color:t.bo.transparent});for(let t of i){if(n.hasRenderableParent(t))continue;let i=n.getTile(t),u=i.getBucket(r);if(!u)continue;let d=u.programConfigurations.get(r.id),f=e.useProgram(`heatmap`,d),p=s.getProjectionData({overscaledTileID:t,applyGlobeMatrix:!0,applyTerrainMatrix:!1}),m=s.getCircleRadiusCorrection();f.draw(a,o.TRIANGLES,hn.disabled,c,l,mn.backCCW,ur(i,s.zoom,r.paint.get(`heatmap-intensity`),m),null,p,r.id,u.layoutVertexBuffer,u.indexBuffer,u.segments,r.paint,s.zoom,d)}a.viewport.set([0,0,e.width,e.height])}(e,n,r,i):e.renderPass===`translucent`&&function(e,n){let r=e.context,i=r.gl;r.setColorMode(e.colorModeForRenderPass());let a=n.heatmapFbos.get(t.cd);a&&(r.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),r.activeTexture.set(i.TEXTURE1),Oi(r,n).bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram(`heatmapTexture`).draw(r,i.TRIANGLES,hn.disabled,_n.disabled,e.colorModeForRenderPass(),mn.disabled,dr(e,n,0,1),null,null,n.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,n.paint,e.transform.zoom))}(e,r)},line:function(e,t,n,r,i){if(e.renderPass!==`translucent`)return;let{isRenderingToTexture:a}=i,o=n.paint.get(`line-opacity`),s=n.paint.get(`line-width`);if(o.constantOr(1)===0||s.constantOr(1)===0)return;let c=e.getDepthModeForSublayer(0,hn.ReadOnly),l=e.colorModeForRenderPass(),u=n.paint.get(`line-dasharray`),d=u.constantOr(1),f=n.paint.get(`line-pattern`),p=f.constantOr(1),m=n.paint.get(`line-gradient`),h=n.getCrossfadeParameters(),g;g=p?`linePattern`:d&&m?`lineGradientSDF`:d?`lineSDF`:m?`lineGradient`:`line`;let _=e.context,v=_.gl,y=e.transform,b=!0;for(let i of r){let r=t.getTile(i);if(p&&!r.patternsLoaded())continue;let o=r.getBucket(n);if(!o)continue;let s=o.programConfigurations.get(n.id),x=e.context.program.get(),S=e.useProgram(g,s),C=b||S.program!==x,w=e.style.map.terrain?.getTerrainData(i),T=f.constantOr(null),ee=u?.constantOr(null);if(T&&r.imageAtlas){let e=r.imageAtlas,t=e.patternPositions[T.to.toString()],n=e.patternPositions[T.from.toString()];t&&n&&s.setConstantPatternPositions(t,n)}else if(ee){let t=n.layout.get(`line-cap`).constantOr(null)===`round`,r=e.lineAtlas.getDash(ee.to,t),i=e.lineAtlas.getDash(ee.from,t);s.setConstantDashPositions(r,i)}let E=y.getProjectionData({overscaledTileID:i,applyGlobeMatrix:!a,applyTerrainMatrix:!0}),D=y.getPixelScale(),O;p?(O=vr(e,r,n,D,h),Ai(_,v,r,s,h)):d&&m?(O=V(e,r,n,D,h,o.lineClipsArray.length),Ni(e,t,_,v,n,o,i,s,h)):d?(O=B(e,r,n,D,h),ji(e,_,v,s,C,h)):m?(O=_r(e,r,n,D,o.lineClipsArray.length),Mi(e,t,_,v,n,o,i)):O=gr(e,r,n,D);let k=e.stencilModeForClipping(i);S.draw(_,v.TRIANGLES,c,k,l,mn.disabled,O,w,E,n.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,n.paint,e.transform.zoom,s,o.layoutVertexBuffer2),b=!1}},fill:function(e,n,r,i,a){let o=r.paint.get(`fill-color`),s=r.paint.get(`fill-opacity`);if(s.constantOr(1)===0)return;let{isRenderingToTexture:c}=a,l=e.colorModeForRenderPass(),u=r.paint.get(`fill-pattern`),d=e.opaquePassEnabledForLayer()&&!u.constantOr(1)&&o.constantOr(t.bo.transparent).a===1&&s.constantOr(0)===1?`opaque`:`translucent`;e.renderPass===d&&Fi(e,n,r,i,e.getDepthModeForSublayer(1,e.renderPass===`opaque`?hn.ReadWrite:hn.ReadOnly),l,!1,c),e.renderPass===`translucent`&&r.paint.get(`fill-antialias`)&&Fi(e,n,r,i,e.getDepthModeForSublayer(r.getPaintProperty(`fill-outline-color`)?2:0,hn.ReadOnly),l,!0,c)},fillExtrusion:function(e,t,n,r,i){let a=n.paint.get(`fill-extrusion-opacity`);if(a===0)return;let{isRenderingToTexture:o}=i;if(e.renderPass===`translucent`){let i=new hn(e.context.gl.LEQUAL,hn.ReadWrite,e.depthRangeFor3D);if(a!==1||n.paint.get(`fill-extrusion-pattern`).constantOr(1))Ii(e,t,n,r,i,_n.disabled,fn.disabled,o),Ii(e,t,n,r,i,e.stencilModeFor3D(),e.colorModeForRenderPass(),o);else{let a=e.colorModeForRenderPass();Ii(e,t,n,r,i,_n.disabled,a,o)}}},hillshade:function(e,n,r,i,a){if(e.renderPass!==`offscreen`&&e.renderPass!==`translucent`)return;let{isRenderingToTexture:o}=a,s=e.context,c=e.style.projection.useSubdivision,l=e.getDepthModeForSublayer(0,hn.ReadOnly),u=e.colorModeForRenderPass();if(e.renderPass===`offscreen`)(function(e,n,r,i,a,o,s){let c=e.context,l=c.gl,u=i.paint.get(`resampling`)===`nearest`?l.NEAREST:l.LINEAR;for(let d of r){let r=n.getTile(d),f=r.dem;if(!f?.data||!r.needsHillshadePrepare)continue;let p=f.dim,m=f.stride,h=f.getPixels();if(c.activeTexture.set(l.TEXTURE1),c.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture||=e.getTileTexture(m),r.demTexture){let e=r.demTexture;e.update(h,{premultiply:!1}),e.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else r.demTexture=new t.T(c,h,l.RGBA,{premultiply:!1}),r.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);c.activeTexture.set(l.TEXTURE0);let g=r.fbo;if(!g){let e=new t.T(c,{width:p,height:p,data:null},l.RGBA);e.bind(u,l.CLAMP_TO_EDGE),g=r.fbo=c.createFramebuffer(p,p,!0,!1),g.colorAttachment.set(e.texture)}c.bindFramebuffer.set(g.framebuffer),c.viewport.set([0,0,p,p]),e.useProgram(`hillshadePrepare`).draw(c,l.TRIANGLES,a,o,s,mn.disabled,pr(r.tileID,f),null,null,i.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}})(e,n,i,r,l,_n.disabled,u),s.viewport.set([0,0,e.width,e.height]);else if(e.renderPass===`translucent`)if(c){let[t,a,s]=e.stencilConfigForOverlapTwoPass(i);Li(e,n,r,s,t,l,u,!1,o),Li(e,n,r,s,a,l,u,!0,o)}else{let[t,a]=e.getStencilConfigForOverlapAndUpdateStencilID(i);Li(e,n,r,a,t,l,u,!1,o)}},colorRelief:function(e,t,n,r,i){if(e.renderPass!==`translucent`||!r.length)return;let{isRenderingToTexture:a}=i,o=e.style.projection.useSubdivision,s=e.getDepthModeForSublayer(0,hn.ReadOnly),c=e.colorModeForRenderPass();if(o){let[i,o,l]=e.stencilConfigForOverlapTwoPass(r);zi(e,t,n,l,i,s,c,!1,a),zi(e,t,n,l,o,s,c,!0,a)}else{let[i,o]=e.getStencilConfigForOverlapAndUpdateStencilID(r);zi(e,t,n,o,i,s,c,!1,a)}},raster:function(e,t,n,r,i){if(e.renderPass!==`translucent`||n.paint.get(`raster-opacity`)===0||!r.length)return;let{isRenderingToTexture:a}=i,o=t.getSource(),s=e.style.projection.useSubdivision;if(o instanceof Ce)Vi(e,t,n,r,null,!1,!1,o.tileCoords,o.flippedWindingOrder,a);else if(s){let[i,o,s]=e.stencilConfigForOverlapTwoPass(r);Vi(e,t,n,s,i,!1,!0,Bi,!1,a),Vi(e,t,n,s,o,!0,!0,Bi,!1,a)}else{let[i,o]=e.getStencilConfigForOverlapAndUpdateStencilID(r);Vi(e,t,n,o,i,!1,!0,Bi,!1,a)}},background:function(e,t,n,r,i){let a=n.paint.get(`background-color`),o=n.paint.get(`background-opacity`);if(o===0)return;let{isRenderingToTexture:s}=i,c=e.context,l=c.gl,u=e.style.projection,d=e.transform,f=d.tileSize,p=n.paint.get(`background-pattern`);if(e.isPatternMissing(p))return;let m=!p&&a.a===1&&o===1&&e.opaquePassEnabledForLayer()?`opaque`:`translucent`;if(e.renderPass!==m)return;let h=_n.disabled,g=e.getDepthModeForSublayer(0,m===`opaque`?hn.ReadWrite:hn.ReadOnly),_=e.colorModeForRenderPass(),v=e.useProgram(p?`backgroundPattern`:`background`),y=r||qe(d,{tileSize:f,terrain:e.style.map.terrain});p&&(c.activeTexture.set(l.TEXTURE0),e.imageManager.bind(e.context));let b=n.getCrossfadeParameters();for(let t of y){let r=d.getProjectionData({overscaledTileID:t,applyGlobeMatrix:!s,applyTerrainMatrix:!0}),i=p?Er(o,e,p,{tileID:t,tileSize:f},b):Tr(o,a),m=e.style.map.terrain?.getTerrainData(t),y=u.getMeshFromTileID(c,t.canonical,!1,!0,`raster`);v.draw(c,l.TRIANGLES,g,h,_,mn.backCCW,i,m,r,n.id,y.vertexBuffer,y.indexBuffer,y.segments)}},sky:function(e,t){let n=e.context,r=n.gl,i=((e,t,n)=>{let r=Math.cos(t.rollInRadians),i=Math.sin(t.rollInRadians),a=ze(t),o=t.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition;return{u_sky_color:e.properties.get(`sky-color`),u_horizon_color:e.properties.get(`horizon-color`),u_horizon:[(t.width/2-a*i)*n,(t.height/2+a*r)*n],u_horizon_normal:[-i,r],u_sky_horizon_blend:e.properties.get(`sky-horizon-blend`)*t.height/2*n,u_sky_blend:o}})(t,e.style.map.transform,e.pixelRatio),a=new hn(r.LEQUAL,hn.ReadWrite,[0,1]),o=_n.disabled,s=e.colorModeForRenderPass(),c=e.useProgram(`sky`),l=$i(n,t);c.draw(n,r.TRIANGLES,a,o,s,mn.disabled,i,null,void 0,`sky`,l.vertexBuffer,l.indexBuffer,l.segments)},atmosphere:function(e,n,r){let i=e.context,a=i.gl,o=e.useProgram(`atmosphere`),s=new hn(a.LEQUAL,hn.ReadOnly,[0,1]),c=e.transform,l=function(e,n){let r=e.properties.get(`position`),i=[-r.x,-r.y,-r.z],a=t.ap(new Float64Array(16));return e.properties.get(`anchor`)===`map`&&(t.be(a,a,n.rollInRadians),t.bf(a,a,-n.pitchInRadians),t.be(a,a,n.bearingInRadians),t.bf(a,a,n.center.lat*Math.PI/180),t.bI(a,a,-n.center.lng*Math.PI/180)),t.cg(i,i,a),i}(r,e.transform),u=c.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),d=n.properties.get(`atmosphere-blend`)*u.projectionTransition;if(d===0)return;let f=On(c.worldSize,c.center.lat),p=c.inverseProjectionMatrix,m=new Float64Array(4);m[3]=1,t.aE(m,m,c.modelViewProjectionMatrix),m[0]/=m[3],m[1]/=m[3],m[2]/=m[3],m[3]=1,t.aE(m,m,p),m[0]/=m[3],m[1]/=m[3],m[2]/=m[3],m[3]=1;let h=((e,t,n,r,i)=>({u_sun_pos:e,u_atmosphere_blend:t,u_globe_position:n,u_globe_radius:r,u_inv_proj_matrix:i}))(l,d,[m[0],m[1],m[2]],f,p),g=$i(i,n);o.draw(i,a.TRIANGLES,s,_n.disabled,fn.alphaBlended,mn.disabled,h,null,null,`atmosphere`,g.vertexBuffer,g.indexBuffer,g.segments)},custom:function(e,t,n,r){let{isRenderingGlobe:i}=r,a=e.context,o=n.implementation,s=e.style.projection,c=e.transform,l=c.getProjectionDataForCustomLayer(i),u={farZ:c.farZ,nearZ:c.nearZ,fov:c.fov*Math.PI/180,modelViewProjectionMatrix:c.modelViewProjectionMatrix,projectionMatrix:c.projectionMatrix,shaderData:{variantName:s.shaderVariantName,vertexShaderPrelude:`const float PI = 3.141592653589793;\nuniform mat4 u_projection_matrix;\n${s.shaderPreludeCode.vertexSource}`,define:s.shaderDefine},defaultProjectionData:l},d=o.renderingMode?o.renderingMode:`2d`;if(e.renderPass===`offscreen`){let t=o.prerender;t&&(e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),t.call(o,a.gl,u),a.setDirty(),e.setBaseState())}else if(e.renderPass===`translucent`){e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),a.setStencilMode(_n.disabled);let t=d===`3d`?e.getDepthModeFor3D():e.getDepthModeForSublayer(0,hn.ReadOnly);a.setDepthMode(t),o.render(a.gl,u),a.setDirty(),e.setBaseState(),a.bindFramebuffer.set(null)}},debug:function(e,t,n){for(let r of n)Zi(e,t,r)},debugPadding:function(e){let t=e.transform.padding;Ji(e,e.transform.height-(t.top||0),3,Ui),Ji(e,t.bottom||0,3,Wi),Yi(e,t.left||0,3,Gi),Yi(e,e.transform.width-(t.right||0),3,Ki);let n=e.transform.centerPoint;(function(e,t,n,r){Xi(e,t-1,n-10,2,20,r),Xi(e,t-10,n-1,20,2,r)})(e,n.x,e.transform.height-n.y,qi)},terrainDepth:function(e,n){let r=e.context,i=r.gl,a=e.transform,o=fn.unblended,s=new hn(i.LEQUAL,hn.ReadWrite,[0,1]),c=n.tileManager.getRenderableTiles(),l=e.useProgram(`terrainDepth`);r.bindFramebuffer.set(n.getFramebuffer(`depth`).framebuffer),r.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),r.clear({color:t.bo.transparent,depth:1});for(let e of c){let t=n.getTerrainMesh(e.tileID),c=n.getTerrainData(e.tileID),u=a.getProjectionData({overscaledTileID:e.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0}),d={u_ele_delta:n.getMeshFrameDelta(a.zoom)};l.draw(r,i.TRIANGLES,s,_n.disabled,o,mn.backCCW,d,c,u,`terrain`,t.vertexBuffer,t.indexBuffer,t.segments)}r.bindFramebuffer.set(null),r.viewport.set([0,0,e.width,e.height])},terrainCoords:function(e,n){let r=e.context,i=r.gl,a=e.transform,o=fn.unblended,s=new hn(i.LEQUAL,hn.ReadWrite,[0,1]),c=n.getCoordsTexture(),l=n.tileManager.getRenderableTiles(),u=e.useProgram(`terrainCoords`);r.bindFramebuffer.set(n.getFramebuffer(`coords`).framebuffer),r.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),r.clear({color:t.bo.transparent,depth:1}),n.coordsIndex=[];for(let e of l){let t=n.getTerrainMesh(e.tileID),l=n.getTerrainData(e.tileID);r.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,c.texture);let d={u_terrain_coords_id:(255-n.coordsIndex.length)/255,u_texture:0,u_ele_delta:n.getMeshFrameDelta(a.zoom)},f=a.getProjectionData({overscaledTileID:e.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});u.draw(r,i.TRIANGLES,s,_n.disabled,o,mn.backCCW,d,l,f,`terrain`,t.vertexBuffer,t.indexBuffer,t.segments),n.coordsIndex.push(e.tileID.key)}r.bindFramebuffer.set(null),r.viewport.set([0,0,e.width,e.height])}};class ta{constructor(e,n){this.drawFunctions=ea,this.context=new gi(e),this.transform=n,this._tileTextures={},this.terrainFacilitator={depthDirty:!0,coordsDirty:!1,matrix:t.ap(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=tt.maxOverzooming+tt.maxUnderzooming+1,this.depthEpsilon=1/2**16,this.crossTileSymbolIndex=new Wt}resize(e,t,n){if(this.width=Math.floor(e*n),this.height=Math.floor(t*n),this.pixelRatio=n,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,n=new t.aU;n.emplaceBack(0,0),n.emplaceBack(t.a6,0),n.emplaceBack(0,t.a6),n.emplaceBack(t.a6,t.a6),this.tileExtentBuffer=e.createVertexBuffer(n,Yt.members),this.tileExtentSegments=t.aV.simpleSegment(0,0,4,2);let r=new t.aU;r.emplaceBack(0,0),r.emplaceBack(t.a6,0),r.emplaceBack(0,t.a6),r.emplaceBack(t.a6,t.a6),this.debugBuffer=e.createVertexBuffer(r,Yt.members),this.debugSegments=t.aV.simpleSegment(0,0,4,5);let i=new t.ch;i.emplaceBack(0,0,0,0),i.emplaceBack(t.a6,0,t.a6,0),i.emplaceBack(0,t.a6,0,t.a6),i.emplaceBack(t.a6,t.a6,t.a6,t.a6),this.rasterBoundsBuffer=e.createVertexBuffer(i,Jn.members),this.rasterBoundsSegments=t.aV.simpleSegment(0,0,4,2);let a=new t.aU;a.emplaceBack(0,0),a.emplaceBack(t.a6,0),a.emplaceBack(0,t.a6),a.emplaceBack(t.a6,t.a6),this.rasterBoundsBufferPosOnly=e.createVertexBuffer(a,Yt.members),this.rasterBoundsSegmentsPosOnly=t.aV.simpleSegment(0,0,4,5);let o=new t.aU;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(o,Yt.members),this.viewportSegments=t.aV.simpleSegment(0,0,4,2);let s=new t.ci;s.emplaceBack(0),s.emplaceBack(1),s.emplaceBack(3),s.emplaceBack(2),s.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(s);let c=new t.aW;c.emplaceBack(1,0,2),c.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(c);let l=this.context.gl;this.stencilClearMode=new _n({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.tileExtentMesh=new Jt(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){let e=this.context,n=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let r=t.O();t.c7(r,0,this.width,this.height,0,0,1),t.S(r,r,[n.drawingBufferWidth,n.drawingBufferHeight,0]);let i={mainMatrix:r,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:r};this.useProgram(`clippingMask`,null,!0).draw(e,n.TRIANGLES,hn.disabled,this.stencilClearMode,fn.disabled,mn.disabled,null,null,i,`$clipping`,this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t,n){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t?.length)return;this.currentStencilSource=e.source,this.nextStencilID+t.length>256&&this.clearStencil();let r=this.context;r.setColorMode(fn.disabled),r.setDepthMode(hn.disabled);let i={};for(let e of t)i[e.key]=this.nextStencilID++;this._renderTileMasks(i,t,n,!0),this._renderTileMasks(i,t,n,!1),this._tileClippingMaskIDs=i}_renderTileMasks(e,t,n,r){let i=this.context,a=i.gl,o=this.style.projection,s=this.transform,c=this.useProgram(`clippingMask`);for(let l of t){let t=e[l.key],u=this.style.map.terrain?.getTerrainData(l),d=o.getMeshFromTileID(this.context,l.canonical,r,!0,`stencil`),f=s.getProjectionData({overscaledTileID:l,applyGlobeMatrix:!n,applyTerrainMatrix:!0});c.draw(i,a.TRIANGLES,hn.disabled,new _n({func:a.ALWAYS,mask:0},t,255,a.KEEP,a.KEEP,a.REPLACE),fn.disabled,n?mn.disabled:mn.backCCW,null,u,f,`$clipping`,d.vertexBuffer,d.indexBuffer,d.segments)}}_renderTilesDepthBuffer(){let e=this.context,t=e.gl,n=this.style.projection,r=this.transform,i=this.useProgram(`depth`),a=this.getDepthModeFor3D(),o=qe(r,{tileSize:r.tileSize});for(let s of o){let o=this.style.map.terrain?.getTerrainData(s),c=n.getMeshFromTileID(this.context,s.canonical,!0,!0,`raster`),l=r.getProjectionData({overscaledTileID:s,applyGlobeMatrix:!0,applyTerrainMatrix:!0});i.draw(e,t.TRIANGLES,a,_n.disabled,fn.disabled,mn.backCCW,null,o,l,`$clipping`,c.vertexBuffer,c.indexBuffer,c.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;return new _n({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new _n({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(e){let t=this.context.gl,n=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=n[n.length-1].overscaledZ,i=n[0].overscaledZ-r+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();let e={};for(let n=0;n<i;n++)e[n+r]=new _n({func:t.GEQUAL,mask:255},n+this.nextStencilID,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID+=i,[e,n]}return[{[r]:_n.disabled},n]}stencilConfigForOverlapTwoPass(e){let t=this.context.gl,n=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=n[n.length-1].overscaledZ,i=n[0].overscaledZ-r+1;if(this.clearStencil(),i>1){let e={},a={};for(let n=0;n<i;n++)e[n+r]=new _n({func:t.GREATER,mask:255},i+1+n,255,t.KEEP,t.KEEP,t.REPLACE),a[n+r]=new _n({func:t.GREATER,mask:255},1+n,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID=2*i+1,[e,a,n]}return this.nextStencilID=3,[{[r]:new _n({func:t.GREATER,mask:255},2,255,t.KEEP,t.KEEP,t.REPLACE)},{[r]:new _n({func:t.GREATER,mask:255},1,255,t.KEEP,t.KEEP,t.REPLACE)},n]}colorModeForRenderPass(){let e=this.context.gl;if(this._showOverdrawInspector){let n=1/8;return new fn([e.CONSTANT_COLOR,e.ONE],new t.bo(n,n,n,0),[!0,!0,!0,!0])}return this.renderPass===`opaque`?fn.unblended:fn.alphaBlended}getDepthModeForSublayer(e,t,n){if(!this.opaquePassEnabledForLayer())return hn.disabled;let r=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new hn(n||this.context.gl.LEQUAL,t,[r,r])}getDepthModeFor3D(){return new hn(this.context.gl.LEQUAL,hn.ReadWrite,this.depthRangeFor3D)}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(e,n){var r;this.style=e,this.options=n,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(l()),this.imageManager.beginFrame();let i=this.style._order,a=this.style.tileManagers,o={},s={},c={},u={isRenderingToTexture:!1,isRenderingGlobe:e.projection?.transitionState>0};for(let e in a){let t=a[e];t.used&&t.prepare(this.context),o[e]=t.getVisibleCoordinates(!1),s[e]=o[e].slice().reverse(),c[e]=t.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let e=0;e<i.length;e++)if(this.style._layers[i[e]].is3D()){this.opaquePassCutoff=e;break}this.maybeDrawDepth(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass=`offscreen`;for(let e of i){let t=this.style._layers[e];if(!t.hasOffscreenPass()||t.isHidden(this.transform.zoom))continue;let n=s[t.source];(t.type===`custom`||n.length)&&this.renderLayer(this,a[t.source],t,n,u)}if((r=this.style.projection)==null||r.updateGPUdependent({context:this.context,useProgram:e=>this.useProgram(e)}),this.context.viewport.set([0,0,this.width,this.height]),this.context.bindFramebuffer.set(null),this.context.clear({color:n.showOverdrawInspector?t.bo.black:t.bo.transparent,depth:1}),this.clearStencil(),this.style.sky&&this.drawFunctions.sky(this,this.style.sky),this._showOverdrawInspector=n.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=`opaque`,this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){let e=this.style._layers[i[this.currentLayer]],t=a[e.source],n=o[e.source];this._renderTileClippingMasks(e,n,!1),this.renderLayer(this,t,e,n,u)}this.renderPass=`translucent`;let d=!1;for(this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){let e=this.style._layers[i[this.currentLayer]],t=a[e.source];if(this.renderToTexture?.renderLayer(e,u))continue;this.opaquePassEnabledForLayer()||d||(d=!0,u.isRenderingGlobe&&!this.style.map.terrain&&this._renderTilesDepthBuffer());let n=(e.type===`symbol`?c:s)[e.source];this._renderTileClippingMasks(e,o[e.source],!!this.renderToTexture),this.renderLayer(this,t,e,n,u)}if(u.isRenderingGlobe&&this.drawFunctions.atmosphere(this,this.style.sky,this.style.light),this.options.showTileBoundaries){let e=function(e,t){let n=null,r=Object.values(e._layers).flatMap((n=>n.source&&!n.isHidden(t)?[e.tileManagers[n.source]]:[])),i=r.filter((e=>e.getSource().type===`vector`)),a=r.filter((e=>e.getSource().type!==`vector`)),o=e=>{(!n||n.getSource().maxzoom<e.getSource().maxzoom)&&(n=e)};for(let e of i)o(e);if(!n)for(let e of a)o(e);return n}(this.style,this.transform.zoom);e&&this.drawFunctions.debug(this,e,e.getVisibleCoordinates())}this.options.showPadding&&this.drawFunctions.debugPadding(this),this.context.setDefault()}maybeDrawDepth(e){if(!this.style?.map?.terrain)return;let n=this.terrainFacilitator.matrix,r=this.transform.modelViewProjectionMatrix,i=this.terrainFacilitator.depthDirty;i||=e?!t.cj(n,r):!t.ck(n,r),i||=this.style.map.terrain.tileManager.anyTilesAfterTime(this.terrainFacilitator.renderTime),i&&(t.cl(n,r),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.depthDirty=!1,this.terrainFacilitator.coordsDirty=!0,this.drawFunctions.terrainDepth(this,this.style.map.terrain))}maybeDrawCoords(){var e;(e=this.style?.map)!=null&&e.terrain&&this.terrainFacilitator.coordsDirty&&(this.terrainFacilitator.coordsDirty=!1,this.drawFunctions.terrainCoords(this,this.style.map.terrain))}renderLayer(e,n,r,i,a){if(r.isHidden(this.transform.zoom)||r.type!==`background`&&r.type!==`custom`&&!(i||[]).length)return;this.id=r.id;let o=this.drawFunctions;t.aQ(r)?o.symbol(e,n,r,i,this.style.placement.variableOffsets,a):t.cm(r)?o.circle(e,n,r,i,a):t.cn(r)?o.heatmap(e,n,r,i,a):t.co(r)?o.line(e,n,r,i,a):t.cp(r)?o.fill(e,n,r,i,a):t.cq(r)?o.fillExtrusion(e,n,r,i,a):t.cr(r)?o.hillshade(e,n,r,i,a):t.cs(r)?o.colorRelief(e,n,r,i,a):t.bU(r)?o.raster(e,n,r,i,a):t.ct(r)?o.background(e,n,r,i,a):t.cu(r)&&o.custom(e,n,r,a)}saveTileTexture(e){let t=this._tileTextures[e.size[0]];t?t.length<ta.MAX_TEXTURE_POOL_SIZE_PER_BUCKET?t.push(e):e.destroy():this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),n=this.imageManager.getPattern(e.to.toString());return!t||!n}useProgram(e,t,n=!1,r=[]){var i;this.cache||={};let a=!!this.style.map.terrain,o=this.style.projection,s=n?Kt.projectionMercator:o.shaderPreludeCode,c=n?Xt:o.shaderDefine,l=e+(t?t.cacheKey:``)+`/${n?Zt:o.shaderVariantName}`+(this._showOverdrawInspector?`/overdraw`:``)+(a?`/terrain`:``)+(r?`/${r.join(`/`)}`:``);return(i=this.cache)[l]||(i[l]=new $n(this.context,Kt[e],t,Or[e],this._showOverdrawInspector,a,s,c,r)),this.cache[l]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas??(this.debugOverlayCanvas=document.createElement(`canvas`),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.T(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){var e,t;if(this._tileTextures){for(let e in this._tileTextures){let t=this._tileTextures[e];if(t)for(let e of t)e.destroy()}this._tileTextures={}}if(this.tileExtentBuffer&&this.tileExtentBuffer.destroy(),this.debugBuffer&&this.debugBuffer.destroy(),this.rasterBoundsBuffer&&this.rasterBoundsBuffer.destroy(),this.rasterBoundsBufferPosOnly&&this.rasterBoundsBufferPosOnly.destroy(),this.viewportBuffer&&this.viewportBuffer.destroy(),this.tileBorderIndexBuffer&&this.tileBorderIndexBuffer.destroy(),this.quadTriangleIndexBuffer&&this.quadTriangleIndexBuffer.destroy(),this.tileExtentMesh&&((e=this.tileExtentMesh.vertexBuffer)==null||e.destroy()),this.tileExtentMesh&&((t=this.tileExtentMesh.indexBuffer)==null||t.destroy()),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.cache){for(let e in this.cache){let t=this.cache[e];t!=null&&t.program&&this.context.gl.deleteProgram(t.program)}this.cache={}}this.context&&this.context.setDefault()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}function na(e,t){let n,r=!1,i=null,a=()=>{i=null,r&&=(e(...n),i=setTimeout(a,t),!1)};return(...e)=>(r=!0,n=e,i||a(),i)}ta.MAX_TEXTURE_POOL_SIZE_PER_BUCKET=50;class ra{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace(`#`,``);if(this._hashName){let t,n=e.split(`&`).map((e=>e.split(`=`)));for(let e of n)e[0]===this._hashName&&(t=e);return(t&&t[1]||``).split(`/`)}return e.split(`/`)},this._onHashChange=()=>{let e=this._getCurrentHash();if(!this._isValidHash(e))return!1;let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,e)},this._removeHash=()=>{let e=this._getCurrentHash();if(e.length===0)return;let t=e.join(`/`),n=t;n.split(`&`).length>0&&(n=n.split(`&`)[0]),this._hashName&&(n=`${this._hashName}=${t}`);let r=window.location.hash.replace(n,``);r.startsWith(`#&`)?r=r.slice(0,1)+r.slice(2):r===`#`&&(r=``);let i=window.location.href.replace(/(#.+)?$/,r);i=i.replace(`&&`,`&`),window.history.replaceState(window.history.state,null,i)},this._updateHash=na(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener(`hashchange`,this._onHashChange,!1),this._map.on(`moveend`,this._updateHash),this}remove(){return removeEventListener(`hashchange`,this._onHashChange,!1),this._map.off(`moveend`,this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){let t=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,r=10**Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.round(t.lng*r)/r,a=Math.round(t.lat*r)/r,o=this._map.getBearing(),s=this._map.getPitch(),c=``;if(c+=e?`/${i}/${a}/${n}`:`${n}/${a}/${i}`,(o||s)&&(c+=`/`+Math.round(10*o)/10),s&&(c+=`/${Math.round(s)}`),this._hashName){let e=this._hashName,t=!1,n=window.location.hash.slice(1).split(`&`).map((n=>{let r=n.split(`=`)[0];return r===e?(t=!0,`${r}=${c}`):n})).filter((e=>e));return t||n.push(`${e}=${c}`),`#${n.join(`&`)}`}return`#${c}`}_isValidHash(e){if(e.length<3||e.some(isNaN))return!1;try{new t.W(+e[2],+e[1])}catch{return!1}let n=+e[0],r=+(e[3]||0),i=+(e[4]||0);return n>=this._map.getMinZoom()&&n<=this._map.getMaxZoom()&&r>=-180&&r<=180&&i>=this._map.getMinPitch()&&i<=this._map.getMaxPitch()}}let ia={linearity:.3,easing:t.cv(0,0,.3,1)},aa=t.e({deceleration:2500,maxSpeed:1400},ia),oa=t.e({deceleration:20,maxSpeed:1400},ia),sa=t.e({deceleration:1e3,maxSpeed:360},ia),ca=t.e({deceleration:1e3,maxSpeed:90},ia),la=t.e({deceleration:1e3,maxSpeed:360},ia);class ua{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:l(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=l();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let n={zoom:0,bearing:0,pitch:0,roll:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)n.zoom+=e.zoomDelta||0,n.bearing+=e.bearingDelta||0,n.pitch+=e.pitchDelta||0,n.roll+=e.rollDelta||0,e.panDelta&&n.pan._add(e.panDelta),e.around&&(n.around=e.around),e.pinchAround&&(n.pinchAround=e.pinchAround);let r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(n.pan.mag()){let a=da(n.pan.mag(),r,t.e({},aa,e||{})),o=n.pan.mult(a.amount/n.pan.mag()),s=this._map.cameraHelper.handlePanInertia(o,this._map.transform);i.center=s.easingCenter,i.offset=s.easingOffset,W(i,a)}if(n.zoom){let e=da(n.zoom,r,oa);i.zoom=t.cw(this._map.transform.zoom+e.amount,this._map.getZoomSnap(),e.amount),W(i,e)}if(n.bearing){let e=da(n.bearing,r,sa);i.bearing=this._map.transform.bearing+t.al(e.amount,-179,179),W(i,e)}if(n.pitch){let e=da(n.pitch,r,ca);i.pitch=this._map.transform.pitch+e.amount,W(i,e)}if(n.roll){let e=da(n.roll,r,la);i.roll=this._map.transform.roll+t.al(e.amount,-179,179),W(i,e)}if(i.zoom||i.bearing){let e=n.pinchAround===void 0?n.around:n.pinchAround;i.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(i,{noMoveStart:!0})}}function W(e,t){(!e.duration||e.duration<t.duration)&&(e.duration=t.duration,e.easing=t.easing)}function da(e,n,r){let{maxSpeed:i,linearity:a,deceleration:o}=r,s=t.al(e*a/(n/1e3),-i,i),c=Math.abs(s)/(o*a);return{easing:r.easing,duration:1e3*c,amount:c/2*s}}class fa extends t.n{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,r,i={}){r=r instanceof MouseEvent?r:new MouseEvent(e,r);let a=d.mousePos(n.getCanvas(),r),o=n.unproject(a);super(e,t.e({point:a,lngLat:o,originalEvent:r},i)),this._defaultPrevented=!1,this.target=n}}class pa extends t.n{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,r){let i=e===`touchend`?r.changedTouches:r.touches,a=d.touchPos(n.getCanvasContainer(),i),o=a.map((e=>n.unproject(e))),s=a.reduce(((e,t,n,r)=>e.add(t.div(r.length))),new t.P(0,0));super(e,{points:a,point:s,lngLats:o,lngLat:n.unproject(s),originalEvent:r}),this._defaultPrevented=!1}}class G extends t.n{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){super(e,{originalEvent:n}),this._defaultPrevented=!1}}class K{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new G(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new fa(e.type,this._map,e))}mouseup(e){this._map.fire(new fa(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new fa(e.type,this._map,e))}dblclick(e){return this._firePreventable(new fa(e.type,this._map,e))}mouseover(e){this._map.fire(new fa(e.type,this._map,e))}mouseout(e){this._map.fire(new fa(e.type,this._map,e))}touchstart(e){return this._firePreventable(new pa(e.type,this._map,e))}touchmove(e){this._map.fire(new pa(e.type,this._map,e))}touchend(e){this._map.fire(new pa(e.type,this._map,e))}touchcancel(e){this._map.fire(new pa(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ma{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new fa(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new fa(`contextmenu`,this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new fa(e.type,this._map,e)),this._map.listens(`contextmenu`)&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ha{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.screenPointToLocation(t.P.convert(e),this._map.terrain)}}class ga{constructor(e,t){this._map=e,this._tr=new ha(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1,t.boxZoom&&typeof t.boxZoom==`object`&&(this._boxZoomEnd=t.boxZoom.boxZoomEnd)}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&e.button===0&&(d.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;let n=t;if(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)return;let r=this._startPos;this._lastPos=n,this._box||(this._box=d.create(`div`,`maplibregl-boxzoom`,this._container),this._container.classList.add(`maplibregl-crosshair`),this._fireEvent(`boxzoomstart`,e));let i=Math.min(r.x,n.x),a=Math.max(r.x,n.x),o=Math.min(r.y,n.y),s=Math.max(r.y,n.y);this._box.style.transform=`translate(${i}px,${o}px)`,this._box.style.width=a-i+`px`,this._box.style.height=s-o+`px`}mouseupWindow(e,n){if(!this._active||e.button!==0)return;let r=this._startPos,i=n;if(this.reset(),d.suppressClick(),r.x!==i.x||r.y!==i.y)return this._map.fire(new t.n(`boxzoomend`,{originalEvent:e})),this._boxZoomEnd?void this._boxZoomEnd(this._map,r,i,e):{cameraAnimation:e=>e.fitScreenCoordinates(r,i,this._tr.bearing,{linear:!0})};this._fireEvent(`boxzoomcancel`,e)}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent(`boxzoomcancel`,e))}reset(){this._active=!1,this._container.classList.remove(`maplibregl-crosshair`),this._box&&=(this._box.remove(),null),d.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,n){return this._map.fire(new t.n(e,{originalEvent:n}))}}function _a(e,t){if(e.length!==t.length)throw Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let n={};for(let r=0;r<e.length;r++)n[e[r].identifier]=t[r];return n}class va{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,n,r){(this.centroid||r.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=e.timeStamp),r.length===this.numTouches&&(this.centroid=function(e){let n=new t.P(0,0);for(let t of e)n._add(t);return n.div(e.length)}(n),this.touches=_a(r,n)))}touchmove(e,t,n){if(this.aborted||!this.centroid)return;let r=_a(n,t);for(let e in this.touches){let t=r[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,n){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),n.length===0){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class q{constructor(e){this.singleTap=new va(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,n){this.singleTap.touchstart(e,t,n)}touchmove(e,t,n){this.singleTap.touchmove(e,t,n)}touchend(e,t,n){let r=this.singleTap.touchend(e,t,n);if(r){let t=e.timeStamp-this.lastTime<500,n=!this.lastTap||this.lastTap.dist(r)<30;if(t&&n||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class ya{constructor(e){this._tr=new ha(e),this._zoomIn=new q({numTouches:1,numTaps:2}),this._zoomOut=new q({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,n){this._zoomIn.touchstart(e,t,n),this._zoomOut.touchstart(e,t,n)}touchmove(e,t,n){this._zoomIn.touchmove(e,t,n),this._zoomOut.touchmove(e,t,n)}touchend(e,n,r){let i=this._zoomIn.touchend(e,n,r),a=this._zoomOut.touchend(e,n,r),o=this._tr;return i?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:n=>n.easeTo({duration:300,zoom:t.cw(o.zoom+1,n.getZoomSnap()),around:o.unproject(i)},{originalEvent:e})}):a?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:n=>n.easeTo({duration:300,zoom:t.cw(o.zoom-1,n.getZoomSnap()),around:o.unproject(a)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ba{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.rollDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=Array.isArray(t)?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let n=this._lastPoint;if(!n)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let r=Array.isArray(t)?t[0]:t;return!this._moved&&r.dist(n)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=r,this._move(n,r))}dragEnd(e){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(e)&&(this._moved&&d.suppressClick(),this.reset(e))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let xa={0:1,2:2};class Sa{constructor(e){this._correctEvent=e.checkCorrectEvent}startMove(e){this._eventButton=e.button}endMove(e){delete this._eventButton}isValidStartEvent(e){return this._correctEvent(e)}isValidMoveEvent(e){return!function(e,t){let n=xa[t];return e.buttons===void 0||(e.buttons&n)!==n}(e,this._eventButton)}isValidEndEvent(e){return e.button===this._eventButton}}class Ca{constructor(){this._firstTouch=void 0}_isOneFingerTouch(e){return e.targetTouches.length===1}_isSameTouchEvent(e){return e.targetTouches[0].identifier===this._firstTouch}startMove(e){this._firstTouch=e.targetTouches[0].identifier}endMove(e){delete this._firstTouch}isValidStartEvent(e){return this._isOneFingerTouch(e)}isValidMoveEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}isValidEndEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}}class wa{constructor(e=new Sa({checkCorrectEvent:()=>!0}),t=new Ca){this.mouseMoveStateManager=e,this.oneFingerTouchMoveStateManager=t}_executeRelevantHandler(e,t,n){return e instanceof MouseEvent?t(e):typeof TouchEvent<`u`&&e instanceof TouchEvent?n(e):void 0}startMove(e){this._executeRelevantHandler(e,(e=>{this.mouseMoveStateManager.startMove(e)}),(e=>{this.oneFingerTouchMoveStateManager.startMove(e)}))}endMove(e){this._executeRelevantHandler(e,(e=>{this.mouseMoveStateManager.endMove(e)}),(e=>{this.oneFingerTouchMoveStateManager.endMove(e)}))}isValidStartEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidStartEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidStartEvent(e)))}isValidMoveEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidMoveEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(e)))}isValidEndEvent(e){return this._executeRelevantHandler(e,(e=>this.mouseMoveStateManager.isValidEndEvent(e)),(e=>this.oneFingerTouchMoveStateManager.isValidEndEvent(e)))}}let Ta=e=>{e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=e=>{e.preventDefault()}};class Ea{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,n){return this._calculateTransform(e,t,n)}touchmove(e,t,n){if(this._active){if(!this._shouldBePrevented(n.length))return e.preventDefault(),this._calculateTransform(e,t,n);this._map.cooperativeGestures.notifyGestureBlocked(`touch_pan`,e)}}touchend(e,t,n){this._calculateTransform(e,t,n),this._active&&this._shouldBePrevented(n.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,n,r){r.length>0&&(this._active=!0);let i=_a(r,n),a=new t.P(0,0),o=new t.P(0,0),s=0;for(let e in i){let t=i[e],n=this._touches[e];n&&(a._add(t),o._add(t.sub(n)),s++,i[e]=t)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;let c=o.div(s);return this._sum._add(c),this._sum.mag()<this._clickTolerance?void 0:{around:a.div(s),panDelta:c}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Da{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(e,t,n){this._firstTwoTouches||n.length<2||(this._firstTwoTouches=[n[0].identifier,n[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,n){if(!this._firstTwoTouches)return;e.preventDefault();let[r,i]=this._firstTwoTouches,a=Oa(n,t,r),o=Oa(n,t,i);if(!a||!o)return;let s=this._aroundCenter?null:a.add(o).div(2);return this._move([a,o],s,e)}touchend(e,t,n){if(!this._firstTwoTouches)return;let[r,i]=this._firstTwoTouches,a=Oa(n,t,r),o=Oa(n,t,i);a&&o||(this._active&&d.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&e.around===`center`}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function Oa(e,t,n){for(let r=0;r<e.length;r++)if(e[r].identifier===n)return t[r]}function ka(e,t){return Math.log(e/t)/Math.LN2}class Aa extends Da{constructor(){super(),this._zoomRate=1,this._zoomThreshold=.1}setZoomRate(e){this._zoomRate=e??1}setZoomThreshold(e){this._zoomThreshold=e??.1}reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,t){let n=this._distance;if(this._distance=e[0].dist(e[1]),this._active||!(Math.abs(ka(this._distance,this._startDistance))<this._zoomThreshold))return this._active=!0,{zoomDelta:ka(this._distance,n)*this._zoomRate,pinchAround:t}}}function ja(e,t){return 180*e.angleWith(t)/Math.PI}class Ma extends Da{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,t,n){let r=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:ja(this._vector,r),pinchAround:t}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());let t=25/(Math.PI*this._minDiameter)*360,n=ja(e,this._startVector);return Math.abs(n)<t}}function J(e){return Math.abs(e.y)>Math.abs(e.x)}class Na extends Da{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,n){super.touchstart(e,t,n),this._currentTouchCount=n.length}_start(e){this._lastPoints=e,J(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,n){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let r=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,i,n.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(r.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(e,t,n){if(this._valid!==void 0)return this._valid;let r=e.mag()>=2,i=t.mag()>=2;if(!r&&!i)return;if(!r||!i)return this._firstMove===void 0&&(this._firstMove=n),n-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return J(e)&&J(t)&&a}}let Pa={panStep:100,bearingStep:15,pitchStep:10};class Fa{constructor(e){this._tr=new ha(e);let t=Pa;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let n=0,r=0,i=0,a=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:n=1;break;case 189:case 109:case 173:n=-1;break;case 37:e.shiftKey?r=-1:(e.preventDefault(),a=-1);break;case 39:e.shiftKey?r=1:(e.preventDefault(),a=1);break;case 38:e.shiftKey?i=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?i=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(r=0,i=0),{cameraAnimation:s=>{let c=this._tr;s.easeTo({duration:300,easeId:`keyboardHandler`,easing:Ia,zoom:n?t.cw(c.zoom+n*(e.shiftKey?2:1),s.getZoomSnap()):c.zoom,bearing:c.bearing+r*this._bearingStep,pitch:c.pitch+i*this._pitchStep,offset:[-a*this._panStep,-o*this._panStep],center:c.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Ia(e){return e*(2-e)}let La=4.000244140625;class Ra{constructor(e,t){this._onTimeout=e=>{this._type=`wheel`,this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new ha(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around===`center`)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked(`wheel_zoom`,e);let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=l(),r=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,t!==0&&t%La==0?this._type=`wheel`:t!==0&&Math.abs(t)<4?this._type=`trackpad`:r>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*t)<200?`trackpad`:`wheel`,this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._needsRerender=!1,this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let n=d.mousePos(this._map.getCanvas(),e),r=this._tr;this._aroundPoint=this._aroundCenter?r.transform.locationToScreenPoint(t.W.convert(r.center)):n,this._needsRerender||(this._needsRerender=!0,this._triggerRenderFrame())}renderFrame(){if(!this._needsRerender||(this._needsRerender=!1,!this.isActive()))return;let e=this._tr.transform;if(typeof this._lastExpectedZoom==`number`){let t=e.zoom-this._lastExpectedZoom;typeof this._startZoom==`number`&&(this._startZoom+=t),typeof this._targetZoom==`number`&&(this._targetZoom+=t)}if(this._delta!==0){let n=this._type===`wheel`&&Math.abs(this._delta)>La?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&r!==0&&(r=1/r);let i=typeof this._targetZoom==`number`?t.ao(this._targetZoom):e.scale,a=e.applyConstrain(e.getCameraLngLat(),t.ar(i*r)).zoom,o=this._map.getZoomSnap();if(this._type===`wheel`&&o>0){let n=t.cw(e.zoom,o);this._targetZoom=t.cw(a,o,a-n)}else this._targetZoom=a;this._type===`wheel`&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let n=typeof this._targetZoom==`number`?this._targetZoom:e.zoom,r=this._startZoom,i=this._easing,a,o=!1;if(this._type===`wheel`&&r&&i){let e=l()-this._lastWheelEventTime,s=Math.min((e+5)/200,1),c=i(s);a=t.H.number(r,n,c),s<1?this._needsRerender=!0:o=!0}else a=n,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout}),200)),this._lastExpectedZoom=a,{noInertia:!0,needsRenderFrame:!o,zoomDelta:a-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let n=t.cy;if(this._prevEase){let e=this._prevEase,r=(l()-e.start)/e.duration,i=e.easing(r+.01)-e.easing(r),a=.27/Math.sqrt(i*i+1e-4)*.01,o=Math.sqrt(.0729-a*a);n=t.cv(a,o,.25,1)}return this._prevEase={start:l(),duration:e,easing:n},n}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class za{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Ba{constructor(e){this._tr=new ha(e),this.reset()}reset(){this._active=!1}dblclick(e,n){return e.preventDefault(),{cameraAnimation:r=>{r.easeTo({duration:300,zoom:t.cw(this._tr.zoom+(e.shiftKey?-1:1),r.getZoomSnap()),around:this._tr.unproject(n)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Va{constructor(){this._tap=new q({numTouches:1,numTaps:1}),this._zoomRate=1,this.reset()}setZoomRate(e){this._zoomRate=e??1}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,t,n){if(!this._swipePoint)if(this._tapTime){let r=t[0],i=e.timeStamp-this._tapTime<500,a=this._tapPoint.dist(r)<30;i&&a?n.length>0&&(this._swipePoint=r,this._swipeTouch=n[0].identifier):this.reset()}else this._tap.touchstart(e,t,n)}touchmove(e,t,n){if(this._tapTime){if(this._swipePoint){if(n[0].identifier!==this._swipeTouch)return;let r=t[0],i=r.y-this._swipePoint.y;return this._swipePoint=r,e.preventDefault(),this._active=!0,{zoomDelta:i/128*this._zoomRate}}}else this._tap.touchmove(e,t,n)}touchend(e,t,n){if(this._tapTime)this._swipePoint&&n.length===0&&this.reset();else{let r=this._tap.touchend(e,t,n);r&&(this._tapTime=e.timeStamp,this._tapPoint=r)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ha{constructor(e,t,n){this._el=e,this._mousePan=t,this._touchPan=n}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(`maplibregl-touch-drag-pan`)}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(`maplibregl-touch-drag-pan`)}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Ua{constructor(e,t,n,r){this._pitchWithRotate=e.pitchWithRotate,this._rollEnabled=e.rollEnabled,this._mouseRotate=t,this._mousePitch=n,this._mouseRoll=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}}class Wa{constructor(e,t,n,r){this._el=e,this._touchZoom=t,this._touchRotate=n,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add(`maplibregl-touch-zoom-rotate`)}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(`maplibregl-touch-zoom-rotate`)}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}setZoomRate(e){this._touchZoom.setZoomRate(e),this._tapDragZoom.setZoomRate(e)}setZoomThreshold(e){this._touchZoom.setZoomThreshold(e)}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Ga{constructor(e,t){this._bypassKey=navigator.userAgent.includes(`Mac`)?`metaKey`:`ctrlKey`,this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add(`maplibregl-cooperative-gestures`),this._container=d.create(`div`,`maplibregl-cooperative-gesture-screen`,e);let t=this._map._getUIString(`CooperativeGesturesHandler.WindowsHelpText`);this._bypassKey===`metaKey`&&(t=this._map._getUIString(`CooperativeGesturesHandler.MacHelpText`));let n=this._map._getUIString(`CooperativeGesturesHandler.MobileHelpText`),r=document.createElement(`div`);r.className=`maplibregl-desktop-message`,r.textContent=t,this._container.appendChild(r);let i=document.createElement(`div`);i.className=`maplibregl-mobile-message`,i.textContent=n,this._container.appendChild(i),this._container.setAttribute(`aria-hidden`,`true`)}_destroyUI(){this._container&&(this._container.remove(),this._map.getCanvasContainer().classList.remove(`maplibregl-cooperative-gestures`)),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,n){this._enabled&&(this._map.fire(new t.n(`cooperativegestureprevented`,{gestureType:e,originalEvent:n})),this._container.classList.add(`maplibregl-show`),setTimeout((()=>{this._container.classList.remove(`maplibregl-show`)}),100))}}let Ka=e=>e.zoom||e.drag||e.roll||e.pitch||e.rotate;class qa extends t.n{}function Ja(e){return e.panDelta?.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta||e.rollDelta}class Ya{get _ownerDocument(){return this._el?.ownerDocument||document}get _ownerWindow(){return this._el?.ownerDocument?.defaultView||window}constructor(e,n){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,n)=>{if(e.type===`blur`)return void this.stop(!0);this._updatingCamera=!0;let r=e.type===`renderFrame`?void 0:e,i={needsRenderFrame:!1},a={},o={};for(let{handlerName:s,handler:c,allowed:l}of this._handlers){if(!c.isEnabled())continue;let u;if(this._blockedByActive(o,l,s))c.reset();else if(c[n||e.type]){if(t.cz(e,n||e.type)){let t=d.mousePos(this._map.getCanvas(),e);u=c[n||e.type](e,t)}else if(t.cA(e,n||e.type)){let t=this._getMapTouches(e.touches),r=d.touchPos(this._map.getCanvas(),t);u=c[n||e.type](e,r,t)}else t.cB(n||e.type)||(u=c[n||e.type](e));this.mergeHandlerResult(i,a,u,s,r),u!=null&&u.needsRenderFrame&&this._triggerRenderFrame()}(u||c.isActive())&&(o[s]=c)}let s={};for(let e in this._previousActiveHandlers)o[e]||(s[e]=r);this._previousActiveHandlers=o,(Object.keys(s).length||Ja(i))&&(this._changes.push([i,a,s]),this._triggerRenderFrame()),(Object.keys(o).length||Ja(i))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:c}=i;c&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],c(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new ua(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n);let r=this._el;this._listeners=[[r,`touchstart`,{passive:!0}],[r,`touchmove`,{passive:!1}],[r,`touchend`,void 0],[r,`touchcancel`,void 0],[r,`mousedown`,void 0],[r,`mousemove`,void 0],[r,`mouseup`,void 0],[this._ownerDocument,`mousemove`,{capture:!0}],[this._ownerDocument,`mouseup`,void 0],[r,`mouseover`,void 0],[r,`mouseout`,void 0],[r,`dblclick`,void 0],[r,`click`,void 0],[r,`keydown`,{capture:!1}],[r,`keyup`,void 0],[r,`wheel`,{passive:!1}],[r,`contextmenu`,void 0],[this._ownerWindow,`blur`,void 0]];for(let[e,t,n]of this._listeners)e.addEventListener(t,e===this._ownerDocument?this.handleWindowEvent:this.handleEvent,n)}destroy(){for(let[e,t,n]of this._listeners)e.removeEventListener(t,e===this._ownerDocument?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(e){let n=this._map,r=n.getCanvasContainer();this._add(`mapEvent`,new K(n,e));let i=n.boxZoom=new ga(n,e);this._add(`boxZoom`,i),e.interactive&&e.boxZoom&&i.enable();let a=n.cooperativeGestures=new Ga(n,e.cooperativeGestures);this._add(`cooperativeGestures`,a),e.cooperativeGestures&&a.enable();let o=new ya(n),s=new Ba(n);n.doubleClickZoom=new za(s,o),this._add(`tapZoom`,o),this._add(`clickZoom`,s),e.interactive&&e.doubleClickZoom&&n.doubleClickZoom.enable();let c=new Va;this._add(`tapDragZoom`,c);let l=n.touchPitch=new Na(n);this._add(`touchPitch`,l),e.interactive&&e.touchPitch&&n.touchPitch.enable(e.touchPitch);let u=()=>n.project(n.getCenter()),d=function({enable:e,clickTolerance:n,aroundCenter:r=!0,minPixelCenterThreshold:i=100,rotateDegreesPerPixelMoved:a=.8},o){let s=new Sa({checkCorrectEvent:e=>e.button===0&&e.ctrlKey||e.button===2&&!e.ctrlKey});return new ba({clickTolerance:n,move:(e,n)=>{let s=o();if(r&&Math.abs(s.y-e.y)>i)return{bearingDelta:t.cx(new t.P(e.x,n.y),n,s)};let c=(n.x-e.x)*a;return r&&n.y<s.y&&(c=-c),{bearingDelta:c}},moveStateManager:s,enable:e,assignEvents:Ta})}(e,u),f=function({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:n=-.5}){let r=new Sa({checkCorrectEvent:e=>e.button===0&&e.ctrlKey||e.button===2});return new ba({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*n}),moveStateManager:r,enable:e,assignEvents:Ta})}(e),p=function({enable:e,clickTolerance:t,rollDegreesPerPixelMoved:n=.3},r){let i=new Sa({checkCorrectEvent:e=>e.button===2&&e.ctrlKey});return new ba({clickTolerance:t,move:(e,t)=>{let i=r(),a=(t.x-e.x)*n;return t.y<i.y&&(a=-a),{rollDelta:a}},moveStateManager:i,enable:e,assignEvents:Ta})}(e,u);n.dragRotate=new Ua(e,d,f,p),this._add(`mouseRotate`,d,[`mousePitch`]),this._add(`mousePitch`,f,[`mouseRotate`,`mouseRoll`]),this._add(`mouseRoll`,p,[`mousePitch`]),e.interactive&&e.dragRotate&&n.dragRotate.enable();let m=function({enable:e,clickTolerance:t}){let n=new Sa({checkCorrectEvent:e=>e.button===0&&!e.ctrlKey});return new ba({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:n,enable:e,assignEvents:Ta})}(e),h=new Ea(e,n);n.dragPan=new Ha(r,m,h),this._add(`mousePan`,m),this._add(`touchPan`,h,[`touchZoom`,`touchRotate`]),e.interactive&&e.dragPan&&n.dragPan.enable(e.dragPan);let g=new Ma,_=new Aa;n.touchZoomRotate=new Wa(r,_,g,c),this._add(`touchRotate`,g,[`touchPan`,`touchZoom`]),this._add(`touchZoom`,_,[`touchPan`,`touchRotate`]),e.interactive&&e.touchZoomRotate&&n.touchZoomRotate.enable(e.touchZoomRotate),this._add(`blockableMapEvent`,new ma(n));let v=n.scrollZoom=new Ra(n,(()=>this._triggerRenderFrame()));this._add(`scrollZoom`,v,[`mousePan`]),e.interactive&&e.scrollZoom&&n.scrollZoom.enable(e.scrollZoom);let y=n.keyboard=new Fa(n);this._add(`keyboard`,y),e.interactive&&e.keyboard&&n.keyboard.enable()}_add(e,t,n){this._handlers.push({handlerName:e,handler:t,allowed:n}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ka(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,n){for(let r in e)if(r!==n&&!t?.includes(r))return!0;return!1}_getMapTouches(e){let t=[];for(let n of e)this._el.contains(n.target)&&t.push(n);return t}mergeHandlerResult(e,n,r,i,a){if(!r)return;t.e(e,r);let o={handlerName:i,originalEvent:r.originalEvent||a};r.zoomDelta!==void 0&&(n.zoom=o),r.panDelta!==void 0&&(n.drag=o),r.rollDelta!==void 0&&(n.roll=o),r.pitchDelta!==void 0&&(n.pitch=o),r.bearingDelta!==void 0&&(n.rotate=o)}_applyChanges(){let e={},n={},r={};for(let[i,a,o]of this._changes)i.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(i.panDelta)),i.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+i.pitchDelta),i.rollDelta&&(e.rollDelta=(e.rollDelta||0)+i.rollDelta),i.around!==void 0&&(e.around=i.around),i.pinchAround!==void 0&&(e.pinchAround=i.pinchAround),i.noInertia&&(e.noInertia=i.noInertia),t.e(n,a),t.e(r,o);this._updateMapTransform(e,n,r),this._changes=[]}_updateMapTransform(e,t,n){let r=this._map,i=r._getTransformForUpdate(),a=r.terrain;if(!(Ja(e)||a&&this._terrainMovement))return void this._fireEvents(t,n,!0);r._stop(!0);let{panDelta:o,zoomDelta:s,bearingDelta:c,pitchDelta:l,rollDelta:u,around:d,pinchAround:f}=e;f!==void 0&&(d=f),d||=r.transform.centerPoint,a&&!i.isPointOnMapSurface(d)&&(d=i.centerPoint);let p={panDelta:o,zoomDelta:s,rollDelta:u,pitchDelta:l,bearingDelta:c,around:d};this._map.cameraHelper.useGlobeControls&&!i.isPointOnMapSurface(d)&&(d=i.centerPoint);let m=d.distSqr(i.centerPoint)<.01?i.center:i.screenPointToLocation(o?d.sub(o):d);this._handleMapControls({terrain:a,tr:i,deltasForHelper:p,preZoomAroundLoc:m,combinedEventsInProgress:t,panDelta:o}),r._applyUpdatedTransform(i),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,n,!0)}_handleMapControls({terrain:e,tr:t,deltasForHelper:n,preZoomAroundLoc:r,combinedEventsInProgress:i,panDelta:a}){let o=this._map.cameraHelper;if(o.handleMapControlsRollPitchBearingZoom(n,t),e)return o.useGlobeControls?(this._terrainMovement||!i.drag&&!i.zoom||(this._terrainMovement=!0,this._map._elevationFreeze=!0),void o.handleMapControlsPan(n,t,r)):this._terrainMovement||!i.drag&&!i.zoom?void(i.drag&&this._terrainMovement&&a?t.setCenter(t.screenPointToLocation(t.centerPoint.sub(a))):o.handleMapControlsPan(n,t,r)):(this._terrainMovement=!0,this._map._elevationFreeze=!0,void o.handleMapControlsPan(n,t,r));o.handleMapControlsPan(n,t,r)}_fireEvents(e,n,r){let i=Ka(this._eventsInProgress),a=Ka(e),o={};for(let t in e){let{originalEvent:n}=e[t];this._eventsInProgress[t]||(o[`${t}start`]=n),this._eventsInProgress[t]=e[t]}!i&&a&&this._fireEvent(`movestart`,a.originalEvent);for(let e in o)this._fireEvent(e,o[e]);a&&this._fireEvent(`move`,a.originalEvent);for(let t in e){let{originalEvent:n}=e[t];this._fireEvent(t,n)}let c={},l;for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:r}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=n[t]||r,c[`${e}end`]=l)}for(let e in c)this._fireEvent(e,c[e]);let u=Ka(this._eventsInProgress),d=(i||a)&&!u;if(d&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let e=this._map._getTransformForUpdate();this._map.getCenterClampedToGround()&&e.recalculateZoomAndCenter(this._map.terrain),this._map._applyUpdatedTransform(e)}if(r&&d){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),n=e=>e!==0&&-this._bearingSnap<e&&e<this._bearingSnap;!e||!e.essential&&s.prefersReducedMotion?(this._map.fire(new t.n(`moveend`,{originalEvent:l})),n(this._map.getBearing())&&this._map.resetNorth()):(n(e.bearing||this._map.getBearing())&&(e.bearing=0),e.freezeElevation=!0,this._map.easeTo(e,{originalEvent:l})),this._updatingCamera=!1}}_fireEvent(e,n){this._map.fire(new t.n(e,n?{originalEvent:n}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add((e=>{delete this._frameId,this.handleEvent(new qa(`renderFrame`,{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Xa extends t.E{constructor(e,t,n){super(),this._renderFrameCallback=()=>{let e=Math.min((l()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=n.bearingSnap,this._zoomSnap=n.zoomSnap,this.cameraHelper=t,this.on(`moveend`,(()=>{delete this._requestedCameraState}))}migrateProjection(e,t){e.apply(this.transform,!0),this.transform=e,this.cameraHelper=t}getCenter(){return new t.W(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}getCenterElevation(){return this.transform.elevation}setCenterElevation(e,t){return this.jumpTo({elevation:e},t),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(e){this._centerClampedToGround=e}panBy(e,n,r){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},n),r)}panTo(e,n,r){return this.easeTo(t.e({center:e},n),r)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,n,r){return this.easeTo(t.e({zoom:e},n),r)}zoomIn(e,n){return this.zoomTo(t.cw(this.getZoom()+1,this._zoomSnap),e,n),this}zoomOut(e,n){return this.zoomTo(t.cw(this.getZoom()-1,this._zoomSnap),e,n),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(e,n){return e!=this.transform.fov&&(this.transform.setFov(e),this.fire(new t.n(`movestart`,n)).fire(new t.n(`move`,n)).fire(new t.n(`moveend`,n))),this}getBearing(){return this.transform.bearing}setZoomSnap(e){return this._zoomSnap=e,this}getZoomSnap(){return this._zoomSnap}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,n,r){return this.easeTo(t.e({bearing:e},n),r)}resetNorth(e,n){return this.rotateTo(0,t.e({duration:1e3},e),n),this}resetNorthPitch(e,n){return this.easeTo(t.e({bearing:0,pitch:0,roll:0,duration:1e3},e),n),this}snapToNorth(e,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,t):this}getPitch(){return this.transform.pitch}setPitch(e,t){return this.jumpTo({pitch:e},t),this}getRoll(){return this.transform.roll}setRoll(e,t){return this.jumpTo({roll:e},t),this}cameraForBounds(e,t){e=de.convert(e).adjustAntiMeridian();let n=t?.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),n,t)}_cameraForBoxAndBearing(e,n,r,i){let a={top:0,bottom:0,right:0,left:0};if(typeof(i=t.e({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding==`number`){let e=i.padding;i.padding={top:e,bottom:e,right:e,left:e}}let o=t.e(a,i.padding);i.padding=o;let s=this.transform,c=new de(e,n),l=this.cameraHelper.cameraForBoxAndBearing(i,o,c,r,s);return l&&this._zoomSnap&&(l.zoom=t.cw(l.zoom,this._zoomSnap,-1)),l}fitBounds(e,t,n){return this._fitInternal(this.cameraForBounds(e,t),t,n)}fitScreenCoordinates(e,n,r,i,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.screenPointToLocation(t.P.convert(e)),this.transform.screenPointToLocation(t.P.convert(n)),r,i),i,a)}_fitInternal(e,n,r){return e?(delete(n=t.e(e,n)).padding,n.linear?this.easeTo(n,r):this.flyTo(n,r)):this}jumpTo(e,n){this.stop(),`zoom`in e&&this._zoomSnap&&(e.zoom=t.cw(e.zoom,this._zoomSnap));let r=this._getTransformForUpdate(),i=!1,a=!1,o=!1,s=r.zoom;this.terrain&&r.setElevation(this.terrain.getElevationForLngLatZoom(e.center?t.W.convert(e.center):r.center,e.zoom||r.tileZoom)),this.cameraHelper.handleJumpToCenterZoom(r,e);let c=r.zoom!==s;return`elevation`in e&&r.elevation!==+e.elevation&&r.setElevation(+e.elevation),`bearing`in e&&r.bearing!==+e.bearing&&(i=!0,r.setBearing(+e.bearing)),`pitch`in e&&r.pitch!==+e.pitch&&(a=!0,r.setPitch(+e.pitch)),`roll`in e&&r.roll!==+e.roll&&(o=!0,r.setRoll(+e.roll)),e.padding==null||r.isPaddingEqual(e.padding)||r.setPadding(e.padding),this._applyUpdatedTransform(r),this.fire(new t.n(`movestart`,n)).fire(new t.n(`move`,n)),c&&this.fire(new t.n(`zoomstart`,n)).fire(new t.n(`zoom`,n)).fire(new t.n(`zoomend`,n)),i&&this.fire(new t.n(`rotatestart`,n)).fire(new t.n(`rotate`,n)).fire(new t.n(`rotateend`,n)),a&&this.fire(new t.n(`pitchstart`,n)).fire(new t.n(`pitch`,n)).fire(new t.n(`pitchend`,n)),o&&this.fire(new t.n(`rollstart`,n)).fire(new t.n(`roll`,n)).fire(new t.n(`rollend`,n)),this.fire(new t.n(`moveend`,n))}calculateCameraOptionsFromTo(e,n,r,i=0){let a=t.a7.fromLngLat(e,n),o=t.a7.fromLngLat(r,i),s=o.x-a.x,c=o.y-a.y,l=o.z-a.z,u=Math.hypot(s,c,l);if(u===0)throw Error(`Can't calculate camera options with same From and To`);let d=Math.hypot(s,c),f=t.ar(this.transform.cameraToCenterDistance/u/this.transform.tileSize),p=180*Math.atan2(s,-c)/Math.PI,m=180*Math.acos(d/u)/Math.PI;return m=l<0?90-m:90+m,{center:o.toLngLat(),elevation:i,zoom:f,pitch:m,bearing:p}}calculateCameraOptionsFromCameraLngLatAltRotation(e,t,n,r,i){let a=this.transform.calculateCenterFromCameraLngLatAlt(e,t,n,r);return{center:a.center,elevation:a.elevation,zoom:a.zoom,bearing:n,pitch:r,roll:i}}easeTo(e,n){this._stop(!1,e.easeId),`zoom`in(e=t.e({offset:[0,0],duration:500,easing:t.cy},e))&&this._zoomSnap&&(e.zoom=t.cw(e.zoom,this._zoomSnap)),(!1===e.animate||!e.essential&&s.prefersReducedMotion)&&(e.duration=0);let r=this._getTransformForUpdate(),i=this.getBearing(),a=r.pitch,o=r.roll,c=`bearing`in e?this._normalizeBearing(e.bearing,i):i,l=`pitch`in e?+e.pitch:a,u=`roll`in e?this._normalizeBearing(e.roll,o):o,d=`padding`in e?e.padding:r.padding,f=t.P.convert(e.offset),p,m;e.around&&(p=t.W.convert(e.around),m=r.locationToScreenPoint(p));let h={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching,rolling:this._rolling},g=this.cameraHelper.handleEaseTo(r,{bearing:c,pitch:l,roll:u,padding:d,around:p,aroundPoint:m,offsetAsPoint:f,offset:e.offset,zoom:e.zoom,center:e.center});return this._rotating||=i!==c,this._pitching||=l!==a,this._rolling||=u!==o,this._padding=!r.isPaddingEqual(d),this._zooming||=g.isZooming,this._easeId=e.easeId,this._prepareEase(n,e.noMoveStart,h),this.terrain&&this._prepareElevation(g.elevationCenter),this._ease((t=>{g.easeFunc(t),this.terrain&&!e.freezeElevation&&this._updateElevation(t),this._applyUpdatedTransform(r),this._fireMoveEvents(n)}),(t=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n,t)}),e),this}_prepareEase(e,n,r={}){this._moving=!0,n||r.moving||this.fire(new t.n(`movestart`,e)),this._zooming&&!r.zooming&&this.fire(new t.n(`zoomstart`,e)),this._rotating&&!r.rotating&&this.fire(new t.n(`rotatestart`,e)),this._pitching&&!r.pitching&&this.fire(new t.n(`pitchstart`,e)),this._rolling&&!r.rolling&&this.fire(new t.n(`rollstart`,e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this._elevationStart!==void 0&&this._elevationCenter!==void 0||this._prepareElevation(this.transform.center),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom));let n=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&n!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(n-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=n}this.transform.setElevation(t.H.number(this._elevationStart,this._elevationTarget,e))}_finalizeElevation(){this._elevationFreeze=!1,this.getCenterClampedToGround()&&this.transform.recalculateZoomAndCenter(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||=this.transform.clone(),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(e){if(!this.terrain&&e.elevation>=0&&e.pitch<=90)return{};let t=e.getCameraLngLat(),n=e.getCameraAltitude(),r=this.terrain?this.terrain.getElevationForLngLatZoom(t,e.zoom):0;if(n<r){let n=this.calculateCameraOptionsFromTo(t,r,e.center,e.elevation);return{pitch:n.pitch,zoom:n.zoom}}return{}}_applyUpdatedTransform(e){let t=[];if(t.push((e=>this._elevateCameraIfInsideTerrain(e))),this.transformCameraUpdate&&t.push((e=>this.transformCameraUpdate(e))),!t.length)return;let n=e.clone();for(let e of t){let t=n.clone(),{center:r,zoom:i,roll:a,pitch:o,bearing:s,elevation:c}=e(t);r&&t.setCenter(r),c!==void 0&&t.setElevation(c),i!==void 0&&t.setZoom(i),a!==void 0&&t.setRoll(a),o!==void 0&&t.setPitch(o),s!==void 0&&t.setBearing(s),n.apply(t,!1)}this.transform.apply(n,!1)}_fireMoveEvents(e){this.fire(new t.n(`move`,e)),this._zooming&&this.fire(new t.n(`zoom`,e)),this._rotating&&this.fire(new t.n(`rotate`,e)),this._pitching&&this.fire(new t.n(`pitch`,e)),this._rolling&&this.fire(new t.n(`roll`,e))}_afterEase(e,n){if(this._easeId&&n&&this._easeId===n)return;delete this._easeId;let r=this._zooming,i=this._rotating,a=this._pitching,o=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,r&&this.fire(new t.n(`zoomend`,e)),i&&this.fire(new t.n(`rotateend`,e)),a&&this.fire(new t.n(`pitchend`,e)),o&&this.fire(new t.n(`rollend`,e)),this.fire(new t.n(`moveend`,e))}flyTo(e,n){if(!e.essential&&s.prefersReducedMotion){let r=t.V(e,[`center`,`zoom`,`bearing`,`pitch`,`roll`,`elevation`,`padding`]);return this.jumpTo(r,n)}this.stop(),`zoom`in(e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.cy},e))&&this._zoomSnap&&(e.zoom=t.cw(e.zoom,this._zoomSnap));let r=this._getTransformForUpdate(),i=r.bearing,a=r.pitch,o=r.roll,c=r.padding,l=`bearing`in e?this._normalizeBearing(e.bearing,i):i,u=`pitch`in e?+e.pitch:a,d=`roll`in e?this._normalizeBearing(e.roll,o):o,f=`padding`in e?e.padding:r.padding,p=t.P.convert(e.offset),m=r.centerPoint.add(p),h=r.screenPointToLocation(m),g=this.cameraHelper.handleFlyTo(r,{bearing:l,pitch:u,roll:d,padding:f,locationAtOffset:h,offsetAsPoint:p,center:e.center,minZoom:e.minZoom,zoom:e.zoom}),_=e.curve,v=Math.max(r.width,r.height),y=v/g.scaleOfZoom,b=g.pixelPathLength;typeof g.scaleOfMinZoom==`number`&&(_=Math.sqrt(v/g.scaleOfMinZoom/b*2));let x=_*_;function S(e){let t=(y*y-v*v+(e?-1:1)*x*x*b*b)/(2*(e?y:v)*x*b);return Math.log(Math.sqrt(t*t+1)-t)}function C(e){return(Math.exp(e)-Math.exp(-e))/2}function w(e){return(Math.exp(e)+Math.exp(-e))/2}let T=S(!1),ee=function(e){return w(T)/w(T+_*e)},E=function(e){return v*((w(T)*(C(t=T+_*e)/w(t))-C(T))/x)/b;var t},D=(S(!0)-T)/_;if(Math.abs(b)<2e-6||!isFinite(D)){if(Math.abs(v-y)<1e-6)return this.easeTo(e,n);let t=y<v?-1:1;D=Math.abs(Math.log(y/v))/_,E=()=>0,ee=e=>Math.exp(t*_*e)}return e.duration=`duration`in e?+e.duration:1e3*D/(`screenSpeed`in e?+e.screenSpeed/_:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=i!==l,this._pitching=u!==a,this._rolling=d!==o,this._padding=!r.isPaddingEqual(f),this._prepareEase(n,!1),this.terrain&&this._prepareElevation(g.targetCenter),this._ease((s=>{let h=s*D,_=1/ee(h),v=E(h);this._rotating&&r.setBearing(t.H.number(i,l,s)),this._pitching&&r.setPitch(t.H.number(a,u,s)),this._rolling&&r.setRoll(t.H.number(o,d,s)),this._padding&&(r.interpolatePadding(c,f,s),m=r.centerPoint.add(p)),g.easeFunc(s,_,v,m),this.terrain&&!e.freezeElevation&&this._updateElevation(s),this._applyUpdatedTransform(r),this._fireMoveEvents(n)}),(()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(n)}),e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){var n;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}return e||(n=this.handlers)==null||n.stop(!1),this}_ease(e,t,n){!1===n.animate||n.duration===0?(e(1),t()):(this._easeStart=l(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,n){e=t.X(e,-180,180);let r=Math.abs(e-n);return Math.abs(e-360-n)<r&&(e-=360),Math.abs(e+360-n)<r&&(e+=360),e}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLat(t.W.convert(e),this.transform):null}}let Y={compact:!0,customAttribution:`<a href="https://maplibre.org/" target="_blank">MapLibre</a>`};class Za{constructor(e=Y){this._toggleAttribution=()=>{this._container.classList.contains(`maplibregl-compact`)&&(this._container.classList.contains(`maplibregl-compact-show`)?(this._container.setAttribute(`open`,``),this._container.classList.remove(`maplibregl-compact-show`)):(this._container.classList.add(`maplibregl-compact-show`),this._container.removeAttribute(`open`)))},this._updateData=e=>{!e||e.sourceDataType!==`metadata`&&e.sourceDataType!==`visibility`&&e.dataType!==`style`&&e.type!==`terrain`||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(`open`,``):this._container.classList.contains(`maplibregl-compact`)||this._container.classList.contains(`maplibregl-attrib-empty`)||(this._container.setAttribute(`open`,``),this._container.classList.add(`maplibregl-compact`,`maplibregl-compact-show`)):(this._container.setAttribute(`open`,``),this._container.classList.contains(`maplibregl-compact`)&&this._container.classList.remove(`maplibregl-compact`,`maplibregl-compact-show`))},this._updateCompactMinimize=()=>{this._container.classList.contains(`maplibregl-compact`)&&this._container.classList.contains(`maplibregl-compact-show`)&&this._container.classList.remove(`maplibregl-compact-show`)},this.options=e}getDefaultPosition(){return`bottom-right`}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=d.create(`details`,`maplibregl-ctrl maplibregl-ctrl-attrib`),this._compactButton=d.create(`summary`,`maplibregl-ctrl-attrib-button`,this._container),this._compactButton.addEventListener(`click`,this._toggleAttribution),this._setElementTitle(this._compactButton,`ToggleAttribution`),this._innerContainer=d.create(`div`,`maplibregl-ctrl-attrib-inner`,this._container),this._updateAttributions(),this._updateCompact(),this._map.on(`styledata`,this._updateData),this._map.on(`sourcedata`,this._updateData),this._map.on(`terrain`,this._updateData),this._map.on(`resize`,this._updateCompact),this._map.on(`drag`,this._updateCompactMinimize),this._container}onRemove(){this._container.remove(),this._map.off(`styledata`,this._updateData),this._map.off(`sourcedata`,this._updateData),this._map.off(`terrain`,this._updateData),this._map.off(`resize`,this._updateCompact),this._map.off(`drag`,this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,t){let n=this._map._getUIString(`AttributionControl.${t}`);e.title=n,e.setAttribute(`aria-label`,n)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map((e=>typeof e==`string`?e:``))):typeof this.options.customAttribution==`string`&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.tileManagers;for(let n in t){let r=t[n];if(r.used||r.usedForTerrain){let t=r.getSource();t.attribution&&!e.includes(t.attribution)&&e.push(t.attribution)}}e=e.filter((e=>String(e).trim())),e.sort(((e,t)=>e.length-t.length)),e=e.filter(((t,n)=>{for(let r=n+1;r<e.length;r++)if(e[r].includes(t))return!1;return!0}));let n=e.join(` | `);n!==this._attribHTML&&(this._attribHTML=n,e.length?(this._innerContainer.innerHTML=d.sanitize(n),this._container.classList.remove(`maplibregl-attrib-empty`)):this._container.classList.add(`maplibregl-attrib-empty`),this._updateCompact(),this._editLink=null)}}class Qa{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add(`maplibregl-compact`):t.classList.remove(`maplibregl-compact`)}},this.options=e}getDefaultPosition(){return`bottom-left`}onAdd(e){this._map=e,this._compact=this.options?.compact,this._container=d.create(`div`,`maplibregl-ctrl`);let t=d.create(`a`,`maplibregl-ctrl-logo`);return t.target=`_blank`,t.rel=`noopener nofollow`,t.href=`https://maplibre.org/`,t.setAttribute(`aria-label`,this._map._getUIString(`LogoControl.Title`)),t.setAttribute(`rel`,`noopener nofollow`),this._container.appendChild(t),this._container.style.display=`block`,this._map.on(`resize`,this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off(`resize`,this._updateCompact),this._map=void 0,this._compact=void 0}}class $a{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning,n=t?this._queue.concat(t):this._queue;for(let t of n)if(t.id===e)return void(t.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw Error(`Attempting to run(), but is already running.`);let t=this._currentlyRunning=this._queue;this._queue=[];for(let n of t)if(!n.cancelled&&(n.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var eo=t.aS([{name:`a_pos3d`,type:`Int16`,components:3}]);class to extends t.E{constructor(e){super(),this._lastTilesetChange=l(),this.tileManager=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=e._source.tileSize*2**this.deltaZoom,e.usedForTerrain=!0,e.tileSize=this.tileSize}destruct(){this.tileManager.usedForTerrain=!1,this.tileManager.tileSize=null}getSource(){return this.tileManager._source}update(e,n){this.tileManager.update(e,n),this._renderableTilesKeys=[];let r={};for(let i of qe(e,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:n,calculateTileZoom:this.tileManager._source.calculateTileZoom}))r[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.terrainRttPosMatrix32f=new Float64Array(16),t.c7(i.terrainRttPosMatrix32f,0,t.a6,t.a6,0,0,1),this._tiles[i.key]=new Pe(i,this.tileSize),this._lastTilesetChange=l());for(let e in this._tiles)r[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let n=this._tiles[t];(!e||n.tileID.equals(e)||n.tileID.isChildOf(e)||e.isChildOf(n.tileID))&&(n.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((e=>this.getTileByID(e)))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e,t){return t?this._getTerrainCoordsForTileRanges(e,t):this._getTerrainCoordsForRegularTile(e)}_getTerrainCoordsForRegularTile(e){let n={};for(let r of this._renderableTilesKeys){let i=this._tiles[r].tileID,a=e.clone(),o=t.bj();if(i.canonical.equals(e.canonical))t.c7(o,0,t.a6,t.a6,0,0,1);else if(i.canonical.isChildOf(e.canonical)){let n=i.canonical.z-e.canonical.z,r=i.canonical.x-(i.canonical.x>>n<<n),a=i.canonical.y-(i.canonical.y>>n<<n),s=t.a6>>n;t.c7(o,0,s,s,0,0,1),t.Q(o,o,[-r*s,-a*s,0])}else{if(!e.canonical.isChildOf(i.canonical))continue;{let n=e.canonical.z-i.canonical.z,r=e.canonical.x-(e.canonical.x>>n<<n),a=e.canonical.y-(e.canonical.y>>n<<n),s=t.a6>>n;t.c7(o,0,t.a6,t.a6,0,0,1),t.Q(o,o,[r*s,a*s,0]),t.S(o,o,[1/2**n,1/2**n,0])}}a.terrainRttPosMatrix32f=new Float32Array(o),n[r]=a}return n}_getTerrainCoordsForTileRanges(e,n){let r={};for(let i of this._renderableTilesKeys){let a=this._tiles[i].tileID;if(!this._isWithinTileRanges(a,n))continue;let o=e.clone(),s=t.bj();if(a.canonical.z===e.canonical.z){let n=e.canonical.x-a.canonical.x+e.wrap*(1<<e.canonical.z),r=e.canonical.y-a.canonical.y;t.c7(s,0,t.a6,t.a6,0,0,1),t.Q(s,s,[n*t.a6,r*t.a6,0])}else if(a.canonical.z>e.canonical.z){let n=a.canonical.z-e.canonical.z,r=a.canonical.x-(a.canonical.x>>n<<n)+e.wrap*(1<<a.canonical.z),i=a.canonical.y-(a.canonical.y>>n<<n),o=e.canonical.x-(a.canonical.x>>n),c=e.canonical.y-(a.canonical.y>>n),l=t.a6>>n;t.c7(s,0,l,l,0,0,1),t.Q(s,s,[-r*l+o*t.a6,-i*l+c*t.a6,0])}else{let n=e.canonical.z-a.canonical.z,r=e.canonical.x-(e.canonical.x>>n<<n)+e.wrap*(1<<e.canonical.z),i=e.canonical.y-(e.canonical.y>>n<<n),o=(e.canonical.x>>n)-a.canonical.x,c=(e.canonical.y>>n)-a.canonical.y,l=t.a6<<n;t.c7(s,0,l,l,0,0,1),t.Q(s,s,[r*t.a6+o*l,i*t.a6+c*l,0])}o.terrainRttPosMatrix32f=new Float32Array(s),r[i]=o}return r}getSourceTile(e,t){var n,r;let i=this.tileManager._source,a=e.overscaledZ-this.deltaZoom;if(a>i.maxzoom&&(a=i.maxzoom),a<i.minzoom)return;(n=this._sourceTileCache)[r=e.key]||(n[r]=e.scaledTo(a).key);let o=this.findTileInCaches(this._sourceTileCache[e.key]);if(!o?.dem&&t)for(;a>=i.minzoom&&!o?.dem;)o=this.findTileInCaches(e.scaledTo(a--).key);return o}findTileInCaches(e){let t=this.tileManager.getTileByID(e);return t||(t=this.tileManager._outOfViewCache.getByKey(e),t)}anyTilesAfterTime(e=Date.now()){return this._lastTilesetChange>=e}_isWithinTileRanges(e,t){let n=t[e.canonical.z];return!!n&&(e.wrap>n.minWrap||e.wrap<n.maxWrap||e.canonical.x>=n.minTileXWrapped&&e.canonical.x<=n.maxTileXWrapped&&e.canonical.y>=n.minTileY&&e.canonical.y<=n.maxTileY)}}class no{constructor(e,t,n){this._meshCache={},this.painter=e,this.tileManager=new to(t),this.options=n,this.exaggeration=typeof n.exaggeration==`number`?n.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}destroy(){this._fbo&&=(this._fbo.destroy(),null),this._fboCoordsTexture&&=(this._fboCoordsTexture.destroy(),null),this._fboDepthTexture&&=(this._fboDepthTexture.destroy(),null),this._emptyDemTexture&&=(this._emptyDemTexture.destroy(),null),this._emptyDepthTexture&&=(this._emptyDepthTexture.destroy(),null),this._coordsTexture&&=(this._coordsTexture.destroy(),null);for(let e in this._meshCache)this._meshCache[e].destroy();this._meshCache={},this.tileManager.destruct()}getDEMElevation(e,n,r,i=t.a6){let a=e.normalizeCoordinates(n,r,i);if(!a)return 0;let o=this.getTerrainData(a.tileID),s=o.tile?.dem;if(!s)return 0;let c=t.cC([],[a.x/i*t.a6,a.y/i*t.a6],o.u_terrain_matrix),l=[c[0]*s.dim,c[1]*s.dim],u=Math.floor(l[0]),d=Math.floor(l[1]),f=l[0]-u,p=l[1]-d;return s.get(u,d)*(1-f)*(1-p)+s.get(u+1,d)*f*(1-p)+s.get(u,d+1)*(1-f)*p+s.get(u+1,d+1)*f*p}getElevationForLngLatZoom(e,n){if(!t.cD(n,e.wrap()))return 0;let{tileID:r,mercatorX:i,mercatorY:a}=this._getOverscaledTileIDFromLngLatZoom(e,n);return this.getElevation(r,i%t.a6,a%t.a6,t.a6)}getElevationForLngLat(e,t){let n=qe(t,{maxzoom:this.tileManager.maxzoom,minzoom:this.tileManager.minzoom,tileSize:512,terrain:this}),r=0;for(let e of n)e.canonical.z>r&&(r=Math.min(e.canonical.z,this.tileManager.maxzoom));return this.getElevationForLngLatZoom(e,r)}getElevation(e,n,r,i=t.a6){return this.getDEMElevation(e,n,r,i)*this.exaggeration}getTerrainData(e){if(!this._emptyDemTexture){let e=this.painter.context,n=new t.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new t.T(e,n,e.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new t.T(e,new t.R({width:1,height:1}),e.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=t.ap([])}let n=this.tileManager.getSourceTile(e,!0);if(n?.dem&&(!n.demTexture||n.needsTerrainPrepare)){let e=this.painter.context;n.demTexture=this.painter.getTileTexture(n.dem.stride),n.demTexture?n.demTexture.update(n.dem.getPixels(),{premultiply:!1}):n.demTexture=new t.T(e,n.dem.getPixels(),e.gl.RGBA,{premultiply:!1}),n.demTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),n.needsTerrainPrepare=!1}let r=n&&n.toString()+n.tileID.key+e.key;if(r&&!this._demMatrixCache[r]){let i=this.tileManager.getSource().maxzoom,a=e.canonical.z-n.tileID.canonical.z;e.overscaledZ>e.canonical.z&&(e.canonical.z>=i?a=e.canonical.z-i:t.w(`cannot calculate elevation if elevation maxzoom > source.maxzoom`));let o=e.canonical.x-(e.canonical.x>>a<<a),s=e.canonical.y-(e.canonical.y>>a<<a),c=t.cE(new Float64Array(16),[1/(t.a6<<a),1/(t.a6<<a),0]);t.Q(c,c,[o*t.a6,s*t.a6,0]),this._demMatrixCache[r]={matrix:c,coord:e}}return{u_depth:2,u_terrain:3,u_terrain_dim:n?.dem?.dim||1,u_terrain_matrix:r?this._demMatrixCache[r].matrix:this._emptyDemMatrix,u_terrain_unpack:(n?.dem)?.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(n?.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:n}}getFramebuffer(e){let n=this.painter,r=n.width/devicePixelRatio,i=n.height/devicePixelRatio;return!this._fbo||this._fbo.width===r&&this._fbo.height===i||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new t.T(n.context,{width:r,height:i,data:null},n.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(n.context.gl.NEAREST,n.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new t.T(n.context,{width:r,height:i,data:null},n.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(n.context.gl.NEAREST,n.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=n.context.createFramebuffer(r,i,!0,!1),this._fbo.depthAttachment.set(n.context.createRenderbuffer(n.context.gl.DEPTH_COMPONENT16,r,i))),this._fbo.colorAttachment.set(e===`coords`?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let e=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let n=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let e=0,t=0;e<this._coordsTextureSize;e++)for(let r=0;r<this._coordsTextureSize;r++,t+=4)n[t+0]=255&r,n[t+1]=255&e,n[t+2]=r>>8<<4|e>>8,n[t+3]=0;let r=new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(n.buffer)),i=new t.T(e,r,e.gl.RGBA,{premultiply:!1});return i.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(e){this.painter.maybeDrawDepth(!0),this.painter.maybeDrawCoords();let n=new Uint8Array(4),r=this.painter.context,i=r.gl,a=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);r.bindFramebuffer.set(this.getFramebuffer(`coords`).framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,n),r.bindFramebuffer.set(null);let c=n[0]+(n[2]>>4<<8),l=n[1]+((15&n[2])<<8),u=this.coordsIndex[255-n[3]],d=u&&this.tileManager.getTileByID(u);if(!d)return null;let f=this._coordsTextureSize,p=(1<<d.tileID.canonical.z)*f;return new t.a7((d.tileID.canonical.x*f+c)/p+d.tileID.wrap,(d.tileID.canonical.y*f+l)/p,this.getElevation(d.tileID,c,l,f))}depthAtPoint(e){let t=new Uint8Array(4),n=this.painter.context,r=n.gl;return n.bindFramebuffer.set(this.getFramebuffer(`depth`).framebuffer),r.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,r.RGBA,r.UNSIGNED_BYTE,t),n.bindFramebuffer.set(null),(t[0]/16777216+t[1]/65536+t[2]/256+t[3])/256}getTerrainMesh(e){let n=this.painter.style.projection?.transitionState>0,r=n&&e.canonical.y===0,i=n&&e.canonical.y===(1<<e.canonical.z)-1,a=`m_${r?`n`:``}_${i?`s`:``}`;if(this._meshCache[a])return this._meshCache[a];let o=this.painter.context,s=new t.cF,c=new t.aW,l=this.meshSize,u=t.a6/l,d=l*l;for(let e=0;e<=l;e++)for(let t=0;t<=l;t++)s.emplaceBack(t*u,e*u,0);for(let e=0;e<d;e+=l+1)for(let t=0;t<l;t++)c.emplaceBack(t+e,l+t+e+1,l+t+e+2),c.emplaceBack(t+e,l+t+e+2,t+e+1);let f=s.length,p=f+(l+1),m=(l+1)*l,h=r?t.bq:0,g=+!r,_=i?t.br:t.a6,v=+!i;for(let e=0;e<=l;e++)s.emplaceBack(e*u,h,g);for(let e=0;e<=l;e++)s.emplaceBack(e*u,_,v);for(let e=0;e<l;e++)c.emplaceBack(m+e,p+e,p+e+1),c.emplaceBack(m+e,p+e+1,m+e+1),c.emplaceBack(0+e,f+e+1,f+e),c.emplaceBack(0+e,0+e+1,f+e+1);let y=s.length,b=y+2*(l+1);for(let e of[0,1])for(let n=0;n<=l;n++)for(let r of[0,1])s.emplaceBack(e*t.a6,n*u,r);for(let e=0;e<2*l;e+=2)c.emplaceBack(y+e,y+e+1,y+e+3),c.emplaceBack(y+e,y+e+3,y+e+2),c.emplaceBack(b+e,b+e+3,b+e+1),c.emplaceBack(b+e,b+e+2,b+e+3);let x=new Jt(o.createVertexBuffer(s,eo.members),o.createIndexBuffer(c),t.aV.simpleSegment(0,0,s.length,c.length));return this._meshCache[a]=x,x}getMeshFrameDelta(e){return 2*Math.PI*t.bD/2**Math.max(e,0)/5}getMinTileElevationForLngLatZoom(e,n){if(!t.cD(n,e.wrap()))return 0;let{tileID:r}=this._getOverscaledTileIDFromLngLatZoom(e,n);return this.getMinMaxElevation(r).minElevation??0}getMinMaxElevation(e){let t=this.getTerrainData(e).tile,n={minElevation:null,maxElevation:null};return t!=null&&t.dem&&(n.minElevation=t.dem.min*this.exaggeration,n.maxElevation=t.dem.max*this.exaggeration),n}_getOverscaledTileIDFromLngLatZoom(e,n){let r=t.a7.fromLngLat(e.wrap()),i=(1<<n)*t.a6,a=r.x*i,o=r.y*i,s=Math.floor(a/t.a6),c=Math.floor(o/t.a6);return{tileID:new t.a3(n,0,n,s,c),mercatorX:a,mercatorY:o}}}class ro{constructor(e,t,n){this._context=e,this._size=t,this._tileSize=n,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let e of this._objects)e.texture.destroy(),e.fbo.destroy()}_createObject(e){let n=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),r=new t.T(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return r.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),this._context.extTextureFilterAnisotropic&&this._context.gl.texParameterf(this._context.gl.TEXTURE_2D,this._context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this._context.extTextureFilterAnisotropicMax),n.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),n.colorAttachment.set(r.texture),{id:e,fbo:n,texture:r,stamp:-1,inUse:!1}}getObjectForId(e){return this._objects[e]}useObject(e){e.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter((t=>e.id!==t)),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw Error(`No free RenderPool available, call freeAllObjects() required!`);let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length<this._size)&&!1===this._objects.some((e=>!e.inUse))}}let io={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0,"color-relief":!0};class ao{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new ro(e.context,30,t.tileManager.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){var n;this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.tileManager.getRenderableTiles(),this._renderableLayerIds=e._order.filter((n=>!e._layers[n].isHidden(t))),this._coordsAscending={};for(let t in e.tileManagers){this._coordsAscending[t]={};let r=e.tileManagers[t].getVisibleCoordinates(),i=e.tileManagers[t].getSource(),a=i instanceof Ce?i.terrainTileRanges:null;for(let e of r){let r=this.terrain.tileManager.getTerrainCoords(e,a);for(let e in r)(n=this._coordsAscending[t])[e]||(n[e]=[]),this._coordsAscending[t][e].push(r[e])}}this._rttFingerprints={};for(let t of e._order){let n=e._layers[t],r=n.source;if(io[n.type]&&!this._rttFingerprints[r]){this._rttFingerprints[r]={};let t=e.tileManagers[r]?.getState().revision??0;for(let e in this._coordsAscending[r])this._rttFingerprints[r][e]=`${this._coordsAscending[r][e].map((e=>e.key)).sort().join()}#${t}`}}for(let e of this._renderableTiles)for(let t in this._rttFingerprints){let n=this._rttFingerprints[t][e.tileID.key];n&&n!==e.rttFingerprint[t]&&(e.rtt=[])}}renderLayer(e,n){if(e.isHidden(this.painter.transform.zoom))return!1;let r=Object.assign(Object.assign({},n),{isRenderingToTexture:!0}),i=e.type,a=this.painter,o=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(io[i]&&(this._prevType&&io[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(e.id),!o))return!0;if(io[this._prevType]||io[i]&&o){this._prevType=i;let e=this._stacks.length-1,n=this._stacks[e]||[];for(let i of this._renderableTiles){if(this.pool.isFull()&&(Qi(this.painter,this.terrain,this._rttTiles,r),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[e]){let t=this.pool.getObjectForId(i.rtt[e].id);if(t.stamp===i.rtt[e].stamp){this.pool.useObject(t);continue}}let o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),i.rtt[e]={id:o.id,stamp:o.stamp},a.context.bindFramebuffer.set(o.fbo.framebuffer),a.context.clear({color:t.bo.transparent,stencil:0}),a.currentStencilSource=void 0;for(let e of n){let t=a.style._layers[e],n=t.source?this._coordsAscending[t.source][i.tileID.key]:[i.tileID];a.context.viewport.set([0,0,o.fbo.width,o.fbo.height]),a._renderTileClippingMasks(t,n,!0),a.renderLayer(a,a.style.tileManagers[t.source],t,n,r),t.source&&(i.rttFingerprint[t.source]=this._rttFingerprints[t.source][i.tileID.key])}}return Qi(this.painter,this.terrain,this._rttTiles,r),this._rttTiles=[],this.pool.freeAllObjects(),io[i]}return!1}}let oo={"AttributionControl.ToggleAttribution":`Toggle attribution`,"AttributionControl.MapFeedback":`Map feedback`,"FullscreenControl.Enter":`Enter fullscreen`,"FullscreenControl.Exit":`Exit fullscreen`,"GeolocateControl.FindMyLocation":`Find my location`,"GeolocateControl.LocationNotAvailable":`Location not available`,"LogoControl.Title":`MapLibre logo`,"Map.Title":`Map`,"Marker.Title":`Map marker`,"NavigationControl.ResetBearing":`Drag to rotate map, click to reset north`,"NavigationControl.ZoomIn":`Zoom in`,"NavigationControl.ZoomOut":`Zoom out`,"Popup.Close":`Close popup`,"ScaleControl.Feet":`ft`,"ScaleControl.Meters":`m`,"ScaleControl.Kilometers":`km`,"ScaleControl.Miles":`mi`,"ScaleControl.NauticalMiles":`nm`,"GlobeControl.Enable":`Enable globe`,"GlobeControl.Disable":`Disable globe`,"TerrainControl.Enable":`Enable terrain`,"TerrainControl.Disable":`Disable terrain`,"CooperativeGesturesHandler.WindowsHelpText":`Use Ctrl + scroll to zoom the map`,"CooperativeGesturesHandler.MacHelpText":`Use ⌘ + scroll to zoom the map`,"CooperativeGesturesHandler.MobileHelpText":`Use two fingers to move the map`},so=n,co={hash:!1,interactive:!0,bearingSnap:7,zoomSnap:0,attributionControl:Y,maplibreLogo:!1,refreshExpiredTiles:!0,canvasContextAttributes:{antialias:!1,preserveDrawingBuffer:!1,powerPreference:`high-performance`,failIfMajorPerformanceCaveat:!1,desynchronized:!1,contextType:void 0},scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],elevation:0,zoom:0,bearing:0,pitch:0,roll:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:t.c.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,transformConstrain:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:`sans-serif`,pitchWithRotate:!0,rollEnabled:!1,reduceMotion:void 0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0,experimentalZoomLevelsToOverscale:void 0,anisotropicFilterPitch:20},lo=class extends Xa{get _ownerWindow(){return this._container?.ownerDocument?.defaultView||window}constructor(e){var n;let r=Object.assign(Object.assign(Object.assign({},co),e),{canvasContextAttributes:Object.assign(Object.assign({},co.canvasContextAttributes),e.canvasContextAttributes)});if(r.minZoom!=null&&r.maxZoom!=null&&r.minZoom>r.maxZoom)throw Error(`maxZoom must be greater than or equal to minZoom`);if(r.minPitch!=null&&r.maxPitch!=null&&r.minPitch>r.maxPitch)throw Error(`maxPitch must be greater than or equal to minPitch`);if(r.minPitch!=null&&r.minPitch<0)throw Error(`minPitch must be greater than or equal to 0`);if(r.maxPitch!=null&&r.maxPitch>180)throw Error(`maxPitch must be less than or equal to 180`);let i=new sn,a=new dn;r.minZoom!==void 0&&i.setMinZoom(r.minZoom),r.maxZoom!==void 0&&i.setMaxZoom(r.maxZoom),r.minPitch!==void 0&&i.setMinPitch(r.minPitch),r.maxPitch!==void 0&&i.setMaxPitch(r.maxPitch),r.renderWorldCopies!==void 0&&i.setRenderWorldCopies(r.renderWorldCopies),r.transformConstrain!==null&&i.setConstrainOverride(r.transformConstrain),super(i,a,{bearingSnap:r.bearingSnap,zoomSnap:r.zoomSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new $a,this._controls=[],this._mapId=t.ad(),this._lostContextStyle={style:null,images:null},this._contextLost=e=>{if(e.preventDefault(),this._frameRequest&&=(this._frameRequest.abort(),null),this.painter.destroy(),this._lostContextStyle=this._getStyleAndImages(),this.style){for(let e of Object.values(this.style._layers))if(e.type===`custom`&&console.warn(`Custom layer with id '${e.id}' cannot be restored after WebGL context loss. You will need to re-add it manually after context restoration.`),e._listeners)for(let[t]of Object.entries(e._listeners))console.warn(`Custom layer with id '${e.id}' had event listeners for event '${t}' which cannot be restored after WebGL context loss. You will need to re-add them manually after context restoration.`);this.style.destroy(),this.style=null,this.fire(new t.n(`webglcontextlost`,{originalEvent:e}))}else this.fire(new t.n(`webglcontextlost`,{originalEvent:e}))},this._contextRestored=e=>{this._lostContextStyle.style&&this.setStyle(this._lostContextStyle.style,{diff:!1}),this._lostContextStyle.images&&this.style&&(this.style.imageManager.images=this._lostContextStyle.images),this._lostContextStyle={style:null,images:null},this._setupPainter(),this.resize(),this._update(),this._resizeInternal(),this.fire(new t.n(`webglcontextrestored`,{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._maxTileCacheZoomLevels=r.maxTileCacheZoomLevels,this._canvasContextAttributes=Object.assign({},r.canvasContextAttributes),this._trackResize=!0===r.trackResize,this._bearingSnap=r.bearingSnap,this._zoomSnap=r.zoomSnap,this._centerClampedToGround=r.centerClampedToGround,this._refreshExpiredTiles=!0===r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=!0===r.crossSourceCollisions,this._collectResourceTiming=!0===r.collectResourceTiming,this._locale=Object.assign(Object.assign({},oo),r.locale),this._clickTolerance=r.clickTolerance,this._overridePixelRatio=r.pixelRatio,this._maxCanvasSize=r.maxCanvasSize,this._zoomLevelsToOverscale=r.experimentalZoomLevelsToOverscale,this.transformCameraUpdate=r.transformCameraUpdate,this.transformConstrain=r.transformConstrain,this.cancelPendingTileRequestsWhileZooming=!0===r.cancelPendingTileRequestsWhileZooming,this.setAnisotropicFilterPitch(r.anisotropicFilterPitch),r.reduceMotion!==void 0&&(s.prefersReducedMotion=r.reduceMotion),this._imageQueueHandle=u.addThrottleControl((()=>this.isMoving())),this._requestManager=new f(r.transformRequest),this._container=this._resolveContainer(r.container),r.maxBounds&&this.setMaxBounds(r.maxBounds),this._setupContainer(),this._setupPainter(),this.on(`move`,(()=>this._update(!1))),this.on(`moveend`,(()=>this._update(!1))),this.on(`zoom`,(()=>this._update(!0))),this.on(`terrain`,(()=>{this.painter.terrainFacilitator.depthDirty=!0,this._update(!0)})),this.once(`idle`,(()=>this._idleTriggered=!0)),typeof window<`u`&&(this._ownerWindow.addEventListener(`online`,this._onWindowOnline,!1),this._setupResizeObserver()),this.handlers=new Ya(this,r),this._hash=r.hash?new ra(typeof r.hash==`string`&&r.hash||void 0).addTo(this):void 0,(n=this._hash)!=null&&n._onHashChange()||(this.jumpTo({center:r.center,elevation:r.elevation,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch,roll:r.roll}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,t.e({},r.fitBoundsOptions,{duration:0}))));let o=typeof r.style==`string`||r.style?.projection?.type!==`globe`;this.resize(null,o),this._localIdeographFontFamily=r.localIdeographFontFamily,this._validateStyle=r.validateStyle,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new Za(typeof r.attributionControl==`boolean`?void 0:r.attributionControl)),r.maplibreLogo&&this.addControl(new Qa,r.logoPosition),this.on(`style.load`,(()=>{if(o||this._resizeTransform(),this.transform.unmodified){let e=t.V(this.style.stylesheet,[`center`,`zoom`,`bearing`,`pitch`,`roll`]);this.jumpTo(e)}})),this.on(`data`,(e=>{this._update(e.dataType===`style`),this.fire(new t.n(`${e.dataType}data`,e))})),this.on(`dataloading`,(e=>{this.fire(new t.n(`${e.dataType}dataloading`,e))})),this.on(`dataabort`,(e=>{this.fire(new t.n(`sourcedataabort`,e))}))}_getMapId(){return this._mapId}setGlobalStateProperty(e,t){return this.style.setGlobalStateProperty(e,t),this._update(!0)}getGlobalState(){return this.style.getGlobalState()}addControl(e,n){if(n===void 0&&(n=e.getDefaultPosition?e.getDefaultPosition():`top-right`),!e?.onAdd)return this.fire(new t.l(Error(`Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.`)));let r=e.onAdd(this);this._controls.push(e);let i=this._controlPositions[n];return n.includes(`bottom`)?i.insertBefore(r,i.firstChild):i.appendChild(r),this}removeControl(e){if(!e?.onRemove)return this.fire(new t.l(Error(`Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.`)));let n=this._controls.indexOf(e);return n>-1&&this._controls.splice(n,1),e.onRemove(this),this}hasControl(e){return this._controls.includes(e)}coveringTiles(e){return qe(this.transform,e)}calculateCameraOptionsFromTo(e,t,n,r){return r==null&&this.terrain&&(r=this.terrain.getElevationForLngLat(n,this.transform)),super.calculateCameraOptionsFromTo(e,t,n,r)}resize(e,n=!0){if(this._lostContextStyle.style!==null)return this;this._resizeInternal(n);let r=!this._moving;return r&&(this.stop(),this.fire(new t.n(`movestart`,e)).fire(new t.n(`move`,e))),this.fire(new t.n(`resize`,e)),r&&this.fire(new t.n(`moveend`,e)),this}_resizeInternal(e=!0){let[t,n]=this._containerDimensions(),r=this._getClampedPixelRatio(t,n);if(this._resizeCanvas(t,n,r),this.painter.resize(t,n,r),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let r=this._getClampedPixelRatio(t,n);this._resizeCanvas(t,n,r),this.painter.resize(t,n,r)}this._resizeTransform(e)}_resizeTransform(e=!0){var t;let[n,r]=this._containerDimensions();this.transform.resize(n,r,e),(t=this._requestedCameraState)==null||t.resize(n,r,e)}_getClampedPixelRatio(e,t){let{0:n,1:r}=this._maxCanvasSize,i=this.getPixelRatio(),a=e*i,o=t*i;return Math.min(a>n?n/a:1,o>r?r/o:1)*i}getPixelRatio(){return this._overridePixelRatio??devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(de.convert(e)),this._update()}setMinZoom(e){if((e??=-2)>=-2&&e<=this.transform.maxZoom){let n=this.transform.zoom,r=this._getTransformForUpdate();return r.setMinZoom(e),this._applyUpdatedTransform(r),this._update(),n!==this.transform.zoom&&this.fire(new t.n(`zoomstart`)).fire(new t.n(`zoom`)).fire(new t.n(`zoomend`)).fire(new t.n(`movestart`)).fire(new t.n(`move`)).fire(new t.n(`moveend`)),this}throw Error(`minZoom must be between -2 and the current maxZoom, inclusive`)}getMinZoom(){return this.transform.minZoom}setMaxZoom(e){if((e??=22)>=this.transform.minZoom){let n=this.transform.zoom,r=this._getTransformForUpdate();return r.setMaxZoom(e),this._applyUpdatedTransform(r),this._update(),n!==this.transform.zoom&&this.fire(new t.n(`zoomstart`)).fire(new t.n(`zoom`)).fire(new t.n(`zoomend`)).fire(new t.n(`movestart`)).fire(new t.n(`move`)).fire(new t.n(`moveend`)),this}throw Error(`maxZoom must be greater than the current minZoom`)}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e??=0)<0)throw Error(`minPitch must be greater than or equal to 0`);if(e>=0&&e<=this.transform.maxPitch){let n=this.transform.pitch,r=this._getTransformForUpdate();return r.setMinPitch(e),this._applyUpdatedTransform(r),this._update(),n!==this.transform.pitch&&this.fire(new t.n(`pitchstart`)).fire(new t.n(`pitch`)).fire(new t.n(`pitchend`)).fire(new t.n(`movestart`)).fire(new t.n(`move`)).fire(new t.n(`moveend`)),this}throw Error(`minPitch must be between 0 and the current maxPitch, inclusive`)}getMinPitch(){return this.transform.minPitch}setMaxPitch(e){if((e??=60)>180)throw Error(`maxPitch must be less than or equal to 180`);if(e>=this.transform.minPitch){let n=this.transform.pitch,r=this._getTransformForUpdate();return r.setMaxPitch(e),this._applyUpdatedTransform(r),this._update(),n!==this.transform.pitch&&this.fire(new t.n(`pitchstart`)).fire(new t.n(`pitch`)).fire(new t.n(`pitchend`)).fire(new t.n(`movestart`)).fire(new t.n(`move`)).fire(new t.n(`moveend`)),this}throw Error(`maxPitch must be greater than the current minPitch`)}getMaxPitch(){return this.transform.maxPitch}getAnisotropicFilterPitch(){return this._anisotropicFilterPitch}setAnisotropicFilterPitch(e){if((e??=20)>180)throw Error(`anisotropicFilterPitch must be less than or equal to 180`);if(e<0)throw Error(`anisotropicFilterPitch must be greater than or equal to 0`);return this._anisotropicFilterPitch=e,this._update()}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.setRenderWorldCopies(e),this._update()}setTransformConstrain(e){return this.transform.setConstrainOverride(e),this._update()}project(e){return this.transform.locationToScreenPoint(t.W.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.screenPointToLocation(t.P.convert(e),this.terrain)}isMoving(){return this._moving||this.handlers?.isMoving()}isZooming(){return this._zooming||this.handlers?.isZooming()}isRotating(){return this._rotating||this.handlers?.isRotating()}_createDelegatedListener(e,t,n){if(e===`mouseenter`||e===`mouseover`){let r=!1;return{layers:t,listener:n,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e))),o=a.length===0?[]:this.queryRenderedFeatures(i.point,{layers:a});o.length?r||(r=!0,n.call(this,new fa(e,this,i.originalEvent,{features:o}))):r=!1},mouseout:()=>{r=!1}}}}if(e===`mouseleave`||e===`mouseout`){let r=!1;return{layers:t,listener:n,delegates:{mousemove:i=>{let a=t.filter((e=>this.getLayer(e)));(a.length===0?[]:this.queryRenderedFeatures(i.point,{layers:a})).length?r=!0:r&&(r=!1,n.call(this,new fa(e,this,i.originalEvent)))},mouseout:t=>{r&&(r=!1,n.call(this,new fa(e,this,t.originalEvent)))}}}}{let r=e=>{let r=t.filter((e=>this.getLayer(e))),i=r.length===0?[]:this.queryRenderedFeatures(e.point,{layers:r});i.length&&(e.features=i,n.call(this,e),delete e.features)};return{layers:t,listener:n,delegates:{[e]:r}}}}_saveDelegatedListener(e,t){var n;this._delegatedListeners||={},(n=this._delegatedListeners)[e]||(n[e]=[]),this._delegatedListeners[e].push(t)}_removeDelegatedListener(e,t,n){if(!this._delegatedListeners?.[e])return;let r=this._delegatedListeners[e];for(let e=0;e<r.length;e++){let i=r[e];if(i.listener===n&&i.layers.length===t.length&&i.layers.every((e=>t.includes(e)))){for(let e in i.delegates)this.off(e,i.delegates[e]);r.splice(e,1);return}}}on(e,t,n){if(n===void 0)return super.on(e,t);let r=typeof t==`string`?[t]:t,i=this._createDelegatedListener(e,r,n);this._saveDelegatedListener(e,i);for(let e in i.delegates)this.on(e,i.delegates[e]);return{unsubscribe:()=>{this._removeDelegatedListener(e,r,n)}}}once(e,t,n){if(n===void 0)return super.once(e,t);let r=typeof t==`string`?[t]:t,i=this._createDelegatedListener(e,r,n);for(let t in i.delegates){let a=i.delegates[t];i.delegates[t]=(...t)=>{this._removeDelegatedListener(e,r,n),a(...t)}}this._saveDelegatedListener(e,i);for(let e in i.delegates)this.once(e,i.delegates[e]);return this}off(e,t,n){return n===void 0?super.off(e,t):(this._removeDelegatedListener(e,typeof t==`string`?[t]:t,n),this)}queryRenderedFeatures(e,n){if(!this.style)return[];let r,i=e instanceof t.P||Array.isArray(e),a=i?e:[[0,0],[this.transform.width,this.transform.height]];if(n||=(i?{}:e)||{},a instanceof t.P||typeof a[0]==`number`)r=[t.P.convert(a)];else{let e=t.P.convert(a[0]),n=t.P.convert(a[1]);r=[e,new t.P(n.x,e.y),n,new t.P(e.x,n.y),e]}return this.style.queryRenderedFeatures(r,n,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,n){return!1!==(n=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},n)).diff&&n.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,n),this):(this._localIdeographFontFamily=n.localIdeographFontFamily,this._updateStyle(e,n))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(t==null)throw Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){var n,r;if((n=this._diffStyleRequest)==null||n.abort(),this._diffStyleRequest=null,t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(`style.load`,(()=>this._updateStyle(e,t)));let i=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new qn(this,t||{}),this.style.setEventedParent(this,{style:this.style}),typeof e==`string`?this.style.loadURL(e,t,i):this.style.loadJSON(e,t,i),this):(this._frameRequest&&=(this._frameRequest.abort(),null),(r=this.style?.projection)==null||r.destroy(),delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new qn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,n){return t._(this,void 0,void 0,(function*(){var r;if((r=this._diffStyleRequest)==null||r.abort(),typeof e==`string`){let r=e;this._diffStyleRequest=new AbortController;let i=this._diffStyleRequest;try{let e=yield this._requestManager.transformRequest(r,`Style`);if(i.signal.aborted)return void(this._diffStyleRequest=null);let a=yield t.k(e,i);this._diffStyleRequest=null,this._updateDiff(a.data,n)}catch(e){this._diffStyleRequest=null,t.$(e)||this.fire(new t.l(t.d(e)))}}else typeof e==`object`&&(this._diffStyleRequest=null,this._updateDiff(e,n))}))}_updateDiff(e,n){try{this.style.setState(e,n)&&this._update(!0)}catch(r){t.w(`Unable to perform style diff: ${t.d(r).message}.  Rebuilding the style from scratch.`),this._updateStyle(e,n)}}getStyle(){if(this.style)return this.style.serialize()}_getStyleAndImages(){return this.style?{style:this.style.serialize(),images:this.style.imageManager.cloneImages()}:{style:null,images:{}}}isStyleLoaded(){if(this.style)return this.style.loaded();t.w(`There is no style added to the map.`)}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let n=this.style?.tileManagers[e];if(n!==void 0)return n.loaded();this.fire(new t.l(Error(`There is no tile manager with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(`data`,this._terrainDataCallback),e){let n=this.style.tileManagers[e.source];if(!n)throw Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);this.terrain===null&&n.reload();for(let n in this.style._layers){let r=this.style._layers[n];r.type===`hillshade`&&r.source===e.source&&t.w(`You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.`),r.type===`color-relief`&&r.source===e.source&&t.w(`You are using the same source for a color-relief layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.`)}this.terrain=new no(this.painter,n,e),this.painter.renderToTexture=new ao(this.painter,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._terrainDataCallback=t=>{t.dataType===`style`?this.terrain.tileManager.freeRtt():t.dataType===`source`&&t.tile&&(t.sourceId!==e.source||this._elevationFreeze||(this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))),t.source?.type===`image`?this.terrain.tileManager.freeRtt():this.terrain.tileManager.freeRtt(t.tile.tileID))},this.style.on(`data`,this._terrainDataCallback)}else this.terrain&&this.terrain.destroy(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0);return this.fire(new t.n(`terrain`,{terrain:e})),this}getTerrain(){return this.terrain?.options??null}areTilesLoaded(){let e=this.style?.tileManagers;for(let t of Object.values(e))if(!t.areTilesLoaded())return!1;return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}setSourceTileLodParams(e,t,n){if(n){let r=this.getSource(n);if(!r)throw Error(`There is no source with ID "${n}", cannot set LOD parameters`);r.calculateTileZoom=We(Math.max(1,e),Math.max(1,t))}else for(let n in this.style.tileManagers)this.style.tileManagers[n].getSource().calculateTileZoom=We(Math.max(1,e),Math.max(1,t));return this._update(!0),this}refreshTiles(e,n){let r=this.style.tileManagers[e];if(!r)throw Error(`There is no tile manager with ID "${e}", cannot refresh tile`);n===void 0?r.reload(!0):r.refreshTiles(n.map((e=>new t.aa(e.z,e.x,e.y))))}addImage(e,n,r={}){let{pixelRatio:i=1,sdf:a=!1,stretchX:o,stretchY:c,content:l,textFitWidth:u,textFitHeight:d}=r;if(this._lazyInitEmptyStyle(),!(n instanceof HTMLImageElement||t.b(n))){if(n.width===void 0||n.height===void 0)return this.fire(new t.l(Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{let{width:r,height:s,data:f}=n,p=n;return this.style.addImage(e,{data:new t.R({width:r,height:s},new Uint8Array(f)),pixelRatio:i,stretchX:o,stretchY:c,content:l,textFitWidth:u,textFitHeight:d,sdf:a,version:0,userImage:p}),p.onAdd&&p.onAdd(this,e),this}}{let{width:r,height:f,data:p}=s.getImageData(n);this.style.addImage(e,{data:new t.R({width:r,height:f},p),pixelRatio:i,stretchX:o,stretchY:c,content:l,textFitWidth:u,textFitHeight:d,sdf:a,version:0})}}updateImage(e,n){let r=this.style.getImage(e);if(!r)return this.fire(new t.l(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let{width:i,height:a,data:o}=n instanceof HTMLImageElement||t.b(n)?s.getImageData(n):n;if(i===void 0||a===void 0)return this.fire(new t.l(Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(i!==r.data.width||a!==r.data.height)return this.fire(new t.l(Error(`The width and height of the updated image must be that same as the previous version of the image`)));let c=!(n instanceof HTMLImageElement||t.b(n));return r.data.replace(o,c),this.style.updateImage(e,r),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.l(Error(`Missing required image id`))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return t._(this,void 0,void 0,(function*(){return u.getImage(yield this._requestManager.transformRequest(e,`Image`),new AbortController)}))}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,n){return this.style.setLayerZoomRange(e,t,n),this._update(!0)}setFilter(e,t,n={}){return this.style.setFilter(e,t,n),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,n,r={}){return this.style.setPaintProperty(e,t,n,r),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,n,r={}){return this.style.setLayoutProperty(e,t,n,r),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,n,(e=>{e||this._update(!0)})),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,(e=>{e||this._update(!0)})),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSky(e,t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupResizeObserver(){let e=!1,t=na((e=>{this._trackResize&&!this._removed&&(this.resize(e),this.redraw())}),50),n=this._ownerWindow.ResizeObserver??ResizeObserver;this._resizeObserver=new n((n=>{e?t(n):e=!0})),this._resizeObserver.observe(this._container)}_resolveContainer(e){if(typeof e==`string`){let t=document.getElementById(e);if(!t)throw Error(`Container '${e}' not found.`);return t}if(e instanceof HTMLElement||e&&typeof e==`object`&&e.nodeType===1)return e;throw Error(`Invalid type: 'container' must be a String or HTMLElement.`)}_setupContainer(){let e=this._container;e.classList.add(`maplibregl-map`);let t=this._canvasContainer=d.create(`div`,`maplibregl-canvas-container`,e);this._interactive&&t.classList.add(`maplibregl-interactive`),this._canvas=d.create(`canvas`,`maplibregl-canvas`,t),this._canvas.addEventListener(`webglcontextlost`,this._contextLost,!1),this._canvas.addEventListener(`webglcontextrestored`,this._contextRestored,!1),this._canvas.setAttribute(`tabindex`,this._interactive?`0`:`-1`),this._canvas.setAttribute(`aria-label`,this._getUIString(`Map.Title`)),this._canvas.setAttribute(`role`,`region`);let n=this._containerDimensions(),r=this._getClampedPixelRatio(n[0],n[1]);this._resizeCanvas(n[0],n[1],r);let i=this._controlContainer=d.create(`div`,`maplibregl-control-container`,e),a=this._controlPositions={};for(let e of[`top-left`,`top-right`,`bottom-left`,`bottom-right`])a[e]=d.create(`div`,`maplibregl-ctrl-${e} `,i);this._container.addEventListener(`scroll`,this._onMapScroll,!1)}_resizeCanvas(e,t,n){this._canvas.width=Math.floor(n*e),this._canvas.height=Math.floor(n*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e=Object.assign(Object.assign({},this._canvasContextAttributes),{alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0}),t=null;this._canvas.addEventListener(`webglcontextcreationerror`,(n=>{t={requestedAttributes:e},n&&(t.statusMessage=n.statusMessage,t.type=n.type)}),{once:!0});let n=null;if(n=this._canvasContextAttributes.contextType?this._canvas.getContext(this._canvasContextAttributes.contextType,e):this._canvas.getContext(`webgl2`,e)||this._canvas.getContext(`webgl`,e),!n){let e=`Failed to initialize WebGL`;throw t?(t.message=e,Error(JSON.stringify(t))):Error(e)}this.painter=new ta(n,this.transform)}migrateProjection(e,n){super.migrateProjection(e,n),this.painter.transform=e,this.fire(new t.n(`projectiontransition`,{newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style?._loaded?(this._styleDirty||=e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){var n;let r=this._idleTriggered?this._fadeDuration:0,i=this.style.projection?.transitionState>0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,n=l();this.style.zoomHistory.update(e,n);let i=new t.J(e,{now:n,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),o=i.crossFadingFactor();o===1&&o===this._crossFadingFactor||(a=!0,this._crossFadingFactor=o),this.style.update(i)}let o=this.style.projection?.transitionState>0!==i;(n=this.style.projection)==null||n.setErrorQueryLatitudeDegrees(this.transform.center.lat),this.transform.setTransitionState(this.style.projection?.transitionState,this.style.projection?.latitudeErrorCorrectionRadians),this.style&&(this._sourcesDirty||o)&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.tileManager.update(this.transform,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),!this._elevationFreeze&&this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0)),this._placementDirty=this.style?._updatePlacement(this.transform,this.showCollisionBoxes,r,this._crossSourceCollisions,o),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,showPadding:this.showPadding,anisotropicFilterPitch:this.getAnisotropicFilterPitch()}),this.fire(new t.n(`render`)),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.n(`load`))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let s=this._sourcesDirty||this._styleDirty||this._placementDirty;return s||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.n(`idle`)),!this._loaded||this._fullyLoaded||s||(this._fullyLoaded=!0),this}redraw(){return this.style&&(this._frameRequest&&=(this._frameRequest.abort(),null),this._render(0)),this}remove(){var e,n;this._hash&&this._hash.remove();for(let e of this._controls)e.onRemove(this);this._controls=[],this._frameRequest&&=(this._frameRequest.abort(),null),this._renderTaskQueue.clear(),(e=this._diffStyleRequest)==null||e.abort(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<`u`&&this._ownerWindow.removeEventListener(`online`,this._onWindowOnline,!1),u.removeThrottleControl(this._imageQueueHandle),(n=this._resizeObserver)==null||n.disconnect();let r=this.painter.context.gl.getExtension(`WEBGL_lose_context`);r!=null&&r.loseContext&&r.loseContext(),this._canvas.removeEventListener(`webglcontextrestored`,this._contextRestored,!1),this._canvas.removeEventListener(`webglcontextlost`,this._contextLost,!1),this._canvasContainer.remove(),this._controlContainer.remove(),this._container.removeEventListener(`scroll`,this._onMapScroll,!1),this._container.classList.remove(`maplibregl-map`),this._removed=!0,this.fire(new t.n(`remove`))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,s.frame(this._frameRequest,(e=>{this._frameRequest=null;try{this._render(e)}catch(e){if(!t.$(e)&&!function(e){return e.message===mi}(e))throw e}}),(()=>{}),this._ownerWindow))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return so}getCameraTargetElevation(){return this.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(e){return this._lazyInitEmptyStyle(),this.style.setProjection(e),this._update(!0)}},uo={showCompass:!0,showZoom:!0,visualizePitch:!1,visualizeRoll:!0};class fo{constructor(e,n,r=!1){this.mousedown=e=>{this.startMove(e,d.mousePos(this.element,e)),window.addEventListener(`mousemove`,this.mousemove),window.addEventListener(`mouseup`,this.mouseup)},this.mousemove=e=>{this.move(e,d.mousePos(this.element,e))},this.mouseup=e=>{this._rotatePitchHandler.dragEnd(e),this.offTemp()},this.touchstart=e=>{e.targetTouches.length===1?(this._startPos=this._lastPos=d.touchPos(this.element,e.targetTouches)[0],this.startMove(e,this._startPos),window.addEventListener(`touchmove`,this.touchmove,{passive:!1}),window.addEventListener(`touchend`,this.touchend)):this.reset()},this.touchmove=e=>{e.targetTouches.length===1?(this._lastPos=d.touchPos(this.element,e.targetTouches)[0],this.move(e,this._lastPos)):this.reset()},this.touchend=e=>{e.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{this._rotatePitchHandler.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=n;let i=new wa;this._rotatePitchHandler=new ba({clickTolerance:3,move:(e,i)=>{let a=n.getBoundingClientRect(),o=new t.P((a.bottom-a.top)/2,(a.right-a.left)/2);return{bearingDelta:t.cx(new t.P(e.x,i.y),i,o),pitchDelta:r?-.5*(i.y-e.y):void 0}},moveStateManager:i,enable:!0,assignEvents:()=>{}}),this.map=e,n.addEventListener(`mousedown`,this.mousedown),n.addEventListener(`touchstart`,this.touchstart,{passive:!1}),n.addEventListener(`touchcancel`,this.reset)}startMove(e,t){this._rotatePitchHandler.dragStart(e,t),d.disableDrag()}move(e,t){let n=this.map,{bearingDelta:r,pitchDelta:i}=this._rotatePitchHandler.dragMove(e,t)||{};r&&n.setBearing(n.getBearing()+r),i&&n.setPitch(n.getPitch()+i)}off(){let e=this.element;e.removeEventListener(`mousedown`,this.mousedown),e.removeEventListener(`touchstart`,this.touchstart),window.removeEventListener(`touchmove`,this.touchmove),window.removeEventListener(`touchend`,this.touchend),e.removeEventListener(`touchcancel`,this.reset),this.offTemp()}offTemp(){d.enableDrag(),window.removeEventListener(`mousemove`,this.mousemove),window.removeEventListener(`mouseup`,this.mouseup),window.removeEventListener(`touchmove`,this.touchmove),window.removeEventListener(`touchend`,this.touchend)}}let po;function mo(e,n,r,i=!1){if(i||!r.getCoveringTilesDetailsProvider().allowWorldCopies())return e?.wrap();let a=new t.W(e.lng,e.lat);if(e=new t.W(e.lng,e.lat),n){let i=new t.W(e.lng-360,e.lat),a=new t.W(e.lng+360,e.lat),o=r.locationToScreenPoint(e).distSqr(n);r.locationToScreenPoint(i).distSqr(n)<o?e=i:r.locationToScreenPoint(a).distSqr(n)<o&&(e=a)}for(;Math.abs(e.lng-r.center.lng)>180;){let t=r.locationToScreenPoint(e);if(t.x>=0&&t.y>=0&&t.x<=r.width&&t.y<=r.height)break;e.lng>r.center.lng?e.lng-=360:e.lng+=360}return e.lng!==a.lng&&r.isPointOnMapSurface(r.locationToScreenPoint(e))?e:a}let ho={center:`translate(-50%,-50%)`,top:`translate(-50%,0)`,"top-left":`translate(0,0)`,"top-right":`translate(-100%,0)`,bottom:`translate(-50%,-100%)`,"bottom-left":`translate(0,-100%)`,"bottom-right":`translate(-100%,-100%)`,left:`translate(0,-50%)`,right:`translate(-100%,-50%)`};function go(e,t,n){let r=e.classList;for(let e in ho)r.remove(`maplibregl-${n}-anchor-${e}`);r.add(`maplibregl-${n}-anchor-${t}`)}class _o extends t.E{constructor(e){if(super(),this._onClick=e=>{this.fire(new t.n(`click`,{originalEvent:e}))},this._onKeyPress=e=>{e.code!==`Space`&&e.code!==`Enter`||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,n=this._element;this._popup&&(t===n||n.contains(t))&&this.togglePopup()},this._update=e=>{if(!this._map)return;let t=this._map.loaded()&&!this._map.isMoving();(e?.type===`terrain`||e?.type===`render`&&!t)&&this._map.once(`render`,this._update),this._lngLat=mo(this._lngLat,this._flatPos,this._map.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let n=``;this._rotationAlignment===`viewport`||this._rotationAlignment===`auto`?n=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===`map`&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let r=``;this._pitchAlignment===`viewport`||this._pitchAlignment===`auto`?r=`rotateX(0deg)`:this._pitchAlignment===`map`&&(r=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||e&&e.type!==`moveend`||(this._pos=this._pos.round()),this._element.style.transform=`${ho[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${r} ${n}`,s.frameAsync(new AbortController,this._map._ownerWindow).then((()=>{this._updateOpacity(e?.type===`moveend`)})).catch((()=>{}))},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=`none`,this._state===`pending`&&(this._state=`active`,this.fire(new t.n(`dragstart`))),this.fire(new t.n(`drag`)))},this._onUp=()=>{this._element.style.pointerEvents=`auto`,this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(`mousemove`,this._onMove),this._map.off(`touchmove`,this._onMove),this._state===`active`&&this.fire(new t.n(`dragend`)),this._state=`inactive`},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.point,this._state=`pending`,this._map.on(`mousemove`,this._onMove),this._map.on(`touchmove`,this._onMove),this._map.once(`mouseup`,this._onUp),this._map.once(`touchend`,this._onUp))},this._anchor=e?.anchor||`center`,this._color=e?.color||`#3FB1CE`,this._scale=e?.scale||1,this._draggable=e?.draggable||!1,this._clickTolerance=e?.clickTolerance||0,this._subpixelPositioning=e?.subpixelPositioning||!1,this._isDragging=!1,this._state=`inactive`,this._rotation=e?.rotation||0,this._rotationAlignment=e?.rotationAlignment||`auto`,this._pitchAlignment=e?.pitchAlignment&&e.pitchAlignment!==`auto`?e.pitchAlignment:this._rotationAlignment,this.setOpacity(e?.opacity,e?.opacityWhenCovered),e?.element)this._element=e.element,this._offset=t.P.convert(e?.offset||[0,0]);else{this._defaultMarker=!0,this._element=d.create(`div`);let n=d.createNS(`http://www.w3.org/2000/svg`,`svg`);n.setAttributeNS(null,`display`,`block`),n.setAttributeNS(null,`height`,`41px`),n.setAttributeNS(null,`width`,`27px`),n.setAttributeNS(null,`viewBox`,`0 0 27 41`);let r=d.createNS(`http://www.w3.org/2000/svg`,`g`);r.setAttributeNS(null,`stroke`,`none`),r.setAttributeNS(null,`stroke-width`,`1`),r.setAttributeNS(null,`fill`,`none`),r.setAttributeNS(null,`fill-rule`,`evenodd`);let i=d.createNS(`http://www.w3.org/2000/svg`,`g`);i.setAttributeNS(null,`fill-rule`,`nonzero`);let a=d.createNS(`http://www.w3.org/2000/svg`,`g`);a.setAttributeNS(null,`transform`,`translate(3.0, 29.0)`),a.setAttributeNS(null,`fill`,`#000000`);for(let e of[{rx:`10.5`,ry:`5.25002273`},{rx:`10.5`,ry:`5.25002273`},{rx:`9.5`,ry:`4.77275007`},{rx:`8.5`,ry:`4.29549936`},{rx:`7.5`,ry:`3.81822308`},{rx:`6.5`,ry:`3.34094679`},{rx:`5.5`,ry:`2.86367051`},{rx:`4.5`,ry:`2.38636864`}]){let t=d.createNS(`http://www.w3.org/2000/svg`,`ellipse`);t.setAttributeNS(null,`opacity`,`0.04`),t.setAttributeNS(null,`cx`,`10.5`),t.setAttributeNS(null,`cy`,`5.80029008`),t.setAttributeNS(null,`rx`,e.rx),t.setAttributeNS(null,`ry`,e.ry),a.appendChild(t)}let o=d.createNS(`http://www.w3.org/2000/svg`,`g`);o.setAttributeNS(null,`fill`,this._color);let s=d.createNS(`http://www.w3.org/2000/svg`,`path`);s.setAttributeNS(null,`d`,`M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z`),o.appendChild(s);let c=d.createNS(`http://www.w3.org/2000/svg`,`g`);c.setAttributeNS(null,`opacity`,`0.25`),c.setAttributeNS(null,`fill`,`#000000`);let l=d.createNS(`http://www.w3.org/2000/svg`,`path`);l.setAttributeNS(null,`d`,`M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z`),c.appendChild(l);let u=d.createNS(`http://www.w3.org/2000/svg`,`g`);u.setAttributeNS(null,`transform`,`translate(6.0, 7.0)`),u.setAttributeNS(null,`fill`,`#FFFFFF`);let f=d.createNS(`http://www.w3.org/2000/svg`,`g`);f.setAttributeNS(null,`transform`,`translate(8.0, 8.0)`);let p=d.createNS(`http://www.w3.org/2000/svg`,`circle`);p.setAttributeNS(null,`fill`,`#000000`),p.setAttributeNS(null,`opacity`,`0.25`),p.setAttributeNS(null,`cx`,`5.5`),p.setAttributeNS(null,`cy`,`5.5`),p.setAttributeNS(null,`r`,`5.4999962`);let m=d.createNS(`http://www.w3.org/2000/svg`,`circle`);m.setAttributeNS(null,`fill`,`#FFFFFF`),m.setAttributeNS(null,`cx`,`5.5`),m.setAttributeNS(null,`cy`,`5.5`),m.setAttributeNS(null,`r`,`5.4999962`),f.appendChild(p),f.appendChild(m),i.appendChild(a),i.appendChild(o),i.appendChild(c),i.appendChild(u),i.appendChild(f),n.appendChild(i),n.setAttributeNS(null,`height`,41*this._scale+`px`),n.setAttributeNS(null,`width`,27*this._scale+`px`),this._element.appendChild(n),this._offset=t.P.convert(e?.offset||[0,-14])}if(this._element.classList.add(`maplibregl-marker`),this._element.addEventListener(`dragstart`,(e=>{e.preventDefault()})),this._element.addEventListener(`mousedown`,(e=>{e.preventDefault()})),go(this._element,this._anchor,`marker`),e?.className)for(let t of e.className.split(` `))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.hasAttribute(`aria-label`)||this._element.setAttribute(`aria-label`,e._getUIString(`Marker.Title`)),this._element.hasAttribute(`role`)||this._element.setAttribute(`role`,`button`),e.getCanvasContainer().appendChild(this._element),e.on(`move`,this._update),e.on(`moveend`,this._update),e.on(`terrain`,this._update),e.on(`projectiontransition`,this._update),this._element.addEventListener(`click`,this._onClick),this.setDraggable(this._draggable),this._update(),this._map.on(`click`,this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(`click`,this._onMapClick),this._map.off(`move`,this._update),this._map.off(`moveend`,this._update),this._map.off(`terrain`,this._update),this._map.off(`projectiontransition`,this._update),this._map.off(`mousedown`,this._addDragHandler),this._map.off(`touchstart`,this._addDragHandler),this._map.off(`mouseup`,this._onUp),this._map.off(`touchend`,this._onUp),this._map.off(`mousemove`,this._onMove),this._map.off(`touchmove`,this._onMove),delete this._map),this._element.removeEventListener(`click`,this._onClick),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.W.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(`keypress`,this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(`tabindex`)),e){if(!(`offset`in e.options)){let t=38.1,n=13.5,r=13.5/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[r,-1*(t-n+r)],"bottom-right":[-r,-1*(t-n+r)],left:[n,-1*(t-n)],right:[-13.5,-1*(t-n)]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute(`tabindex`),this._originalTabIndex||this._element.setAttribute(`tabindex`,`0`),this._element.addEventListener(`keypress`,this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered||e&&(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map))),this}_updateOpacity(e=!1){var n;let r=this._map?.terrain,i=this._map.transform.isLocationOccluded(this._lngLat);if(!r||i){let e=i?this._opacityWhenCovered:this._opacity;this._element.style.opacity!==e&&(this._element.style.opacity=e,this._element.classList.toggle(`maplibregl-marker-covered`,i));return}if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}let a=this._map,o=a.terrain.depthAtPoint(this._pos),s=a.terrain.getElevationForLngLat(this._lngLat,a.transform);if(a.transform.lngLatToCameraDepth(this._lngLat,s)-o<.006)return this._element.style.opacity=this._opacity,void this._element.classList.remove(`maplibregl-marker-covered`);let c=-this._offset.y/a.transform.pixelsPerMeter,l=Math.sin(a.getPitch()*Math.PI/180)*c,u=a.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),d=a.transform.lngLatToCameraDepth(this._lngLat,s+l)-u>.006;(n=this._popup)!=null&&n.isOpen()&&d&&this._popup.remove(),this._element.style.opacity=d?this._opacityWhenCovered:this._opacity,this._element.classList.toggle(`maplibregl-marker-covered`,d)}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on(`mousedown`,this._addDragHandler),this._map.on(`touchstart`,this._addDragHandler)):(this._map.off(`mousedown`,this._addDragHandler),this._map.off(`touchstart`,this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||`auto`,this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!==`auto`?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return(this._opacity===void 0||e===void 0&&t===void 0)&&(this._opacity=`1`,this._opacityWhenCovered=`0.2`),e!==void 0&&(this._opacity=String(e)),t!==void 0&&(this._opacityWhenCovered=String(t)),this._map&&this._updateOpacity(!0),this}}let vo={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},yo=0,bo=!1,xo={maxWidth:100,unit:`metric`};function So(e,t,n){let r=n?.maxWidth||100,i=e._container.clientHeight/2,a=e._container.clientWidth/2,o=e.unproject([a-r/2,i]),s=e.unproject([a+r/2,i]),c=Math.round(e.project(s).x-e.project(o).x),l=Math.min(r,c,e._container.clientWidth),u=o.distanceTo(s);if(n?.unit===`imperial`){let n=3.2808*u;n>5280?Co(t,l,n/5280,e._getUIString(`ScaleControl.Miles`)):Co(t,l,n,e._getUIString(`ScaleControl.Feet`))}else n?.unit===`nautical`?Co(t,l,u/1852,e._getUIString(`ScaleControl.NauticalMiles`)):u>=1e3?Co(t,l,u/1e3,e._getUIString(`ScaleControl.Kilometers`)):Co(t,l,u,e._getUIString(`ScaleControl.Meters`))}function Co(e,t,n,r){let i=function(e){let t=10**(`${Math.floor(e)}`.length-1),n=e/t;return n=n>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(e){let t=10**Math.ceil(-Math.log(e)/Math.LN10);return Math.round(e*t)/t}(n),t*n}(n);e.style.width=i/n*t+`px`,e.innerHTML=`${i}&nbsp;${r}`}let wo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:``,maxWidth:`240px`,subpixelPositioning:!1,locationOccludedOpacity:void 0,padding:void 0},To=[`a[href]`,`[tabindex]:not([tabindex='-1'])`,`[contenteditable]:not([contenteditable='false'])`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`].join(`, `);function Eo(e){if(e){if(typeof e==`number`){let n=Math.round(Math.abs(e)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,e),"top-left":new t.P(n,n),"top-right":new t.P(-n,n),bottom:new t.P(0,-e),"bottom-left":new t.P(n,-n),"bottom-right":new t.P(-n,-n),left:new t.P(e,0),right:new t.P(-e,0)}}if(e instanceof t.P||Array.isArray(e)){let n=t.P.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.P.convert(e.center||[0,0]),top:t.P.convert(e.top||[0,0]),"top-left":t.P.convert(e[`top-left`]||[0,0]),"top-right":t.P.convert(e[`top-right`]||[0,0]),bottom:t.P.convert(e.bottom||[0,0]),"bottom-left":t.P.convert(e[`bottom-left`]||[0,0]),"bottom-right":t.P.convert(e[`bottom-right`]||[0,0]),left:t.P.convert(e.left||[0,0]),right:t.P.convert(e.right||[0,0])}}return Eo(new t.P(0,0))}let Do=n;e.AJAXError=t.cG,e.EXTENT=t.a6,e.Event=t.n,e.Evented=t.E,e.LngLat=t.W,e.MercatorCoordinate=t.a7,e.Point=t.P,e.addProtocol=t.cH,e.config=t.c,e.removeProtocol=t.cI,e.AttributionControl=Za,e.BoxZoomHandler=ga,e.CanvasSource=Te,e.CooperativeGesturesHandler=Ga,e.DoubleClickZoomHandler=za,e.DragPanHandler=Ha,e.DragRotateHandler=Ua,e.EdgeInsets=$t,e.FullscreenControl=class extends t.E{constructor(e={}){var n;super(),this._onFullscreenChange=()=>{let e=window.document.fullscreenElement||window.document.webkitFullscreenElement;for(;e?.shadowRoot?.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,this._pseudo=(n=e.pseudo)!=null&&n,e!=null&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.w(`Full screen control 'container' must be a DOM element.`)),`onfullscreenchange`in document?this._fullscreenchange=`fullscreenchange`:`onmozfullscreenchange`in document?this._fullscreenchange=`mozfullscreenchange`:`onwebkitfullscreenchange`in document?this._fullscreenchange=`webkitfullscreenchange`:`onmsfullscreenchange`in document&&(this._fullscreenchange=`MSFullscreenChange`)}onAdd(e){return this._map=e,this._container||=this._map.getContainer(),this._controlContainer=d.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._setupUI(),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=d.create(`button`,`maplibregl-ctrl-fullscreen`,this._controlContainer);d.create(`span`,`maplibregl-ctrl-icon`,e).setAttribute(`aria-hidden`,`true`),e.type=`button`,this._updateTitle(),this._fullscreenButton.addEventListener(`click`,this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute(`aria-label`,e),this._fullscreenButton.title=e}_getTitle(){return this._map._getUIString(this._isFullscreen()?`FullscreenControl.Exit`:`FullscreenControl.Enter`)}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(`maplibregl-ctrl-shrink`),this._fullscreenButton.classList.toggle(`maplibregl-ctrl-fullscreen`),this._updateTitle(),this._fullscreen?(this.fire(new t.n(`fullscreenstart`)),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.n(`fullscreenend`)),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){this._pseudo?this._togglePseudoFullScreen():window.document.exitFullscreen?window.document.exitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._pseudo?this._togglePseudoFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(`maplibregl-pseudo-fullscreen`),this._handleFullscreenChange(),this._map.resize()}},e.GeoJSONSource=Se,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.n(`outofmaxbounds`,e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case`WAITING_ACTIVE`:case`ACTIVE_LOCK`:case`ACTIVE_ERROR`:this._watchState=`ACTIVE_LOCK`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`BACKGROUND`:case`BACKGROUND_ERROR`:this._watchState=`BACKGROUND`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background`);break;default:throw Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==`OFF`&&this._updateMarker(e),this.options.trackUserLocation&&this._watchState!==`ACTIVE_LOCK`||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(`maplibregl-user-location-dot-stale`),this.fire(new t.n(`geolocate`,e)),this._finish()}},this._updateCamera=e=>{let n=new t.W(e.coords.longitude,e.coords.latitude),r=e.coords.accuracy,i=this._map.getBearing(),a=t.e({bearing:i},this.options.fitBoundsOptions),o=de.fromLngLat(n,r);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let n=new t.W(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(n).addTo(this._map),this._userLocationDotMarker.setLngLat(n).addTo(this._map),this._accuracy=e.coords.accuracy,this._updateCircleRadiusIfNeeded()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onUpdate=()=>{this._updateCircleRadiusIfNeeded()},this._onError=e=>{if(this._map){if(e.code===1){this._watchState=`OFF`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.disabled=!0;let e=this._map._getUIString(`GeolocateControl.LocationNotAvailable`);this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(e.code===3&&bo)return;this._setErrorState()}this._watchState!==`OFF`&&this.options.showUserLocation&&this._dotElement.classList.add(`maplibregl-user-location-dot-stale`),this.fire(new t.n(`error`,e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._onMoveStart=e=>{if(!this._map)return;let n=e?.[0]instanceof ResizeObserverEntry;e.geolocateSource||this._watchState!==`ACTIVE_LOCK`||n||this._map.isZooming()||(this._watchState=`BACKGROUND`,this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this.fire(new t.n(`trackuserlocationend`)),this.fire(new t.n(`userlocationlostfocus`)))},this._setupUI=()=>{this._map&&(this._container.addEventListener(`contextmenu`,(e=>{e.preventDefault()})),this._geolocateButton=d.create(`button`,`maplibregl-ctrl-geolocate`,this._container),d.create(`span`,`maplibregl-ctrl-icon`,this._geolocateButton).setAttribute(`aria-hidden`,`true`),this._geolocateButton.type=`button`,this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(!1===e){t.w(`Geolocation support is not available so the GeolocateControl will be disabled.`);let e=this._map._getUIString(`GeolocateControl.LocationNotAvailable`);this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e)}else{let e=this._map._getUIString(`GeolocateControl.FindMyLocation`);this._geolocateButton.disabled=!1,this._geolocateButton.title=e,this._geolocateButton.setAttribute(`aria-label`,e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(`aria-pressed`,`false`),this._watchState=`OFF`),this.options.showUserLocation&&(this._dotElement=d.create(`div`,`maplibregl-user-location-dot`),this._userLocationDotMarker=new _o({element:this._dotElement}),this._circleElement=d.create(`div`,`maplibregl-user-location-accuracy-circle`),this._accuracyCircleMarker=new _o({element:this._circleElement,pitchAlignment:`map`}),this.options.trackUserLocation&&(this._watchState=`OFF`),this._map.on(`zoom`,this._onUpdate),this._map.on(`move`,this._onUpdate),this._map.on(`rotate`,this._onUpdate),this._map.on(`pitch`,this._onUpdate)),this._geolocateButton.addEventListener(`click`,(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on(`movestart`,this._onMoveStart)}},this.options=t.e({},vo,e)}onAdd(e){return this._map=e,this._container=d.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._setupUI(),function(){return t._(this,arguments,void 0,(function*(e=!1){if(po!==void 0&&!e)return po;if(window.navigator.permissions===void 0)return po=!!window.navigator.geolocation,po;try{po=(yield window.navigator.permissions.query({name:`geolocation`})).state!==`denied`}catch{po=!!window.navigator.geolocation}return po}))}().then((e=>this._finishSetupUI(e))),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off(`movestart`,this._onMoveStart),this._map.off(`zoom`,this._onUpdate),this._map.off(`move`,this._onUpdate),this._map.off(`rotate`,this._onUpdate),this._map.off(`pitch`,this._onUpdate),this._map=void 0,yo=0,bo=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),n=e.coords;return t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case`WAITING_ACTIVE`:this._watchState=`ACTIVE_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active-error`);break;case`ACTIVE_LOCK`:this._watchState=`ACTIVE_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`);break;case`BACKGROUND`:this._watchState=`BACKGROUND_ERROR`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-background-error`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`);break;case`ACTIVE_ERROR`:case`BACKGROUND_ERROR`:case`OFF`:case void 0:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadiusIfNeeded(){let e=this._userLocationDotMarker.getLngLat();if(!(this.options.showUserLocation&&this.options.showAccuracyCircle&&this._accuracy&&e))return;let t=this._map.project(e),n=this._map.unproject([t.x+100,t.y]),r=e.distanceTo(n)/100,i=2*this._accuracy/r;this._circleElement.style.width=`${i.toFixed(2)}px`,this._circleElement.style.height=`${i.toFixed(2)}px`}trigger(){if(!this._setup)return t.w(`Geolocate control triggered before added to a map`),!1;if(this.options.trackUserLocation){switch(this._watchState){case`OFF`:this._watchState=`WAITING_ACTIVE`,this.fire(new t.n(`trackuserlocationstart`));break;case`WAITING_ACTIVE`:case`ACTIVE_LOCK`:case`ACTIVE_ERROR`:case`BACKGROUND_ERROR`:yo--,bo=!1,this._watchState=`OFF`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-active-error`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background-error`),this.fire(new t.n(`trackuserlocationend`));break;case`BACKGROUND`:this._watchState=`ACTIVE_LOCK`,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-background`),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.n(`trackuserlocationstart`)),this.fire(new t.n(`userlocationfocus`));break;default:throw Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case`WAITING_ACTIVE`:this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`ACTIVE_LOCK`:this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-active`);break;case`OFF`:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===`OFF`&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let e;this._geolocateButton.classList.add(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.setAttribute(`aria-pressed`,`true`),yo++,yo>1?(e={maximumAge:6e5,timeout:0},bo=!0):(e=this.options.positionOptions,bo=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(`maplibregl-ctrl-geolocate-waiting`),this._geolocateButton.setAttribute(`aria-pressed`,`false`),this.options.showUserLocation&&this._updateMarker(null)}},e.GlobeControl=class{constructor(){this._toggleProjection=()=>{let e=this._map.getProjection()?.type;this._map.setProjection(e!==`mercator`&&e?{type:`mercator`}:{type:`globe`}),this._updateGlobeIcon()},this._updateGlobeIcon=()=>{this._globeButton.classList.remove(`maplibregl-ctrl-globe`),this._globeButton.classList.remove(`maplibregl-ctrl-globe-enabled`),this._map.getProjection()?.type===`globe`?(this._globeButton.classList.add(`maplibregl-ctrl-globe-enabled`),this._globeButton.title=this._map._getUIString(`GlobeControl.Disable`)):(this._globeButton.classList.add(`maplibregl-ctrl-globe`),this._globeButton.title=this._map._getUIString(`GlobeControl.Enable`))}}onAdd(e){return this._map=e,this._container=d.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._globeButton=d.create(`button`,`maplibregl-ctrl-globe`,this._container),d.create(`span`,`maplibregl-ctrl-icon`,this._globeButton).setAttribute(`aria-hidden`,`true`),this._globeButton.type=`button`,this._globeButton.addEventListener(`click`,this._toggleProjection),this._updateGlobeIcon(),this._map.on(`styledata`,this._updateGlobeIcon),this._map.on(`projectiontransition`,this._updateGlobeIcon),this._container}onRemove(){this._container.remove(),this._map.off(`styledata`,this._updateGlobeIcon),this._map.off(`projectiontransition`,this._updateGlobeIcon),this._globeButton.removeEventListener(`click`,this._toggleProjection),this._map=void 0}},e.Hash=ra,e.ImageSource=Ce,e.KeyboardHandler=Fa,e.LngLatBounds=de,e.LogoControl=Qa,e.Map=lo,e.MapLibreMap=lo,e.MapMouseEvent=fa,e.MapTouchEvent=pa,e.MapWheelEvent=G,e.Marker=_o,e.NavigationControl=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),n=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=n,this._zoomInButton.setAttribute(`aria-disabled`,t.toString()),this._zoomOutButton.setAttribute(`aria-disabled`,n.toString())},this._rotateCompassArrow=()=>{this._compassIcon.style.transform=this.options.visualizePitch&&this.options.visualizeRoll?`scale(${1/Math.cos(this._map.transform.pitchInRadians)**.5}) rotateZ(${-this._map.transform.roll}deg) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizePitch?`scale(${1/Math.cos(this._map.transform.pitchInRadians)**.5}) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizeRoll?`rotate(${-this._map.transform.bearing-this._map.transform.roll}deg)`:`rotate(${-this._map.transform.bearing}deg)`},this._setButtonTitle=(e,t)=>{let n=this._map._getUIString(`NavigationControl.${t}`);e.title=n,e.setAttribute(`aria-label`,n)},this.options=t.e({},uo,e),this._container=d.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._container.addEventListener(`contextmenu`,(e=>e.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton(`maplibregl-ctrl-zoom-in`,(e=>this._map.zoomIn({},{originalEvent:e}))),d.create(`span`,`maplibregl-ctrl-icon`,this._zoomInButton).setAttribute(`aria-hidden`,`true`),this._zoomOutButton=this._createButton(`maplibregl-ctrl-zoom-out`,(e=>this._map.zoomOut({},{originalEvent:e}))),d.create(`span`,`maplibregl-ctrl-icon`,this._zoomOutButton).setAttribute(`aria-hidden`,`true`)),this.options.showCompass&&(this._compass=this._createButton(`maplibregl-ctrl-compass`,(e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})})),this._compassIcon=d.create(`span`,`maplibregl-ctrl-icon`,this._compass),this._compassIcon.setAttribute(`aria-hidden`,`true`))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,`ZoomIn`),this._setButtonTitle(this._zoomOutButton,`ZoomOut`),this._map.on(`zoom`,this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,`ResetBearing`),this.options.visualizePitch&&this._map.on(`pitch`,this._rotateCompassArrow),this.options.visualizeRoll&&this._map.on(`roll`,this._rotateCompassArrow),this._map.on(`rotate`,this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new fo(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){this._container.remove(),this.options.showZoom&&this._map.off(`zoom`,this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(`pitch`,this._rotateCompassArrow),this.options.visualizeRoll&&this._map.off(`roll`,this._rotateCompassArrow),this._map.off(`rotate`,this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(e,t){let n=d.create(`button`,e,this._container);return n.type=`button`,n.addEventListener(`click`,t),n}},e.Popup=class extends t.E{constructor(e){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._container.style.opacity=this._map.transform.isLocationOccluded(this.getLngLat())?`${this.options.locationOccludedOpacity}`:``)},this.remove=()=>(this._content&&this._content.remove(),this._container&&(this._container.remove(),delete this._container),this._map&&(this._map.off(`move`,this._update),this._map.off(`move`,this._onClose),this._map.off(`click`,this._onClose),this._map.off(`remove`,this.remove),this._map.off(`terrain`,this._update),this._map.off(`projectiontransition`,this._update),this._map.off(`mousemove`,this._update),this._map.off(`mouseup`,this._update),this._map.off(`drag`,this._update),this._map._canvasContainer.classList.remove(`maplibregl-track-pointer`),delete this._map,this.fire(new t.n(`close`))),this),this._update=e=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=d.create(`div`,`maplibregl-popup`,this._map.getContainer()),this._tip=d.create(`div`,`maplibregl-popup-tip`,this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(` `))this._container.classList.add(e);this._closeButton&&this._closeButton.setAttribute(`aria-label`,this._map._getUIString(`Popup.Close`)),this._trackPointer&&this._container.classList.add(`maplibregl-popup-track-pointer`)}let t;if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=mo(this._lngLat,this._flatPos,this._map.transform,this._trackPointer),e&&`point`in e&&e.point&&(t=e.point),this._trackPointer&&!t)return;let n=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationToScreenPoint(this._lngLat));let r=this.options.anchor,i=Eo(this.options.offset);if(!r){let e=this._container.offsetWidth,t=this._container.offsetHeight,a=function(e){return e?{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}:{top:0,right:0,bottom:0,left:0}}(this.options.padding),o;o=n.y+i.bottom.y<t+a.top?[`top`]:n.y>this._map.transform.height-t-a.bottom?[`bottom`]:[],n.x<e/2+a.left?o.push(`left`):n.x>this._map.transform.width-e/2-a.right&&o.push(`right`),r=o.length===0?`bottom`:o.join(`-`)}let a=n.add(i[r]);this.options.subpixelPositioning||(a=a.round()),this._container.style.transform=`${ho[r]} translate(${a.x}px,${a.y}px)`,go(this._container,r,`popup`),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(wo),e)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(`click`,this._onClose),this.options.closeOnMove&&this._map.on(`move`,this._onClose),this._map.on(`remove`,this.remove),this._map.on(`terrain`,this._update),this._map.on(`projectiontransition`,this._update),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(`mousemove`,this._update),this._map.on(`mouseup`,this._update),this._container&&this._container.classList.add(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.add(`maplibregl-track-pointer`)):this._map.on(`move`,this._update),this.fire(new t.n(`open`)),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.W.convert(e),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(`move`,this._update),this._map.off(`mousemove`,this._update),this._container&&this._container.classList.remove(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.remove(`maplibregl-track-pointer`)),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(`move`,this._update),this._map.on(`mousemove`,this._update),this._map.on(`drag`,this._update),this._container&&this._container.classList.add(`maplibregl-popup-track-pointer`),this._map._canvasContainer.classList.add(`maplibregl-track-pointer`)),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t=document.createDocumentFragment(),n=document.createElement(`body`),r;for(n.innerHTML=e;r=n.firstChild,r;)t.appendChild(r);return this.setDOMContent(t)}getMaxWidth(){return this._container?.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=d.create(`div`,`maplibregl-popup-content`,this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){return this._container&&this._container.classList.add(e),this}removeClassName(e){return this._container&&this._container.classList.remove(e),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}setPadding(e){this.options.padding=e,this._update()}_createCloseButton(){this.options.closeButton&&(this._closeButton=d.create(`button`,`maplibregl-popup-close-button`,this._content),this._closeButton.type=`button`,this._closeButton.innerHTML=`&#215;`,this._closeButton.addEventListener(`click`,this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let e=this._container.querySelector(To);e&&e.focus()}},e.RasterDEMTileSource=he,e.RasterTileSource=me,e.ScaleControl=class{constructor(e){this._onMove=()=>{So(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,So(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},xo),e)}getDefaultPosition(){return`bottom-left`}onAdd(e){return this._map=e,this._container=d.create(`div`,`maplibregl-ctrl maplibregl-ctrl-scale`,e.getContainer()),this._map.on(`move`,this._onMove),this._onMove(),this._container}onRemove(){this._container.remove(),this._map.off(`move`,this._onMove),this._map=void 0}},e.ScrollZoomHandler=Ra,e.Style=qn,e.TerrainControl=class{constructor(e){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(`maplibregl-ctrl-terrain`),this._terrainButton.classList.remove(`maplibregl-ctrl-terrain-enabled`),this._map.terrain?(this._terrainButton.classList.add(`maplibregl-ctrl-terrain-enabled`),this._terrainButton.title=this._map._getUIString(`TerrainControl.Disable`)):(this._terrainButton.classList.add(`maplibregl-ctrl-terrain`),this._terrainButton.title=this._map._getUIString(`TerrainControl.Enable`))},this.options=e}onAdd(e){return this._map=e,this._container=d.create(`div`,`maplibregl-ctrl maplibregl-ctrl-group`),this._terrainButton=d.create(`button`,`maplibregl-ctrl-terrain`,this._container),d.create(`span`,`maplibregl-ctrl-icon`,this._terrainButton).setAttribute(`aria-hidden`,`true`),this._terrainButton.type=`button`,this._terrainButton.addEventListener(`click`,this._toggleTerrain),this._updateTerrainIcon(),this._map.on(`terrain`,this._updateTerrainIcon),this._container}onRemove(){this._container.remove(),this._map.off(`terrain`,this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=Na,e.TwoFingersTouchRotateHandler=Ma,e.TwoFingersTouchZoomHandler=Aa,e.TwoFingersTouchZoomRotateHandler=Wa,e.VectorTileSource=pe,e.VideoSource=we,e.addSourceType=(e,n)=>t._(void 0,void 0,void 0,(function*(){if(De(e))throw Error(`A source type called "${e}" already exists.`);((e,t)=>{Ee[e]=t})(e,n)})),e.clearPrewarmedResources=function(){let e=ne;e&&(e.isPreloaded()&&e.numActive()===1?(e.release(O),ne=null):console.warn(`Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()`))},e.createTileMesh=z,e.getGlobalDispatcher=ae,e.getMaxParallelImageRequests=function(){return t.c.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return je().getRTLTextPluginStatus()},e.getVersion=function(){return Do},e.getWorkerCount=function(){return k.workerCount},e.getWorkerUrl=function(){return t.c.WORKER_URL},e.importScriptInWorkers=function(e){return ae().broadcast(`IS`,e)},e.isTimeFrozen=function(){return c.isFrozen()},e.now=l,e.prewarm=function(){re().acquire(O)},e.restoreNow=function(){c.restoreNow()},e.setMaxParallelImageRequests=function(e){t.c.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setNow=function(e){c.setNow(e)},e.setRTLTextPlugin=function(e,t){return je().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){k.workerCount=e},e.setWorkerUrl=function(e){t.c.WORKER_URL=e}})),e}))})),jD=o((()=>{}));function MD(e,t){return lO(e,{i:2},t&&t.out,t&&t.dictionary)}function ND(e,t){var n=dO(e);return n+8>e.length&&cO(6,`invalid gzip data`),lO(e.subarray(n,-8),{i:2},t&&t.out||new ID(fO(e)),t&&t.dictionary)}function PD(e,t){return lO(e.subarray(pO(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}function FD(e,t){return e[0]==31&&e[1]==139&&e[2]==8?ND(e,t):(e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31?MD(e,t):PD(e,t)}var ID,LD,RD,zD,BD,VD,HD,UD,WD,GD,KD,qD,JD,YD,XD,ZD,QD,$D,eO,tO,nO,rO,iO,aO,oO,sO,cO,lO,uO,dO,fO,pO,mO,hO=o((()=>{for(ID=Uint8Array,LD=Uint16Array,RD=Int32Array,zD=new ID([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),BD=new ID([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),VD=new ID([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),HD=function(e,t){for(var n=new LD(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new RD(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},UD=HD(zD,2),WD=UD.b,GD=UD.r,WD[28]=258,GD[258]=28,KD=HD(BD,0),qD=KD.b,KD.r,JD=new LD(32768),YD=0;YD<32768;++YD)XD=(YD&43690)>>1|(YD&21845)<<1,XD=(XD&52428)>>2|(XD&13107)<<2,XD=(XD&61680)>>4|(XD&3855)<<4,JD[YD]=((XD&65280)>>8|(XD&255)<<8)>>1;for(ZD=(function(e,t,n){for(var r=e.length,i=0,a=new LD(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new LD(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new LD(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[JD[d]>>c]=l}else for(s=new LD(r),i=0;i<r;++i)e[i]&&(s[i]=JD[o[e[i]-1]++]>>15-e[i]);return s}),QD=new ID(288),YD=0;YD<144;++YD)QD[YD]=8;for(YD=144;YD<256;++YD)QD[YD]=9;for(YD=256;YD<280;++YD)QD[YD]=7;for(YD=280;YD<288;++YD)QD[YD]=8;for($D=new ID(32),YD=0;YD<32;++YD)$D[YD]=5;eO=ZD(QD,9,1),tO=ZD($D,5,1),nO=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},rO=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},iO=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},aO=function(e){return(e+7)/8|0},oO=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new ID(e.subarray(t,n))},sO=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],cO=function(e,t,n){var r=Error(t||sO[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,cO),!n)throw r;return r},lO=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new ID(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new ID(i*3));var l=function(e){var t=n.length;if(e>t){var r=new ID(Math.max(t*2,e));r.set(n),n=r}},u=t.f||0,d=t.p||0,f=t.b||0,p=t.l,m=t.d,h=t.m,g=t.n,_=i*8;do{if(!p){u=rO(e,d,1);var v=rO(e,d+1,3);if(d+=3,!v){var y=aO(d)+4,b=e[y-4]|e[y-3]<<8,x=y+b;if(x>i){c&&cO(0);break}s&&l(f+b),n.set(e.subarray(y,x),f),t.b=f+=b,t.p=d=x*8,t.f=u;continue}else if(v==1)p=eO,m=tO,h=9,g=5;else if(v==2){var S=rO(e,d,31)+257,C=rO(e,d+10,15)+4,w=S+rO(e,d+5,31)+1;d+=14;for(var T=new ID(w),ee=new ID(19),E=0;E<C;++E)ee[VD[E]]=rO(e,d+E*3,7);d+=C*3;for(var D=nO(ee),O=(1<<D)-1,k=ZD(ee,D,1),E=0;E<w;){var te=k[rO(e,d,O)];d+=te&15;var y=te>>4;if(y<16)T[E++]=y;else{var ne=0,A=0;for(y==16?(A=3+rO(e,d,3),d+=2,ne=T[E-1]):y==17?(A=3+rO(e,d,7),d+=3):y==18&&(A=11+rO(e,d,127),d+=7);A--;)T[E++]=ne}}var re=T.subarray(0,S),ie=T.subarray(S);h=nO(re),g=nO(ie),p=ZD(re,h,1),m=ZD(ie,g,1)}else cO(1);if(d>_){c&&cO(0);break}}s&&l(f+131072);for(var ae=(1<<h)-1,oe=(1<<g)-1,se=d;;se=d){var ne=p[iO(e,d)&ae],ce=ne>>4;if(d+=ne&15,d>_){c&&cO(0);break}if(ne||cO(2),ce<256)n[f++]=ce;else if(ce==256){se=d,p=null;break}else{var le=ce-254;if(ce>264){var E=ce-257,ue=zD[E];le=rO(e,d,(1<<ue)-1)+WD[E],d+=ue}var de=m[iO(e,d)&oe],fe=de>>4;de||cO(3),d+=de&15;var ie=qD[fe];if(fe>3){var ue=BD[fe];ie+=iO(e,d)&(1<<ue)-1,d+=ue}if(d>_){c&&cO(0);break}s&&l(f+131072);var pe=f+le;if(f<ie){var me=a-ie,he=Math.min(ie,pe);for(me+f<0&&cO(3);f<he;++f)n[f]=r[me+f]}for(;f<pe;++f)n[f]=n[f-ie]}}t.l=p,t.p=se,t.b=f,t.f=u,p&&(u=1,t.m=h,t.d=m,t.n=g)}while(!u);return f!=n.length&&o?oO(n,0,f):n.subarray(0,f)},uO=new ID(0),dO=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&cO(6,`invalid gzip data`);var t=e[3],n=10;t&4&&(n+=(e[10]|e[11]<<8)+2);for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[n++]);return n+(t&2)},fO=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0},pO=function(e,t){return((e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31)&&cO(6,`invalid zlib data`),(e[1]>>5&1)==+!t&&cO(6,`invalid zlib data: `+(e[1]&32?`need`:`unexpected`)+` dictionary`),(e[1]>>3&4)+2},mO=typeof TextDecoder<`u`&&new TextDecoder;try{mO.decode(uO,{stream:!0})}catch{}}));function gO(e,t){return(t>>>0)*4294967296+(e>>>0)}function _O(e,t){let n=t.buf,r=n[t.pos++],i=(r&112)>>4;if(r<128||(r=n[t.pos++],i|=(r&127)<<3,r<128)||(r=n[t.pos++],i|=(r&127)<<10,r<128)||(r=n[t.pos++],i|=(r&127)<<17,r<128)||(r=n[t.pos++],i|=(r&127)<<24,r<128)||(r=n[t.pos++],i|=(r&1)<<31,r<128))return gO(e,i);throw Error(`Expected varint not more than 10 bytes`)}function vO(e){let t=e.buf,n=t[e.pos++],r=n&127;return n<128||(n=t[e.pos++],r|=(n&127)<<7,n<128)||(n=t[e.pos++],r|=(n&127)<<14,n<128)||(n=t[e.pos++],r|=(n&127)<<21,n<128)?r:(n=t[e.pos],r|=(n&15)<<28,_O(r,e))}function yO(e,t,n,r,i){return i===0?r===0?[n,t]:[e-1-n,e-1-t]:[t,n]}function bO(e,t,n){if(e>26)throw Error(`Tile zoom level exceeds max safe number limit (26)`);if(t>=1<<e||n>=1<<e)throw Error(`tile x/y outside zoom level bounds`);let r=((1<<e)*(1<<e)-1)/3,i=e-1,[a,o]=[t,n];for(let e=1<<i;e>0;e>>=1){let t=a&e,n=o&e;r+=(3*t^n)*(1<<i),[a,o]=yO(e,a,o,t,n),i--}return r}function xO(e){let t=3*e+1;return t<4294967296?31-Math.clz32(t):63-Math.clz32(t/4294967296)}function SO(e){let t=xO(e)>>1;if(t>26)throw Error(`Tile zoom level exceeds max safe number limit (26)`);let n=e-((1<<t)*(1<<t)-1)/3,r=0,i=0,a=1<<t;for(let e=1;e<a;e<<=1){let t=e&n/2,a=e&(n^t);[r,i]=yO(e,r,i,t,a),n/=2,r+=t,i+=a}return[t,r,i]}function CO(e,t){return PO(this,null,function*(){if(t===1||t===0)return e;if(t===2){if(globalThis.DecompressionStream===void 0)return FD(new Uint8Array(e));let t=new Response(e).body;if(!t)throw Error(`Failed to read response stream`);let n=t.pipeThrough(new globalThis.DecompressionStream(`gzip`));return new Response(n).arrayBuffer()}throw Error(`Compression method not supported`)})}function wO(e){return e===1?`.mvt`:e===2?`.png`:e===3?`.jpg`:e===4?`.webp`:e===5?`.avif`:e===6?`.mlt`:``}function TO(e,t){let n=0,r=e.length-1;for(;n<=r;){let i=r+n>>1,a=t-e[i].tileId;if(a>0)n=i+1;else if(a<0)r=i-1;else return e[i]}return r>=0&&(e[r].runLength===0||t-e[r].tileId<e[r].runLength)?e[r]:null}function EO(e,t){let n=e.getUint32(t+4,!0),r=e.getUint32(t+0,!0);return n*MO(2,32)+r}function DO(e,t){let n=new DataView(e),r=n.getUint8(7);if(r>3)throw Error(`Archive is spec version ${r} but this library supports up to spec version 3`);return{specVersion:r,rootDirectoryOffset:EO(n,8),rootDirectoryLength:EO(n,16),jsonMetadataOffset:EO(n,24),jsonMetadataLength:EO(n,32),leafDirectoryOffset:EO(n,40),leafDirectoryLength:EO(n,48),tileDataOffset:EO(n,56),tileDataLength:EO(n,64),numAddressedTiles:EO(n,72),numTileEntries:EO(n,80),numTileContents:EO(n,88),clustered:n.getUint8(96)===1,internalCompression:n.getUint8(97),tileCompression:n.getUint8(98),tileType:n.getUint8(99),minZoom:n.getUint8(100),maxZoom:n.getUint8(101),minLon:n.getInt32(102,!0)/1e7,minLat:n.getInt32(106,!0)/1e7,maxLon:n.getInt32(110,!0)/1e7,maxLat:n.getInt32(114,!0)/1e7,centerZoom:n.getUint8(118),centerLon:n.getInt32(119,!0)/1e7,centerLat:n.getInt32(123,!0)/1e7,etag:t}}function OO(e){let t={buf:new Uint8Array(e),pos:0},n=vO(t),r=[],i=0;for(let e=0;e<n;e++){let e=vO(t);r.push({tileId:i+e,offset:0,length:0,runLength:1}),i+=e}for(let e=0;e<n;e++)r[e].runLength=vO(t);for(let e=0;e<n;e++)r[e].length=vO(t);for(let e=0;e<n;e++){let n=vO(t);n===0&&e>0?r[e].offset=r[e-1].offset+r[e-1].length:r[e].offset=n-1}return r}function kO(e,t){return PO(this,null,function*(){let n=yield e.getBytes(0,16384);if(new DataView(n.data).getUint16(0,!0)!==19792)throw Error(`Wrong magic number for PMTiles archive`);let r=DO(n.data.slice(0,BO),n.etag),i=n.data.slice(r.rootDirectoryOffset,r.rootDirectoryOffset+r.rootDirectoryLength),a=`${e.getKey()}|${r.etag||``}|${r.rootDirectoryOffset}|${r.rootDirectoryLength}`,o=OO(yield t(i,r.internalCompression));return[r,[a,o.length,o]]})}function AO(e,t,n,r,i){return PO(this,null,function*(){let a=OO(yield t((yield e.getBytes(n,r,void 0,i.etag)).data,i.internalCompression));if(a.length===0)throw Error(`Empty directory is invalid`);return a})}var jO,MO,NO,PO,FO,IO,LO,RO,zO,BO,VO,HO,UO,WO,GO,KO,qO,JO,YO,XO,ZO=o((()=>{hO(),jO=Object.defineProperty,MO=Math.pow,NO=(e,t)=>jO(e,`name`,{value:t,configurable:!0}),PO=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),NO((e,t)=>{let n=!1,r=``;return new(L.GridLayer.extend({createTile:NO((t,i)=>{let a=document.createElement(`img`),o=new AbortController,s=o.signal;return a.cancel=()=>{o.abort()},n||=(e.getHeader().then(e=>{e.tileType===1||e.tileType===6?console.error(`Error: archive contains vector tiles, but leafletRasterLayer is for displaying raster tiles. See https://github.com/protomaps/PMTiles/tree/main/js for details.`):e.tileType===2?r=`image/png`:e.tileType===3?r=`image/jpeg`:e.tileType===4?r=`image/webp`:e.tileType===5&&(r=`image/avif`)}),!0),e.getZxy(t.z,t.x,t.y,s).then(e=>{if(e){let t=new Blob([e.data],{type:r}),n=window.URL.createObjectURL(t);a.src=n}else a.style.display=`none`;a.cancel=void 0,i(void 0,a)}).catch(e=>{if(e.name!==`AbortError`)throw e}),a},`createTile`),_removeTile:NO(function(e){let t=this._tiles[e];t&&(t.el.cancel&&t.el.cancel(),t.el.src&&window.URL.revokeObjectURL(t.el.src),t.el.width=0,t.el.height=0,t.el.deleted=!0,L.DomUtil.remove(t.el),delete this._tiles[e],this.fire(`tileunload`,{tile:t.el,coords:this._keyToTileCoords(e)}))},`_removeTile`)}))(t)},`leafletRasterLayer`),FO=NO(e=>(t,n)=>{if(n instanceof AbortController)return e(t,n);let r=new AbortController;return e(t,r).then(e=>n(void 0,e.data,e.cacheControl||``,e.expires||``),e=>n(e)).catch(e=>n(e)),{cancel:NO(()=>r.abort(),`cancel`)}},`v3compat`),IO=class{constructor(e){this.tilev4=NO((e,t)=>PO(this,null,function*(){if(e.type===`json`){let n=e.url.substr(10),r=this.tiles.get(n);if(r||(r=new XO(n),this.tiles.set(n,r)),this.metadata){let n=yield r.getTileJson(e.url);return t.signal.throwIfAborted(),{data:n}}let i=yield r.getHeader();return t.signal.throwIfAborted(),(i.minLon>=i.maxLon||i.minLat>=i.maxLat)&&console.error(`Bounds of PMTiles archive ${i.minLon},${i.minLat},${i.maxLon},${i.maxLat} are not valid.`),{data:{tiles:[`${e.url}/{z}/{x}/{y}`],minzoom:i.minZoom,maxzoom:i.maxZoom,bounds:[i.minLon,i.minLat,i.maxLon,i.maxLat]}}}let n=new RegExp(/pmtiles:\/\/(.+)\/(\d+)\/(\d+)\/(\d+)/),r=e.url.match(n);if(!r)throw Error(`Invalid PMTiles protocol URL`);let i=r[1],a=this.tiles.get(i);a||(a=new XO(i),this.tiles.set(i,a));let o=r[2],s=r[3],c=r[4],l=yield a?.getZxy(+o,+s,+c,t.signal);if(t.signal.throwIfAborted(),l)return{data:new Uint8Array(l.data),cacheControl:l.cacheControl,expires:l.expires};let u=yield a.getHeader();if(u.tileType===1||u.tileType===6){if(this.errorOnMissingTile)throw Error(`Tile not found.`);return{data:new Uint8Array}}return{data:null}}),`tilev4`),this.tile=FO(this.tilev4),this.tiles=new Map,this.metadata=e?.metadata||!1,this.errorOnMissingTile=e?.errorOnMissingTile||!1}add(e){this.tiles.set(e.source.getKey(),e)}get(e){return this.tiles.get(e)}},NO(IO,`Protocol`),LO=IO,NO(gO,`toNum`),NO(_O,`readVarintRemainder`),NO(vO,`readVarint`),NO(yO,`rotate`),NO(bO,`zxyToTileId`),NO(xO,`tileIdToZ`),NO(SO,`tileIdToZxy`),RO=(e=>(e[e.Unknown=0]=`Unknown`,e[e.None=1]=`None`,e[e.Gzip=2]=`Gzip`,e[e.Brotli=3]=`Brotli`,e[e.Zstd=4]=`Zstd`,e))(RO||{}),NO(CO,`defaultDecompress`),zO=(e=>(e[e.Unknown=0]=`Unknown`,e[e.Mvt=1]=`Mvt`,e[e.Png=2]=`Png`,e[e.Jpeg=3]=`Jpeg`,e[e.Webp=4]=`Webp`,e[e.Avif=5]=`Avif`,e[e.Mlt=6]=`Mlt`,e))(zO||{}),NO(wO,`tileTypeExt`),BO=127,NO(TO,`findTile`),VO=class{constructor(e){this.file=e}getKey(){return this.file.name}getBytes(e,t){return PO(this,null,function*(){return{data:yield this.file.slice(e,e+t).arrayBuffer()}})}},NO(VO,`FileSource`),HO=class{constructor(e,t=new Headers,n=void 0){this.url=e,this.customHeaders=t,this.credentials=n,this.mustReload=!1;let r=``;`navigator`in globalThis&&(r=globalThis.navigator?.userAgent??``);let i=r.indexOf(`Windows`)>-1,a=/Chrome|Chromium|Edg|OPR|Brave/.test(r);this.chromeWindowsNoCache=!1,i&&a&&(this.chromeWindowsNoCache=!0)}getKey(){return this.url}setHeaders(e){this.customHeaders=e}getBytes(e,t,n,r){return PO(this,null,function*(){let i,a;n?a=n:(i=new AbortController,a=i.signal);let o=new Headers(this.customHeaders);o.set(`range`,`bytes=${e}-${e+t-1}`);let s;this.mustReload?s=`reload`:this.chromeWindowsNoCache&&(s=`no-store`);let c=yield fetch(this.url,{signal:a,cache:s,headers:o,credentials:this.credentials});if(e===0&&c.status===416){let e=c.headers.get(`Content-Range`);if(!e||!e.startsWith(`bytes */`))throw Error(`Missing content-length on 416 response`);let t=+e.substr(8);o.set(`range`,`bytes=0-${t-1}`),c=yield fetch(this.url,{signal:a,cache:`reload`,headers:o,credentials:this.credentials})}let l=c.headers.get(`Etag`);if(l!=null&&l.startsWith(`W/`)&&(l=null),c.status===416||r&&l&&l!==r)throw this.mustReload=!0,new GO(`Server returned non-matching ETag ${r} after one retry. Check browser extensions and servers for issues that may affect correct ETag headers.`);if(c.status>=300)throw Error(`Bad response code: ${c.status}`);let u=c.headers.get(`Content-Length`);if(c.status===200&&(!u||+u>t))throw i&&i.abort(),Error(`Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.`);return{data:yield c.arrayBuffer(),etag:l||void 0,cacheControl:c.headers.get(`Cache-Control`)||void 0,expires:c.headers.get(`Expires`)||void 0}})}},NO(HO,`FetchSource`),UO=HO,NO(EO,`getUint64`),NO(DO,`bytesToHeader`),NO(OO,`deserializeIndex`),WO=class extends Error{},NO(WO,`EtagMismatch`),GO=WO,NO(kO,`getHeaderAndRoot`),NO(AO,`getDirectory`),KO=class{constructor(e=100,t=!0,n=CO){this.cache=new Map,this.maxCacheEntries=e,this.counter=1,this.decompress=n}getHeader(e){return PO(this,null,function*(){let t=e.getKey(),n=this.cache.get(t);if(n)return n.lastUsed=this.counter++,n.data;let r=yield kO(e,this.decompress);return r[1]&&this.cache.set(r[1][0],{lastUsed:this.counter++,data:r[1][2]}),this.cache.set(t,{lastUsed:this.counter++,data:r[0]}),this.prune(),r[0]})}getDirectory(e,t,n,r){return PO(this,null,function*(){let i=`${e.getKey()}|${r.etag||``}|${t}|${n}`,a=this.cache.get(i);if(a)return a.lastUsed=this.counter++,a.data;let o=yield AO(e,this.decompress,t,n,r);return this.cache.set(i,{lastUsed:this.counter++,data:o}),this.prune(),o})}prune(){if(this.cache.size>this.maxCacheEntries){let e=1/0,t;this.cache.forEach((n,r)=>{n.lastUsed<e&&(e=n.lastUsed,t=r)}),t&&this.cache.delete(t)}}invalidate(e){return PO(this,null,function*(){this.cache.delete(e.getKey())})}},NO(KO,`ResolvedValueCache`),qO=class{constructor(e=100,t=!0,n=CO){this.cache=new Map,this.invalidations=new Map,this.maxCacheEntries=e,this.counter=1,this.decompress=n}getHeader(e){return PO(this,null,function*(){let t=e.getKey(),n=this.cache.get(t);if(n)return n.lastUsed=this.counter++,yield n.data;let r=new Promise((t,n)=>{kO(e,this.decompress).then(e=>{e[1]&&this.cache.set(e[1][0],{lastUsed:this.counter++,data:Promise.resolve(e[1][2])}),t(e[0]),this.prune()}).catch(e=>{n(e)})});return this.cache.set(t,{lastUsed:this.counter++,data:r}),r})}getDirectory(e,t,n,r){return PO(this,null,function*(){let i=`${e.getKey()}|${r.etag||``}|${t}|${n}`,a=this.cache.get(i);if(a)return a.lastUsed=this.counter++,yield a.data;let o=new Promise((i,a)=>{AO(e,this.decompress,t,n,r).then(e=>{i(e),this.prune()}).catch(e=>{a(e)})});return this.cache.set(i,{lastUsed:this.counter++,data:o}),o})}prune(){if(this.cache.size>=this.maxCacheEntries){let e=1/0,t;this.cache.forEach((n,r)=>{n.lastUsed<e&&(e=n.lastUsed,t=r)}),t&&this.cache.delete(t)}}invalidate(e){return PO(this,null,function*(){let t=e.getKey();if(this.invalidations.get(t))return yield this.invalidations.get(t);this.cache.delete(e.getKey());let n=new Promise((n,r)=>{this.getHeader(e).then(e=>{n(),this.invalidations.delete(t)}).catch(e=>{r(e)})});this.invalidations.set(t,n)})}},NO(qO,`SharedPromiseCache`),JO=qO,YO=class{constructor(e,t,n){typeof e==`string`?this.source=new UO(e):this.source=e,n?this.decompress=n:this.decompress=CO,t?this.cache=t:this.cache=new JO}getHeader(){return PO(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(e,t,n,r){return PO(this,null,function*(){let i=bO(e,t,n),a=yield this.cache.getHeader(this.source);if(e<a.minZoom||e>a.maxZoom)return;let o=a.rootDirectoryOffset,s=a.rootDirectoryLength;for(let e=0;e<=3;e++){let e=TO(yield this.cache.getDirectory(this.source,o,s,a),i);if(e){if(e.runLength>0){let t=yield this.source.getBytes(a.tileDataOffset+e.offset,e.length,r,a.etag);return{data:yield this.decompress(t.data,a.tileCompression),cacheControl:t.cacheControl,expires:t.expires}}o=a.leafDirectoryOffset+e.offset,s=e.length}else return}throw Error(`Maximum directory depth exceeded`)})}getZxy(e,t,n,r){return PO(this,null,function*(){try{return yield this.getZxyAttempt(e,t,n,r)}catch(i){if(i instanceof GO)return this.cache.invalidate(this.source),yield this.getZxyAttempt(e,t,n,r);throw i}})}getMetadataAttempt(){return PO(this,null,function*(){let e=yield this.cache.getHeader(this.source),t=yield this.source.getBytes(e.jsonMetadataOffset,e.jsonMetadataLength,void 0,e.etag),n=yield this.decompress(t.data,e.internalCompression),r=new TextDecoder(`utf-8`);return JSON.parse(r.decode(n))})}getMetadata(){return PO(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(e){if(e instanceof GO)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw e}})}getTileJson(e){return PO(this,null,function*(){let t=yield this.getHeader(),n=yield this.getMetadata();return{tilejson:`3.0.0`,scheme:`xyz`,tiles:[`${e}/{z}/{x}/{y}${wO(t.tileType)}`],vector_layers:n.vector_layers,attribution:n.attribution,description:n.description,name:n.name,version:n.version,bounds:[t.minLon,t.minLat,t.maxLon,t.maxLat],center:[t.centerLon,t.centerLat,t.centerZoom],minzoom:t.minZoom,maxzoom:t.maxZoom}})}},NO(YO,`PMTiles`),XO=YO})),QO,$O=o((()=>{QO=class{_title;_svgIcon;_svgClass;_rotateWithBearing;_onClick;_map;_container;_svg;_onRotate;constructor({title:e=`Custom`,svgIcon:t,svgClass:n=`w-4 h-4`,rotateWithBearing:r=!1,onClick:i=()=>{}}){this._title=e,this._svgIcon=t,this._svgClass=n,this._rotateWithBearing=r,this._onClick=i}onAdd(e){this._map=e,this._container=document.createElement(`div`),this._container.className=`maplibregl-ctrl maplibregl-ctrl-group`;let t=document.createElement(`button`);return t.style.cssText=`display: flex; align-items: center; justify-content: center;`,t.type=`button`,t.title=this._title,t.setAttribute(`aria-label`,this._title),t.innerHTML=this._svgIcon,this._svg=t.querySelector(`svg`)??void 0,this._svg&&this._svg.setAttribute(`class`,this._svgClass),this._rotateWithBearing&&(this._onRotate=()=>{let e=this._map?.getBearing()??0;this._svg&&(this._svg.style.transform=`rotate(${-e}deg)`)},e.on(`rotate`,this._onRotate)),t.addEventListener(`click`,e=>{e.preventDefault(),this._map&&this._onClick(this._map)}),this._container.appendChild(t),this._container}onRemove(){this._rotateWithBearing&&this._map&&this._onRotate&&this._map.off(`rotate`,this._onRotate),this._container&&this._container.remove(),this._map=void 0}}}));function ek(e,t,n={}){let r={type:`Feature`};return(n.id===0||n.id)&&(r.id=n.id),n.bbox&&(r.bbox=n.bbox),r.properties=t||{},r.geometry=e,r}function tk(e,t,n={}){if(!e)throw Error(`coordinates is required`);if(!Array.isArray(e))throw Error(`coordinates must be an Array`);if(e.length<2)throw Error(`coordinates must be at least 2 numbers long`);if(!ok(e[0])||!ok(e[1]))throw Error(`coordinates must contain numbers`);return ek({type:`Point`,coordinates:e},t,n)}function nk(e,t,n={}){for(let t of e){if(t.length<4)throw Error(`Each LinearRing of a Polygon must have 4 or more Positions.`);if(t[t.length-1].length!==t[0].length)throw Error(`First and last Position are not equivalent.`);for(let e=0;e<t[t.length-1].length;e++)if(t[t.length-1][e]!==t[0][e])throw Error(`First and last Position are not equivalent.`)}return ek({type:`Polygon`,coordinates:e},t,n)}function rk(e,t=`kilometers`){let n=ck[t];if(!n)throw Error(t+` units is invalid`);return e/n}function ik(e){return e%(2*Math.PI)*180/Math.PI}function ak(e){return e%360*Math.PI/180}function ok(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}var sk,ck,lk=o((()=>{sk=6371008.8,ck={centimeters:sk*100,centimetres:sk*100,degrees:360/(2*Math.PI),feet:sk*3.28084,inches:sk*39.37,kilometers:sk/1e3,kilometres:sk/1e3,meters:sk,metres:sk,miles:sk/1609.344,millimeters:sk*1e3,millimetres:sk*1e3,nauticalmiles:sk/1852,radians:1,yards:sk*1.0936}}));function uk(e){if(!e)throw Error(`coord is required`);if(!Array.isArray(e)){if(e.type===`Feature`&&e.geometry!==null&&e.geometry.type===`Point`)return[...e.geometry.coordinates];if(e.type===`Point`)return[...e.coordinates]}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return[...e];throw Error(`coord must be GeoJSON Point or an Array of numbers`)}var dk=o((()=>{}));function fk(e,t,n,r={}){let i=uk(e),a=ak(i[0]),o=ak(i[1]),s=ak(n),c=rk(t,r.units),l=Math.asin(Math.sin(o)*Math.cos(c)+Math.cos(o)*Math.sin(c)*Math.cos(s)),u=ik(a+Math.atan2(Math.sin(s)*Math.sin(c)*Math.cos(o),Math.cos(c)-Math.sin(o)*Math.sin(l))),d=ik(l);return i[2]===void 0?tk([u,d],r.properties):tk([u,d,i[2]],r.properties)}var pk,mk=o((()=>{lk(),dk(),pk=fk}));function hk(e,t,n={}){let r=n.steps||64,i=n.properties?n.properties:!Array.isArray(e)&&e.type===`Feature`&&e.properties?e.properties:{},a=[];for(let i=0;i<r;i++)a.push(fk(e,t,i*-360/r,n).geometry.coordinates);return a.push(a[0]),nk([a],i)}var gk,_k=o((()=>{mk(),lk(),gk=hk})),vk,yk,bk,xk,Sk,Ck,wk,Tk,Ek,Dk=o((()=>{vk=1852,yk=1.94384,bk=6371e3,xk=1e3,Sk=3e4,Ck=3e3,wk=`https://www.google.com/generate_204`,Tk={gray:`#8a8a8a`,orange:`#f97316`,red:`#ef4444`,blue:`#1f78ff`},Ek=Object.keys(Tk),Object.freeze({SAFE:`safe`,WARNING:`warning`,DANGER:`danger`})}));function Ok(e){return e*Math.PI/180}function kk(e){return e*180/Math.PI}function Ak(e,t){if(!(e.latitude===null||e.longitude===null||t.latitude===null||t.longitude===null))return{x:Ok(e.longitude-t.longitude)*Math.cos(Ok(t.latitude))*bk,y:Ok(e.latitude-t.latitude)*bk}}function jk(e){return Math.sqrt(e.x*e.x+e.y*e.y)}function Mk(e){return(kk(Math.atan2(e.x,e.y))+360)%360}function Nk(e){return e.sog===null||e.cog===null?{x:0,y:0}:{x:e.sog*Math.sin(e.cog),y:e.sog*Math.cos(e.cog)}}function Pk(e,t,n){if(!e||!t||!n)return;let r={x:t.x-n.x,y:t.y-n.y},i=r.x*r.x+r.y*r.y;if(i<1e-4)return;let a=-(e.x*r.x+e.y*r.y)/i;if(a<0)return;let o=e.x+r.x*a,s=e.y+r.y*a;return{tcpa:a,cpa:Math.sqrt(o*o+s*s)}}function Fk(e,t){if(!(e.latitude===null||e.longitude===null||e.cog===null||e.sog===null||t===void 0))return pk([e.longitude,e.latitude],e.sog*t,kk(e.cog),{units:`meters`}).geometry.coordinates}function Ik(e){if(!(e.latitude===null||e.longitude===null||e.cog===null||e.sog===null))return pk([e.longitude,e.latitude],e.sog*60*10,kk(e.cog),{units:`meters`}).geometry.coordinates}function Lk(e){if(!e.lastSeenDate)return;let t=Math.round((new Date().getTime()-new Date(e.lastSeenDate).getTime())/1e3);return t>0?t:0}function Rk(e){return!Vk(e)||e>600}function zk(e){return Vk(e.latitude)&&Vk(e.longitude)}function Bk(e,t,n,r,i,a){let o={};try{o.guardAlarm=Vk(t)&&t<e.guard.range*1852&&(e.guard.speed===0||Vk(n)&&n>e.guard.speed/1.94384),o.collisionAlarm=Vk(r)&&r<e.danger.cpa*1852&&Vk(i)&&i>0&&i<e.danger.tcpa*60&&(e.danger.speed===0||Vk(n)&&n>e.danger.speed/1.94384),o.collisionWarning=Vk(r)&&r<e.warning.cpa*1852&&Vk(i)&&i>0&&i<e.warning.tcpa*60&&(e.warning.speed===0||Vk(n)&&n>e.warning.speed/1.94384),o.sartAlarm=!!a&&a.startsWith(`970`),o.mobAlarm=!!a&&a.startsWith(`972`),o.epirbAlarm=!!a&&a.startsWith(`974`);let s=[];o.guardAlarm&&s.push(`guard`),(o.collisionAlarm||o.collisionWarning)&&s.push(`cpa`),o.sartAlarm&&s.push(`sart`),o.mobAlarm&&s.push(`mob`),o.epirbAlarm&&s.push(`epirb`),s.length>0?o.alarmType=s.join(`,`):o.alarmType=null,o.guardAlarm||o.collisionAlarm||o.sartAlarm||o.mobAlarm||o.epirbAlarm?(o.alarmState=`danger`,o.order=1e5):o.collisionWarning?(o.alarmState=`warning`,o.order=2e5):Vk(i)&&i>0?(o.alarmState=null,o.order=3e5):(o.alarmState=null,o.order=4e5),Vk(i)&&i>0&&(o.order+=3.333*i),Vk(r)&&r>0&&(o.order+=1e3*r/vk),Vk(t)&&t>0&&(o.order+=1e3*t/vk),Vk(t)||(o.order+=99999)}catch(e){console.error(`error in evaluateAlarms`,e)}return o}function Vk(e){return typeof e==`number`&&Number.isFinite(e)}var Hk=o((()=>{mk(),Dk()}));function Uk(e){return{context:e,mmsi:null,name:null,callsign:null,imo:null,sog:null,cog:null,hdg:null,rot:null,specialManeuver:null,magvar:null,latitude:null,longitude:null,lastSeenDate:null,typeId:null,type:null,aisClass:null,status:null,length:null,beam:null,draft:null,destination:null,eta:null,isVirtual:null,isOffPosition:null,alarmIsMuted:!1,isLost:!1,isValid:!1}}function Wk(e){console.log(`deleting vessel`,e.context,e.mmsi,e.name,e.lastSeenSecondsAgo),delete Gk[e.context]}var Gk,Kk,qk=o((()=>{X(),Gk=ur({}),Kk=ur({myVesselContext:null,selectedVesselContext:null})}));function Jk(e){if(!Vk(e))return;let t=Math.abs(e),n=`0${Math.floor(t)}`.slice(-2),r=`0${((t-Number(n))*60).toFixed(4)}`.slice(-7);return`${e>0?`N`:`S`} ${n}° ${r}`}function Yk(e){if(!Vk(e))return;let t=Math.abs(e),n=`00${Math.floor(t)}`.slice(-3),r=`0${((t-Number(n))*60).toFixed(4)}`.slice(-7);return`${e>0?`E`:`W`} ${n}° ${r}`}function Xk(e){if(Vk(e))return`${(e/vk).toFixed(2)} NM`}function Zk(e){if(Vk(e))return`${Math.round(e)} T`}function Qk(e){if(Vk(e))return`${(e*yk).toFixed(1)} kn`}function $k(e,t){return`${Vk(e)?e.toFixed(1):`---`} m x ${Vk(t)?t.toFixed(1):`---`} m`}function eA(e){if(Vk(e))return`${e?.toFixed(1)} m`}function tA(e){if(Vk(e))return`${kk(e).toFixed(3)} deg/s`}function nA(e,t){if(!(!Vk(t)||t<0))return Xk(e)}function rA(e){if(!(!Vk(e)||e<0))return Math.abs(e)>=3600?new Date(1e3*Math.abs(e)).toISOString().substring(11,19):new Date(1e3*Math.abs(e)).toISOString().substring(14,19)}function iA(e){return e.name?e.name.replaceAll(`@`,``):e.context===Kk.myVesselContext?`MY VESSEL`:e.mmsi?`<${e.mmsi}>`:`UNKNOWN`}function aA(e){let t=`${iA(e)}\n`;return Vk(e.sog)&&e.sog>.1&&(t+=`${Qk(e.sog)} `),Vk(e.tcpa)&&e.tcpa>0&&e.tcpa<3600&&Vk(e.cpa)&&(t+=`${nA(e.cpa,e.tcpa)} ${rA(e.tcpa)}`),t+=`\xA0`,t}var oA=o((()=>{Dk(),Hk(),qk()}));function sA(e){let t,n;return e.context===Kk.myVesselContext?`vessel-my-vessel`:e.mmsi&&(e.mmsi.startsWith(`111`)||e.mmsi.startsWith(`970`)||e.mmsi.startsWith(`972`)||e.mmsi.startsWith(`974`))?`vessel-sart`:(t=e.aisClass===`ATON`||e.mmsi&&e.mmsi.startsWith(`99`)?`aton`:e.aisClass===`A`?`class-a`:e.aisClass===`BASE`?`base`:`class-b`,n=e.context===Kk.selectedVesselContext?`blue`:e.alarmState===`danger`?`red`:e.alarmState===`warning`?`orange`:`gray`,`vessel-${t}-${n}`)}function cA(e,t){return`rgba(${parseInt(e.slice(1,3),16)},${parseInt(e.slice(3,5),16)},${parseInt(e.slice(5,7),16)},${t})`}function lA(e){for(let t of SA)for(let n of Ek)uA(e,`vessel-${t}-${n}`,dA(t,Tk[n]));uA(e,`vessel-my-vessel`,_A()),uA(e,`vessel-sart`,vA()),uA(e,`vessel-lost-x`,gA()),uA(e,`vessel-selected`,yA())}function uA(e,t,n){e.hasImage(t)||e.addImage(t,n,{pixelRatio:2})}function dA(e,t){let n=document.createElement(`canvas`);n.width=xA,n.height=xA;let r=n.getContext(`2d`);switch(r.clearRect(0,0,xA,xA),r.translate(xA/2,xA/2),e){case`class-a`:fA(r);break;case`class-b`:pA(r);break;case`aton`:mA(r);break;case`base`:hA(r);break;default:fA(r)}return r.fillStyle=cA(t,wA),r.strokeStyle=t,r.lineWidth=CA,r.fill(),r.stroke(),r.getImageData(0,0,xA,xA)}function fA(e){let t=xA-20,n=t/2.2;e.beginPath(),e.moveTo(-20/2,t/2),e.lineTo(-20/2,-4.399999999999999),e.lineTo(0,-44/2),e.lineTo(n/2,-4.399999999999999),e.lineTo(n/2,t/2),e.closePath()}function pA(e){let t=xA-20,n=t/1.8;e.beginPath(),e.moveTo(-24.444444444444443/2,t/2-5),e.lineTo(0,-44/2-5),e.lineTo(n/2,t/2-5),e.closePath()}function mA(e){let t=xA-44,n=t*.6;e.beginPath(),e.moveTo(0,-12/2),e.lineTo(0,n/2),e.moveTo(-12/2,0),e.lineTo(n/2,0),e.rotate(45*Math.PI/180),e.rect(-20/2,-20/2,t,t)}function hA(e){let t=xA-40,n=t*.6;e.beginPath(),e.moveTo(0,-14.399999999999999/2),e.lineTo(0,n/2),e.moveTo(-14.399999999999999/2,0),e.lineTo(n/2,0),e.rect(-24/2,-24/2,t,t)}function gA(){let e=document.createElement(`canvas`);e.width=xA,e.height=xA;let t=e.getContext(`2d`);return t.clearRect(0,0,xA,xA),t.translate(xA/2,xA/2),t.strokeStyle=Tk.red,t.lineWidth=CA,t.lineCap=`round`,t.beginPath(),t.moveTo(-34/2,-34/2),t.lineTo((xA-30)/2,(xA-30)/2),t.moveTo(-34/2,(xA-30)/2),t.lineTo((xA-30)/2,-34/2),t.stroke(),t.getImageData(0,0,xA,xA)}function _A(){let e=document.createElement(`canvas`);e.width=xA,e.height=xA;let t=e.getContext(`2d`);return t.clearRect(0,0,xA,xA),t.translate(xA/2,xA/2),t.strokeStyle=Tk.gray,t.lineWidth=CA,t.beginPath(),t.arc(0,0,15,0,2*Math.PI),t.stroke(),t.beginPath(),t.arc(0,0,30,0,2*Math.PI),t.stroke(),t.getImageData(0,0,xA,xA)}function vA(){let e=document.createElement(`canvas`);e.width=xA,e.height=xA;let t=e.getContext(`2d`);return t.clearRect(0,0,xA,xA),t.translate(xA/2,xA/2),t.strokeStyle=Tk.red,t.lineWidth=CA,t.beginPath(),t.arc(0,0,30,0,2*Math.PI),t.stroke(),t.rotate(45*Math.PI/180),t.beginPath(),t.moveTo(0,-30),t.lineTo(0,30),t.moveTo(-30,0),t.lineTo(30,0),t.stroke(),t.getImageData(0,0,xA,xA)}function yA(){let e=xA*2,t=document.createElement(`canvas`);t.width=e,t.height=e;let n=t.getContext(`2d`);n.clearRect(0,0,e,e),n.translate(e/2,e/2),n.strokeStyle=Tk.blue,n.lineWidth=10;let r=e-32;return n.setLineDash([r*3/4,r/4,r*3/4,r/4]),n.lineDashOffset=r*3/8,n.beginPath(),n.rect(-96/2,-96/2,r,r),n.stroke(),n.getImageData(0,0,e,e)}var bA,xA,SA,CA,wA,TA=o((()=>{Dk(),qk(),bA=32,xA=bA*2,SA=[`class-a`,`class-b`,`aton`,`base`],CA=4,wA=.5})),EA,DA=o((()=>{EA=`<svg xmlns="http://www.w3.org/2000/svg" width="29" height="29" viewBox="0 0 29 29">
    <path fill="red"d="m10.5 14 4-8 4 8z"/>
    <path fill="currentColor" d="m10.5 16 4 8 4-8z"/>
</svg>`}));function OA(e,t){if(!e)throw Error(t)}function kA(e){return new e.constructor(e.type,e)}function AA(e){return`data`in e?new MessageEvent(e.type,e):`code`in e||`reason`in e?new NA(e.code||1999,e.reason||`unknown reason`,e):`error`in e?new MA(e.error,e):new Event(e.type,e)}function jA(){}var MA,NA,PA,FA,IA,LA,RA,zA,BA,VA=o((()=>{(!globalThis.EventTarget||!globalThis.Event)&&console.error(`
  PartySocket requires a global 'EventTarget' class to be available!
  You can polyfill this global by adding this to your code before any partysocket imports: 
  
  \`\`\`
  import 'partysocket/event-target-polyfill';
  \`\`\`
  Please file an issue at https://github.com/partykit/partykit if you're still having trouble.
`),MA=class extends Event{message;error;constructor(e,t){super(`error`,t),this.message=e.message,this.error=e}},NA=class extends Event{code;reason;wasClean=!0;constructor(e=1e3,t=``,n){super(`close`,n),this.code=e,this.reason=t}},PA={Event,ErrorEvent:MA,CloseEvent:NA},FA=typeof process<`u`&&process.versions?.node!==void 0,IA=typeof navigator<`u`&&navigator.product===`ReactNative`,LA=FA||IA?AA:kA,RA={maxReconnectionDelay:1e4,minReconnectionDelay:3e3,minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0,startClosed:!1,debug:!1},zA=!1,BA=class e extends EventTarget{_ws;_retryCount=-1;_uptimeTimeout;_connectTimeout;_shouldReconnect=!0;_connectLock=!1;_binaryType=`blob`;_closeCalled=!1;_didWarnAboutClosedSend=!1;_messageQueue=[];_debugLogger=console.log.bind(console);_url;_protocols;_options;constructor(e,t,n={}){super(),this._url=e,this._protocols=t,this._options=n,this._options.startClosed&&(this._shouldReconnect=!1),this._options.debugLogger&&(this._debugLogger=this._options.debugLogger),this._connect()}static get CONNECTING(){return 0}static get OPEN(){return 1}static get CLOSING(){return 2}static get CLOSED(){return 3}get CONNECTING(){return e.CONNECTING}get OPEN(){return e.OPEN}get CLOSING(){return e.CLOSING}get CLOSED(){return e.CLOSED}get binaryType(){return this._ws?this._ws.binaryType:this._binaryType}set binaryType(e){this._binaryType=e,this._ws&&(this._ws.binaryType=e)}get retryCount(){return Math.max(this._retryCount,0)}get bufferedAmount(){return this._messageQueue.reduce((e,t)=>(typeof t==`string`?e+=t.length:t instanceof Blob?e+=t.size:e+=t.byteLength,e),0)+(this._ws?this._ws.bufferedAmount:0)}get extensions(){return this._ws?this._ws.extensions:``}get protocol(){return this._ws?this._ws.protocol:``}get readyState(){return this._closeCalled?e.CLOSED:this._ws?this._ws.readyState:this._options.startClosed?e.CLOSED:e.CONNECTING}get url(){return this._ws?this._ws.url:``}get shouldReconnect(){return this._shouldReconnect}onclose=null;onerror=null;onmessage=null;onopen=null;close(e=1e3,t){if(this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),!this._ws){this._debug(`close enqueued: no ws instance`);return}if(this._ws.readyState===this.CLOSED||this._ws.readyState===this.CLOSING){this._debug(`close: already closing or closed`);return}this._disconnect(e,t)}reconnect(e,t){this._shouldReconnect=!0,this._closeCalled=!1,this._didWarnAboutClosedSend=!1,this._retryCount=-1,!this._ws||this._ws.readyState===this.CLOSED||this._ws.readyState===this.CLOSING||this._disconnect(e,t),this._connect()}send(e){if(this._ws&&this._ws.readyState===this.OPEN)return this._debug(`send`,e),this._ws.send(e),!0;this._closeCalled&&!this._didWarnAboutClosedSend&&(this._didWarnAboutClosedSend=!0,console.warn(`ReconnectingWebSocket: send() was called after close(). The message has been buffered, but it will only be delivered if reconnect() is called on this socket. If this socket has been discarded, the message is lost — this usually means a stale socket reference is being used.`));let{maxEnqueuedMessages:t=RA.maxEnqueuedMessages}=this._options;return this._messageQueue.length<t&&(this._debug(`enqueue`,e),this._messageQueue.push(e)),!1}drainQueuedMessages(){let e=this._messageQueue;return this._messageQueue=[],e}_debug(...e){this._options.debug&&this._debugLogger(`RWS>`,...e)}_getNextDelay(){let{reconnectionDelayGrowFactor:e=RA.reconnectionDelayGrowFactor,minReconnectionDelay:t=RA.minReconnectionDelay,maxReconnectionDelay:n=RA.maxReconnectionDelay}=this._options,r=0;return this._retryCount>0&&(r=t*e**(this._retryCount-1),r>n&&(r=n)),this._debug(`next delay`,r),r}_wait(){return new Promise(e=>{setTimeout(e,this._getNextDelay())})}_getNextProtocols(e){if(!e)return Promise.resolve(null);if(typeof e==`string`||Array.isArray(e))return Promise.resolve(e);if(typeof e==`function`){let t=e();if(!t)return Promise.resolve(null);if(typeof t==`string`||Array.isArray(t))return Promise.resolve(t);if(t.then)return t}throw Error(`Invalid protocols`)}_getNextUrl(e){if(typeof e==`string`)return Promise.resolve(e);if(typeof e==`function`){let t=e();if(typeof t==`string`)return Promise.resolve(t);if(t.then)return t}throw Error(`Invalid URL`)}_connect(){if(this._connectLock||!this._shouldReconnect)return;this._connectLock=!0;let{maxRetries:e=RA.maxRetries,connectionTimeout:t=RA.connectionTimeout}=this._options;if(this._retryCount>=e){this._debug(`max retries reached`,this._retryCount,`>=`,e),this._connectLock=!1;return}this._retryCount++,this._debug(`connect`,this._retryCount),this._removeListeners(),this._wait().then(()=>Promise.all([this._getNextUrl(this._url),this._getNextProtocols(this._protocols||null)])).then(([e,n])=>{if(this._closeCalled){this._connectLock=!1;return}!this._options.WebSocket&&typeof WebSocket>`u`&&!zA&&(console.error(`‼️ No WebSocket implementation available. You should define options.WebSocket. 

For example, if you're using node.js, run \`npm install ws\`, and then in your code:

import PartySocket from 'partysocket';
import WS from 'ws';

const partysocket = new PartySocket({
  host: "127.0.0.1:1999",
  room: "test-room",
  WebSocket: WS
});

`),zA=!0);let r=this._options.WebSocket||WebSocket;this._debug(`connect`,{url:e,protocols:n}),this._ws=n?new r(e,n):new r(e),this._ws.binaryType=this._binaryType,this._connectLock=!1,this._addListeners(),this._connectTimeout=setTimeout(()=>this._handleTimeout(),t)}).catch(e=>{this._connectLock=!1,this._handleError(new PA.ErrorEvent(Error(e.message),this))})}_handleTimeout(){this._debug(`timeout event`),this._handleError(new PA.ErrorEvent(Error(`TIMEOUT`),this))}_disconnect(e=1e3,t){if(this._clearTimeouts(),this._ws){this._removeListeners();try{(this._ws.readyState===this.OPEN||this._ws.readyState===this.CONNECTING)&&this._ws.close(e,t),this._handleClose(new PA.CloseEvent(e,t,this))}catch{}}}_acceptOpen(){this._debug(`accept open`),this._retryCount=0}_handleOpen=e=>{this._debug(`open event`);let{minUptime:t=RA.minUptime}=this._options;clearTimeout(this._connectTimeout),this._uptimeTimeout=setTimeout(()=>this._acceptOpen(),t),OA(this._ws,`WebSocket is not defined`),this._ws.binaryType=this._binaryType,this._messageQueue.forEach(e=>{this._ws?.send(e)}),this._messageQueue=[],this.onopen&&this.onopen(e),this.dispatchEvent(LA(e))};_handleMessage=e=>{this._debug(`message event`),this.onmessage&&this.onmessage(e),this.dispatchEvent(LA(e))};_handleError=e=>{this._debug(`error event`,e.message),this._disconnect(void 0,e.message===`TIMEOUT`?`timeout`:void 0),this.onerror&&this.onerror(e),this._debug(`exec error listeners`),this.dispatchEvent(LA(e)),this._connect()};_handleClose=e=>{this._debug(`close event`),this._clearTimeouts(),this._options.shouldReconnectOnClose&&!this._options.shouldReconnectOnClose(e)&&(this._shouldReconnect=!1),this._shouldReconnect&&this._connect(),this.onclose&&this.onclose(e),this.dispatchEvent(LA(e))};_removeListeners(){this._ws&&(this._debug(`removeListeners`),this._ws.removeEventListener(`open`,this._handleOpen),this._ws.removeEventListener(`close`,this._handleClose),this._ws.removeEventListener(`message`,this._handleMessage),this._ws.removeEventListener(`error`,this._handleError),this._ws.addEventListener(`error`,jA))}_addListeners(){this._ws&&(this._debug(`addListeners`),this._ws.addEventListener(`open`,this._handleOpen),this._ws.addEventListener(`close`,this._handleClose),this._ws.addEventListener(`message`,this._handleMessage),this._ws.addEventListener(`error`,this._handleError))}_clearTimeouts(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)}}})),HA=o((()=>{VA()}));function UA(e,t){if(!e)return;e in Gk||(Gk[e]=Uk(e));let n=Gk[e];if(t){for(let e of t)if(YA(e)){for(let{path:t,value:r}of e.values)if(r!==null){let i=r;switch(t){case``:i.mmsi&&(n.mmsi=i.mmsi??``),i.name&&(n.name=i.name??``),i.communication?.callsignVhf&&(n.callsign=i.communication.callsignVhf),i.registrations?.imo&&(n.imo=i.registrations.imo.replace(/imo /i,``));break;case`navigation.position`:n.latitude=i.latitude,n.longitude=i.longitude,n.lastSeenDate=e.timestamp?new Date(e.timestamp):new Date;break;case`navigation.courseOverGroundTrue`:n.cog=i??0;break;case`navigation.speedOverGround`:n.sog=i??0;break;case`navigation.magneticVariation`:n.magvar=i;break;case`navigation.headingTrue`:n.hdg=i;break;case`navigation.rateOfTurn`:n.rot=i;break;case`navigation.specialManeuver`:n.specialManeuver=i;break;case`design.aisShipType`:n.typeId=i.id,n.type=i.name;break;case`navigation.state`:n.status=i;break;case`sensors.ais.class`:n.aisClass=i;break;case`navigation.destination.commonName`:n.destination=i;break;case`design.length`:n.length=i.overall;break;case`design.beam`:n.beam=i;break;case`design.draft`:n.draft=i.current;break;case`atonType`:n.typeId=i.id,n.type=i.name,n.status??=`default`;break;case`offPosition`:n.isOffPosition=+!!i;break;case`virtual`:n.isVirtual=+!!i;break;default:}}}}}function WA(e,t){if(!e||!t?.length)return;let n=nj.get(e);n?n.push(...t):nj.set(e,[...t])}function GA(e,t){tj.connectionState=XA;let n=new BA(`${e===`https:`?`wss:`:`ws:`}//${t}/signalk/v1/stream?subscribe=none`),r=()=>{console.log(`connected`),tj.connectionState=ZA,n.send(JSON.stringify(rj))},i=e=>{let t=JSON.parse(e.data);if(t.self){Kk.myVesselContext=t.self;return}t.context&&WA(t.context,t.updates)},a=()=>{console.log(`WebSocket error`,{retryCount:n.retryCount}),tj.connectionState=QA},o=e=>{console.log(`WebSocket closed`,{code:e.code,reason:e.reason,wasClean:e.wasClean,retryCount:n.retryCount}),tj.connectionState=e.wasClean?$A:ej};return n.addEventListener(`open`,r),n.addEventListener(`message`,i),n.addEventListener(`error`,a),n.addEventListener(`close`,o),()=>{n.removeEventListener(`open`,r),n.removeEventListener(`message`,i),n.removeEventListener(`error`,a),n.removeEventListener(`close`,o),n.close()}}async function KA(e,t){ij&&qA(),ij=GA(e,t)}function qA(){ij&&=(ij(),null)}function JA(){if(!aj){if(aj=!0,nj.size>0){for(let[e,t]of nj)UA(e,t);nj.clear()}aj=!1}}var YA,XA,ZA,QA,$A,ej,tj,nj,rj,ij,aj,oj=o((()=>{X(),HA(),qk(),YA=e=>`values`in e,XA=`connecting`,ZA=`connected`,QA=`error_connecting`,$A=`disconnected`,ej=`reconnecting`,tj=ur({connectionState:$A}),nj=new Map,rj={context:`*`,subscribe:[{path:``,period:1e3,policy:`fixed`},{path:`navigation.position`,period:1e3,policy:`fixed`},{path:`navigation.courseOverGroundTrue`,period:1e3,policy:`fixed`},{path:`navigation.speedOverGround`,period:1e3,policy:`fixed`},{path:`navigation.magneticVariation`,period:1e3,policy:`fixed`},{path:`navigation.headingTrue`,period:1e3,policy:`fixed`},{path:`navigation.state`,period:1e3,policy:`fixed`},{path:`navigation.destination.commonName`,period:1e3,policy:`fixed`},{path:`navigation.rateOfTurn`,period:1e3,policy:`fixed`},{path:`navigation.specialManeuver`,period:1e3,policy:`fixed`},{path:`design.*`,period:1e3,policy:`fixed`},{path:`sensors.ais.class`,period:1e3,policy:`fixed`},{path:`atonType`,period:1e3,policy:`fixed`},{path:`offPosition`,period:1e3,policy:`fixed`},{path:`virtual`,period:1e3,policy:`fixed`}]},ij=null,aj=!1}));function sj(e,t){let n=Gk[e];n&&(console.log({context:e,name:n.name,alarmIsMuted:t}),n.alarmIsMuted=t)}function cj(e){sj(e,!0)}function lj(){for(let e of _t(U(pj)))cj(e.context)}function uj(){return U(pj)}function dj(){return U(mj)}var fj,pj,mj,hj=o((()=>{X(),qk(),fj=ur({alarmsEnabled:!1,lastAlarmTime:null}),pj=z(()=>Object.values(Gk).filter(e=>e.alarmState===`danger`&&e.alarmIsMuted===!1)),mj=z(()=>{let e=0,t=0,n=0;for(let r of Object.values(Gk))if(r.isValid&&r.context!==Kk.myVesselContext){e++;let i=r.alarmState;i&&(t++,i===`danger`&&n++)}return{total:e,filtered:t,danger:n}})}));function gj(e,t){let n=`script`;return e===`name`?n=`script`:e===`name2`?n=`script2`:e===`name3`&&(n=`script3`),[[`coalesce`,[`get`,`pgf:${e}`],[`get`,e]],{"text-font":[`case`,[`==`,[`get`,n],`Devanagari`],[`literal`,[`Noto Sans Devanagari Regular v1`]],[`literal`,[t||`Noto Sans Regular`]]]}]}function _j(e,t,n){let r=`name`;return n===`name`?r=``:n===`name2`?r=`2`:n===`name3`&&(r=`3`),t===`Latin`?[`has`,`script${r}`]:e===`ja`?[`all`,[`!=`,[`get`,`script${r}`],`Han`],[`!=`,[`get`,`script${r}`],`Hiragana`],[`!=`,[`get`,`script${r}`],`Katakana`],[`!=`,[`get`,`script${r}`],`Mixed-Japanese`]]:[`!=`,[`get`,`script${r}`],t]}function vj(e){return e===`Devanagari`?{"text-font":[`literal`,[`Noto Sans Devanagari Regular v1`]]}:{}}function yj(e){let t=Oj.find(t=>t.lang===e);return t===void 0?`Latin`:t.script}function bj(e,t){let n=t||yj(e),r;return r=n===`Devanagari`?`pgf:`:``,[`format`,[`coalesce`,[`get`,`${r}name:${e}`],[`get`,`name:en`]],vj(n)]}function xj(e,t,n){let r=t||yj(e),i;return i=r===`Devanagari`?`pgf:`:``,[`case`,[`all`,[`any`,[`has`,`name`],[`has`,`pgf:name`]],[`!`,[`any`,[`has`,`name2`],[`has`,`pgf:name2`]]],[`!`,[`any`,[`has`,`name3`],[`has`,`pgf:name3`]]]],[`case`,_j(e,r,`name`),[`case`,[`any`,[`is-supported-script`,[`get`,`name`]],[`has`,`pgf:name`]],[`format`,[`coalesce`,[`get`,`${i}name:${e}`],[`get`,`name:en`]],vj(r),`
`,{},[`case`,[`all`,[`!`,[`has`,`${i}name:${e}`]],[`has`,`name:en`],[`!`,[`has`,`script`]]],``,[`coalesce`,[`get`,`pgf:name`],[`get`,`name`]]],{"text-font":[`case`,[`==`,[`get`,`script`],`Devanagari`],[`literal`,[`Noto Sans Devanagari Regular v1`]],[`literal`,[n||`Noto Sans Regular`]]]}],[`get`,`name:en`]],[`format`,[`coalesce`,[`get`,`${i}name:${e}`],[`get`,`pgf:name`],[`get`,`name`]],vj(r)]],[`all`,[`any`,[`has`,`name`],[`has`,`pgf:name`]],[`any`,[`has`,`name2`],[`has`,`pgf:name2`]],[`!`,[`any`,[`has`,`name3`],[`has`,`pgf:name3`]]]],[`case`,[`all`,_j(e,r,`name`),_j(e,r,`name2`)],[`format`,[`get`,`${i}name:${e}`],vj(r),`
`,{},...gj(`name`,n),`
`,{},...gj(`name2`,n)],[`case`,_j(e,r,`name2`),[`format`,[`coalesce`,[`get`,`${i}name:${e}`],[`get`,`pgf:name`],[`get`,`name`]],vj(r),`
`,{},...gj(`name2`,n)],[`format`,[`coalesce`,[`get`,`${i}name:${e}`],[`get`,`pgf:name2`],[`get`,`name2`]],vj(r),`
`,{},...gj(`name`,n)]]],[`case`,[`all`,_j(e,r,`name`),_j(e,r,`name2`),_j(e,r,`name3`)],[`format`,[`get`,`${i}name:${e}`],vj(r),`
`,{},...gj(`name`,n),`
`,{},...gj(`name2`,n),`
`,{},...gj(`name3`,n)],[`case`,[`!`,_j(e,r,`name`)],[`format`,[`coalesce`,[`get`,`${i}name:${e}`],[`get`,`pgf:name`],[`get`,`name`]],vj(r),`
`,{},...gj(`name2`,n),`
`,{},...gj(`name3`,n)],[`!`,_j(e,r,`name2`)],[`format`,[`coalesce`,[`get`,`${i}name:${e}`],[`get`,`pgf:name2`],[`get`,`name2`]],vj(r),`
`,{},...gj(`name`,n),`
`,{},...gj(`name3`,n)],[`format`,[`coalesce`,[`get`,`${i}name:${e}`],[`get`,`pgf:name3`],[`get`,`name3`]],vj(r),`
`,{},...gj(`name`,n),`
`,{},...gj(`name2`,n)]]]]}function Sj(e,t){return[{id:`background`,type:`background`,paint:{"background-color":t.background}},{id:`earth`,type:`fill`,filter:[`==`,`$type`,`Polygon`],source:e,"source-layer":`earth`,paint:{"fill-color":t.earth}},...t.landcover?[{id:`landcover`,type:`fill`,source:e,"source-layer":`landcover`,paint:{"fill-color":[`match`,[`get`,`kind`],`grassland`,t.landcover.grassland,`barren`,t.landcover.barren,`urban_area`,t.landcover.urban_area,`farmland`,t.landcover.farmland,`glacier`,t.landcover.glacier,`scrub`,t.landcover.scrub,t.landcover.forest],"fill-opacity":[`interpolate`,[`linear`],[`zoom`],5,1,7,0]}}]:[],{id:`landuse_park`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`in`,`kind`,`national_park`,`park`,`cemetery`,`protected_area`,`nature_reserve`,`forest`,`golf_course`,`wood`,`scrub`,`grassland`,`grass`,`glacier`,`sand`,`military`,`naval_base`,`airfield`],paint:{"fill-opacity":[`interpolate`,[`linear`],[`zoom`],6,0,11,1],"fill-color":[`case`,[`in`,[`get`,`kind`],[`literal`,[`national_park`,`park`,`cemetery`,`protected_area`,`nature_reserve`,`forest`,`golf_course`]]],t.park_b,[`==`,[`get`,`kind`],`wood`],t.wood_b,[`in`,[`get`,`kind`],[`literal`,[`scrub`,`grassland`,`grass`]]],t.scrub_b,[`==`,[`get`,`kind`],`glacier`],t.glacier,[`==`,[`get`,`kind`],`sand`],t.sand,[`in`,[`get`,`kind`],[`literal`,[`military`,`naval_base`,`airfield`]]],t.zoo,t.earth]}},{id:`landuse_urban_green`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`in`,`kind`,`allotments`,`village_green`,`playground`],paint:{"fill-color":t.park_b,"fill-opacity":.7}},{id:`landuse_hospital`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`==`,`kind`,`hospital`],paint:{"fill-color":t.hospital}},{id:`landuse_industrial`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`==`,`kind`,`industrial`],paint:{"fill-color":t.industrial}},{id:`landuse_school`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`in`,`kind`,`school`,`university`,`college`],paint:{"fill-color":t.school}},{id:`landuse_beach`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`in`,`kind`,`beach`],paint:{"fill-color":t.beach}},{id:`landuse_zoo`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`in`,`kind`,`zoo`],paint:{"fill-color":t.zoo}},{id:`landuse_aerodrome`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`in`,`kind`,`aerodrome`],paint:{"fill-color":t.aerodrome}},{id:`roads_runway`,type:`line`,source:e,"source-layer":`roads`,filter:[`==`,`kind_detail`,`runway`],paint:{"line-color":t.runway,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],10,0,12,4,18,30]}},{id:`roads_taxiway`,type:`line`,source:e,"source-layer":`roads`,minzoom:13,filter:[`==`,`kind_detail`,`taxiway`],paint:{"line-color":t.runway,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,1,15,6]}},{id:`landuse_runway`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`any`,[`in`,`kind`,`runway`,`taxiway`]],paint:{"fill-color":t.runway}},{id:`water`,type:`fill`,filter:[`==`,`$type`,`Polygon`],source:e,"source-layer":`water`,paint:{"fill-color":t.water}},{id:`water_stream`,type:`line`,source:e,"source-layer":`water`,minzoom:14,filter:[`in`,`kind`,`stream`],paint:{"line-color":t.water,"line-width":.5}},{id:`water_river`,type:`line`,source:e,"source-layer":`water`,minzoom:9,filter:[`in`,`kind`,`river`],paint:{"line-color":t.water,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],9,0,9.5,1,18,12]}},{id:`landuse_pedestrian`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`in`,`kind`,`pedestrian`,`dam`],paint:{"fill-color":t.pedestrian}},{id:`landuse_pier`,type:`fill`,source:e,"source-layer":`landuse`,filter:[`==`,`kind`,`pier`],paint:{"fill-color":t.pier}},{id:`roads_tunnels_other_casing`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`in`,`kind`,`other`,`path`]],paint:{"line-color":t.tunnel_other_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],14,0,20,7]}},{id:`roads_tunnels_minor_casing`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`==`,`kind`,`minor_road`]],paint:{"line-color":t.tunnel_minor_casing,"line-dasharray":[3,2],"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],11,0,12.5,.5,15,2,18,11],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],12,0,12.5,1]}},{id:`roads_tunnels_link_casing`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`has`,`is_link`]],paint:{"line-color":t.tunnel_link_casing,"line-dasharray":[3,2],"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,1,18,11],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],12,0,12.5,1]}},{id:`roads_tunnels_major_casing`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`major_road`]],paint:{"line-color":t.tunnel_major_casing,"line-dasharray":[3,2],"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],7,0,7.5,.5,18,13],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],9,0,9.5,1]}},{id:`roads_tunnels_highway_casing`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`highway`],[`!has`,`is_link`]],paint:{"line-color":t.tunnel_highway_casing,"line-dasharray":[6,.5],"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],3,0,3.5,.5,18,15],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],7,0,7.5,1,20,15]}},{id:`roads_tunnels_other`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`in`,`kind`,`other`,`path`]],paint:{"line-color":t.tunnel_other,"line-dasharray":[4.5,.5],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],14,0,20,7]}},{id:`roads_tunnels_minor`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`==`,`kind`,`minor_road`]],paint:{"line-color":t.tunnel_minor,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],11,0,12.5,.5,15,2,18,11]}},{id:`roads_tunnels_link`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`has`,`is_link`]],paint:{"line-color":t.tunnel_minor,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,1,18,11]}},{id:`roads_tunnels_major`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`==`,`kind`,`major_road`]],paint:{"line-color":t.tunnel_major,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],6,0,12,1.6,15,3,18,13]}},{id:`roads_tunnels_highway`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_tunnel`],[`==`,[`get`,`kind`],`highway`],[`!`,[`has`,`is_link`]]],paint:{"line-color":t.tunnel_highway,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],3,0,6,1.1,12,1.6,15,5,18,15]}},{id:`buildings`,type:`fill`,source:e,"source-layer":`buildings`,filter:[`in`,`kind`,`building`,`building_part`],paint:{"fill-color":t.buildings,"fill-opacity":.5}},{id:`roads_pier`,type:`line`,source:e,"source-layer":`roads`,filter:[`==`,`kind_detail`,`pier`],paint:{"line-color":t.pier,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],12,0,12.5,.5,20,16]}},{id:`roads_minor_service_casing`,type:`line`,source:e,"source-layer":`roads`,minzoom:13,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`minor_road`],[`==`,`kind_detail`,`service`]],paint:{"line-color":t.minor_service_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,18,8],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,.8]}},{id:`roads_minor_casing`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`minor_road`],[`!=`,`kind_detail`,`service`]],paint:{"line-color":t.minor_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],11,0,12.5,.5,15,2,18,11],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],12,0,12.5,1]}},{id:`roads_link_casing`,type:`line`,source:e,"source-layer":`roads`,minzoom:13,filter:[`has`,`is_link`],paint:{"line-color":t.minor_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,1,18,11],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,1.5]}},{id:`roads_major_casing_late`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`major_road`]],paint:{"line-color":t.major_casing_late,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],6,0,12,1.6,15,3,18,13],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],9,0,9.5,1]}},{id:`roads_highway_casing_late`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`highway`],[`!has`,`is_link`]],paint:{"line-color":t.highway_casing_late,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],3,0,3.5,.5,18,15],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],7,0,7.5,1,20,15]}},{id:`roads_other`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`in`,`kind`,`other`,`path`],[`!=`,`kind_detail`,`pier`]],paint:{"line-color":t.other,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],14,.5,20,12]}},{id:`roads_link`,type:`line`,source:e,"source-layer":`roads`,filter:[`has`,`is_link`],paint:{"line-color":t.link,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,1,18,11]}},{id:`roads_minor_service`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`minor_road`],[`==`,`kind_detail`,`service`]],paint:{"line-color":t.minor_service,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,18,8]}},{id:`roads_minor`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`minor_road`],[`!=`,`kind_detail`,`service`]],paint:{"line-color":[`interpolate`,[`exponential`,1.6],[`zoom`],11,t.minor_a,16,t.minor_b],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],11,0,12.5,.5,15,2,18,11]}},{id:`roads_major_casing_early`,type:`line`,source:e,"source-layer":`roads`,maxzoom:12,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`major_road`]],paint:{"line-color":t.major_casing_early,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],7,0,7.5,.5,18,13],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],9,0,9.5,1]}},{id:`roads_major`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`major_road`]],paint:{"line-color":t.major,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],6,0,12,1.6,15,3,18,13]}},{id:`roads_highway_casing_early`,type:`line`,source:e,"source-layer":`roads`,maxzoom:12,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`highway`],[`!has`,`is_link`]],paint:{"line-color":t.highway_casing_early,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],3,0,3.5,.5,18,15],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],7,0,7.5,1]}},{id:`roads_highway`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`!has`,`is_tunnel`],[`!has`,`is_bridge`],[`==`,`kind`,`highway`],[`!has`,`is_link`]],paint:{"line-color":t.highway,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],3,0,6,1.1,12,1.6,15,5,18,15]}},{id:`roads_rail`,type:`line`,source:e,"source-layer":`roads`,filter:[`==`,`kind`,`rail`],paint:{"line-dasharray":[.3,.75],"line-opacity":.5,"line-color":t.railway,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],3,0,6,.15,18,9]}},{id:`boundaries_country`,type:`line`,source:e,"source-layer":`boundaries`,filter:[`<=`,`kind_detail`,2],paint:{"line-color":t.boundaries,"line-width":.7,"line-dasharray":[`step`,[`zoom`],[`literal`,[2,0]],4,[`literal`,[2,1]]]}},{id:`boundaries`,type:`line`,source:e,"source-layer":`boundaries`,filter:[`>`,`kind_detail`,2],paint:{"line-color":t.boundaries,"line-width":.4,"line-dasharray":[`step`,[`zoom`],[`literal`,[2,0]],4,[`literal`,[2,1]]]}},{id:`roads_bridges_other_casing`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`in`,`kind`,`other`,`path`]],paint:{"line-color":t.bridges_other_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],14,0,20,7]}},{id:`roads_bridges_link_casing`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`has`,`is_link`]],paint:{"line-color":t.bridges_minor_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,1,18,11],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],12,0,12.5,1.5]}},{id:`roads_bridges_minor_casing`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`==`,`kind`,`minor_road`]],paint:{"line-color":t.bridges_minor_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],11,0,12.5,.5,15,2,18,11],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,.8]}},{id:`roads_bridges_major_casing`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`==`,`kind`,`major_road`]],paint:{"line-color":t.bridges_major_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],7,0,7.5,.5,18,10],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],9,0,9.5,1.5]}},{id:`roads_bridges_other`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`in`,`kind`,`other`,`path`]],paint:{"line-color":t.bridges_other,"line-dasharray":[2,1],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],14,0,20,7]}},{id:`roads_bridges_minor`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`==`,`kind`,`minor_road`]],paint:{"line-color":t.bridges_minor,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],11,0,12.5,.5,15,2,18,11]}},{id:`roads_bridges_link`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`has`,`is_link`]],paint:{"line-color":t.bridges_minor,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],13,0,13.5,1,18,11]}},{id:`roads_bridges_major`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`==`,`kind`,`major_road`]],paint:{"line-color":t.bridges_major,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],6,0,12,1.6,15,3,18,13]}},{id:`roads_bridges_highway_casing`,type:`line`,source:e,"source-layer":`roads`,minzoom:12,filter:[`all`,[`has`,`is_bridge`],[`==`,`kind`,`highway`],[`!has`,`is_link`]],paint:{"line-color":t.bridges_highway_casing,"line-gap-width":[`interpolate`,[`exponential`,1.6],[`zoom`],3,0,3.5,.5,18,15],"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],7,0,7.5,1,20,15]}},{id:`roads_bridges_highway`,type:`line`,source:e,"source-layer":`roads`,filter:[`all`,[`has`,`is_bridge`],[`==`,`kind`,`highway`],[`!has`,`is_link`]],paint:{"line-color":t.bridges_highway,"line-width":[`interpolate`,[`exponential`,1.6],[`zoom`],3,0,6,1.1,12,1.6,15,5,18,15]}}]}function Cj(e,t,n,r){return[{id:`address_label`,type:`symbol`,source:e,"source-layer":`buildings`,minzoom:18,filter:[`==`,`kind`,`address`],layout:{"symbol-placement":`point`,"text-font":[t.italic||`Noto Sans Italic`],"text-field":[`get`,`addr_housenumber`],"text-size":12},paint:{"text-color":t.address_label,"text-halo-color":t.address_label_halo,"text-halo-width":1}},{id:`water_waterway_label`,type:`symbol`,source:e,"source-layer":`water`,minzoom:13,filter:[`in`,`kind`,`river`,`stream`],layout:{"symbol-placement":`line`,"text-font":[t.italic||`Noto Sans Italic`],"text-field":xj(n,r,t.regular),"text-size":12,"text-letter-spacing":.2},paint:{"text-color":t.ocean_label,"text-halo-color":t.water,"text-halo-width":1}},{id:`roads_oneway`,type:`symbol`,source:e,"source-layer":`roads`,minzoom:16,filter:[`==`,[`get`,`oneway`],`yes`],layout:{"symbol-placement":`line`,"icon-image":`arrow`,"icon-rotate":90,"symbol-spacing":100}},{id:`roads_labels_minor`,type:`symbol`,source:e,"source-layer":`roads`,minzoom:15,filter:[`in`,`kind`,`minor_road`,`other`,`path`],layout:{"symbol-sort-key":[`get`,`min_zoom`],"symbol-placement":`line`,"text-font":[t.regular||`Noto Sans Regular`],"text-field":xj(n,r,t.regular),"text-size":12},paint:{"text-color":t.roads_label_minor,"text-halo-color":t.roads_label_minor_halo,"text-halo-width":1}},{id:`water_label_ocean`,type:`symbol`,source:e,"source-layer":`water`,filter:[`in`,`kind`,`sea`,`ocean`,`bay`,`strait`,`fjord`],layout:{"text-font":[t.italic||`Noto Sans Italic`],"text-field":xj(n,r,t.regular),"text-size":[`interpolate`,[`linear`],[`zoom`],3,10,10,12],"text-letter-spacing":.1,"text-max-width":9,"text-transform":`uppercase`},paint:{"text-color":t.ocean_label,"text-halo-width":1,"text-halo-color":t.water}},{id:`earth_label_islands`,type:`symbol`,source:e,"source-layer":`earth`,filter:[`in`,`kind`,`island`],layout:{"text-font":[t.italic||`Noto Sans Italic`],"text-field":xj(n,r,t.regular),"text-size":10,"text-letter-spacing":.1,"text-max-width":8},paint:{"text-color":t.subplace_label,"text-halo-color":t.subplace_label_halo,"text-halo-width":1}},{id:`water_label_lakes`,type:`symbol`,source:e,"source-layer":`water`,filter:[`in`,`kind`,`lake`,`water`],layout:{"text-font":[t.italic||`Noto Sans Italic`],"text-field":xj(n,r,t.regular),"text-size":[`interpolate`,[`linear`],[`zoom`],3,10,6,12,10,12],"text-letter-spacing":.1,"text-max-width":9},paint:{"text-color":t.ocean_label,"text-halo-color":t.water,"text-halo-width":1}},{id:`roads_shields`,type:`symbol`,source:e,"source-layer":`roads`,filter:[`all`,[`in`,[`get`,`kind`],[`literal`,[`highway`,`major_road`]]],[`has`,`shield_text`],[`<=`,[`length`,[`get`,`shield_text`]],5]],layout:{"icon-image":[`match`,[`get`,`network`],`US:I`,[`concat`,`US:I-`,[`length`,[`get`,`shield_text`]],`char`],`NL:S-road`,[`concat`,`NL:S-road-`,[`length`,[`get`,`shield_text`]],`char`],[`concat`,`generic_shield-`,[`length`,[`get`,`shield_text`]],`char`]],"text-field":[`get`,`shield_text`],"text-font":[t.bold||`Noto Sans Medium`],"text-size":8,"icon-size":.8,"symbol-placement":`line`,"icon-rotation-alignment":`viewport`,"text-rotation-alignment":`viewport`},paint:{"text-color":t.roads_label_major}},{id:`roads_labels_major`,type:`symbol`,source:e,"source-layer":`roads`,minzoom:11,filter:[`in`,`kind`,`highway`,`major_road`],layout:{"symbol-sort-key":[`get`,`min_zoom`],"symbol-placement":`line`,"text-font":[t.regular||`Noto Sans Regular`],"text-field":xj(n,r,t.regular),"text-size":12},paint:{"text-color":t.roads_label_major,"text-halo-color":t.roads_label_major_halo,"text-halo-width":1}},...t.pois?[{id:`pois`,type:`symbol`,source:e,"source-layer":`pois`,filter:[`all`,[`in`,[`get`,`kind`],[`literal`,`beach.forest.marina.park.peak.zoo.garden.bench.aerodrome.station.bus_stop.ferry_terminal.stadium.university.library.school.animal.toilets.drinking_water.post_office.building.townhall.restaurant.fast_food.cafe.bar.supermarket.convenience.books.beauty.electronics.clothes.attraction.museum.theatre.artwork`.split(`.`)]],[`>=`,[`zoom`],[`+`,[`get`,`min_zoom`],0]]],layout:{"icon-image":[`match`,[`get`,`kind`],`station`,`train_station`,[`get`,`kind`]],"text-font":[t.regular||`Noto Sans Regular`],"text-justify":`auto`,"text-field":xj(n,r,t.regular),"text-size":[`interpolate`,[`linear`],[`zoom`],17,10,19,16],"text-max-width":8,"text-offset":[1.1,0],"text-variable-anchor":[`left`,`right`]},paint:{"text-color":[`case`,[`in`,[`get`,`kind`],[`literal`,[`beach`,`forest`,`marina`,`park`,`peak`,`zoo`,`garden`,`bench`]]],t.pois.green,[`in`,[`get`,`kind`],[`literal`,[`aerodrome`,`station`,`bus_stop`,`ferry_terminal`]]],t.pois.lapis,[`in`,[`get`,`kind`],[`literal`,[`stadium`,`university`,`library`,`school`,`animal`,`toilets`,`drinking_water`,`post_office`,`building`,`townhall`]]],t.pois.slategray,[`in`,[`get`,`kind`],[`literal`,[`supermarket`,`convenience`,`books`,`beauty`,`electronics`,`clothes`]]],t.pois.blue,[`in`,[`get`,`kind`],[`literal`,[`restaurant`,`fast_food`,`cafe`,`bar`]]],t.pois.tangerine,[`in`,[`get`,`kind`],[`literal`,[`attraction`,`museum`,`theatre`,`artwork`]]],t.pois.pink,t.earth],"text-halo-color":t.earth,"text-halo-width":1}}]:[],{id:`places_subplace`,type:`symbol`,source:e,"source-layer":`places`,filter:[`in`,`kind`,`neighbourhood`,`macrohood`],layout:{"symbol-sort-key":[`case`,[`has`,`sort_key`],[`get`,`sort_key`],[`get`,`min_zoom`]],"text-field":xj(n,r,t.regular),"text-font":[t.regular||`Noto Sans Regular`],"text-max-width":7,"text-letter-spacing":.1,"text-padding":[`interpolate`,[`linear`],[`zoom`],5,2,8,4,12,18,15,20],"text-size":[`interpolate`,[`exponential`,1.2],[`zoom`],11,8,14,14,18,24],"text-transform":`uppercase`},paint:{"text-color":t.subplace_label,"text-halo-color":t.subplace_label_halo,"text-halo-width":1}},{id:`places_region`,type:`symbol`,source:e,"source-layer":`places`,filter:[`==`,`kind`,`region`],layout:{"symbol-sort-key":[`get`,`sort_key`],"text-field":[`step`,[`zoom`],[`coalesce`,[`get`,`ref:en`],[`get`,`ref`]],6,xj(n,r,t.regular)],"text-font":[t.regular||`Noto Sans Regular`],"text-size":[`interpolate`,[`linear`],[`zoom`],3,11,7,16],"text-radial-offset":.2,"text-anchor":`center`,"text-transform":`uppercase`},paint:{"text-color":t.state_label,"text-halo-color":t.state_label_halo,"text-halo-width":1}},{id:`places_locality`,type:`symbol`,source:e,"source-layer":`places`,filter:[`==`,`kind`,`locality`],layout:{"icon-image":[`step`,[`zoom`],[`case`,[`==`,[`get`,`capital`],`yes`],`capital`,`townspot`],8,``],"icon-size":.7,"text-field":xj(n,r,t.regular),"text-font":[`case`,[`<=`,[`get`,`min_zoom`],5],[`literal`,[t.bold||`Noto Sans Medium`]],[`literal`,[t.regular||`Noto Sans Regular`]]],"symbol-sort-key":[`case`,[`has`,`sort_key`],[`get`,`sort_key`],[`get`,`min_zoom`]],"text-padding":[`interpolate`,[`linear`],[`zoom`],5,3,8,7,12,11],"text-size":[`interpolate`,[`linear`],[`zoom`],2,[`case`,[`<`,[`get`,`population_rank`],13],8,[`>=`,[`get`,`population_rank`],13],13,0],4,[`case`,[`<`,[`get`,`population_rank`],13],10,[`>=`,[`get`,`population_rank`],13],15,0],6,[`case`,[`<`,[`get`,`population_rank`],12],11,[`>=`,[`get`,`population_rank`],12],17,0],8,[`case`,[`<`,[`get`,`population_rank`],11],11,[`>=`,[`get`,`population_rank`],11],18,0],10,[`case`,[`<`,[`get`,`population_rank`],9],12,[`>=`,[`get`,`population_rank`],9],20,0],15,[`case`,[`<`,[`get`,`population_rank`],8],12,[`>=`,[`get`,`population_rank`],8],22,0]],"icon-padding":[`interpolate`,[`linear`],[`zoom`],0,0,8,4,10,8,12,6,22,2],"text-justify":`auto`,"text-variable-anchor":[`step`,[`zoom`],[`literal`,[`bottom`,`left`,`right`,`top`]],8,[`literal`,[`center`]]],"text-radial-offset":.3},paint:{"text-color":t.city_label,"text-halo-color":t.city_label_halo,"text-halo-width":1}},{id:`places_country`,type:`symbol`,source:e,"source-layer":`places`,filter:[`==`,`kind`,`country`],layout:{"symbol-sort-key":[`case`,[`has`,`sort_key`],[`get`,`sort_key`],[`get`,`min_zoom`]],"text-field":bj(n,r),"text-font":[t.bold||`Noto Sans Medium`],"text-size":[`interpolate`,[`linear`],[`zoom`],2,[`case`,[`<`,[`get`,`population_rank`],10],8,[`>=`,[`get`,`population_rank`],10],12,0],6,[`case`,[`<`,[`get`,`population_rank`],8],10,[`>=`,[`get`,`population_rank`],8],18,0],8,[`case`,[`<`,[`get`,`population_rank`],7],11,[`>=`,[`get`,`population_rank`],7],20,0]],"icon-padding":[`interpolate`,[`linear`],[`zoom`],0,2,14,2,16,20,17,2,22,2],"text-transform":`uppercase`},paint:{"text-color":t.country_label,"text-halo-color":t.earth,"text-halo-width":1}}]}function wj(e){switch(e){case`light`:return kj;case`dark`:return Aj;case`white`:return jj;case`grayscale`:return Mj;case`black`:return Nj}throw Error(`Flavor not found`)}function Tj(e,t,n){let r=[];return n!=null&&n.labelsOnly||(r=Sj(e,t)),n!=null&&n.lang&&(r=r.concat(Cj(e,t,n.lang))),r}var Ej,Dj,Oj,kj,Aj,jj,Mj,Nj,Pj=o((()=>{Ej=Object.defineProperty,Dj=(e,t)=>Ej(e,`name`,{value:t,configurable:!0}),Dj(gj,`get_name_block`),Dj(_j,`is_not_in_target_script`),Dj(vj,`get_font_formatting`),Dj(yj,`get_default_script`),Dj(bj,`get_country_name`),Dj(xj,`get_multiline_name`),Oj=[{lang:`ar`,full_name:`Arabic`,script:`Arabic`},{lang:`cs`,full_name:`Czech`,script:`Latin`},{lang:`bg`,full_name:`Bulgarian`,script:`Cyrillic`},{lang:`da`,full_name:`Danish`,script:`Latin`},{lang:`de`,full_name:`German`,script:`Latin`},{lang:`el`,full_name:`Greek`,script:`Greek`},{lang:`en`,full_name:`English`,script:`Latin`},{lang:`es`,full_name:`Spanish`,script:`Latin`},{lang:`et`,full_name:`Estonian`,script:`Latin`},{lang:`fa`,full_name:`Persian`,script:`Arabic`},{lang:`fi`,full_name:`Finnish`,script:`Latin`},{lang:`fr`,full_name:`French`,script:`Latin`},{lang:`ga`,full_name:`Irish`,script:`Latin`},{lang:`he`,full_name:`Hebrew`,script:`Hebrew`},{lang:`hi`,full_name:`Hindi`,script:`Devanagari`},{lang:`hr`,full_name:`Croatian`,script:`Latin`},{lang:`hu`,full_name:`Hungarian`,script:`Latin`},{lang:`id`,full_name:`Indonesian`,script:`Latin`},{lang:`it`,full_name:`Italian`,script:`Latin`},{lang:`ja`,full_name:`Japanese`,script:``},{lang:`ko`,full_name:`Korean`,script:`Hangul`},{lang:`lt`,full_name:`Lithuanian`,script:`Latin`},{lang:`lv`,full_name:`Latvian`,script:`Latin`},{lang:`ne`,full_name:`Nepali`,script:`Devanagari`},{lang:`nl`,full_name:`Dutch`,script:`Latin`},{lang:`no`,full_name:`Norwegian`,script:`Latin`},{lang:`mr`,full_name:`Marathi`,script:`Devanagari`},{lang:`mt`,full_name:`Maltese`,script:`Latin`},{lang:`pl`,full_name:`Polish`,script:`Latin`},{lang:`pt`,full_name:`Portuguese`,script:`Latin`},{lang:`ro`,full_name:`Romanian`,script:`Latin`},{lang:`ru`,full_name:`Russian`,script:`Cyrillic`},{lang:`sk`,full_name:`Slovak`,script:`Latin`},{lang:`sl`,full_name:`Slovenian`,script:`Latin`},{lang:`sv`,full_name:`Swedish`,script:`Latin`},{lang:`tr`,full_name:`Turkish`,script:`Latin`},{lang:`uk`,full_name:`Ukrainian`,script:`Cyrillic`},{lang:`ur`,full_name:`Urdu`,script:`Arabic`},{lang:`vi`,full_name:`Vietnamese`,script:`Latin`},{lang:`zh-Hans`,full_name:`Chinese (Simplified)`,script:`Han`},{lang:`zh-Hant`,full_name:`Chinese (Traditional)`,script:`Han`}],Dj(Sj,`nolabels_layers`),Dj(Cj,`labels_layers`),kj={background:`#cccccc`,earth:`#e2dfda`,park_a:`#cfddd5`,park_b:`#9cd3b4`,hospital:`#e4dad9`,industrial:`#d1dde1`,school:`#e4ded7`,wood_a:`#d0ded0`,wood_b:`#a0d9a0`,pedestrian:`#e3e0d4`,scrub_a:`#cedcd7`,scrub_b:`#99d2bb`,glacier:`#e7e7e7`,sand:`#e2e0d7`,beach:`#e8e4d0`,aerodrome:`#dadbdf`,runway:`#e9e9ed`,water:`#80deea`,zoo:`#c6dcdc`,military:`#dcdcdc`,tunnel_other_casing:`#e0e0e0`,tunnel_minor_casing:`#e0e0e0`,tunnel_link_casing:`#e0e0e0`,tunnel_major_casing:`#e0e0e0`,tunnel_highway_casing:`#e0e0e0`,tunnel_other:`#d5d5d5`,tunnel_minor:`#d5d5d5`,tunnel_link:`#d5d5d5`,tunnel_major:`#d5d5d5`,tunnel_highway:`#d5d5d5`,pier:`#e0e0e0`,buildings:`#cccccc`,minor_service_casing:`#e0e0e0`,minor_casing:`#e0e0e0`,link_casing:`#e0e0e0`,major_casing_late:`#e0e0e0`,highway_casing_late:`#e0e0e0`,other:`#ebebeb`,minor_service:`#ebebeb`,minor_a:`#ebebeb`,minor_b:`#ffffff`,link:`#ffffff`,major_casing_early:`#e0e0e0`,major:`#ffffff`,highway_casing_early:`#e0e0e0`,highway:`#ffffff`,railway:`#a7b1b3`,boundaries:`#adadad`,bridges_other_casing:`#e0e0e0`,bridges_minor_casing:`#e0e0e0`,bridges_link_casing:`#e0e0e0`,bridges_major_casing:`#e0e0e0`,bridges_highway_casing:`#e0e0e0`,bridges_other:`#ebebeb`,bridges_minor:`#ffffff`,bridges_link:`#ffffff`,bridges_major:`#f5f5f5`,bridges_highway:`#ffffff`,roads_label_minor:`#91888b`,roads_label_minor_halo:`#ffffff`,roads_label_major:`#938a8d`,roads_label_major_halo:`#ffffff`,ocean_label:`#728dd4`,subplace_label:`#8f8f8f`,subplace_label_halo:`#e0e0e0`,city_label:`#5c5c5c`,city_label_halo:`#e0e0e0`,state_label:`#b3b3b3`,state_label_halo:`#e0e0e0`,country_label:`#a3a3a3`,address_label:`#91888b`,address_label_halo:`#ffffff`,pois:{blue:`#1A8CBD`,green:`#20834D`,lapis:`#315BCF`,pink:`#EF56BA`,red:`#F2567A`,slategray:`#6A5B8F`,tangerine:`#CB6704`,turquoise:`#00C3D4`},landcover:{grassland:`rgba(210, 239, 207, 1)`,barren:`rgba(255, 243, 215, 1)`,urban_area:`rgba(230, 230, 230, 1)`,farmland:`rgba(216, 239, 210, 1)`,glacier:`rgba(255, 255, 255, 1)`,scrub:`rgba(234, 239, 210, 1)`,forest:`rgba(196, 231, 210, 1)`}},Aj={background:`#34373d`,earth:`#1f1f1f`,park_a:`#1c2421`,park_b:`#192a24`,hospital:`#252424`,industrial:`#222222`,school:`#262323`,wood_a:`#202121`,wood_b:`#202121`,pedestrian:`#1e1e1e`,scrub_a:`#222323`,scrub_b:`#222323`,glacier:`#1c1c1c`,sand:`#212123`,beach:`#28282a`,aerodrome:`#1e1e1e`,runway:`#333333`,water:`#31353f`,zoo:`#222323`,military:`#242323`,tunnel_other_casing:`#141414`,tunnel_minor_casing:`#141414`,tunnel_link_casing:`#141414`,tunnel_major_casing:`#141414`,tunnel_highway_casing:`#141414`,tunnel_other:`#292929`,tunnel_minor:`#292929`,tunnel_link:`#292929`,tunnel_major:`#292929`,tunnel_highway:`#292929`,pier:`#333333`,buildings:`#111111`,minor_service_casing:`#1f1f1f`,minor_casing:`#1f1f1f`,link_casing:`#1f1f1f`,major_casing_late:`#1f1f1f`,highway_casing_late:`#1f1f1f`,other:`#333333`,minor_service:`#333333`,minor_a:`#3d3d3d`,minor_b:`#333333`,link:`#3d3d3d`,major_casing_early:`#1f1f1f`,major:`#3d3d3d`,highway_casing_early:`#1f1f1f`,highway:`#474747`,railway:`#000000`,boundaries:`#5b6374`,bridges_other_casing:`#2b2b2b`,bridges_minor_casing:`#1f1f1f`,bridges_link_casing:`#1f1f1f`,bridges_major_casing:`#1f1f1f`,bridges_highway_casing:`#1f1f1f`,bridges_other:`#333333`,bridges_minor:`#333333`,bridges_link:`#3d3d3d`,bridges_major:`#3d3d3d`,bridges_highway:`#474747`,roads_label_minor:`#525252`,roads_label_minor_halo:`#1f1f1f`,roads_label_major:`#666666`,roads_label_major_halo:`#1f1f1f`,ocean_label:`#717784`,subplace_label:`#525252`,subplace_label_halo:`#1f1f1f`,city_label:`#7a7a7a`,city_label_halo:`#212121`,state_label:`#3d3d3d`,state_label_halo:`#1f1f1f`,country_label:`#5c5c5c`,address_label:`#525252`,address_label_halo:`#1f1f1f`,pois:{blue:`#4299BB`,green:`#30C573`,lapis:`#2B5CEA`,pink:`#EF56BA`,red:`#F2567A`,slategray:`#93939F`,tangerine:`#F19B6E`,turquoise:`#00C3D4`},landcover:{grassland:`rgba(30, 41, 31, 1)`,barren:`rgba(38, 38, 36, 1)`,urban_area:`rgba(28, 28, 28, 1)`,farmland:`rgba(31, 36, 32, 1)`,glacier:`rgba(43, 43, 43, 1)`,scrub:`rgba(34, 36, 30, 1)`,forest:`rgba(28, 41, 37, 1)`}},jj={background:`#ffffff`,earth:`#ffffff`,park_a:`#fcfcfc`,park_b:`#fcfcfc`,hospital:`#f8f8f8`,industrial:`#fcfcfc`,school:`#f8f8f8`,wood_a:`#fafafa`,wood_b:`#fafafa`,pedestrian:`#fdfdfd`,scrub_a:`#fafafa`,scrub_b:`#fafafa`,glacier:`#fcfcfc`,sand:`#fafafa`,beach:`#f6f6f6`,aerodrome:`#fdfdfd`,runway:`#efefef`,water:`#dcdcdc`,zoo:`#f7f7f7`,military:`#fcfcfc`,tunnel_other_casing:`#d6d6d6`,tunnel_minor_casing:`#fcfcfc`,tunnel_link_casing:`#fcfcfc`,tunnel_major_casing:`#fcfcfc`,tunnel_highway_casing:`#fcfcfc`,tunnel_other:`#d6d6d6`,tunnel_minor:`#d6d6d6`,tunnel_link:`#d6d6d6`,tunnel_major:`#d6d6d6`,tunnel_highway:`#d6d6d6`,pier:`#efefef`,buildings:`#efefef`,minor_service_casing:`#ffffff`,minor_casing:`#ffffff`,link_casing:`#ffffff`,major_casing_late:`#ffffff`,highway_casing_late:`#ffffff`,other:`#f5f5f5`,minor_service:`#f5f5f5`,minor_a:`#ebebeb`,minor_b:`#f5f5f5`,link:`#ebebeb`,major_casing_early:`#ffffff`,major:`#ebebeb`,highway_casing_early:`#ffffff`,highway:`#ebebeb`,railway:`#d6d6d6`,boundaries:`#adadad`,bridges_other_casing:`#ffffff`,bridges_minor_casing:`#ffffff`,bridges_link_casing:`#ffffff`,bridges_major_casing:`#ffffff`,bridges_highway_casing:`#ffffff`,bridges_other:`#f5f5f5`,bridges_minor:`#f5f5f5`,bridges_link:`#ebebeb`,bridges_major:`#ebebeb`,bridges_highway:`#ebebeb`,roads_label_minor:`#adadad`,roads_label_minor_halo:`#ffffff`,roads_label_major:`#999999`,roads_label_major_halo:`#ffffff`,ocean_label:`#adadad`,subplace_label:`#8f8f8f`,subplace_label_halo:`#ffffff`,city_label:`#5c5c5c`,city_label_halo:`#ffffff`,state_label:`#b3b3b3`,state_label_halo:`#ffffff`,country_label:`#b8b8b8`,address_label:`#adadad`,address_label_halo:`#ffffff`},Mj={background:`#a3a3a3`,earth:`#cccccc`,park_a:`#c2c2c2`,park_b:`#c2c2c2`,hospital:`#d0d0d0`,industrial:`#c6c6c6`,school:`#d0d0d0`,wood_a:`#c2c2c2`,wood_b:`#c2c2c2`,pedestrian:`#c4c4c4`,scrub_a:`#c2c2c2`,scrub_b:`#c2c2c2`,glacier:`#d2d2d2`,sand:`#d2d2d2`,beach:`#d2d2d2`,aerodrome:`#c9c9c9`,runway:`#f5f5f5`,water:`#a3a3a3`,zoo:`#c7c7c7`,military:`#bfbfbf`,tunnel_other_casing:`#b8b8b8`,tunnel_minor_casing:`#b8b8b8`,tunnel_link_casing:`#b8b8b8`,tunnel_major_casing:`#b8b8b8`,tunnel_highway_casing:`#b8b8b8`,tunnel_other:`#d6d6d6`,tunnel_minor:`#d6d6d6`,tunnel_link:`#d6d6d6`,tunnel_major:`#d6d6d6`,tunnel_highway:`#d6d6d6`,pier:`#b8b8b8`,buildings:`#e0e0e0`,minor_service_casing:`#cccccc`,minor_casing:`#cccccc`,link_casing:`#cccccc`,major_casing_late:`#cccccc`,highway_casing_late:`#cccccc`,other:`#e0e0e0`,minor_service:`#e0e0e0`,minor_a:`#ebebeb`,minor_b:`#e0e0e0`,link:`#ebebeb`,major_casing_early:`#cccccc`,major:`#ebebeb`,highway_casing_early:`#cccccc`,highway:`#ebebeb`,railway:`#f5f5f5`,boundaries:`#5c5c5c`,bridges_other_casing:`#cccccc`,bridges_minor_casing:`#cccccc`,bridges_link_casing:`#cccccc`,bridges_major_casing:`#cccccc`,bridges_highway_casing:`#cccccc`,bridges_other:`#e0e0e0`,bridges_minor:`#e0e0e0`,bridges_link:`#ebebeb`,bridges_major:`#ebebeb`,bridges_highway:`#ebebeb`,roads_label_minor:`#999999`,roads_label_minor_halo:`#e0e0e0`,roads_label_major:`#8f8f8f`,roads_label_major_halo:`#ebebeb`,ocean_label:`#7a7a7a`,subplace_label:`#7a7a7a`,subplace_label_halo:`#cccccc`,city_label:`#474747`,city_label_halo:`#cccccc`,state_label:`#999999`,state_label_halo:`#cccccc`,country_label:`#858585`,address_label:`#999999`,address_label_halo:`#e0e0e0`},Nj={background:`#2b2b2b`,earth:`#141414`,park_a:`#181818`,park_b:`#181818`,hospital:`#1d1d1d`,industrial:`#101010`,school:`#111111`,wood_a:`#1a1a1a`,wood_b:`#1a1a1a`,pedestrian:`#191919`,scrub_a:`#1c1c1c`,scrub_b:`#1c1c1c`,glacier:`#191919`,sand:`#161616`,beach:`#1f1f1f`,aerodrome:`#191919`,runway:`#323232`,water:`#333333`,zoo:`#191919`,military:`#121212`,tunnel_other_casing:`#101010`,tunnel_minor_casing:`#101010`,tunnel_link_casing:`#101010`,tunnel_major_casing:`#101010`,tunnel_highway_casing:`#101010`,tunnel_other:`#292929`,tunnel_minor:`#292929`,tunnel_link:`#292929`,tunnel_major:`#292929`,tunnel_highway:`#292929`,pier:`#0a0a0a`,buildings:`#0a0a0a`,minor_service_casing:`#141414`,minor_casing:`#141414`,link_casing:`#141414`,major_casing_late:`#141414`,highway_casing_late:`#141414`,other:`#1f1f1f`,minor_service:`#1f1f1f`,minor_a:`#292929`,minor_b:`#1f1f1f`,link:`#1f1f1f`,major_casing_early:`#141414`,major:`#292929`,highway_casing_early:`#141414`,highway:`#292929`,railway:`#292929`,boundaries:`#707070`,bridges_other_casing:`#141414`,bridges_minor_casing:`#141414`,bridges_link_casing:`#141414`,bridges_major_casing:`#141414`,bridges_highway_casing:`#141414`,bridges_other:`#1f1f1f`,bridges_minor:`#1f1f1f`,bridges_link:`#292929`,bridges_major:`#292929`,bridges_highway:`#292929`,roads_label_minor:`#525252`,roads_label_minor_halo:`#141414`,roads_label_major:`#5c5c5c`,roads_label_major_halo:`#141414`,ocean_label:`#707070`,subplace_label:`#5c5c5c`,subplace_label_halo:`#141414`,city_label:`#999999`,city_label_halo:`#141414`,state_label:`#3d3d3d`,state_label_halo:`#141414`,country_label:`#707070`,address_label:`#525252`,address_label_halo:`#141414`},Dj(wj,`namedFlavor`),Dj(Tj,`layers`)})),Fj,Ij=o((()=>{Fj=`signalk-ais-target-prioritizer`}));function Lj(e){return e===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches:e===`dark`}var Rj,zj=o((()=>{X(),Rj=ur({documentVisibilityState:void 0,width:void 0,noSleep:!1,themeMode:localStorage.getItem(`theme`)??`system`,darkMode:!1,loading:{visible:!0},app:{visible:!1},vesselProperties:{visible:!1},vesselTable:{visible:!1},settings:{visible:!1},editProfiles:{visible:!1},notification:{visible:!1},alarms:{visible:!1},layersMenu:{visible:!1}})}));function Bj(e){return{version:8,sources:{raster:{type:`raster`,tiles:[e],tileSize:256}},layers:[{id:`raster`,type:`raster`,source:`raster`}]}}function Vj(e){let t=Rj.darkMode?`dark`:`light`,n=wj(t);return{version:8,...$.protomapsFontsAvailable?{glyphs:`${window.location.origin}/${Fj}/assets/protomaps/fonts/{fontstack}/{range}.pbf`,sprite:`${window.location.origin}/${Fj}/assets/protomaps/sprites/v4/${t}`}:{},sources:{protomaps:{type:`vector`,url:`pmtiles://${e}`,attribution:`© <a href="https://openstreetmap.org">OpenStreetMap</a>`}},layers:[...Tj(`protomaps`,n,{lang:`en`}).filter(e=>$.protomapsFontsAvailable||e.type!==`symbol`)]}}function Hj(e){return{version:8,sources:{ne:{type:`vector`,url:e}},layers:[{id:`background`,type:`background`,paint:{"background-color":Rj.darkMode?Wj:Gj}},{id:`land`,type:`fill`,source:`ne`,"source-layer":`earth`,paint:{"fill-color":Rj.darkMode?Kj:qj}}]}}function Uj(){return{version:8,sources:{},layers:[{id:`background`,type:`background`,paint:{"background-color":Rj.darkMode?Wj:Gj}}]}}var Wj,Gj,Kj,qj,Jj=o((()=>{Pj(),Ij(),RN(),zj(),Wj=`#2E353B`,Gj=`#D5DADC`,Kj=`#0E0E0E`,qj=`#FAFAF8`})),Yj,Xj=o((()=>{Yj=class extends Error{response;request;options;constructor(e,t,n){let r=`${e.status||e.status===0?e.status:``} ${e.statusText??``}`.trim(),i=r?`status code ${r}`:`an unknown error`;super(`Request failed with ${i}: ${t.method} ${t.url}`),this.name=`HTTPError`,this.response=e,this.request=t,this.options=n}}})),Zj,Qj=o((()=>{Zj=class extends Error{name=`NonError`;value;constructor(e){let t=`Non-error value was thrown`;try{typeof e==`string`?t=e:e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`&&(t=e.message)}catch{}super(t),this.value=e}}})),$j,eM=o((()=>{Qj(),$j=class extends Error{name=`ForceRetryError`;customDelay;code;customRequest;constructor(e){let t=e?.cause?e.cause instanceof Error?e.cause:new Zj(e.cause):void 0;super(e?.code?`Forced retry: ${e.code}`:`Forced retry`,t?{cause:t}:void 0),this.customDelay=e?.delay,this.code=e?.code,this.customRequest=e?.request}}})),tM,nM,rM,iM,aM,oM,sM,cM,lM,uM,dM,fM,pM,mM,hM,gM=o((()=>{tM=(()=>{let e=!1,t=!1,n=typeof globalThis.ReadableStream==`function`,r=typeof globalThis.Request==`function`;if(n&&r)try{t=new globalThis.Request(`https://empty.invalid`,{body:new globalThis.ReadableStream,method:`POST`,get duplex(){return e=!0,`half`}}).headers.has(`Content-Type`)}catch(e){if(e instanceof Error&&e.message===`unsupported BodyInit type`)return!1;throw e}return e&&!t})(),nM=typeof globalThis.AbortController==`function`,rM=typeof globalThis.AbortSignal==`function`&&typeof globalThis.AbortSignal.any==`function`,iM=typeof globalThis.ReadableStream==`function`,aM=typeof globalThis.FormData==`function`,oM=[`get`,`post`,`put`,`patch`,`head`,`delete`],sM={json:`application/json`,text:`text/*`,formData:`multipart/form-data`,arrayBuffer:`*/*`,blob:`*/*`,bytes:`*/*`},cM=2147483647,lM=new TextEncoder().encode(`------WebKitFormBoundaryaxpyiPgbbPti10Rw`).length,uM=Symbol(`stop`),dM=class{options;constructor(e){this.options=e}},fM=e=>new dM(e),pM={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},mM={next:!0},hM={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0}})),_M,vM,yM,bM,xM=o((()=>{gM(),_M=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(let[n,r]of e)t+=lM,t+=new TextEncoder().encode(`Content-Disposition: form-data; name="${n}"`).length,t+=typeof r==`string`?new TextEncoder().encode(r).length:r.size;return t}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if(typeof e==`string`)return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if(`byteLength`in e)return e.byteLength;if(typeof e==`object`&&e)try{let t=JSON.stringify(e);return new TextEncoder().encode(t).length}catch{return 0}return 0},vM=(e,t,n)=>{let r,i=0;return e.pipeThrough(new TransformStream({transform(e,a){if(a.enqueue(e),r){i+=r.byteLength;let e=t===0?0:i/t;e>=1&&(e=1-2**-52),n?.({percent:e,totalBytes:Math.max(t,i),transferredBytes:i},r)}r=e},flush(){r&&(i+=r.byteLength,n?.({percent:1,totalBytes:Math.max(t,i),transferredBytes:i},r))}}))},yM=(e,t)=>{if(!e.body)return e;if(e.status===204)return new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers});let n=Math.max(0,Number(e.headers.get(`content-length`))||0);return new Response(vM(e.body,n,t),{status:e.status,statusText:e.statusText,headers:e.headers})},bM=(e,t,n)=>{if(!e.body)return e;let r=_M(n??e.body);return new Request(e,{duplex:`half`,body:vM(e.body,r,t)})}})),SM,CM=o((()=>{SM=e=>typeof e==`object`&&!!e}));function wM(e,t,n){return Object.hasOwn(t,n)&&t[n]===void 0?[]:kM(e[n]??[],t[n]??[])}var TM,EM,DM,OM,kM,AM=o((()=>{gM(),CM(),TM=(...e)=>{for(let t of e)if((!SM(t)||Array.isArray(t))&&t!==void 0)throw TypeError("The `options` argument must be an object");return kM({},...e)},EM=(e={},t={})=>{let n=new globalThis.Headers(e),r=t instanceof globalThis.Headers,i=new globalThis.Headers(t);for(let[e,t]of i.entries())r&&t===`undefined`||t===void 0?n.delete(e):n.set(e,t);return n},DM=(e={},t={})=>({beforeRequest:wM(e,t,`beforeRequest`),beforeRetry:wM(e,t,`beforeRetry`),afterResponse:wM(e,t,`afterResponse`),beforeError:wM(e,t,`beforeError`)}),OM=(e,t)=>{let n=new URLSearchParams;for(let r of[e,t])if(r!==void 0)if(r instanceof URLSearchParams)for(let[e,t]of r.entries())n.append(e,t);else if(Array.isArray(r))for(let e of r){if(!Array.isArray(e)||e.length!==2)throw TypeError(`Array search parameters must be provided in [[key, value], ...] format`);n.append(String(e[0]),String(e[1]))}else if(SM(r))for(let[e,t]of Object.entries(r))t!==void 0&&n.append(e,String(t));else{let e=new URLSearchParams(r);for(let[t,r]of e.entries())n.append(t,r)}return n},kM=(...e)=>{let t={},n={},r={},i,a=[];for(let o of e)if(Array.isArray(o))Array.isArray(t)||(t=[]),t=[...t,...o];else if(SM(o)){for(let[e,n]of Object.entries(o)){if(e===`signal`&&n instanceof globalThis.AbortSignal){a.push(n);continue}if(e===`context`){if(n!=null&&(!SM(n)||Array.isArray(n)))throw TypeError("The `context` option must be an object");t={...t,context:n==null?{}:{...t.context,...n}};continue}if(e===`searchParams`){i=n==null?void 0:i===void 0?n:OM(i,n);continue}SM(n)&&e in t&&(n=kM(t[e],n)),t={...t,[e]:n}}SM(o.hooks)&&(r=DM(r,o.hooks),t.hooks=r),SM(o.headers)&&(n=EM(n,o.headers),t.headers=n)}return i!==void 0&&(t.searchParams=i),a.length>0&&(a.length===1?t.signal=a[0]:rM?t.signal=AbortSignal.any(a):t.signal=a.at(-1)),t}})),jM,MM,NM,PM=o((()=>{gM(),jM=e=>oM.includes(e)?e.toUpperCase():e,MM={limit:2,methods:[`get`,`put`,`head`,`delete`,`options`,`trace`],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:1/0,backoffLimit:1/0,delay:e=>.3*2**(e-1)*1e3,jitter:void 0,retryOnTimeout:!1},NM=(e={})=>{if(typeof e==`number`)return{...MM,limit:e};if(e.methods&&!Array.isArray(e.methods))throw Error(`retry.methods must be an array`);if(e.methods&&=e.methods.map(e=>e.toLowerCase()),e.statusCodes&&!Array.isArray(e.statusCodes))throw Error(`retry.statusCodes must be an array`);let t=Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0));return{...MM,...t}}})),FM,IM=o((()=>{FM=class extends Error{request;constructor(e){super(`Request timed out: ${e.method} ${e.url}`),this.name=`TimeoutError`,this.request=e}}}));async function LM(e,t,n,r){return new Promise((i,a)=>{let o=setTimeout(()=>{n&&n.abort(),a(new FM(e))},r.timeout);r.fetch(e,t).then(i).catch(a).then(()=>{clearTimeout(o)})})}var RM=o((()=>{IM()}));async function zM(e,{signal:t}){return new Promise((n,r)=>{t&&(t.throwIfAborted(),t.addEventListener(`abort`,i,{once:!0}));function i(){clearTimeout(a),r(t.reason)}let a=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e)})}var BM=o((()=>{})),VM,HM,UM=o((()=>{gM(),VM=(e,t)=>{let n={};for(let r in t)Object.hasOwn(t,r)&&!(r in hM)&&!(r in pM)&&(!(r in e)||r in mM)&&(n[r]=t[r]);return n},HM=e=>e===void 0?!1:Array.isArray(e)?e.length>0:e instanceof URLSearchParams?e.size>0:typeof e==`object`?Object.keys(e).length>0:typeof e==`string`?e.trim().length>0:!!e}));function WM(e){return e instanceof Yj||e?.name===Yj.name}function GM(e){return e instanceof FM||e?.name===FM.name}var KM=o((()=>{Xj(),IM()})),qM,JM=o((()=>{Xj(),Qj(),eM(),xM(),AM(),PM(),RM(),BM(),UM(),KM(),gM(),qM=class e{static create(t,n){let r=new e(t,n),i=r.#p(async()=>{if(typeof r.#i.timeout==`number`&&r.#i.timeout>2147483647)throw RangeError(`The \`timeout\` option cannot be greater than ${cM}`);await Promise.resolve();let e=await r.#m();for(let t of r.#i.hooks.afterResponse){let n=r.#u(e.clone()),i;try{i=await t(r.request,r.#h(),n,{retryCount:r.#n})}catch(t){throw r.#f(n),r.#f(e),t}if(i instanceof dM)throw r.#f(n),r.#f(e),new $j(i.options);let a=i instanceof globalThis.Response?i:e;n!==a&&r.#f(n),e!==a&&r.#f(e),e=a}if(r.#u(e),!e.ok&&(typeof r.#i.throwHttpErrors==`function`?r.#i.throwHttpErrors(e.status):r.#i.throwHttpErrors)){let t=new Yj(e,r.request,r.#h());for(let e of r.#i.hooks.beforeError)t=await e(t,{retryCount:r.#n});throw t}if(r.#i.onDownloadProgress){if(typeof r.#i.onDownloadProgress!=`function`)throw TypeError("The `onDownloadProgress` option must be a function");if(!iM)throw Error("Streams are not supported in your environment. `ReadableStream` is missing.");let t=e.clone();return r.#f(e),yM(t,r.#i.onDownloadProgress)}return e}).finally(()=>{let e=r.#a;r.#d(e?.body??void 0),r.#d(r.request.body??void 0)});for(let[e,t]of Object.entries(sM))e===`bytes`&&typeof globalThis.Response?.prototype?.bytes!=`function`||(i[e]=async()=>{r.request.headers.set(`accept`,r.request.headers.get(`accept`)||t);let a=await i;if(e===`json`){if(a.status===204)return``;let e=await a.text();return e===``?``:n.parseJson?n.parseJson(e):JSON.parse(e)}return a[e]()});return i}static#e(e){return e&&typeof e==`object`&&!Array.isArray(e)&&!(e instanceof URLSearchParams)?Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)):e}request;#t;#n=0;#r;#i;#a;#o;#s;constructor(t,n={}){if(this.#r=t,this.#i={...n,headers:EM(this.#r.headers,n.headers),hooks:DM({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},n.hooks),method:jM(n.method??this.#r.method??`GET`),prefixUrl:String(n.prefixUrl||``),retry:NM(n.retry),throwHttpErrors:n.throwHttpErrors??!0,timeout:n.timeout??1e4,fetch:n.fetch??globalThis.fetch.bind(globalThis),context:n.context??{}},typeof this.#r!=`string`&&!(this.#r instanceof URL||this.#r instanceof globalThis.Request))throw TypeError("`input` must be a string, URL, or Request");if(this.#i.prefixUrl&&typeof this.#r==`string`){if(this.#r.startsWith(`/`))throw Error("`input` must not begin with a slash when using `prefixUrl`");this.#i.prefixUrl.endsWith(`/`)||(this.#i.prefixUrl+=`/`),this.#r=this.#i.prefixUrl+this.#r}nM&&rM&&(this.#o=this.#i.signal??this.#r.signal,this.#t=new globalThis.AbortController,this.#i.signal=this.#o?AbortSignal.any([this.#o,this.#t.signal]):this.#t.signal),tM&&(this.#i.duplex=`half`),this.#i.json!==void 0&&(this.#i.body=this.#i.stringifyJson?.(this.#i.json)??JSON.stringify(this.#i.json),this.#i.headers.set(`content-type`,this.#i.headers.get(`content-type`)??`application/json`));let r=n.headers&&new globalThis.Headers(n.headers).has(`content-type`);if(this.#r instanceof globalThis.Request&&(aM&&this.#i.body instanceof globalThis.FormData||this.#i.body instanceof URLSearchParams)&&!r&&this.#i.headers.delete(`content-type`),this.request=new globalThis.Request(this.#r,this.#i),HM(this.#i.searchParams)){let t=`?`+(typeof this.#i.searchParams==`string`?this.#i.searchParams.replace(/^\?/,``):new URLSearchParams(e.#e(this.#i.searchParams)).toString()),n=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,t);this.request=new globalThis.Request(n,this.#i)}if(this.#i.onUploadProgress){if(typeof this.#i.onUploadProgress!=`function`)throw TypeError("The `onUploadProgress` option must be a function");if(!tM)throw Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request=this.#_(this.request,this.#i.body??void 0)}}#c(){let e=this.#i.retry.delay(this.#n),t=e;this.#i.retry.jitter===!0?t=Math.random()*e:typeof this.#i.retry.jitter==`function`&&(t=this.#i.retry.jitter(e),(!Number.isFinite(t)||t<0)&&(t=e));let n=this.#i.retry.backoffLimit??1/0;return Math.min(n,t)}async#l(e){if(this.#n++,this.#n>this.#i.retry.limit)throw e;let t=e instanceof Error?e:new Zj(e);if(t instanceof $j)return t.customDelay??this.#c();if(!this.#i.retry.methods.includes(this.request.method.toLowerCase()))throw e;if(this.#i.retry.shouldRetry!==void 0){let n=await this.#i.retry.shouldRetry({error:t,retryCount:this.#n});if(n===!1)throw e;if(n===!0)return this.#c()}if(GM(e)&&!this.#i.retry.retryOnTimeout)throw e;if(WM(e)){if(!this.#i.retry.statusCodes.includes(e.response.status))throw e;let t=e.response.headers.get(`Retry-After`)??e.response.headers.get(`RateLimit-Reset`)??e.response.headers.get(`X-RateLimit-Retry-After`)??e.response.headers.get(`X-RateLimit-Reset`)??e.response.headers.get(`X-Rate-Limit-Reset`);if(t&&this.#i.retry.afterStatusCodes.includes(e.response.status)){let e=Number(t)*1e3;Number.isNaN(e)?e=Date.parse(t)-Date.now():e>=Date.parse(`2024-01-01`)&&(e-=Date.now());let n=this.#i.retry.maxRetryAfter??e;return e<n?e:n}if(e.response.status===413)throw e}return this.#c()}#u(e){return this.#i.parseJson&&(e.json=async()=>this.#i.parseJson(await e.text())),e}#d(e){e&&e.cancel().catch(()=>void 0)}#f(e){this.#d(e.body??void 0)}async#p(e){try{return await e()}catch(t){let n=Math.min(await this.#l(t),cM);if(this.#n<1)throw t;if(await zM(n,this.#o?{signal:this.#o}:{}),t instanceof $j&&t.customRequest){let e=this.#i.signal?new globalThis.Request(t.customRequest,{signal:this.#i.signal}):new globalThis.Request(t.customRequest);this.#g(e)}for(let e of this.#i.hooks.beforeRetry){let n=await e({request:this.request,options:this.#h(),error:t,retryCount:this.#n});if(n instanceof globalThis.Request){this.#g(n);break}if(n instanceof globalThis.Response)return n;if(n===uM)return}return this.#p(e)}}async#m(){this.#t?.signal.aborted&&(this.#t=new globalThis.AbortController,this.#i.signal=this.#o?AbortSignal.any([this.#o,this.#t.signal]):this.#t.signal,this.request=new globalThis.Request(this.request,{signal:this.#i.signal}));for(let e of this.#i.hooks.beforeRequest){let t=await e(this.request,this.#h(),{retryCount:this.#n});if(t instanceof Response)return t;if(t instanceof globalThis.Request){this.#g(t);break}}let e=VM(this.request,this.#i);return this.#a=this.request,this.request=this.#a.clone(),this.#i.timeout===!1?this.#i.fetch(this.#a,e):LM(this.#a,e,this.#t,this.#i)}#h(){if(!this.#s){let{hooks:e,...t}=this.#i;this.#s=Object.freeze(t)}return this.#s}#g(e){this.#s=void 0,this.request=this.#_(e)}#_(e,t){return!this.#i.onUploadProgress||!e.body?e:bM(e,this.#i.onUploadProgress,t??this.#i.body??void 0)}}})),YM,XM,ZM=o((()=>{JM(),gM(),AM(),Xj(),IM(),eM(),KM(),YM=e=>{let t=(t,n)=>qM.create(t,TM(e,n));for(let n of oM)t[n]=(t,r)=>qM.create(t,TM(e,r,{method:n}));return t.create=e=>YM(TM(e)),t.extend=t=>(typeof t==`function`&&(t=t(e??{})),YM(TM(e,t))),t.stop=uM,t.retry=fM,t},XM=YM()}));function QM(e,t,n){let r=typeof e==`number`&&e>=t&&e<=n;return r||console.warn(`>>>>> invalid`,e,t,n),r}function $M(e){if(typeof e!=`object`||!e)return!1;let{cpa:t,tcpa:n,speed:r}=e;return QM(t,rN.cpa.min,rN.cpa.max)&&QM(n,rN.tcpa.min,rN.tcpa.max)&&QM(r,rN.speed.min,rN.speed.max)}function eN(e){if(typeof e!=`object`||!e)return!1;let{range:t,speed:n}=e;return QM(t,rN.range.min,rN.range.max)&&QM(n,rN.speed.min,rN.speed.max)}function tN(e){if(typeof e!=`object`||!e)return!1;let{warning:t,danger:n,guard:r}=e;return $M(t)&&$M(n)&&eN(r)}function nN(e){if(typeof e!=`object`||!e)return!1;let t=e;return iN.includes(t.current)&&iN.every(e=>tN(t[e]))}var rN,iN,aN=o((()=>{rN={cpa:{min:0,max:10},tcpa:{min:0,max:60},speed:{min:0,max:10},range:{min:0,max:10}},iN=[`anchor`,`harbor`,`coastal`,`offshore`]}));async function oN(){console.log(`loading collision profiles`);try{let e=await XM(`/plugins/${Fj}/loadCollisionProfiles`,{credentials:`include`}).json();return console.log(`loaded collision profiles`,e),e}catch(e){console.error(e);return}}async function sN(e){console.log(`saving collision profiles`,e);try{return nN(e)?(await XM.put(`/plugins/${Fj}/saveCollisionProfiles`,{credentials:`include`,json:e}),{success:!0}):{success:!1,reason:`invalid-data`}}catch(e){return console.error(e),{success:!1,reason:`request-failed`,error:e}}}async function cN(){let e=await XM(`/signalk/v2/api/resources/charts`,{credentials:`include`}).json();return console.log(e),e}async function lN(){return await XM(`/plugins/${Fj}/getMutedVessels`,{credentials:`include`}).json()}async function uN(){await XM(`/plugins/${Fj}/muteAllAlarms`,{credentials:`include`})}async function dN(e,t){await XM(`/plugins/${Fj}/setAlarmIsMuted/${encodeURIComponent(e)}/${t}`,{credentials:`include`})}var fN=o((()=>{ZM(),Ij(),aN()}));async function pN(){console.log(`>>> ENTER initBasemaps`);try{let e=await cN();console.log({charts:e});for(let[t,n]of Object.entries(e))bN[t]={identifier:t,name:n.name,format:n.format,type:n.type,url:n.url,style:n?.style,online:!1}}catch(e){throw console.error(e),e}console.log(`>>> EXIT initBasemaps`)}var mN,hN,gN,_N,vN,yN,bN,xN=o((()=>{X(),fN(),mN=`builtin:street`,hN=`builtin:satellite`,gN=`builtin:offline`,_N=`builtin:empty`,vN=mN,yN=_N,bN=ur({[mN]:{identifier:mN,name:`Street Map`,type:`mapstyleJSON`,format:`pbf`,styleLight:`https://basemaps.cartocdn.com/gl/positron-gl-style/style.json`,styleDark:`https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json`,online:!0},[hN]:{identifier:hN,name:`Satellite`,type:`tilelayer`,format:`jpg`,url:`https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}`,online:!0},[gN]:{identifier:gN,name:`Offline Worldmap`,type:`mapstyleJSON`,format:`pbf`,online:!1},[_N]:{identifier:_N,name:`Empty`,online:!1}})})),SN,CN=o((()=>{SN=``+new URL(`ne_10m_land-ibMAz6uE.pmtiles`,import.meta.url).href}));function wN(){console.log(`enter resolveMapConfig`,$.basemapId,Rj.darkMode);let e=bN[$.basemapId];if($.basemapId===`builtin:street`&&e&&e.styleLight&&e.styleDark)return Rj.darkMode?e.styleDark:e.styleLight;if($.basemapId===`builtin:satellite`&&e&&e.url)return Bj(e.url);if($.basemapId===`builtin:offline`)return Hj(`pmtiles://${SN}`);if($.basemapId===`builtin:empty`)return Uj();if(e&&e.url?.toLowerCase().endsWith(`.pmtiles`))return Vj(`${window.location.origin}${e.url}`);if(e&&e.type===`tilelayer`&&e.url)return Bj(e.url);if(e&&e.type===`mapstyleJSON`&&(e.style||e.url)){if(e.style)return e.style;if(e.url)return e.url}return console.warn(`using fallback basemap: empty`,{basemap:e}),$.basemapId=_N,Uj()}var TN=o((()=>{Jj(),xN(),RN(),zj(),CN()}));function EN(){return Rj.darkMode||$.basemapId===`builtin:satellite`?ON:kN}function DN(){let e=$.instance;!e||!$.loaded||(e.getLayer(`openseamap`)||e.addLayer({id:`openseamap`,type:`raster`,source:`openseamap`,layout:{visibility:$.openSeaMap?`visible`:`none`},paint:{"raster-opacity":.8}}),e.getLayer(`range-rings`)||e.addLayer({id:`range-rings`,type:`line`,source:`range-rings`,paint:{"line-color":Tk.gray,"line-width":1,"line-opacity":.7}}),e.getLayer(`range-labels`)||e.addLayer({id:`range-labels`,type:`symbol`,source:`range-labels`,layout:{"text-field":[`get`,`label`],"text-font":[`Noto Sans Regular`],"text-size":12,"text-anchor":`center`,"text-offset":[`case`,[`==`,[`get`,`direction`],`top`],[`literal`,[0,.75]],[`literal`,[0,-.75]]]},paint:{"text-color":EN()}}),e.getLayer(`vessels-icons-map`)||e.addLayer({id:`vessels-icons-map`,type:`symbol`,source:`vessels`,filter:[`==`,[`get`,`alignment`],`map`],layout:{"icon-image":[`get`,`icon`],"icon-size":[`case`,[`boolean`,[`get`,`isLarge`],!1],1.5,1],"icon-rotate":[`coalesce`,[`to-number`,[`get`,`rotate`]],0],"icon-rotation-alignment":`map`,"symbol-sort-key":[`get`,`order`],"icon-allow-overlap":!0,"icon-ignore-placement":!0}}),e.getLayer(`vessels-icons-viewport`)||e.addLayer({id:`vessels-icons-viewport`,type:`symbol`,source:`vessels`,filter:[`!=`,[`get`,`alignment`],`map`],layout:{"icon-image":[`get`,`icon`],"icon-size":[`case`,[`boolean`,[`get`,`isLarge`],!1],1.5,1],"icon-rotation-alignment":`viewport`,"symbol-sort-key":[`get`,`order`],"icon-allow-overlap":!0,"icon-ignore-placement":!0}}),e.getLayer(`predictors`)||e.addLayer({id:`predictors`,type:`line`,source:`predictors`,paint:{"line-color":[`get`,`color`],"line-width":2,"line-opacity":.7,"line-dasharray":[`case`,[`==`,[`get`,`color`],Tk.blue],[`literal`,[1]],[`literal`,[3,2]]]}}),e.getLayer(`predictor-markers`)||e.addLayer({id:`predictor-markers`,type:`circle`,source:`predictors`,filter:[`==`,[`get`,`isCircle`],!0],paint:{"circle-radius":6,"circle-color":Tk.blue,"circle-opacity":.7,"circle-stroke-width":3,"circle-stroke-color":Tk.blue,"circle-stroke-opacity":1}}),e.getLayer(`vessels-labels`)||e.addLayer({id:`vessels-labels`,type:`symbol`,source:`vessels`,layout:{"text-field":[`get`,`labelText`],"text-font":[`Noto Sans Regular`],"text-size":12,"text-variable-anchor":[`left`,`right`],"text-radial-offset":1.5,"text-justify":`left`,"text-max-width":16,"text-line-height":1.1,"symbol-sort-key":[`get`,`order`],"text-allow-overlap":!1,"text-ignore-placement":!1},paint:{"text-color":EN()}}),e.getLayer(`vessels-lost-x`)||e.addLayer({id:`vessels-lost-x`,type:`symbol`,source:`vessels`,filter:[`==`,[`get`,`isLost`],!0],layout:{"icon-image":`vessel-lost-x`,"icon-allow-overlap":!0,"icon-ignore-placement":!0}}),e.getLayer(`vessel-selected`)||e.addLayer({id:`vessel-selected`,type:`symbol`,source:`vessels`,filter:[`==`,[`get`,`isSelected`],!0],layout:{"icon-image":`vessel-selected`,"icon-allow-overlap":!0,"icon-ignore-placement":!0}}))}var ON,kN,AN=o((()=>{Dk(),xN(),RN(),zj(),ON=`white`,kN=`black`}));function jN(){let e=$.instance;!e||!$.loaded||(e.getSource(`vessels`)||e.addSource(`vessels`,{type:`geojson`,data:{type:`FeatureCollection`,features:[]}}),e.getSource(`predictors`)||e.addSource(`predictors`,{type:`geojson`,data:{type:`FeatureCollection`,features:[]}}),e.getSource(`range-rings`)||e.addSource(`range-rings`,{type:`geojson`,data:{type:`FeatureCollection`,features:[]}}),e.getSource(`range-labels`)||e.addSource(`range-labels`,{type:`geojson`,data:{type:`FeatureCollection`,features:[]}}),e.getSource(`openseamap`)||e.addSource(`openseamap`,{type:`raster`,tiles:[`https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png`],tileSize:256,attribution:`© <a href="https://www.openseamap.org">OpenSeaMap</a>`}))}var MN=o((()=>{RN()}));function NN({force:e=!1}={}){if(!$.instance||!$.loaded||!$.instance.isStyleLoaded)return;let t=wN(),n=PN();if(t){if($.styleId===n&&e===!1){console.log(`>>> skipping applying this style, as its already loaded`);return}$.instance.once(`style.load`,()=>{jN(),DN()}),$.instance.setStyle(t),$.styleId=n}}function PN(){return`${$.basemapId}-${String(Rj.darkMode)}`}async function FN(){let e=await fetch(`/plugins/${Fj}/fonts-available`).catch(()=>null);$.protomapsFontsAvailable=e?.ok??!1}async function IN(){$.fontsDownloading=!0,await fetch(`/plugins/${Fj}/download-fonts`,{method:`POST`}),$.fontsDownloading=!1,await FN(),bN[$.basemapId].type===`signalk-protomaps-pmtiles`&&$.protomapsFontsAvailable&&NN({force:!0})}async function LN(){await fetch(`/plugins/${Fj}/remove-fonts`,{method:`POST`}),await FN(),bN[$.basemapId].type===`signalk-protomaps-pmtiles`&&!$.protomapsFontsAvailable&&NN({force:!0})}var $,RN=o((()=>{X(),TN(),zj(),Ij(),xN(),AN(),MN(),$=ur({instance:null,loaded:!1,basemapId:localStorage.getItem(`basemap`)??`builtin:street`,styleId:null,openSeaMap:localStorage.getItem(`openseamap`)===`true`,protomapsFontsAvailable:localStorage.getItem(`protomapsFontsAvailable`)===`true`,fontsDownloading:!1})}));function zN(e,t){BN.title=e,BN.message=t,Rj.notification.visible=!0}var BN,VN=o((()=>{X(),zj(),BN=ur({title:null,message:null})}));function HN(e){Object.assign(KN,e)}function UN(){console.warn(`resetting collision profiles`),HN(GN)}function WN(){return KN[KN.current]}var GN,KN,qN=o((()=>{X(),GN={current:`offshore`,anchor:{warning:{cpa:0,tcpa:60,speed:0},danger:{cpa:0,tcpa:60,speed:0},guard:{range:0,speed:0}},harbor:{warning:{cpa:.5,tcpa:10,speed:.5},danger:{cpa:.1,tcpa:5,speed:3},guard:{range:0,speed:0}},coastal:{warning:{cpa:2,tcpa:30,speed:0},danger:{cpa:1,tcpa:10,speed:.5},guard:{range:0,speed:0}},offshore:{warning:{cpa:4,tcpa:30,speed:0},danger:{cpa:2,tcpa:15,speed:0},guard:{range:0,speed:0}}},KN=ur(GN)}));function JN(){if(JA(),!U(YN)){console.warn(`no data for myVessel`,{myVessel:U(YN)});return}let e=Nk(U(YN));for(let[t,n]of Object.entries(Gk)){let r=Ak(n,U(YN)),i=Nk(n),a=Ik(n),o=Lk(n),s=zk(n);if(n.cpaLocation=U(XN)&&U(XN).tcpa!==void 0&&[Kk.myVesselContext,Kk.selectedVesselContext].includes(t)?Fk(n,U(XN).tcpa):void 0,n.predictedLocation=a,n.lastSeenSecondsAgo=o,n.isValid=s,n.context!==Kk.myVesselContext){let t=r?jk(r):void 0,a=r?Mk(r):void 0,{cpa:s=void 0,tcpa:c=void 0}=r&&t&&t<100*1852?Pk(r,i,e)??{}:{},l=o!==void 0&&Rk(o),{alarmType:u,alarmState:d,order:f}=Bk(WN(),t,n.sog,s,c,n.mmsi)??{};n.range=t,n.bearing=a,n.cpa=s,n.tcpa=c,n.isLost=l,n.alarmType=u,n.alarmState=d,n.order=f,n.lastSeenSecondsAgo!==void 0&&n.lastSeenSecondsAgo>1800&&Wk(n)}}}var YN,XN,ZN=o((()=>{X(),Dk(),Hk(),qk(),oj(),qN(),YN=z(()=>Kk.myVesselContext?Gk[Kk.myVesselContext]:null),XN=z(()=>Kk.selectedVesselContext?Gk[Kk.selectedVesselContext]:null)})),QN,$N=o((()=>{X(),QN=ur({count:null,time:null})})),eP=o((()=>{ht(),ft()})),tP,nP=o((()=>{tP={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`}})),rP,iP=o((()=>{rP=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1}})),aP,oP,sP=o((()=>{zs(),aP=Symbol(`lucide-context`),oP=()=>wt(aP)}));function cP(e,t){I(t,!0);let n=oP()??{},r=Ds(t,`color`,19,()=>n.color??`currentColor`),i=Ds(t,`size`,19,()=>n.size??24),a=Ds(t,`strokeWidth`,19,()=>n.strokeWidth??2),o=Ds(t,`absoluteStrokeWidth`,19,()=>n.absoluteStrokeWidth??!1),s=Ds(t,`iconNode`,19,()=>[]),c=Ts(t,lP),l=z(()=>o()?Number(a())*24/Number(i()):a());var u=uP();Ko(u,e=>({...tP,...e,...c,width:i(),height:i(),stroke:r(),"stroke-width":U(l),class:[`lucide-icon lucide`,n.class,t.name&&`lucide-${t.name}`,t.class]}),[()=>!t.children&&!rP(c)&&{"aria-hidden":`true`}]);var d=B(u);za(d,17,s,Ia,(e,t)=>{var n=z(()=>b(U(t),2));let r=()=>U(n)[0],i=()=>U(n)[1];var a=G();go(V(a),r,!0,(e,t)=>{Ko(e,()=>({...i()}))}),K(e,a)}),Y(H(d),()=>t.children??A),N(u),K(e,u),R()}var lP,uP,dP=o((()=>{Z(),X(),nP(),iP(),sP(),lP=new Set([`$$slots`,`$$events`,`$$legacy`,`name`,`color`,`size`,`strokeWidth`,`absoluteStrokeWidth`,`iconNode`,`children`]),uP=fa(`<svg><!><!></svg>`)}));function fP(e,t){let n=Ts(t,pP),r=[[`path`,{d:`M20 6 9 17l-5-5`}]];cP(e,Es({name:`check`},()=>n,{get iconNode(){return r}}))}var pP,mP=o((()=>{Z(),X(),dP(),pP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function hP(e,t){let n=Ts(t,gP),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m9 12 2 2 4-4`}]];cP(e,Es({name:`circle-check`},()=>n,{get iconNode(){return r}}))}var gP,_P=o((()=>{Z(),X(),dP(),gP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function vP(e,t){let n=Ts(t,yP),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]];cP(e,Es({name:`circle-x`},()=>n,{get iconNode(){return r}}))}var yP,bP=o((()=>{Z(),X(),dP(),yP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function xP(e,t){let n=Ts(t,SP),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]];cP(e,Es({name:`info`},()=>n,{get iconNode(){return r}}))}var SP,CP=o((()=>{Z(),X(),dP(),SP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function wP(e,t){let n=Ts(t,TP),r=[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`}]];cP(e,Es({name:`monitor`},()=>n,{get iconNode(){return r}}))}var TP,EP=o((()=>{Z(),X(),dP(),TP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function DP(e,t){let n=Ts(t,OP),r=[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]];cP(e,Es({name:`moon`},()=>n,{get iconNode(){return r}}))}var OP,kP=o((()=>{Z(),X(),dP(),OP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function AP(e,t){let n=Ts(t,jP),r=[[`circle`,{cx:`12`,cy:`12`,r:`4`}],[`path`,{d:`M12 2v2`}],[`path`,{d:`M12 20v2`}],[`path`,{d:`m4.93 4.93 1.41 1.41`}],[`path`,{d:`m17.66 17.66 1.41 1.41`}],[`path`,{d:`M2 12h2`}],[`path`,{d:`M20 12h2`}],[`path`,{d:`m6.34 17.66-1.41 1.41`}],[`path`,{d:`m19.07 4.93-1.41 1.41`}]];cP(e,Es({name:`sun`},()=>n,{get iconNode(){return r}}))}var jP,MP=o((()=>{Z(),X(),dP(),jP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function NP(e,t){let n=Ts(t,PP),r=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]];cP(e,Es({name:`triangle-alert`},()=>n,{get iconNode(){return r}}))}var PP,FP=o((()=>{Z(),X(),dP(),PP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function IP(e,t){let n=Ts(t,LP),r=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`}]];cP(e,Es({name:`volume-2`},()=>n,{get iconNode(){return r}}))}var LP,RP=o((()=>{Z(),X(),dP(),LP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function zP(e,t){let n=Ts(t,BP),r=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`}]];cP(e,Es({name:`volume-x`},()=>n,{get iconNode(){return r}}))}var BP,VP=o((()=>{Z(),X(),dP(),BP=new Set([`$$slots`,`$$events`,`$$legacy`])}));function HP(e,t){let n=Ts(t,UP),r=[[`path`,{d:`M18 6 6 18`}],[`path`,{d:`m6 6 12 12`}]];cP(e,Es({name:`x`},()=>n,{get iconNode(){return r}}))}var UP,WP=o((()=>{Z(),X(),dP(),UP=new Set([`$$slots`,`$$events`,`$$legacy`])})),GP=o((()=>{Z(),X(),dP(),mP(),_P(),bP(),CP(),EP(),kP(),MP(),FP(),RP(),VP(),WP()})),KP=o((()=>{Z(),X(),dP(),_P(),bP(),FP()})),qP=o((()=>{mP()})),JP=o((()=>{WP()})),YP=o((()=>{Z(),X(),dP(),qP(),CP(),EP(),kP(),MP(),RP(),VP(),JP(),_P(),bP(),FP()})),XP=o((()=>{Z(),X(),dP(),qP(),CP(),EP(),kP(),MP(),RP(),VP(),JP(),_P(),bP(),FP()})),ZP=o((()=>{KP(),YP(),XP()})),QP=o((()=>{})),$P=o((()=>{GP(),GP(),ZP(),nP(),QP(),dP(),sP()}));function eF(e){!$.instance||!$.loaded||!$.instance.getLayer(`openseamap`)||(e?$.instance.setLayoutProperty(`openseamap`,`visibility`,`visible`):$.instance.setLayoutProperty(`openseamap`,`visibility`,`none`))}var tF=o((()=>{RN()}));async function nF(){try{return await XM.head(wk,{timeout:Ck,mode:`no-cors`,retry:0,throwHttpErrors:!1}),!0}catch(e){return console.warn(`OFFLINE:`,e),!1}}async function rF(){oF++;let e=await nF();if(aF&&!e&&oF<sF){setTimeout(rF,5e3);return}oF=0,iF.online=e,iF.online||(bN[$.basemapId]?.online&&($.basemapId=yN),$.openSeaMap=!1,eF(!1)),aF===!1&&iF.online?TD.success({title:`Online`,description:`You are online. Map layers that require internet access have been enabled`,duration:5e3}):aF!==!1&&!iF.online&&TD.warning({title:`Offline`,description:`You are offline. Map layers that require internet access have been disabled`,duration:5e3}),aF=iF.online,console.log(`>>> EXIT checkConnectivity`,iF.online)}var iF,aF,oF,sF,cF=o((()=>{X(),ZM(),Dk(),RN(),xN(),tF(),ED(),iF=ur({online:void 0}),oF=0,sF=2,setInterval(rF,Sk)}));function lF(e,t){I(t,!1);function n(e){dF(dF().basemapId=e),uF(uF().layersMenu.visible=!1)}bs(),My(e,{get open(){return uF().layersMenu.visible},onOpenChange:e=>uF(uF().layersMenu.visible=e.open),children:(e,t)=>{fx(e,{children:(e,t)=>{var r=_F(),i=V(r);My.Backdrop(i,{class:`fixed inset-0 z-50 bg-black/50 transition transition-discrete transition transition-discrete opacity-0 starting:data-[state=open]:opacity-0 data-[state=open]:opacity-100`});var a=H(i,2);My.Positioner(a,{class:`fixed inset-0 z-50 flex justify-start`,children:(e,t)=>{My.Content(e,{class:`flex flex-col h-dvh card bg-surface-100-900 w-2xs p-4 shadow-xl transition transition-discrete opacity-0 -translate-x-full starting:data-[state=open]:opacity-0 starting:data-[state=open]:-translate-x-full data-[state=open]:opacity-100 data-[state=open]:translate-x-0`,children:(e,t)=>{var r=gF(),i=V(r),a=B(i);My.Title(a,{class:`text-lg font-bold`,children:(e,t)=>{P(),K(e,pa(`Layers`))},$$slots:{default:!0}});var o=H(a,2);My.CloseTrigger(o,{class:`btn-icon preset-tonal`,children:(e,t)=>{HP(e,{})},$$slots:{default:!0}}),N(i);var s=H(i,2);za(s,7,()=>Object.values(bN),e=>e.identifier,(e,t,r)=>{var i=hF(),a=V(i),o=B(a),s=e=>{fP(e,{class:`size-4 text-primary`})},c=e=>{K(e,fF())};J(o,e=>{U(t).identifier===dF().basemapId?e(s):e(c,-1)});var l=H(o);N(a);var u=H(a,2),d=e=>{var t=mF(),n=H(V(t),2);{let e=xn(()=>iF.online===!1?`opacity-40 pointer-events-none`:``);Dw(n,{get class(){return`flex p-2 ${U(e)??``}`},onCheckedChange:e=>{dF(dF().openSeaMap=e.checked),eF(e.checked)},get checked(){return dF().openSeaMap},children:(e,t)=>{var n=pF(),r=V(n);Dw.Control(r,{children:(e,t)=>{Dw.Thumb(e,{})},$$slots:{default:!0}});var i=H(r,2);Dw.Label(i,{class:`text-sm font-normal justify-self-start`,children:(e,t)=>{P(),K(e,pa(`Open Sea Map`))},$$slots:{default:!0}});var a=H(i,2);Dw.HiddenInput(a,{}),K(e,n)},$$slots:{default:!0}})}P(2),K(e,t)};J(u,e=>{U(r)===3&&e(d)}),Vr(()=>{No(a,1,`flex items-center gap-4 w-full ps-6 pe-4 py-2 hover:preset-tonal text-left ${iF.online===!1&&U(t).online?`opacity-40 pointer-events-none`:``}`),_a(l,` ${U(t).name??``}`)}),Qi(`click`,a,()=>n(U(t).identifier)),K(e,i)}),N(s),K(e,r)},$$slots:{default:!0}})},$$slots:{default:!0}}),K(e,r)},$$slots:{default:!0}})},$$slots:{default:!0}}),R()}var uF,dF,fF,pF,mF,hF,gF,_F,vF=o((()=>{Z(),eP(),X(),$P(),zj(),RN(),xN(),tF(),wD(),cF(),uF=Cs(()=>Rj),dF=Cs(()=>$),fF=W(`<div class="size-4"></div>`),pF=W(`<!> <!> <!>`,1),mF=W(`<hr class="hr"/> <!> <hr class="hr"/>`,1),hF=W(`<button><!> </button> <!>`,1),gF=W(`<header class="flex justify-between items-center mb-4"><!> <!></header> <div class="grow overflow-y-auto"></div>`,1),_F=W(`<!> <!>`,1),$i([`click`])})),yF,bF=o((()=>{yF=`<!-- @license lucide-static v1.25.0 - ISC -->
<svg
  class="lucide lucide-locate-fixed"
  xmlns="http://www.w3.org/2000/svg"
  width="24"
  height="24"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <line x1="2" x2="5" y1="12" y2="12" />
  <line x1="19" x2="22" y1="12" y2="12" />
  <line x1="12" x2="12" y1="2" y2="5" />
  <line x1="12" x2="12" y1="19" y2="22" />
  <circle cx="12" cy="12" r="7" />
  <circle cx="12" cy="12" r="3" />
</svg>
`})),xF,SF=o((()=>{xF=`<!-- @license lucide-static v1.25.0 - ISC -->
<svg
  class="lucide lucide-layers"
  xmlns="http://www.w3.org/2000/svg"
  width="24"
  height="24"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z" />
  <path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12" />
  <path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17" />
</svg>
`})),CF,wF=o((()=>{CF=`<!-- @license lucide-static v1.25.0 - ISC -->
<svg
  class="lucide lucide-list"
  xmlns="http://www.w3.org/2000/svg"
  width="24"
  height="24"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <path d="M3 5h.01" />
  <path d="M3 12h.01" />
  <path d="M3 19h.01" />
  <path d="M8 5h13" />
  <path d="M8 12h13" />
  <path d="M8 19h13" />
</svg>
`})),TF,EF=o((()=>{TF=`<!-- @license lucide-static v1.25.0 - ISC -->
<svg
  class="lucide lucide-settings"
  xmlns="http://www.w3.org/2000/svg"
  width="24"
  height="24"
  viewBox="0 0 24 24"
  fill="none"
  stroke="currentColor"
  stroke-width="2"
  stroke-linecap="round"
  stroke-linejoin="round"
>
  <path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915" />
  <circle cx="12" cy="12" r="3" />
</svg>
`}));function DF(e,t){I(t,!0);let n=[`vessels-icons-viewport`,`vessels-icons-map`],r=performance.now(),i=$n(!1),a=$n(!0),o=$n(void 0),s=z(()=>Kk.myVesselContext?Gk[Kk.myVesselContext]:void 0),c=z(()=>Kk.selectedVesselContext?Gk[Kk.selectedVesselContext]:void 0),l,u,d,f=!1,p=!1,m=!1,h=!0;Is(()=>{console.log(`ONMOUNT map`);let e=new LO;OF.default.addProtocol(`pmtiles`,e.tile);let t=wN();$.styleId=PN(),console.log(`setting up maplibre`,$.basemapId,Rj.darkMode,t);let r=new OF.default.Map({container:U(o),fadeDuration:0,style:t,attributionControl:!1,center:[U(s)?.longitude??0,U(s)?.latitude??0],zoom:10});return r.once(`load`,()=>{console.log(`maplibre loaded`),$.instance=r,$.loaded=!0,jN(),DN(),lA(r),g(),setTimeout(async()=>{fj.alarmsEnabled=!0},1e3),r.addControl(new OF.AttributionControl({compact:!0})),r.getContainer().querySelector(`.maplibregl-ctrl-attrib-button`)?.click()}),r.on(`error`,e=>{console.error(`MapLibre error:`,e.error),!e.error?.message?.includes(`Failed to fetch`)&&TD.error({title:`Map Error`,description:e.error?.message??`Unknown map error`})}),r.addControl(new OF.default.NavigationControl({showCompass:!1}),`top-left`),r.addControl(new QO({title:`Toggle map rotation between north up and course up`,svgIcon:EA,svgClass:`w-full h-full`,rotateWithBearing:!0,onClick:()=>{console.log(`compass click event handler enter`),tr(i,!U(i)),tr(a,!0),console.log(`compass click event handler executing updateCamera`),C(),console.log(`compass click event handler exit`,{isCourseUp:U(i)})}}),`top-left`),r.addControl(new QO({title:`Center on my vessel`,svgIcon:yF,svgClass:`w-4 h-4 lucide-icon`,onClick:()=>{console.log(`center on my vessel`),tr(a,!0),C()}}),`top-left`),r.addControl(new QO({title:`Select cartography`,svgIcon:xF,svgClass:`w-4 h-4 lucide-icon`,onClick:()=>{Rj.layersMenu.visible=!0}}),`top-left`),r.addControl(new QO({title:`Vessel list`,svgIcon:CF,svgClass:`w-4 h-4 lucide-icon`,onClick:()=>{console.log(`showVesselTable`),Rj.vesselTable.visible=!0}}),`top-left`),r.addControl(new QO({title:`Settings`,svgIcon:TF,svgClass:`w-4 h-4 lucide-icon`,onClick:()=>{console.log(`showSettings`),Rj.settings.visible=!0}}),`top-left`),r.on(`click`,e=>{r.queryRenderedFeatures(e.point,{layers:n}).length===0&&(Kk.selectedVesselContext=null,v())}),r.on(`click`,n,e=>{let t=(e.features?.[0])?.properties?.context;t&&(Kk.selectedVesselContext=t,Rj.vesselProperties.visible=!0,v())}),r.on(`mouseenter`,n,()=>{r.getCanvas().style.cursor=`pointer`}),r.on(`mouseleave`,n,()=>{r.getCanvas().style.cursor=``}),r.on(`moveend`,e=>{if(!e.originalEvent)return;console.log(`moveend - user move`,e);let t=r.getCenter();if(d){let e=1e-8;U(s)&&Vk(U(s).longitude)&&Vk(U(s).latitude)&&(Math.abs(t.lng-d.lng)>e||Math.abs(t.lat-d.lat)>e)&&(tr(a,!1),u=[U(s).longitude,U(s).latitude])}}),r.on(`zoomend`,()=>{S()}),()=>{console.warn(`EXIT map`),y(),$.instance=null,$.loaded=!1,r.remove()}}),Pr(()=>{Kk.selectedVesselContext,bi(()=>{if(console.log(`EFFECT vessel selected`),!$.instance||!U(s)||!U(c)||!Vk(U(c).tcpa)||!Vk(U(s).latitude)||!Vk(U(s).longitude)||!Vk(U(c).latitude)||!Vk(U(c).longitude))return;let e=[[U(s).longitude,U(s).latitude],[U(c).longitude,U(c).latitude]];U(s).cpaLocation=Fk(U(s),U(c).tcpa),U(c).cpaLocation=Fk(U(c),U(c).tcpa),U(s).cpaLocation&&e.push(U(s).cpaLocation),U(c).cpaLocation&&e.push(U(c).cpaLocation);let t=$.instance.getBounds();if(!e.every(e=>t.contains(e))){let t=e.reduce((e,t)=>e.extend(t),new OF.default.LngLatBounds(e[0],e[0]));$.instance.fitBounds(t,{padding:100,maxZoom:14,duration:1e3}),tr(a,!1)}})}),Pr(()=>{$.basemapId,Rj.darkMode,bi(()=>{console.log(`EFFECT darkmode or basemap changed`,$.basemapId,Rj.darkMode),NN()})});function g(){console.log(`START map update loop`),l?console.warn(`updateMapLoop is already running`,{updateMapLoopTimeoutId:l}):_()}function _(){Rj.documentVisibilityState===`visible`&&v(),l=setTimeout(_,xk)}function v(){if(f)return;f=!0;let e=performance.now();console.time(`updateMap`),JN(),S(),b(),E(),C(),D(),k(),console.timeEnd(`updateMap`),QN.time=performance.now()-e,QN.count=dj().total,f=!1}function y(){console.log(`STOP map update loop`,{updateMapLoopTimeoutId:l}),clearTimeout(l),l=void 0}function b(){if(!$.instance||!$.loaded)return;let e=[];for(let t of Object.values(Gk)){let n=x(t);n&&e.push(n)}let t=$.instance.getSource(`vessels`);t&&t.setData({type:`FeatureCollection`,features:e})}function x(e){if(!e.isValid||!Vk(e.latitude)||!Vk(e.longitude))return;let t=sA(e);return{type:`Feature`,geometry:{type:`Point`,coordinates:[e.longitude,e.latitude]},properties:{context:e.context,icon:t,order:e.order?999999-e.order:0,isLarge:(e.alarmState!==null||e.context===Kk.selectedVesselContext)&&e.context!==Kk.myVesselContext,isLost:e.isLost,isSelected:e.context===Kk.selectedVesselContext&&e.context!==Kk.myVesselContext,labelText:aA(e),alignment:t.startsWith(`vessel-aton`)||t.startsWith(`vessel-base`)||t.startsWith(`vessel-sart`)?`viewport`:`map`,rotate:Vk(e.hdg)?kk(e.hdg):Vk(e.cog)?kk(e.cog):0}}}function S(){if(!$.instance||!$.loaded||!U(s))return;let e=U(s).latitude,t=U(s).longitude;if(!$.instance||!e||!t)return;let n=$.instance.getBounds(),r=n.getNorth(),i=n.getSouth();var a=60*Math.abs(r-i)/6;a=a<.125?.125:a<.25?.25:a<.5?.5:a<1?1:2*Math.round(a/2);let o=[];for(let e=1;e<=10;e++)o.push(e*a);let c={type:`FeatureCollection`,features:o.map(n=>gk([t,e],n,{units:`nauticalmiles`,steps:64}))},l=$.instance.getSource(`range-rings`);l&&l.setData(c);let u=$.instance.getSource(`range-labels`);u&&u.setData(ee([t,e],o))}async function C(){if(!(!$.instance||!$.loaded)){if(p){console.log(`updateCamera is deferring`),m=!0;return}p=!0;try{let e=U(s)?.longitude,t=U(s)?.latitude,n=U(s)?.cog,r=$.instance.dragPan.isActive(),o=$.instance.isMoving();if(r||o||!U(s)||!Vk(e)||!Vk(t)||!Vk(n))return;if(U(a))await w($.instance,{center:[e,t],bearing:U(i)?kk(n):0}),h=!0;else{let n=new OF.LngLat(e,t);if(u){let e=$.instance.project(u),t=$.instance.project($.instance.getCenter()),r=t.x-e.x,a=t.y-e.y,o=$.instance.project(n),s=$.instance.unproject([o.x+r,o.y+a]);U(i)&&h&&(h=!1,TD.success({title:`Map Rotation Frozen`,description:`Map rotation will remain frozen while panning. Click "Center on my vessel" button to recenter your vessel and resume rotation.`,duration:1e4})),await w($.instance,{center:s})}u=n}d=$.instance.getCenter()}finally{p=!1,m&&(console.log(`updateCamera found pending execution`),m=!1,C())}}}function w(e,t){return new Promise(n=>{e.easeTo(t),e.isMoving()?e.once(`moveend`,()=>n()):n()})}function T(e,t){let n=pk(e,t,0,{units:`nauticalmiles`}),r=pk(e,t,180,{units:`nauticalmiles`});return[{type:`Feature`,geometry:n.geometry,properties:{label:`${t} NM`,direction:`top`}},{type:`Feature`,geometry:r.geometry,properties:{label:`${t} NM`,direction:`bottom`}}]}function ee(e,t){return{type:`FeatureCollection`,features:t.flatMap(t=>T(e,t))}}function E(){if(!$.instance||!$.loaded)return;let e=[];for(let t of Object.values(Gk)){let n=t.latitude,r=t.longitude,i=Kk.selectedVesselContext&&[Kk.myVesselContext,Kk.selectedVesselContext].includes(t.context),a=i?t.cpaLocation:t.predictedLocation;!n||!r||!a||(e.push({type:`Feature`,geometry:{type:`LineString`,coordinates:[[r,n],a]},properties:{context:t.context,color:i?Tk.blue:t.alarmState===`danger`?Tk.red:t.alarmState===`warning`?Tk.orange:Tk.gray}}),i&&e.push({type:`Feature`,geometry:{type:`Point`,coordinates:a},properties:{context:t.context,isCircle:!0}}))}let t=$.instance.getSource(`predictors`);t&&t.setData({type:`FeatureCollection`,features:e})}function D(){let e=uj().length>0,t=fj.lastAlarmTime===null,n=fj.lastAlarmTime!==null&&performance.now()-fj.lastAlarmTime>6e4;e&&(t||n)&&fj.alarmsEnabled&&(Rj.alarms.visible=!0)}let O;function k(){performance.now()-r<5e3||(tj.connectionState===`connected`?Kk.myVesselContext?Rj.notification.visible=!1:zN(`Error`,`No data for our own vessel received from Signal K server`):zN(`Error`,`Not connected to Signal K server.\nCurrent connection status: ${tj.connectionState}`),tj.connectionState===`connected`&&dj().total===0?O||(O=TD.create({type:`info`,title:`No Other Vessels`,description:`No other vessels detected. You're all alone out here.`}),console.log({stickyToaster:O})):O&&=(console.log(`removing skicky toaster`),TD.remove(O),null))}var te={VESSEL_ICON_LAYERS:n},ne=kF(),A=V(ne);ps(A,e=>tr(o,e),()=>U(o));var re=H(A,2),ie=e=>{lF(e,{})};return J(re,e=>{Rj.layersMenu.visible&&e(ie)}),K(e,ne),R(te)}var OF,kF,AF=o((()=>{Z(),X(),OF=u(AD()),jD(),ZO(),$O(),_k(),mk(),Dk(),oA(),TA(),DA(),zs(),oj(),Hk(),hj(),qk(),RN(),zj(),VN(),ZN(),$N(),vF(),ED(),TN(),bF(),SF(),wF(),EF(),MN(),AN(),kF=W(`<div class="w-full h-full"></div> <!>`,1)}));function jF(e,t){I(t,!0);let n=z(dj);var r=MF(),i=B(r),a=B(i,!0);N(i);var o=H(i,4),s=B(o,!0);N(o);var c=H(o,4),l=B(c,!0);N(c),P(2),N(r),Vr(()=>{_a(a,U(n).total??0),_a(s,U(n).filtered??0),_a(l,U(n).danger??0)}),K(e,r),R()}var MF,NF=o((()=>{Z(),X(),hj(),MF=W(`<div class="user-select-none pe-none w-32 text-center"><p class="mb-0 text-6xl font-extralight text-cyan-400"> </p> <p class="mb-4 text-sm text-surface-700-300">TARGETS</p> <p class="mb-0 text-6xl font-extralight text-blue-400"> </p> <p class="mb-4 text-sm text-surface-700-300">FILTERED</p> <p class="mb-0 text-6xl font-extralight text-red-600"> </p> <p class="text-sm text-surface-700-300">ALARMS</p></div>`)})),PF=c({default:()=>FF}),FF,IF=o((()=>{FF={201:[`AL`,`ALB`,``,`Albania (Republic of)`],202:[`AD`,`AND`,``,`Andorra (Principality of)`],203:[`AT`,`AUT`,``,`Austria`],204:[`PT`,`PRT`,`PT-20`,`Portugal - Azores`],205:[`BE`,`BEL`,``,`Belgium`],206:[`BY`,`BLR`,``,`Belarus (Republic of)`],207:[`BG`,`BGR`,``,`Bulgaria (Republic of)`],208:[`VA`,`VAT`,``,`Vatican City State`],209:[`CY`,`CYP`,``,`Cyprus (Republic of)`],210:[`CY`,`CYP`,``,`Cyprus (Republic of)`],211:[`DE`,`DEU`,``,`Germany (Federal Republic of)`],212:[`CY`,`CYP`,``,`Cyprus (Republic of)`],213:[`GE`,`GEO`,``,`Georgia`],214:[`MD`,`MDA`,``,`Moldova (Republic of)`],215:[`MT`,`MLT`,``,`Malta`],216:[`AM`,`ARM`,``,`Armenia (Republic of)`],218:[`DE`,`DEU`,``,`Germany (Federal Republic of)`],219:[`DK`,`DNK`,``,`Denmark`],220:[`DK`,`DNK`,``,`Denmark`],224:[`ES`,`ESP`,``,`Spain`],225:[`ES`,`ESP`,``,`Spain`],226:[`FR`,`FRA`,``,`France`],227:[`FR`,`FRA`,``,`France`],228:[`FR`,`FRA`,``,`France`],229:[`MT`,`MLT`,``,`Malta`],230:[`FI`,`FIN`,``,`Finland`],231:[`FO`,`FRO`,``,`Denmark - Faroe Islands`],232:[`GB`,`GBR`,``,`United Kingdom of Great Britain and Northern Ireland`],233:[`GB`,`GBR`,``,`United Kingdom of Great Britain and Northern Ireland`],234:[`GB`,`GBR`,``,`United Kingdom of Great Britain and Northern Ireland`],235:[`GB`,`GBR`,``,`United Kingdom of Great Britain and Northern Ireland`],236:[`GI`,`GIB`,``,`United Kingdom of Great Britain and Northern Ireland - Gibraltar`],237:[`GR`,`GRC`,``,`Greece`],238:[`HR`,`HRV`,``,`Croatia (Republic of)`],239:[`GR`,`GRC`,``,`Greece`],240:[`GR`,`GRC`,``,`Greece`],241:[`GR`,`GRC`,``,`Greece`],242:[`MA`,`MAR`,``,`Morocco (Kingdom of)`],243:[`HU`,`HUN`,``,`Hungary`],244:[`NL`,`NLD`,``,`Netherlands (Kingdom of the)`],245:[`NL`,`NLD`,``,`Netherlands (Kingdom of the)`],246:[`NL`,`NLD`,``,`Netherlands (Kingdom of the)`],247:[`IT`,`ITA`,``,`Italy`],248:[`MT`,`MLT`,``,`Malta`],249:[`MT`,`MLT`,``,`Malta`],250:[`IE`,`IRL`,``,`Ireland`],251:[`IS`,`ISL`,``,`Iceland`],252:[`LI`,`LIE`,``,`Liechtenstein (Principality of)`],253:[`LU`,`LUX`,``,`Luxembourg`],254:[`MC`,`MCO`,``,`Monaco (Principality of)`],255:[`PT`,`PRT`,`PT-30`,`Portugal - Madeira`],256:[`MT`,`MLT`,``,`Malta`],257:[`NO`,`NOR`,``,`Norway`],258:[`NO`,`NOR`,``,`Norway`],259:[`NO`,`NOR`,``,`Norway`],261:[`PL`,`POL`,``,`Poland (Republic of)`],262:[`ME`,`MNE`,``,`Montenegro`],263:[`PT`,`PRT`,``,`Portugal`],264:[`RO`,`ROU`,``,`Romania`],265:[`SE`,`SWE`,``,`Sweden`],266:[`SE`,`SWE`,``,`Sweden`],267:[`SK`,`SVK`,``,`Slovak Republic`],268:[`SM`,`SMR`,``,`San Marino (Republic of)`],269:[`CH`,`CHE`,``,`Switzerland (Confederation of)`],270:[`CZ`,`CZE`,``,`Czech Republic`],271:[`TR`,`TUR`,``,`Republic of Türkiye`],272:[`UA`,`UKR`,``,`Ukraine`],273:[`RU`,`RUS`,``,`Russian Federation`],274:[`MK`,`MKD`,``,`North Macedonia (Republic of)`],275:[`LV`,`LVA`,``,`Latvia (Republic of)`],276:[`EE`,`EST`,``,`Estonia (Republic of)`],277:[`LT`,`LTU`,``,`Lithuania (Republic of)`],278:[`SI`,`SVN`,``,`Slovenia (Republic of)`],279:[`RS`,`SRB`,``,`Serbia (Republic of)`],301:[`AI`,`AIA`,``,`United Kingdom of Great Britain and Northern Ireland - Anguilla`],303:[`US`,`USA`,`US-AK`,`United States of America - Alaska (State of)`],304:[`AG`,`ATG`,``,`Antigua and Barbuda`],305:[`AG`,`ATG`,``,`Antigua and Barbuda`],306:[`SX`,`SXM`,``,`Netherlands (Kingdom of the) - Sint Maarten (Dutch part)`],307:[`AW`,`ABW`,``,`Netherlands (Kingdom of the) - Aruba`],308:[`BS`,`BHS`,``,`Bahamas (Commonwealth of the)`],309:[`BS`,`BHS`,``,`Bahamas (Commonwealth of the)`],310:[`BM`,`BMU`,``,`United Kingdom of Great Britain and Northern Ireland - Bermuda`],311:[`BS`,`BHS`,``,`Bahamas (Commonwealth of the)`],312:[`BZ`,`BLZ`,``,`Belize`],314:[`BB`,`BRB`,``,`Barbados`],316:[`CA`,`CAN`,``,`Canada`],319:[`KY`,`CYM`,``,`United Kingdom of Great Britain and Northern Ireland - Cayman Islands`],321:[`CR`,`CRI`,``,`Costa Rica`],323:[`CU`,`CUB`,``,`Cuba`],325:[`DM`,`DMA`,``,`Dominica (Commonwealth of)`],327:[`DO`,`DOM`,``,`Dominican Republic`],329:[`GP`,`GLP`,``,`France - Guadeloupe (French Department of)`],330:[`GD`,`GRD`,``,`Grenada`],331:[`GL`,`GRL`,``,`Denmark - Greenland`],332:[`GT`,`GTM`,``,`Guatemala (Republic of)`],334:[`HN`,`HND`,``,`Honduras (Republic of)`],336:[`HT`,`HTI`,``,`Haiti (Republic of)`],338:[`US`,`USA`,``,`United States of America`],339:[`JM`,`JAM`,``,`Jamaica`],341:[`KN`,`KNA`,``,`Saint Kitts and Nevis (Federation of)`],343:[`LC`,`LCA`,``,`Saint Lucia`],345:[`MX`,`MEX`,``,`Mexico`],347:[`MQ`,`MTQ`,``,`France - Martinique (French Department of)`],348:[`MS`,`MSR`,``,`United Kingdom of Great Britain and Northern Ireland - Montserrat`],350:[`NI`,`NIC`,``,`Nicaragua`],351:[`PA`,`PAN`,``,`Panama (Republic of)`],352:[`PA`,`PAN`,``,`Panama (Republic of)`],353:[`PA`,`PAN`,``,`Panama (Republic of)`],354:[`PA`,`PAN`,``,`Panama (Republic of)`],355:[`PA`,`PAN`,``,`Panama (Republic of)`],356:[`PA`,`PAN`,``,`Panama (Republic of)`],357:[`PA`,`PAN`,``,`Panama (Republic of)`],358:[`PR`,`PRI`,``,`United States of America - Puerto Rico`],359:[`SV`,`SLV`,``,`El Salvador (Republic of)`],361:[`PM`,`SPM`,``,`France - Saint Pierre and Miquelon (Territorial Collectivity of)`],362:[`TT`,`TTO`,``,`Trinidad and Tobago`],364:[`TC`,`TCA`,``,`United Kingdom of Great Britain and Northern Ireland - Turks and Caicos Islands`],366:[`US`,`USA`,``,`United States of America`],367:[`US`,`USA`,``,`United States of America`],368:[`US`,`USA`,``,`United States of America`],369:[`US`,`USA`,``,`United States of America`],370:[`PA`,`PAN`,``,`Panama (Republic of)`],371:[`PA`,`PAN`,``,`Panama (Republic of)`],372:[`PA`,`PAN`,``,`Panama (Republic of)`],373:[`PA`,`PAN`,``,`Panama (Republic of)`],374:[`PA`,`PAN`,``,`Panama (Republic of)`],375:[`VC`,`VCT`,``,`Saint Vincent and the Grenadines`],376:[`VC`,`VCT`,``,`Saint Vincent and the Grenadines`],377:[`VC`,`VCT`,``,`Saint Vincent and the Grenadines`],378:[`VG`,`VGB`,``,`United Kingdom of Great Britain and Northern Ireland - British Virgin Islands`],379:[`VI`,`VIR`,``,`United States of America - United States Virgin Islands`],401:[`AF`,`AFG`,``,`Afghanistan`],403:[`SA`,`SAU`,``,`Saudi Arabia (Kingdom of)`],405:[`BD`,`BGD`,``,`Bangladesh (People's Republic of)`],408:[`BH`,`BHR`,``,`Bahrain (Kingdom of)`],410:[`BT`,`BTN`,``,`Bhutan (Kingdom of)`],412:[`CN`,`CHN`,``,`China (People's Republic of)`],413:[`CN`,`CHN`,``,`China (People's Republic of)`],414:[`CN`,`CHN`,``,`China (People's Republic of)`],416:[`TW`,`TWN`,``,`China (People's Republic of) - Taiwan (Province of China)`],417:[`LK`,`LKA`,``,`Sri Lanka (Democratic Socialist Republic of)`],419:[`IN`,`IND`,``,`India (Republic of)`],422:[`IR`,`IRN`,``,`Iran (Islamic Republic of)`],423:[`AZ`,`AZE`,``,`Azerbaijan (Republic of)`],425:[`IQ`,`IRQ`,``,`Iraq (Republic of)`],428:[`IL`,`ISR`,``,`Israel (State of)`],431:[`JP`,`JPN`,``,`Japan`],432:[`JP`,`JPN`,``,`Japan`],434:[`TM`,`TKM`,``,`Turkmenistan`],436:[`KZ`,`KAZ`,``,`Kazakhstan (Republic of)`],437:[`UZ`,`UZB`,``,`Uzbekistan (Republic of)`],438:[`JO`,`JOR`,``,`Jordan (Hashemite Kingdom of)`],440:[`KR`,`KOR`,``,`Korea (Republic of)`],441:[`KR`,`KOR`,``,`Korea (Republic of)`],443:[`PS`,`PSE`,``,`State of Palestine (In accordance with Resolution 99 Rev. Dubai, 2018)`],445:[`KP`,`PRK`,``,`Democratic People's Republic of Korea`],447:[`KW`,`KWT`,``,`Kuwait (State of)`],450:[`LB`,`LBN`,``,`Lebanon`],451:[`KG`,`KGZ`,``,`Kyrgyz Republic`],453:[`MO`,`MAC`,``,`China (People's Republic of) - Macao (Special Administrative Region of China)`],455:[`MV`,`MDV`,``,`Maldives (Republic of)`],457:[`MN`,`MNG`,``,`Mongolia`],459:[`NP`,`NPL`,``,`Nepal (Federal Democratic Republic of)`],461:[`OM`,`OMN`,``,`Oman (Sultanate of)`],463:[`PK`,`PAK`,``,`Pakistan (Islamic Republic of)`],466:[`QA`,`QAT`,``,`Qatar (State of)`],468:[`SY`,`SYR`,``,`Syrian Arab Republic`],470:[`AE`,`ARE`,``,`United Arab Emirates`],471:[`AE`,`ARE`,``,`United Arab Emirates`],472:[`TJ`,`TJK`,``,`Tajikistan (Republic of)`],473:[`YE`,`YEM`,``,`Yemen (Republic of)`],475:[`YE`,`YEM`,``,`Yemen (Republic of)`],477:[`HK`,`HKG`,``,`China (People's Republic of) - Hong Kong (Special Administrative Region of China)`],478:[`BA`,`BIH`,``,`Bosnia and Herzegovina`],501:[`TF`,`ATF`,``,`France - Adelie Land`],503:[`AU`,`AUS`,``,`Australia`],506:[`MM`,`MMR`,``,`Myanmar (Union of)`],508:[`BN`,`BRN`,``,`Brunei Darussalam`],510:[`FM`,`FSM`,``,`Micronesia (Federated States of)`],511:[`PW`,`PLW`,``,`Palau (Republic of)`],512:[`NZ`,`NZL`,``,`New Zealand`],514:[`KH`,`KHM`,``,`Cambodia (Kingdom of)`],515:[`KH`,`KHM`,``,`Cambodia (Kingdom of)`],516:[`CX`,`CXR`,``,`Australia - Christmas Island (Indian Ocean)`],518:[`CK`,`COK`,``,`New Zealand - Cook Islands`],520:[`FJ`,`FJI`,``,`Fiji (Republic of)`],523:[`CC`,`CCK`,``,`Australia - Cocos (Keeling) Islands`],525:[`ID`,`IDN`,``,`Indonesia (Republic of)`],529:[`KI`,`KIR`,``,`Kiribati (Republic of)`],531:[`LA`,`LAO`,``,`Lao People's Democratic Republic`],533:[`MY`,`MYS`,``,`Malaysia`],536:[`MP`,`MNP`,``,`United States of America - Northern Mariana Islands (Commonwealth of the)`],538:[`MH`,`MHL`,``,`Marshall Islands (Republic of the)`],540:[`NC`,`NCL`,``,`France - New Caledonia`],542:[`NU`,`NIU`,``,`New Zealand - Niue`],544:[`NR`,`NRU`,``,`Nauru (Republic of)`],546:[`PF`,`PYF`,``,`France - French Polynesia`],548:[`PH`,`PHL`,``,`Philippines (Republic of the)`],550:[`TL`,`TLS`,``,`Timor-Leste (Democratic Republic of)`],553:[`PG`,`PNG`,``,`Papua New Guinea`],555:[`PN`,`PCN`,``,`United Kingdom of Great Britain and Northern Ireland - Pitcairn Island`],557:[`SB`,`SLB`,``,`Solomon Islands`],559:[`AS`,`ASM`,``,`United States of America - American Samoa`],561:[`WS`,`WSM`,``,`Samoa (Independent State of)`],563:[`SG`,`SGP`,``,`Singapore (Republic of)`],564:[`SG`,`SGP`,``,`Singapore (Republic of)`],565:[`SG`,`SGP`,``,`Singapore (Republic of)`],566:[`SG`,`SGP`,``,`Singapore (Republic of)`],567:[`TH`,`THA`,``,`Thailand`],570:[`TO`,`TON`,``,`Tonga (Kingdom of)`],572:[`TV`,`TUV`,``,`Tuvalu`],574:[`VN`,`VNM`,``,`Viet Nam (Socialist Republic of)`],576:[`VU`,`VUT`,``,`Vanuatu (Republic of)`],577:[`VU`,`VUT`,``,`Vanuatu (Republic of)`],578:[`WF`,`WLF`,``,`France - Wallis and Futuna Islands`],601:[`ZA`,`ZAF`,``,`South Africa (Republic of)`],603:[`AO`,`AGO`,``,`Angola (Republic of)`],605:[`DZ`,`DZA`,``,`Algeria (People's Democratic Republic of)`],607:[`TF`,`ATF`,``,`France - Saint Paul and Amsterdam Islands`],608:[`AC`,`ASC`,``,`United Kingdom of Great Britain and Northern Ireland - Ascension Island`],609:[`BI`,`BDI`,``,`Burundi (Republic of)`],610:[`BJ`,`BEN`,``,`Benin (Republic of)`],611:[`BW`,`BWA`,``,`Botswana (Republic of)`],612:[`CF`,`CAF`,``,`Central African Republic`],613:[`CM`,`CMR`,``,`Cameroon (Republic of)`],615:[`CG`,`COG`,``,`Congo (Republic of the)`],616:[`KM`,`COM`,``,`Comoros (Union of the)`],617:[`CV`,`CPV`,``,`Cabo Verde (Republic of)`],618:[`TF`,`ATF`,``,`France - Crozet Archipelago`],619:[`CI`,`CIV`,``,`Côte d'Ivoire (Republic of)`],620:[`KM`,`COM`,``,`Comoros (Union of the)`],621:[`DJ`,`DJI`,``,`Djibouti (Republic of)`],622:[`EG`,`EGY`,``,`Egypt (Arab Republic of)`],624:[`ET`,`ETH`,``,`Ethiopia (Federal Democratic Republic of)`],625:[`ER`,`ERI`,``,`Eritrea`],626:[`GA`,`GAB`,``,`Gabonese Republic`],627:[`GH`,`GHA`,``,`Ghana`],629:[`GM`,`GMB`,``,`Gambia (Republic of the)`],630:[`GW`,`GNB`,``,`Guinea-Bissau (Republic of)`],631:[`GQ`,`GNQ`,``,`Equatorial Guinea (Republic of)`],632:[`GN`,`GIN`,``,`Guinea (Republic of)`],633:[`BF`,`BFA`,``,`Burkina Faso`],634:[`KE`,`KEN`,``,`Kenya (Republic of)`],635:[`TF`,`ATF`,``,`France - Kerguelen Islands`],636:[`LR`,`LBR`,``,`Liberia (Republic of)`],637:[`LR`,`LBR`,``,`Liberia (Republic of)`],638:[`SS`,`SSD`,``,`South Sudan (Republic of)`],642:[`LY`,`LBY`,``,`Libya (State of)`],644:[`LS`,`LSO`,``,`Lesotho (Kingdom of)`],645:[`MU`,`MUS`,``,`Mauritius (Republic of)`],647:[`MG`,`MDG`,``,`Madagascar (Republic of)`],649:[`ML`,`MLI`,``,`Mali (Republic of)`],650:[`MZ`,`MOZ`,``,`Mozambique (Republic of)`],654:[`MR`,`MRT`,``,`Mauritania (Islamic Republic of)`],655:[`MW`,`MWI`,``,`Malawi`],656:[`NE`,`NER`,``,`Niger (Republic of the)`],657:[`NG`,`NGA`,``,`Nigeria (Federal Republic of)`],659:[`NA`,`NAM`,``,`Namibia (Republic of)`],660:[`RE`,`REU`,``,`France - Reunion (French Department of)`],661:[`RW`,`RWA`,``,`Rwanda (Republic of)`],662:[`SD`,`SDN`,``,`Sudan (Republic of the)`],663:[`SN`,`SEN`,``,`Senegal (Republic of)`],664:[`SC`,`SYC`,``,`Seychelles (Republic of)`],665:[`SH`,`SHN`,``,`United Kingdom of Great Britain and Northern Ireland - Saint Helena`],666:[`SO`,`SOM`,``,`Somalia (Federal Republic of)`],667:[`SL`,`SLE`,``,`Sierra Leone`],668:[`ST`,`STP`,``,`Sao Tome and Principe (Democratic Republic of)`],669:[`SZ`,`SWZ`,``,`Eswatini (Kingdom of)`],670:[`TD`,`TCD`,``,`Chad (Republic of)`],671:[`TG`,`TGO`,``,`Togolese Republic`],672:[`TN`,`TUN`,``,`Tunisia`],674:[`TZ`,`TZA`,``,`Tanzania (United Republic of)`],675:[`UG`,`UGA`,``,`Uganda (Republic of)`],676:[`CD`,`COD`,``,`Democratic Republic of the Congo`],677:[`TZ`,`TZA`,``,`Tanzania (United Republic of)`],678:[`ZM`,`ZMB`,``,`Zambia (Republic of)`],679:[`ZW`,`ZWE`,``,`Zimbabwe (Republic of)`],701:[`AR`,`ARG`,``,`Argentine Republic`],710:[`BR`,`BRA`,``,`Brazil (Federative Republic of)`],720:[`BO`,`BOL`,``,`Bolivia (Plurinational State of)`],725:[`CL`,`CHL`,``,`Chile`],730:[`CO`,`COL`,``,`Colombia (Republic of)`],735:[`EC`,`ECU`,``,`Ecuador`],740:[`FK`,`FLK`,``,`United Kingdom of Great Britain and Northern Ireland - Falkland Islands (Malvinas)`],745:[`GF`,`GUF`,``,`France - Guiana (French Department of)`],750:[`GY`,`GUY`,``,`Guyana`],755:[`PY`,`PRY`,``,`Paraguay (Republic of)`],760:[`PE`,`PER`,``,`Peru`],765:[`SR`,`SUR`,``,`Suriname (Republic of)`],770:[`UY`,`URY`,``,`Uruguay (Eastern Republic of)`],775:[`VE`,`VEN`,``,`Venezuela (Bolivarian Republic of)`]}})),LF=s(((e,t)=>{var n=(IF(),d(PF).default);function r(e){if(!e)return null;let t=e.toString().trim();return t.length!==9||!/^\d{9}$/.test(t)?null:t.startsWith(`00`)?t.substring(2,5):t.startsWith(`111`)?t.substring(3,6):t.startsWith(`99`)?t.substring(2,5):t.substring(0,3)}function i(e){if(!e)return!1;let t=e.toString().trim();if(t.length!==9||!/^\d{9}$/.test(t))return!1;let n=parseInt(t[0]);return n>=2&&n<=7||t.startsWith(`00`)||t.startsWith(`111`)||t.startsWith(`99`)||t.startsWith(`98`)||t.startsWith(`8`)||/^97[024]\d{6}$/.test(t)}function a(e){let t={mmsi:e?e.toString():``,mid:null,alpha2:null,alpha3:null,country:null,valid:!1,type:null};if(!i(e))return t;let a=e.toString(),o=r(a);if(a.startsWith(`00`)?t.type=`coast_station`:a.startsWith(`111`)?t.type=`sar_aircraft`:a.startsWith(`99`)?t.type=`ais_aid_to_navigation`:a.startsWith(`98`)?t.type=`craft_associated_with_parent_ship`:a.startsWith(`8`)?t.type=`handheld_vhf`:/^97[024]/.test(a)?t.type=`emergency_device`:t.type=`ship`,t.type===`emergency_device`)return t.valid=!0,t;let s=n[o];return s&&(t.mid=o,t.alpha2=s[0],t.alpha3=s[1],t.country=s[3],t.valid=!0),t}t.exports={getCountryFromMMSI:a,isValidMMSI:i,getMIDFromMMSI:r}})),RF=s(((e,t)=>{var{getCountryFromMMSI:n,isValidMMSI:r,getMIDFromMMSI:i}=LF();t.exports={getCountryFromMMSI:n,isValidMMSI:r,getMIDFromMMSI:i}}));function zF(){if(!(!$.instance||!U(BF)||U(BF).longitude===null||U(BF).latitude===null))return $.instance.project([U(BF).longitude,U(BF).latitude])}var BF,VF=o((()=>{X(),RN(),qk(),BF=z(()=>Kk.selectedVesselContext?Gk[Kk.selectedVesselContext]:null)}));function HF(e,t){I(t,!0);let n=$n(``),r=$n(null);console.log(`ENTER VesselProperties`);let i=z(()=>Kk.selectedVesselContext?Gk[Kk.selectedVesselContext]:null);Is(()=>{if(!U(i))throw Error(`VesselProperties requires a valid selectedVessel`);let e=zF();Rj.width&&Rj.width>600&&(e&&e?.x>Rj.width/2?tr(n,`ml-24 mr-auto`):tr(n,`ml-auto mr-24`))});let a=()=>{if(U(i)){let e=_t(U(i).alarmIsMuted);sj(U(i).context,!e),dN(U(i).context,!e),tr(r,`Vessel ${U(i).alarmIsMuted?``:`un`}muted`)}};function o(){tr(r,null),Rj.vesselProperties.visible=!1}var s=G(),c=V(s),l=e=>{My(e,{get open(){return Rj.vesselProperties.visible},onOpenChange:e=>{Rj.vesselProperties.visible=e.open,e.open||o()},children:(e,t)=>{fx(e,{children:(e,t)=>{var o=ZF(),s=V(o);Qa(s,()=>My.Backdrop,(e,t)=>{t(e,{class:`fixed inset-0 z-50 bg-black/50`})}),Qa(H(s,2),()=>My.Positioner,(e,t)=>{t(e,{class:`fixed inset-0 z-50 flex justify-center items-center p-4`,children:(e,t)=>{var o=G();Qa(V(o),()=>My.Content,(e,t)=>{t(e,{get class(){return`flex flex-col card bg-surface-100-900 w-full sm:w-md p-4 space-y-4 shadow-xl transition transition-discrete opacity-0 translate-y-[100px] starting:data-[state=open]:opacity-0 starting:data-[state=open]:translate-y-[100px] data-[state=open]:opacity-100 data-[state=open]:translate-y-0 max-h-[90dvh] ${U(n)??``}`},children:(e,t)=>{var n=nI(),o=V(n),s=B(o),c=e=>{var t=WF(),n=B(t),r=e=>{zP(e,{size:18})},o=e=>{IP(e,{size:18})};J(n,e=>{U(i).alarmIsMuted?e(r):e(o,-1)}),N(t),Qi(`click`,t,a),K(e,t)};J(s,e=>{U(i).context!==Kk.myVesselContext&&e(c)});var l=H(s,2);Qa(l,()=>My.Title,(e,t)=>{t(e,{class:`text-lg font-bold`,children:(e,t)=>{P();var n=pa();Vr(e=>_a(n,e),[()=>iA(U(i))]),K(e,n)},$$slots:{default:!0}})}),Qa(H(l,2),()=>My.CloseTrigger,(e,t)=>{t(e,{class:`btn-icon hover:preset-tonal`,children:(e,t)=>{HP(e,{class:`size-4`})},$$slots:{default:!0}})}),N(o);var u=H(o,2),d=e=>{var t=GF(),n=B(t);xP(n,{});var i=H(n,2),a=B(i,!0);N(i);var o=H(i,2);HP(B(o),{class:`size-4`}),N(o),N(t),Vr(()=>_a(a,U(r))),Qi(`click`,o,()=>tr(r,null)),K(e,t)};J(u,e=>{U(r)&&e(d)});var f=H(u,2),p=e=>{var t=KF(),n=B(t);NP(n,{});var r=H(n,2),a=B(r);N(r),N(t),Vr(()=>{No(t,1,`card p-4 flex items-center justify-center gap-2 ${U(i).alarmState===`danger`?`preset-tonal-error`:`preset-tonal-warning`}`),_a(a,`${U(i).alarmType??``}
                ${U(i).alarmState??``}`)}),K(e,t)};J(f,e=>{U(i).alarmState&&e(p)}),Qa(H(f,2),()=>My.Description,(e,t)=>{t(e,{class:`flex-1 overflow-y-auto`,children:(e,t)=>{var n=tI(),r=B(n),a=H(B(r),2),o=B(a);N(a),N(r);var s=H(r,2),c=H(B(s),2),l=B(c,!0);N(c),N(s);var u=H(s,2),d=H(B(u),2),f=B(d,!0);N(d),N(u);var p=H(u,2),m=H(B(p),2),h=B(m,!0);N(m),N(p);var g=H(p,2),_=H(B(g),2),v=B(_,!0);N(_),N(g);var y=H(g,2),b=e=>{var t=qF(),n=V(t),r=H(B(n),2),a=B(r,!0);N(r),N(n);var o=H(n,2),s=H(B(o),2),c=B(s,!0);N(s),N(o);var l=H(o,2),u=H(B(l),2),d=B(u,!0);N(u),N(l),Vr((e,t,n)=>{_a(a,e),_a(c,t),_a(d,n)},[()=>Qk(U(i).sog)??`---`,()=>Vk(U(i).cog)?Zk(kk(U(i).cog)):`---`,()=>Vk(U(i).hdg)?Zk(kk(U(i).hdg)):`---`]),K(e,t)},x=z(()=>!U(i).aisClass||![`ATON`,`BASE`].includes(U(i).aisClass));J(y,e=>{U(x)&&e(b)});var S=H(y,2),C=e=>{var t=JF(),n=H(B(t),2),r=B(n,!0);N(n),N(t),Vr(e=>_a(r,e),[()=>Vk(U(i).rot)?tA(kk(U(i).rot)):`---`]),K(e,t)};J(S,e=>{U(i).aisClass===`A`&&e(C)});var w=H(S,2),T=e=>{var t=YF(),n=H(B(t),2),r=B(n,!0);N(n),N(t),Vr(()=>_a(r,U(i).callsign??`---`)),K(e,t)},ee=z(()=>!U(i).aisClass||![`ATON`,`BASE`].includes(U(i).aisClass));J(w,e=>{U(ee)&&e(T)});var E=H(w,2),D=H(B(E),2),O=B(D);sx(H(O),{children:(e,t)=>{var n=ZF(),r=V(n);Qa(r,()=>sx.Trigger,(e,t)=>{t(e,{children:(e,t)=>{P();var n=XF(),r=H(V(n)),a=B(r,!0);N(r),P(),Vr(e=>_a(a,e),[()=>(0,UF.getCountryFromMMSI)(U(i).mmsi)?.alpha2??`--`]),K(e,n)},$$slots:{default:!0}})}),fx(H(r,2),{children:(e,t)=>{var n=G();Qa(V(n),()=>sx.Positioner,(e,t)=>{t(e,{class:`z-50!`,children:(e,t)=>{var n=G();Qa(V(n),()=>sx.Content,(e,t)=>{t(e,{class:`card max-w-md p-2.5 bg-surface-950-50 text-surface-50-950 shadow-xl`,children:(e,t)=>{var n=ZF(),r=V(n);Qa(r,()=>sx.Description,(e,t)=>{t(e,{children:(e,t)=>{P();var n=pa();Vr(e=>_a(n,e),[()=>(0,UF.getCountryFromMMSI)(U(i).mmsi)?.country??`---`]),K(e,n)},$$slots:{default:!0}})}),Qa(H(r,2),()=>sx.Arrow,(e,t)=>{t(e,{class:`[--arrow-size:--spacing(2)] [--arrow-background:var(--color-surface-950-50)]`,children:(e,t)=>{var n=G();Qa(V(n),()=>sx.ArrowTip,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}}),N(D),N(E);var k=H(E,2),te=H(B(k),2),ne=B(te,!0);N(te),N(k);var A=H(k,2),re=H(B(A),2),ie=B(re,!0);N(re),N(A);var ae=H(A,2),oe=e=>{var t=QF(),n=V(t),r=H(B(n),2),a=B(r,!0);N(r),N(n);var o=H(n,2),s=H(B(o),2),c=B(s,!0);N(s),N(o),Vr(()=>{_a(a,U(i).status??`---`),_a(c,U(i).specialManeuver??`---`)}),K(e,t)};J(ae,e=>{U(i).aisClass===`A`&&e(oe)});var se=H(ae,2),ce=e=>{var t=$F(),n=H(B(t),2),r=B(n,!0);N(n),N(t),Vr(e=>_a(r,e),[()=>$k(U(i).length,U(i).beam)]),K(e,t)};J(se,e=>{U(i).aisClass!==`BASE`&&e(ce)});var le=H(se,2),ue=e=>{var t=eI(),n=V(t),r=H(B(n),2),a=B(r,!0);N(r),N(n);var o=H(n,2),s=H(B(o),2),c=B(s,!0);N(s),N(o);var l=H(o,2),u=H(B(l),2),d=B(u,!0);N(u),N(l);var f=H(l,2),p=H(B(f),2),m=B(p,!0);N(p),N(f),Vr((e,t)=>{_a(a,e),_a(c,U(i).destination??`---`),_a(d,U(i).eta??`---`),_a(m,t)},[()=>Vk(U(i).draft)?eA(U(i).draft):`---`,()=>(U(i).imo??``).replace(/imo/i,``)||`---`]),K(e,t)};J(le,e=>{U(i).aisClass===`A`&&e(ue)});var de=H(le,2),fe=H(B(de),2),pe=B(fe,!0);N(fe),N(de);var me=H(de,2),he=H(B(me),2),ge=B(he,!0);N(he),N(me),N(n),Vr((e,t,n,r,a,s)=>{_a(o,`${U(i).lastSeenSecondsAgo??`---`??``} secs`),_a(l,e),_a(f,t),_a(h,n),_a(v,r),_a(O,`${U(i).mmsi??`---`??``} `),_a(ne,U(i).type??`---`),_a(ie,U(i).aisClass??`---`),_a(pe,a),_a(ge,s)},[()=>nA(U(i).cpa,U(i).tcpa)??`---`,()=>rA(U(i).tcpa)??`---`,()=>Xk(U(i).range)??`---`,()=>Zk(U(i).bearing)??`---`,()=>Vk(U(i).latitude)?Jk(U(i).latitude):`---`,()=>Vk(U(i).longitude)?Yk(U(i).longitude):`---`]),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}),K(e,o)},$$slots:{default:!0}})}),K(e,o)},$$slots:{default:!0}})},$$slots:{default:!0}})};J(c,e=>{U(i)&&e(l)}),K(e,s),R()}var UF,WF,GF,KF,qF,JF,YF,XF,ZF,QF,$F,eI,tI,nI,rI=o((()=>{Z(),X(),$P(),wD(),oA(),UF=RF(),Hk(),zj(),qk(),hj(),fN(),zs(),VF(),WF=W(`<button class="btn btn-icon p-0 preset-filled-primary-500 inline-flex h-10 w-10 items-center justify-center rounded-full text-lg font-semibold" type="button" title="Toggle alarm mute"><!></button>`),GF=W(`<div class="card p-4 preset-tonal-primary flex items-center gap-2"><!> <span class="flex-1"> </span> <button class="btn-icon hover:preset-tonal"><!></button></div>`),KF=W(`<div><!> <span class="uppercase font-semibold"> </span></div>`),qF=W(`<div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">SOG</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">COG</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">HDG</dt> <dd class=" sm:col-span-2"> </dd></div>`,1),JF=W(`<div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Rate of Turn</dt> <dd class=" sm:col-span-2"> </dd></div>`),YF=W(`<div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Callsign</dt> <dd class=" sm:col-span-2"> </dd></div>`),XF=W(`(<span class="anchor"> </span>)`,1),ZF=W(`<!> <!>`,1),QF=W(`<div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Status</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Special Maneuver</dt> <dd class=" sm:col-span-2"> </dd></div>`,1),$F=W(`<div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Size</dt> <dd class=" sm:col-span-2"> </dd></div>`),eI=W(`<div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Draft</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Destination</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">ETA</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">IMO</dt> <dd class=" sm:col-span-2"> </dd></div>`,1),tI=W(`<dl class="divide-y"><div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Last Seen</dt> <dd class="xs:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">CPA</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">TCPA</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Range</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Bearing</dt> <dd class=" sm:col-span-2"> </dd></div> <!> <!> <!> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">MMSI</dt> <dd class=" sm:col-span-2"> <!></dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Type</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Class</dt> <dd class=" sm:col-span-2"> </dd></div> <!> <!> <!> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Lat</dt> <dd class=" sm:col-span-2"> </dd></div> <div class="grid grid-cols-1 gap-1 py-3 sm:grid-cols-3 sm:gap-4"><dt class="font-medium">Lon</dt> <dd class=" sm:col-span-2"> </dd></div></dl>`),nI=W(`<header class="flex justify-between items-center"><!> <!> <!></header> <!> <!> <!>`,1),$i([`click`])}));function iI(e,t,n){return n===30?cI:n===36?oI:n===37?sI:n===51||e&&(e.startsWith(`111`)||e.startsWith(`970`)||e.startsWith(`972`)||e.startsWith(`974`))?uI:n===52?aI:t===`A`?lI:t===`ATON`||e&&e.startsWith(`99`)?dI:fI}var aI,oI,sI,cI,lI,uI,dI,fI,pI=o((()=>{aI=`<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" stroke-width="0.501" stroke-linejoin="bevel" fill-rule="evenodd" version="1.1" overflow="visible" viewBox="0 0 96 96" x="0px" y="0px">
<g fill="none" stroke="currentcolor" font-family="Times New Roman" font-size="16" transform="scale(1 -1)">
<g transform="translate(0 -96)">
<g><path d="M 9.778,9.751 L 10.751,15.978 L 9.028,15.978 L 9.028,18.978 L 11.22,18.978 L 11.657,21.774 L 13.396,21.774 L 13.396,29.444 L 16.396,29.444 L 16.396,21.774 L 22.538,21.774 L 22.538,21.676 L 22.563,21.676 C 22.546,21.883 22.538,22.092 22.538,22.304 C 22.538,26.499 25.946,29.907 30.143,29.907 C 34.34,29.907 37.748,26.499 37.748,22.304 C 37.748,22.092 37.739,21.883 37.722,21.676 L 61.001,21.676 L 64.09,25.531 L 84.023,28.77 L 87.78,29.242 L 91.047,27.189 L 90.039,23.046 L 91.904,23.046 L 90.28,16.534 L 88.456,16.534 L 86.808,9.751 L 9.778,9.751 Z M 42.271,24.676 L 42.271,36.572 L 50.295,36.572 L 52.192,34.159 L 70.195,34.159 L 71.271,29.737 L 62.471,28.308 L 59.56,24.676 L 42.271,24.676 Z M 53.409,36.229 L 51.159,39.097 L 45.201,39.097 L 44.353,46.65 L 46.95,49.246 L 48.515,49.24 L 46.533,65.564 L 49.512,65.925 L 50.948,54.097 L 53.792,54.097 L 53.792,51.097 L 51.312,51.097 L 51.539,49.23 L 64.026,49.19 L 66.623,46.593 L 64.634,40.16 L 65.108,36.229 L 53.409,36.229 Z M 57.502,40.51 L 57.502,45.869 L 54.667,45.869 L 54.667,40.51 L 57.502,40.51 Z M 61.68,40.51 L 63.383,45.869 L 60.502,45.869 L 60.502,40.51 L 61.68,40.51 Z M 50.395,42.498 L 50.423,45.869 L 47.424,45.869 L 47.875,42.498 L 50.395,42.498 Z" stroke="none" fill="currentcolor" stroke-width="0.5" fill-rule="evenodd" marker-start="none" marker-end="none" stroke-miterlimit="79.8403193612775"/></g></g></g></svg>`,oI=`<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" stroke-width="0.501" stroke-linejoin="bevel" fill-rule="evenodd" version="1.1" overflow="visible" viewBox="0 0 96 96" x="0px" y="0px"><g fill="none" stroke="currentcolor" font-family="Times New Roman" font-size="16" transform="scale(1 -1)"><g transform="translate(0 -96)"><g><path d="M 16.14,9.751 L 20.776,15.338 L 39.185,15.8 L 39.901,18.009 L 61.573,18.009 L 62.4,16.383 L 80.474,16.838 L 73.136,9.751 L 16.14,9.751 Z M 71.353,13.929 L 71.353,15.09 L 69.482,15.09 L 69.482,13.929 L 71.353,13.929 Z M 53.41,19.078 L 20.942,20.585 C 27.989,44.45 39.876,66.526 53.41,87.996 L 53.41,19.078 Z M 56.124,22.079 L 54.766,70.018 C 68.27,56.194 76.961,40.585 77.772,22.079 L 56.124,22.079 Z" stroke-linecap="round" stroke="none" fill="currentcolor" stroke-linejoin="round" stroke-width="3.113" marker-start="none" marker-end="none" stroke-miterlimit="79.8403193612775"/></g></g></g></svg>`,sI=`<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" stroke-width="0.501" stroke-linejoin="bevel" fill-rule="evenodd" version="1.1" overflow="visible" viewBox="0 0 96 96" x="0px" y="0px"><g fill="none" stroke="currentcolor" font-family="Times New Roman" font-size="16" transform="scale(1 -1)"><g transform="translate(0 -96)"><g><path d="M 10.203,9.751 L 10.178,9.771 L 16.107,21.623 L 87.225,21.623 C 85.074,16.512 81.502,12.6 76.671,9.751 L 10.203,9.751 Z M 23.216,23.99 L 23.216,26.36 L 31.514,26.36 L 31.514,29.913 L 23.216,29.913 L 23.216,34.658 L 18.471,34.658 L 16.107,38.211 L 48.11,38.211 L 55.221,32.288 L 62.331,32.288 L 65.042,29.913 L 57.591,29.913 L 57.591,26.36 L 69.106,26.36 L 71.813,23.99 L 23.216,23.99 Z M 49.294,26.36 L 49.294,29.913 L 37.441,29.913 L 37.441,26.36 L 49.294,26.36 Z" stroke-linejoin="miter" stroke-linecap="round" stroke="none" stroke-width="0.75" fill="currentcolor" marker-start="none" marker-end="none" stroke-miterlimit="79.8403193612775"/></g></g></g></svg>`,cI=`<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" stroke-width="0.501" stroke-linejoin="bevel" fill-rule="evenodd" version="1.1" overflow="visible" viewBox="0 0 96 96" x="0px" y="0px"><g fill="none" stroke="currentcolor" font-family="Times New Roman" font-size="16" transform="scale(1 -1)"><g transform="translate(0 -96)"><g><path d="M 8.704,9.751 L 13.532,20.376 L 16.265,20.376 C 16.171,21.169 16.062,21.962 15.94,22.752 C 15.384,23.301 15.039,24.062 15.039,24.903 C 15.039,25.357 15.139,25.788 15.32,26.175 C 13.568,34.648 10.26,43.027 6.14,51.405 L 8.849,52.738 C 12.848,44.607 16.157,36.351 18.033,27.921 C 18.042,27.921 18.051,27.922 18.06,27.922 C 19.726,27.922 21.081,26.569 21.081,24.903 C 21.081,23.599 20.251,22.487 19.092,22.065 C 19.169,21.503 19.24,20.94 19.304,20.376 L 25.279,20.376 C 25.194,21.153 25.097,21.929 24.99,22.705 C 24.404,23.256 24.039,24.037 24.039,24.903 C 24.039,25.421 24.17,25.909 24.401,26.336 C 22.378,37.28 18.174,48.078 12.872,58.856 L 15.581,60.189 C 20.781,49.618 25.011,38.887 27.172,27.919 C 28.786,27.86 30.081,26.531 30.081,24.903 C 30.081,23.609 29.264,22.505 28.119,22.075 C 28.191,21.509 28.256,20.943 28.316,20.376 L 41.615,20.376 L 42.909,26.132 L 39.14,34.949 L 31.494,34.949 L 31.494,37.968 L 44.482,37.968 L 44.482,53.645 L 40.2,53.645 L 40.202,56.645 L 44.482,56.645 L 44.482,75.949 L 47.501,75.949 L 47.501,56.645 L 62.361,56.645 L 63.742,53.645 L 58.954,53.645 L 63.307,43.459 L 66.364,43.459 L 69.24,37.209 L 67.094,37.209 L 71.707,26.413 L 89.378,26.413 L 85.631,9.751 L 8.704,9.751 Z M 76.337,18.866 L 77.355,23.394 L 72.199,23.394 L 71.181,18.866 L 76.337,18.866 Z M 84.586,18.866 L 85.605,23.394 L 80.449,23.394 L 79.431,18.866 L 84.586,18.866 Z M 65.294,26.413 L 61.645,34.949 L 45.221,34.949 L 48.87,26.413 L 65.294,26.413 Z M 60.117,43.459 L 55.764,53.645 L 47.501,53.645 L 47.501,43.459 L 60.117,43.459 Z" stroke="none" fill="currentcolor" fill-rule="evenodd" stroke-width="0.5" marker-start="none" marker-end="none" stroke-miterlimit="79.8403193612775"/></g></g></g></svg>`,lI=`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 96 96" style="enable-background:new 0 0 96 96;" xml:space="preserve" fill="currentcolor"><path marker-start="none" marker-end="none" d="M11.3,81L6.2,70.9V58.3l6.2,0l0-13.2H8.9v-9.6l10.4,0.1l2.2-6.5h5.8l0,6.5l1.5,0  v26.5h59.7l-5.9,13l2.8,1.6V81H11.3z M78.1,67.1V65h-1.9v2.1H78.1z M81.9,67.1V65H80v2.1H81.9z M27.3,62.2v-20h-2.6v-3.4h2.6v-1.6  l-16.9-0.1v6.6h3.5l0,14.7l2.9,0l3.2,3.8H27.3z M32.3,60.6V50.1h16.9v10.6H32.3z M51.1,60.6V50.1H68v10.6H51.1z M69.8,60.6V50.1  h16.9v10.6H69.8z M21.4,58.2v-2.1h1.9v2.1H21.4z M21.4,53v-2.1h1.9V53H21.4z M32.3,48.8V38.2h16.9v10.6H32.3z M51.1,48.8V38.2H68  v10.6H51.1z M69.8,48.8V38.2h16.9v10.6H69.8z M21.4,48.4v-2.1h1.9v2.1H21.4z M15.7,42.2v-3.4h3v3.4H15.7z M20.2,42.2v-3.4h3v3.4  H20.2z"/></svg>`,uI=`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve"><g fill="currentcolor"><path d="M37.9,29.4C41.5,27.2,45.6,26,50,26s8.5,1.2,12.1,3.4l13-13C67.7,10.8,58.9,8,50,8s-17.7,2.8-25.1,8.4L37.9,29.4z"/><path d="M83.6,24.9l-13,13C72.8,41.5,74,45.7,74,50s-1.2,8.5-3.4,12.1l13,13C94.8,60.3,94.8,39.7,83.6,24.9z"/><path d="M62.1,70.6C58.5,72.8,54.4,74,50,74s-8.5-1.2-12.1-3.4l-13,13C32.3,89.2,41.1,92,50,92s17.7-2.8,25.1-8.4L62.1,70.6z"/><path d="M29.4,62.1C27.2,58.5,26,54.3,26,50s1.2-8.5,3.4-12.1l-13-13c-11.1,14.9-11.1,35.4,0,50.2L29.4,62.1z"/></g></svg>`,dI=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="-5.0 -10.0 110.0 110.0" fill="currentcolor">
 <g>
  <path d="m9.3594 79.27c6.4961 0.070313 6.543 3.2812 13.539 3.2305 7.0039 0.050781 7.0391-3.1562 13.543-3.2305 6.5039 0.070313 6.5469 3.2812 13.547 3.2305 7 0.050781 7.0391-3.1562 13.543-3.2305 3.0352 0 4.457 0.67578 6.1055 1.4609 1.7383 0.82812 3.707 1.7656 7.4492 1.7656 3.7422 0 5.7109-0.9375 7.4492-1.7656 1.6484-0.78516 3.0703-1.4609 6.1055-1.4609 0.86328 0 1.5625-0.69922 1.5625-1.5625s-0.69922-1.5625-1.5625-1.5625c-3.7422 0-5.7109 0.9375-7.4492 1.7656-1.6484 0.78516-3.0703 1.4609-6.1055 1.4609-6.2578-0.039063-6.4648-3.0859-12.988-3.2109-0.88281-2.1328-2.6602-3.7617-4.8789-4.4766l-0.88281-20.09c0.078124 0.007812 1.9961 0.32031 2.043 0.29297 0.76172 0 1.4258-0.55469 1.543-1.3281 0.13281-0.85156-0.45312-1.6484-1.3086-1.7812l-2.4141-0.36719-0.54688-12.496 4.8477 0.73828c0.078125 0.011718 0.16016 0.015625 0.23828 0.015625 1.8867-0.003907 2.1289-2.8086 0.23438-3.1094-0.38672-0.070313-7.3086-1.1055-7.4609-1.1406l1.2734-8.2188c0.30469-1.793-0.63281-3.6914-2.2344-4.5469l0.45703-2.9531c6.957-0.78516 7.2422-10.82 0.26563-11.953-5.2188-0.89453-9.0352 5.3281-5.8242 9.5312 0.64062 0.875 1.5 1.5234 2.4688 1.9492l-0.45703 2.9609c-1.7695 0.37109-3.2109 1.7812-3.5039 3.6602l-1.2734 8.2266-7.4648-1.1406c-0.85938-0.13281-1.6484 0.45703-1.7773 1.3086-0.13281 0.85156 0.45312 1.6484 1.3086 1.7812l4.8359 0.73828-4.3008 11.758-2.418-0.37109c-0.85156-0.12891-1.6484 0.45703-1.7773 1.3086-0.13281 0.85156 0.45312 1.6484 1.3086 1.7812l1.793 0.27344-6.9102 18.883c-3.8281 0.035157-7.2148 2.918-7.8047 6.7383-0.27344 1.8008 0.09375 3.6172 0.97266 5.1523-0.46875 0.042969-0.96875 0.074219-1.5391 0.074219-6.5039-0.066406-6.5391-3.2852-13.539-3.2305-2.0156 0.007813-2.0781 3.0977 0 3.125zm42.078-68.984c0.65625-3.7812 6.3477-2.9141 5.8242 0.88281-0.64453 3.7695-6.3477 2.9258-5.8242-0.88281zm-0.39453 13.047c0.26953-1.6992 2.9062-1.3203 2.6523 0.39844l-1.2734 8.2266-2.6523-0.40625zm-4.3086 10.918c1.4258 0.21875 6.3438 0.96875 7.7734 1.1875l0.54688 12.496-12.621-1.9258zm8.457 16.863 0.875 19.973-1.6641-0.25391-19.938-3.0508 6.8711-18.781zm-28.637 23.5c0.375-2.5781 2.9492-4.4766 5.5469-4.0234 1.5039 0.22656 24.555 3.7461 25.367 3.8711 1.3125 0.19922 2.4336 0.90234 3.1758 1.9062-1.9844 0.32812-3.332 0.95703-4.5547 1.5391-1.6445 0.78516-3.0664 1.4609-6.0977 1.4609-3.0352 0-4.457-0.67578-6.1016-1.4609-1.7383-0.82812-3.707-1.7656-7.4453-1.7656-3.7383 0-5.707 0.9375-7.4453 1.7656-0.43359 0.20703-0.85156 0.40234-1.2852 0.58594-0.92969-1.0586-1.375-2.4414-1.1562-3.8789z"/>
  <path d="m90.641 88.961c-7.0078-0.054688-7.043 3.1602-13.555 3.2266-6.5039-0.066406-6.5508-3.2812-13.555-3.2266-7-0.054688-7.0391 3.1602-13.543 3.2266-6.5078-0.066406-6.5469-3.2812-13.547-3.2266-7-0.054688-7.043 3.1602-13.543 3.2266-3.0312 0-4.4492-0.67578-6.0977-1.4609-1.7383-0.82812-3.7031-1.7656-7.4414-1.7656-0.86328 0-1.5625 0.69922-1.5625 1.5625 0 0.86328 0.69922 1.5625 1.5625 1.5625 3.0312 0 4.4531 0.67578 6.0977 1.4609 1.7383 0.82812 3.7031 1.7656 7.4414 1.7656 3.7383 0 5.707-0.9375 7.4453-1.7656 1.6445-0.78516 3.0664-1.4609 6.0977-1.4609 6.5039 0.070312 6.5469 3.2812 13.547 3.2266 7 0.054688 7.0391-3.1602 13.543-3.2266 6.5078 0.066406 6.5469 3.2812 13.555 3.2266 7.0039 0.054688 7.0469-3.1602 13.555-3.2266 2.0234-0.023438 2.0781-3.0898 0-3.125z"/>
 </g></svg>`,fI=`<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="-5.0 -10.0 110.0 110.0" fill="currentcolor">
 <path d="m37.035 63.82-9.3867 27.816c-0.24219 0.72266-1.0195 1.1055-1.7383 0.86328-0.72266-0.24219-1.1055-1.0195-0.86328-1.7383l9.3828-27.82c0.24609-0.71875 1.0234-1.1055 1.7422-0.86328s1.1055 1.0234 0.86328 1.7422z"/>
 <path d="m51.387 65.637-0.16016 28.344c-0.007812 0.75781-0.625 1.3672-1.3828 1.3633s-1.3711-0.62109-1.3672-1.3789l0.16016-28.344c0.003906-0.75781 0.625-1.3711 1.3828-1.3672 0.75781 0.003906 1.3711 0.625 1.3672 1.3828z"/>
 <path d="m65.355 62.699 9.6094 27.562c0.25 0.71484-0.12891 1.5-0.84766 1.75-0.71484 0.25-1.5-0.12891-1.7461-0.84766l-9.6133-27.562c-0.25-0.71484 0.12891-1.5 0.84766-1.75 0.71484-0.24609 1.5 0.12891 1.75 0.84766z"/>
 <path d="m50.094 13.828h-0.13281c-2.0078-0.042969-4.3438 0.34375-7.0078 1.1562-2.4648 0.81641-4.7344 2.0117-6.8008 3.582-1.7344 1.1875-3.5664 3.207-5.4961 6.0586-1.8633 3.3594-2.7305 5.5234-2.6094 6.5 14.566-2.0508 29.301-2.043 44.207 0.015625 0.050782-0.53125-0.32812-1.7422-1.1328-3.625-0.11719-0.40234-0.71094-1.4922-1.7773-3.2695-1.3672-2.0977-3.0312-3.9258-4.9922-5.4844-4.2031-3.2305-8.957-4.875-14.258-4.9336z"/>
 <path d="m30.223 33.492 0.015625 0.023437h-0.003906zm5.5625 12.133h0.003906zm14.164-13.422c-6.6328 0-13.227 0.45703-19.676 1.2578v0.003906h-0.023438l-0.003906 0.003906c-6.5195 0.8125-12.777 1.9648-17.301 3.7148-4.7656 1.8438-6.8008 4.0078-6.7852 5.6602 0.019532 1.7383 2.2539 4.2695 6.6875 6.1133 3.5 1.457 7.9609 2.2891 12.719 3.0273l0.054688-0.042969v-0.003906l-0.003906-0.015625c-0.3125-0.84375-0.31641-1.7266 0.21094-2.5977 1.2891-2.1289 5.9258-3.0547 9.9531-3.6992h-0.015625l0.054687-0.03125-0.035156 0.03125h0.003906c4.4258-0.70703 9.4648-1.2031 14.426-1.207l0.078125-0.003907 0.003906 0.003907c4.9297-0.003907 9.7578 0.48438 14.113 1.2031h0.011719c3.9961 0.66016 8.6914 1.6289 10.02 3.7266 0.53516 0.84766 0.55469 1.6992 0.27734 2.5195l0.046875 0.058593h0.003906c4.75-0.70703 9.1914-1.5156 12.672-2.9609 4.3984-1.8359 6.6133-4.3906 6.625-6.1406 0.007813-1.668-2.0391-3.8281-6.7695-5.6523-4.4922-1.7383-10.699-2.875-17.25-3.6836-6.5156-0.80859-13.27-1.2812-19.949-1.2852z"/>
 <path d="m36.188 48.254 0.003906 0.042969h-0.003906zm14.027-1.1836c-4.793 0.003907-9.6914 0.48828-14.012 1.1758v0.003906l-0.019531 0.003906h-0.007813c-4.6953 0.75-7.5898 1.6406-8.0781 2.4453-0.125 0.21094 0.25781 1.3867 3.1289 3.4688 2.2656 1.6406 4.8828 2.9805 8.0117 3.6914 3.168 0.72266 6.8906 0.82422 10.801 0.92188l0.027344-0.027344-0.027344 0.023438c3.9883-0.11719 7.7891-0.23438 10.996-0.96484 3.168-0.71875 5.7734-2.043 8.043-3.6641 2.9102-2.0742 3.2383-3.1914 3.1172-3.3789-0.52734-0.83984-3.5625-1.7617-8.207-2.5273h-0.007812c-4.2422-0.69922-8.9258-1.1719-13.688-1.1719z"/>
</svg>`})),mI,hI=o((()=>{X(),mI=ur({sortBy:`priority`})}));function gI(e,t){I(t,!0),console.log(`TABLE render`);let n=$n(void 0),r=z(()=>Object.values(Gk).filter(e=>e.context!==Kk.myVesselContext&&e.isValid).sort((e,t)=>{switch(mI.sortBy){case`tcpa`:return i(e.tcpa)-i(t.tcpa);case`cpa`:return i(e.cpa)-i(t.cpa);case`range`:return i(e.range)-i(t.range);case`name`:return(e.name??``).localeCompare(t.name??``);default:return i(e.order)-i(t.order)}}));function i(e){return Vk(e)?e:1/0}function a(e){Kk.selectedVesselContext=e,Rj.vesselProperties.visible=!0,Rj.vesselTable.visible=!1}function o(e){mI.sortBy=e.currentTarget.value,U(n).scrollTop=0}function s(e){return e.alarmState===`danger`?`table-row-danger font-medium`:e.alarmState===`warning`?`table-row-warning font-medium`:`bg-surface-100-900`}My(e,{get open(){return Rj.vesselTable.visible},onOpenChange:e=>{Rj.vesselTable.visible=e.open},children:(e,t)=>{fx(e,{children:(e,t)=>{var i=yI(),c=V(i);Qa(c,()=>My.Backdrop,(e,t)=>{t(e,{class:`fixed inset-0 z-50 bg-black/50 transition transition-discrete transition transition-discrete opacity-0 starting:data-[state=open]:opacity-0 data-[state=open]:opacity-100`})}),Qa(H(c,2),()=>My.Positioner,(e,t)=>{t(e,{class:`fixed inset-0 z-50 flex justify-start`,children:(e,t)=>{var i=G();Qa(V(i),()=>My.Content,(e,t)=>{t(e,{class:`flex flex-col h-dvh card bg-surface-100-900 w-full md:w-3xl  p-4 space-y-4 shadow-xl transition transition-discrete opacity-0 -translate-x-full starting:data-[state=open]:opacity-0 starting:data-[state=open]:-translate-x-full data-[state=open]:opacity-100 data-[state=open]:translate-x-0`,children:(e,t)=>{var i=vI(),c=V(i),l=B(c);Qa(l,()=>My.Title,(e,t)=>{t(e,{class:`text-lg font-bold`,children:(e,t)=>{P();var n=pa();Vr(()=>_a(n,`AIS Targets (${U(r).length??``})`)),K(e,n)},$$slots:{default:!0}})}),Qa(H(l,2),()=>My.CloseTrigger,(e,t)=>{t(e,{class:`btn-icon preset-tonal`,children:(e,t)=>{HP(e,{})},$$slots:{default:!0}})}),N(c);var u=H(c,2),d=H(B(u),2),f=B(d);f.value=f.__value=`priority`;var p=H(f);p.value=p.__value=`tcpa`;var m=H(p);m.value=m.__value=`cpa`;var h=H(m);h.value=h.__value=`range`;var g=H(h);g.value=g.__value=`name`,N(d);var _;zo(d),N(u);var v=H(u,2),y=B(v),b=H(B(y));za(b,21,()=>U(r),e=>e.context,(e,t)=>{var n=_I(),r=B(n),i=B(r);qa(i,()=>iI(U(t).mmsi,U(t).aisClass,U(t).typeId),!0),N(i);var o=H(i);N(r);var c=H(r),l=B(c),u=e=>{zP(e,{class:`size-4`})};J(l,e=>{U(t).alarmIsMuted&&e(u)}),N(c);var d=H(c),f=B(d,!0);N(d);var p=H(d),m=B(p,!0);N(p);var h=H(p),g=B(h,!0);N(h);var _=H(h),v=B(_,!0);N(_);var y=H(_),b=B(y,!0);N(y),N(n),Vr((e,t,i,a,s,c,l,u)=>{No(n,1,e),No(r,1,t),_a(o,` ${i??``}`),_a(f,a),_a(m,s),_a(g,c),_a(v,l),_a(b,u)},[()=>`z-10 cursor-pointer group hover:preset-tonal-primary! ${s(U(t))}`,()=>`sticky left-0 z-20 flex items-center text-left group-hover:preset-tonal-primary!  ${s(U(t))} border-b-0 px-3 py-0.5 font-medium ps-4!`,()=>iA(U(t)),()=>Zk(U(t).bearing),()=>Xk(U(t).range),()=>Qk(U(t).sog),()=>nA(U(t).cpa,U(t).tcpa),()=>rA(U(t).tcpa)]),Qi(`click`,n,()=>a(U(t).context)),K(e,n)}),N(b),N(y),N(v),ps(v,e=>tr(n,e),()=>U(n)),Vr(()=>{_!==(_=mI.sortBy)&&(d.value=(d.__value=mI.sortBy)??``,Ro(d,mI.sortBy))}),Qi(`change`,d,o),K(e,i)},$$slots:{default:!0}})}),K(e,i)},$$slots:{default:!0}})}),K(e,i)},$$slots:{default:!0}})},$$slots:{default:!0}}),R()}var _I,vI,yI,bI=o((()=>{Z(),X(),$P(),wD(),oA(),pI(),qk(),zj(),Hk(),hI(),_I=W(`<tr><td><span class="me-2 inline-flex h-10 w-10 items-center justify-center [&amp;>svg]:h-full [&amp;>svg]:w-full"></span> </td><td class="text-right!"><!></td><td class="text-right!"> </td><td class="text-right!"> </td><td class="text-right!"> </td><td class="text-right!"> </td><td class="text-right! pe-4!"> </td></tr>`),vI=W(`<header class="flex justify-between items-center"><!> <!></header> <label class="label"><span class="label-text">Sort By</span> <select class="select"><option>Priority</option><option>TCPA</option><option>CPA</option><option>Range</option><option>Name</option></select></label> <div class="table-wrap flex-1 overflow-x-auto overflow-y-auto rounded border border-surface-200-800 shadow-sm"><table class="table"><thead><tr class="z-20"><th class="sticky top-0 left-0 z-30 w-auto font-semibold bg-surface-100-900 ps-4!">NAME</th><th class="sticky top-0 min-w-5 font-semibold bg-surface-100-900 text-right!"></th><th class="sticky top-0 min-w-16 font-semibold bg-surface-100-900 text-right!">BRG</th><th class="sticky top-0 min-w-24 font-semibold bg-surface-100-900 text-right!">RNG</th><th class="sticky top-0 min-w-20 font-semibold bg-surface-100-900 text-right!">SOG</th><th class="sticky top-0 min-w-24 font-semibold bg-surface-100-900 text-right!">CPA</th><th class="sticky top-0 min-w-24 font-semibold bg-surface-100-900 text-right! pe-4!">TCPA</th></tr></thead><tbody></tbody></table></div>`,1),yI=W(`<!> <!>`,1),$i([`change`,`click`])})),xI,SI=o((()=>{xI=``+new URL(`horn-DxIycJSf.mp3`,import.meta.url).href}));function CI(e,t){I(t,!0);let n=_t(uj()),r=new Audio(xI);Is(()=>{r.play().catch(e=>console.log(`suppressed horn sound:`,e.message))});function i(e){Kk.selectedVesselContext=e,Rj.vesselProperties.visible=!0,o()}function a(){lj(),uN(),o()}function o(){Rj.alarms.visible=!1,fj.lastAlarmTime=performance.now()}My(e,{role:`alertdialog`,get open(){return Rj.alarms.visible},onOpenChange:e=>{Rj.alarms.visible=e.open,e.open||o()},children:(e,t)=>{fx(e,{children:(e,t)=>{var r=OI(),o=V(r);Qa(o,()=>My.Backdrop,(e,t)=>{t(e,{class:`fixed inset-0 z-50 bg-error-50-950/50`})}),Qa(H(o,2),()=>My.Positioner,(e,t)=>{t(e,{class:`fixed inset-0 z-50 flex justify-center items-center p-4`,children:(e,t)=>{var r=G();Qa(V(r),()=>My.Content,(e,t)=>{t(e,{class:`flex flex-col card preset-filled-error-500 w-md p-4 space-y-2 shadow-xl max-h-[90dvh]`,children:(e,t)=>{var r=DI(),o=V(r);Qa(o,()=>My.Title,(e,t)=>{t(e,{class:`text-xl font-semibold flex items-center gap-2`,children:(e,t)=>{var n=wI();NP(V(n),{}),P(),K(e,n)},$$slots:{default:!0}})});var s=H(o,2);Qa(s,()=>My.Description,(e,t)=>{t(e,{class:`flex-1 overflow-y-auto`,children:(e,t)=>{var r=G();za(V(r),17,()=>n,e=>e.context,(e,t)=>{var n=TI(),r=B(n);N(n),Vr((e,n,i)=>_a(r,`${e??``} -
              ${U(t).alarmType??``} -
              ${n??``}
              ${i??``}`),[()=>iA(U(t)),()=>nA(U(t).cpa,U(t).tcpa),()=>rA(U(t).tcpa)]),Qi(`click`,n,()=>i(U(t).context)),K(e,n)},e=>{K(e,EI())}),K(e,r)},$$slots:{default:!0}})});var c=H(s,2),l=B(c);Qa(l,()=>My.CloseTrigger,(e,t)=>{t(e,{class:`btn preset-tonal-error`,children:(e,t)=>{P(),K(e,pa(`Close`))},$$slots:{default:!0}})});var u=H(l,2);N(c),Qi(`click`,u,a),K(e,r)},$$slots:{default:!0}})}),K(e,r)},$$slots:{default:!0}})}),K(e,r)},$$slots:{default:!0}})},$$slots:{default:!0}}),R()}var wI,TI,EI,DI,OI,kI=o((()=>{Z(),X(),wD(),oA(),SI(),hj(),zj(),qk(),$P(),fN(),zs(),wI=W(`<!>Alarms`,1),TI=W(`<button class="w-full text-left hover:preset-tonal-error rounded px-2 py-1 uppercase"> </button>`),EI=W(`<p class="w-full text-left hover:preset-tonal-error rounded px-2 py-1">No current alarms.</p>`),DI=W(`<!> <!> <footer class="flex justify-end gap-2"><!> <button type="button" class="btn preset-tonal-error">Mute All</button></footer>`,1),OI=W(`<!> <!>`,1),$i([`click`])}));function AI(e,t){I(t,!1),bs(),My(e,{role:`alertdialog`,get open(){return jI().notification.visible},onOpenChange:e=>{jI(jI().notification.visible=e.open)},children:(e,t)=>{fx(e,{children:(e,t)=>{var n=NI(),r=V(n);My.Backdrop(r,{class:`fixed inset-0 z-50 bg-error-50-950/50`});var i=H(r,2);My.Positioner(i,{class:`fixed inset-0 z-50 flex justify-center items-center p-4`,children:(e,t)=>{My.Content(e,{class:`card preset-filled-error-500 w-md p-4 space-y-2 shadow-xl`,children:(e,t)=>{var n=NI(),r=V(n);My.Title(r,{class:`text-xl font-semibold flex items-center gap-2`,children:(e,t)=>{var n=MI(),r=V(n);vP(r,{});var i=H(r,1,!0);Vr(()=>_a(i,BN.title)),K(e,n)},$$slots:{default:!0}});var i=H(r,2);My.Description(i,{children:(e,t)=>{P();var n=pa();Vr(()=>_a(n,BN.message)),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}})},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}})},$$slots:{default:!0}}),R()}var jI,MI,NI,PI=o((()=>{Z(),eP(),X(),VN(),wD(),$P(),zj(),jI=Cs(()=>Rj),MI=W(`<!> `,1),NI=W(`<!> <!>`,1)})),FI=s(((e,t)=>{t.exports={webm:`data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK`,mp4:`data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw`}})),II=s(((e,t)=>{var{webm:n,mp4:r}=FI(),i=()=>typeof navigator<`u`&&parseFloat((``+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,``])[1]).replace(`undefined`,`3_2`).replace(`_`,`.`).replace(`_`,``))<10&&!window.MSStream,a=()=>`wakeLock`in navigator;t.exports=class{constructor(){if(this.enabled=!1,a()){this._wakeLock=null;let e=()=>{this._wakeLock!==null&&document.visibilityState===`visible`&&this.enable()};document.addEventListener(`visibilitychange`,e),document.addEventListener(`fullscreenchange`,e)}else i()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement(`video`),this.noSleepVideo.setAttribute(`title`,`No Sleep`),this.noSleepVideo.setAttribute(`playsinline`,``),this._addSourceToVideo(this.noSleepVideo,`webm`,n),this._addSourceToVideo(this.noSleepVideo,`mp4`,r),this.noSleepVideo.addEventListener(`loadedmetadata`,()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute(`loop`,``):this.noSleepVideo.addEventListener(`timeupdate`,()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(e,t,n){var r=document.createElement(`source`);r.src=n,r.type=`video/${t}`,e.appendChild(r)}get isEnabled(){return this.enabled}enable(){return a()?navigator.wakeLock.request(`screen`).then(e=>{this._wakeLock=e,this.enabled=!0,console.log(`Wake Lock active.`),this._wakeLock.addEventListener(`release`,()=>{console.log(`Wake Lock released.`)})}).catch(e=>{throw this.enabled=!1,console.error(`${e.name}, ${e.message}`),e}):i()?(this.disable(),console.warn(`
        NoSleep enabled for older iOS devices. This can interrupt
        active or long-running network requests from completing successfully.
        See https://github.com/richtr/NoSleep.js/issues/15 for more details.
      `),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split(`#`)[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(e=>(this.enabled=!0,e)).catch(e=>{throw this.enabled=!1,e})}disable(){a()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):i()?this.noSleepTimer&&=(console.warn(`
          NoSleep now disabled for older iOS devices.
        `),window.clearInterval(this.noSleepTimer),null):this.noSleepVideo.pause(),this.enabled=!1}}})),LI,RI,zI=o((()=>{X(),LI=u(II()),RI=new LI.default}));function BI(e,t){I(t,!1);let n=[{mode:`system`,icon:wP,label:`System`},{mode:`light`,icon:AP,label:`Light`},{mode:`dark`,icon:DP,label:`Dark`}];function r(e){VI(VI().themeMode=e)}bs();var i=UI(),a=H(B(i),2);za(a,5,()=>n,({mode:e,icon:t,label:n})=>e,(e,t)=>{let n=()=>U(t).mode,i=()=>U(t).icon,a=()=>U(t).label;var o=HI(),s=B(o);i()(s,{class:`size-4`}),N(o),Vr(()=>{No(o,1,`flex items-center justify-center rounded-full p-1.5 transition-colors
          ${VI().themeMode===n()?`bg-surface-50-950 shadow-sm text-primary-500`:`text-surface-400 hover:text-surface-600-400`}`),Wo(o,`aria-label`,a()),Wo(o,`title`,a())}),Qi(`click`,o,()=>r(n())),K(e,o)}),N(a),N(i),K(e,i),R()}var VI,HI,UI,WI=o((()=>{Z(),eP(),X(),$P(),zj(),VI=Cs(()=>Rj),HI=W(`<button type="button"><!></button>`),UI=W(`<div class="flex items-center justify-between gap-2 p-2"><span class="label-text text-sm">Theme</span> <div class="inline-flex rounded-full bg-surface-200-800 p-0.75 gap-0.5"></div></div>`),$i([`click`])}));function GI(e,t){I(t,!0);let n=$n(!1);Is(()=>{FN()});async function r(e){KN.current=e.currentTarget.value,console.log(KN.current);let t=await sN(KN);t.success||TD.error({title:`Error`,description:`Unable to save configuration data: ${t.reason}`,duration:1/0})}function i(){Rj.editProfiles.visible=!0,Rj.settings.visible=!1}function a(){lj(),uN(),Rj.settings.visible=!1}function o(e){Rj.noSleep=e.checked,e.checked?RI.enable():RI.disable()}function s(e){tr(n,e.checked,!0),U(n)?document.documentElement.requestFullscreen():document.exitFullscreen()}My(e,{get open(){return Rj.settings.visible},onOpenChange:e=>Rj.settings.visible=e.open,children:(e,t)=>{fx(e,{children:(e,t)=>{var c=XI(),l=V(c);Qa(l,()=>My.Backdrop,(e,t)=>{t(e,{class:`fixed inset-0 z-50 bg-black/50 transition transition-discrete transition transition-discrete opacity-0 starting:data-[state=open]:opacity-0 data-[state=open]:opacity-100`})}),Qa(H(l,2),()=>My.Positioner,(e,t)=>{t(e,{class:`fixed inset-0 z-50 flex justify-start`,children:(e,t)=>{var c=G();Qa(V(c),()=>My.Content,(e,t)=>{t(e,{class:`flex flex-col h-dvh card bg-surface-100-900 w-full sm:w-md gap-4 p-4 shadow-xl transition transition-discrete opacity-0 -translate-x-full starting:data-[state=open]:opacity-0 starting:data-[state=open]:-translate-x-full data-[state=open]:opacity-100 data-[state=open]:translate-x-0`,children:(e,t)=>{var c=$I(),l=V(c),u=B(l);Qa(u,()=>My.Title,(e,t)=>{t(e,{class:`text-lg font-bold`,children:(e,t)=>{P(),K(e,pa(`Settings`))},$$slots:{default:!0}})}),Qa(H(u,2),()=>My.CloseTrigger,(e,t)=>{t(e,{class:`btn-icon hover:preset-tonal`,children:(e,t)=>{HP(e,{class:`size-4`})},$$slots:{default:!0}})}),N(l),Qa(H(l,2),()=>My.Description,(e,t)=>{t(e,{class:`flex-1 overflow-y-auto flex flex-col gap-4`,children:(e,t)=>{var c=QI(),l=V(c),u=H(B(l),2),d=B(u);d.value=d.__value=`anchor`;var f=H(d);f.value=f.__value=`harbor`;var p=H(f);p.value=p.__value=`coastal`;var m=H(p);m.value=m.__value=`offshore`,N(u);var h;zo(u),N(l);var g=H(l,2),_=H(g,2),v=H(_,2);BI(v,{});var y=H(v,2);Dw(y,{class:`flex justify-between p-2`,onCheckedChange:o,get checked(){return Rj.noSleep},children:(e,t)=>{var n=KI(),r=V(n);Qa(r,()=>Dw.Label,(e,t)=>{t(e,{class:`text-sm`,children:(e,t)=>{P(),K(e,pa(`Prevent screen sleeping in iOS and Android`))},$$slots:{default:!0}})});var i=H(r,2);Qa(i,()=>Dw.HiddenInput,(e,t)=>{t(e,{})}),Qa(H(i,2),()=>Dw.Control,(e,t)=>{t(e,{children:(e,t)=>{var n=G();Qa(V(n),()=>Dw.Thumb,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}});var b=H(y,2);Dw(b,{class:`flex justify-between p-2`,onCheckedChange:s,get checked(){return U(n)},children:(e,t)=>{var n=KI(),r=V(n);Qa(r,()=>Dw.Label,(e,t)=>{t(e,{class:`text-sm`,children:(e,t)=>{P(),K(e,pa(`Fullscreen Mode`))},$$slots:{default:!0}})});var i=H(r,2);Qa(i,()=>Dw.HiddenInput,(e,t)=>{t(e,{})}),Qa(H(i,2),()=>Dw.Control,(e,t)=>{t(e,{children:(e,t)=>{var n=G();Qa(V(n),()=>Dw.Thumb,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}});var x=H(b,2),S=e=>{K(e,qI())},C=e=>{var t=JI(),n=H(B(t),2);N(t),Qi(`click`,n,function(...e){LN?.apply(this,e)}),K(e,t)},w=e=>{var t=ZI(),n=B(t),r=B(n);sx(H(B(r),2),{children:(e,t)=>{var n=XI(),r=V(n);Qa(r,()=>sx.Trigger,(e,t)=>{t(e,{children:(e,t)=>{xP(e,{class:`size-4 ml-1 stroke-primary-500`})},$$slots:{default:!0}})}),fx(H(r,2),{children:(e,t)=>{var n=G();Qa(V(n),()=>sx.Positioner,(e,t)=>{t(e,{class:`z-50!`,children:(e,t)=>{var n=G();Qa(V(n),()=>sx.Content,(e,t)=>{t(e,{class:`card sm:max-w-sm max-w-[90dvw] p-4 bg-surface-100-900 shadow-xl`,children:(e,t)=>{var n=XI(),r=V(n);Qa(r,()=>sx.Description,(e,t)=>{t(e,{children:(e,t)=>{P();var n=YI();P(2),K(e,n)},$$slots:{default:!0}})}),Qa(H(r,2),()=>sx.Arrow,(e,t)=>{t(e,{class:`[--arrow-size:--spacing(2)] [--arrow-background:var(--color-surface-100-900)]`,children:(e,t)=>{var n=G();Qa(V(n),()=>sx.ArrowTip,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}}),N(r),P(2),N(n);var i=H(n,2),a=B(i,!0);N(i),N(t),Vr(()=>{i.disabled=$.fontsDownloading,_a(a,$.fontsDownloading?`Downloading...`:`Download`)}),Qi(`click`,i,function(...e){IN?.apply(this,e)}),K(e,t)};J(x,e=>{$.protomapsFontsAvailable===void 0?e(S):$.protomapsFontsAvailable?e(C,1):e(w,-1)});var T=H(x,4),ee=B(T),E=B(ee);N(ee);var D=H(ee,2),O=B(D);N(D),N(T),Vr(e=>{h!==(h=KN.current)&&(u.value=(u.__value=KN.current)??``,Ro(u,KN.current)),_a(E,`AIS Target Prioritizer v0.4.16`),_a(O,`Updated ${QN.count??0??``} vessels in ${e??``} ms`)},[()=>Math.round(QN.time??0)]),Qi(`change`,u,r),Qi(`click`,g,i),Qi(`click`,_,a),K(e,c)},$$slots:{default:!0}})}),K(e,c)},$$slots:{default:!0}})}),K(e,c)},$$slots:{default:!0}})}),K(e,c)},$$slots:{default:!0}})},$$slots:{default:!0}}),R()}var KI,qI,JI,YI,XI,ZI,QI,$I,eL=o((()=>{Z(),X(),$P(),wD(),Ij(),hj(),zj(),zI(),fN(),qN(),zs(),RN(),WI(),$N(),ED(),KI=W(`<!> <!> <!>`,1),qI=W(`<div class="flex items-center gap-2 p-2"><span class="text-sm">Checking map labels...</span></div>`),JI=W(`<div class="flex justify-between items-center p-2"><span class="text-sm">Map Labels Installed</span> <button type="button" class="btn btn-sm preset-outlined-error-500">Remove</button></div>`),YI=W(`If using <a href="https://protomaps.com/" target="_blank" class="anchor">Protomaps</a> pmtiles offline maps, you can add map labels and symbols
                            by downloading this font pack. This has no effect on any
                            other map types.`,1),XI=W(`<!> <!>`,1),ZI=W(`<div class="flex justify-between items-center p-2"><div class="flex flex-col"><div class="flex align-middle"><span class="text-sm">Map Labels</span> <!></div> <span class="text-xs text-surface-400-600">~28MB download</span></div> <button type="button" class="btn btn-sm preset-filled-primary-500"> </button></div>`),QI=W(`<label class="label"><span class="label-text">Active Profile</span> <select class="select"><option>Anchored</option><option>Harbor</option><option>Coastal</option><option>Offshore</option></select></label> <button type="button" class="btn preset-filled-primary-500">Edit Profiles</button> <button type="button" class="btn preset-filled-error-500">Mute All Alarms</button> <!> <!> <!> <!> <div class="grow"></div> <div class="text-sm text-surface-400-600"><p> </p> <p> </p></div>`,1),$I=W(`<header class="flex justify-between items-center"><!> <!></header> <!>`,1),$i([`change`,`click`])}));function tL(e){return[aL.indexOf(e)]}function nL(e){return aL[e]}function rL(e){return[oL.indexOf(e)]}function iL(e){return oL[e]}var aL,oL,sL=o((()=>{aL=[0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1,2,3,4,5,6,7,8,9,10],oL=[1,2,3,4,5,10,15,20,30,40,50,60]}));function cL(e,t){I(t,!0);var n=uL(),r=V(n);{let e=(e,t=A)=>{P();var n=pa();Vr(()=>_a(n,t()===0?`OFF`:`${t()} NM`)),K(e,n)};var i=B(r);{let e=z(()=>tL(KN[KN.current][t.alarmState].cpa));DC(i,{class:`mb-2`,min:0,max:19,step:1,get value(){return U(e)},onValueChange:e=>{KN[KN.current][t.alarmState].cpa=nL(e.value[0])??0},children:(e,t)=>{var n=lL(),r=V(n);Qa(r,()=>DC.Label,(e,t)=>{t(e,{children:(e,t)=>{P(),K(e,pa(`CPA Less Than`))},$$slots:{default:!0}})}),Qa(H(r,2),()=>DC.Control,(e,t)=>{t(e,{children:(e,t)=>{var n=lL(),r=V(n);Qa(r,()=>DC.Track,(e,t)=>{t(e,{children:(e,t)=>{var n=G();Qa(V(n),()=>DC.Range,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),Qa(H(r,2),()=>DC.Thumb,(e,t)=>{t(e,{index:0,children:(e,t)=>{var n=G();Qa(V(n),()=>DC.HiddenInput,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}var a=H(i,2);e(B(a),()=>KN[KN.current][t.alarmState].cpa),N(a),N(r)}var o=H(r,2),s=B(o);{let e=z(()=>rL(KN[KN.current][t.alarmState].tcpa));DC(s,{class:`mb-2`,min:0,max:11,step:1,get value(){return U(e)},onValueChange:e=>{KN[KN.current][t.alarmState].tcpa=iL(e.value[0])??0},children:(e,t)=>{var n=lL(),r=V(n);Qa(r,()=>DC.Label,(e,t)=>{t(e,{children:(e,t)=>{P(),K(e,pa(`TCPA Less Than`))},$$slots:{default:!0}})}),Qa(H(r,2),()=>DC.Control,(e,t)=>{t(e,{children:(e,t)=>{var n=lL(),r=V(n);Qa(r,()=>DC.Track,(e,t)=>{t(e,{children:(e,t)=>{var n=G();Qa(V(n),()=>DC.Range,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),Qa(H(r,2),()=>DC.Thumb,(e,t)=>{t(e,{index:0,children:(e,t)=>{var n=G();Qa(V(n),()=>DC.HiddenInput,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}var c=H(s,2),l=B(c);N(c),N(o);var u=H(o,2),d=B(u);{let e=z(()=>tL(KN[KN.current][t.alarmState].speed));DC(d,{class:`mb-2`,defaultValue:[50],min:0,max:19,step:1,get value(){return U(e)},onValueChange:e=>{KN[KN.current][t.alarmState].speed=nL(e.value[0])??0},children:(e,t)=>{var n=lL(),r=V(n);Qa(r,()=>DC.Label,(e,t)=>{t(e,{children:(e,t)=>{P(),K(e,pa(`Speed Exceeds`))},$$slots:{default:!0}})}),Qa(H(r,2),()=>DC.Control,(e,t)=>{t(e,{children:(e,t)=>{var n=lL(),r=V(n);Qa(r,()=>DC.Track,(e,t)=>{t(e,{children:(e,t)=>{var n=G();Qa(V(n),()=>DC.Range,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),Qa(H(r,2),()=>DC.Thumb,(e,t)=>{t(e,{index:0,children:(e,t)=>{var n=G();Qa(V(n),()=>DC.HiddenInput,(e,t)=>{t(e,{})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}),K(e,n)},$$slots:{default:!0}})}var f=H(d,2),p=B(f);N(f),N(u),Vr(()=>{_a(l,`${KN[KN.current][t.alarmState].tcpa??``} Min`),_a(p,`${KN[KN.current][t.alarmState].speed??``} kn`)}),K(e,n),R()}var lL,uL,dL=o((()=>{Z(),X(),wD(),qN(),sL(),lL=W(`<!> <!>`,1),uL=W(`<div class="flex items-end gap-1"><!> <span class="w-18 text-right"><!></span></div> <div class="flex items-end gap-1"><!> <span class="w-18 text-right"> </span></div> <div class="flex items-end gap-1"><!> <span class="w-18 text-right"> </span></div>`,1)}));function fL(e,t){I(t,!1),console.log(`ENTER EditGuardAlarm`),bs();var n=hL(),r=V(n);{let e=(e,t=A)=>{P();var n=pa();Vr(()=>_a(n,t()===0?`OFF`:`${t()} NM`)),K(e,n)};var i=B(r);{let e=xn(()=>tL(pL()[pL().current].guard.range));DC(i,{class:`mb-2`,min:0,max:19,step:1,get value(){return U(e)},onValueChange:e=>{pL(pL()[pL().current].guard.range=nL(e.value[0])??0)},children:(e,t)=>{var n=mL(),r=V(n);DC.Label(r,{children:(e,t)=>{P(),K(e,pa(`Range Within`))},$$slots:{default:!0}});var i=H(r,2);DC.Control(i,{children:(e,t)=>{var n=mL(),r=V(n);DC.Track(r,{children:(e,t)=>{DC.Range(e,{})},$$slots:{default:!0}});var i=H(r,2);DC.Thumb(i,{index:0,children:(e,t)=>{DC.HiddenInput(e,{})},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}})}var a=H(i,2);e(B(a),()=>pL()[pL().current].guard.range),N(a),N(r)}var o=H(r,2),s=B(o);{let e=xn(()=>tL(pL()[pL().current].guard.speed));DC(s,{class:`mb-2`,min:0,max:19,step:1,get value(){return U(e)},onValueChange:e=>{pL(pL()[pL().current].guard.speed=nL(e.value[0])??0)},children:(e,t)=>{var n=mL(),r=V(n);DC.Label(r,{children:(e,t)=>{P(),K(e,pa(`Speed Exceeds`))},$$slots:{default:!0}});var i=H(r,2);DC.Control(i,{children:(e,t)=>{var n=mL(),r=V(n);DC.Track(r,{children:(e,t)=>{DC.Range(e,{})},$$slots:{default:!0}});var i=H(r,2);DC.Thumb(i,{index:0,children:(e,t)=>{DC.HiddenInput(e,{})},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}})}var c=H(s,2),l=B(c);N(c),N(o),Vr(()=>_a(l,`${pL()[pL().current].guard.speed??``} kn`)),K(e,n),R()}var pL,mL,hL,gL=o((()=>{Z(),eP(),X(),wD(),qN(),sL(),pL=Cs(()=>KN),mL=W(`<!> <!>`,1),hL=W(`<div class="flex items-end gap-1"><!> <span class="w-18 text-right"><!></span></div> <div class="flex items-end gap-1"><!> <span class="w-18 text-right"> </span></div>`,1)}));function _L(e,t){I(t,!1),console.log(`ENTER EditProfiles`);function n(e){yL(yL().current=e.currentTarget.value),console.log(yL().current)}function r(){UN()}bs(),My(e,{get open(){return vL().editProfiles.visible},onOpenChange:async e=>{if(vL(vL().editProfiles.visible=e.open),!e.open){TD.success({title:`Saving configuration...`,description:null,duration:5e3});let e=await sN(yL());e.success||TD.error({title:`Error`,description:`Unable to save configuration data: ${e.reason}`,duration:1/0})}},children:(e,t)=>{fx(e,{children:(e,t)=>{var i=TL(),a=V(i);My.Backdrop(a,{class:`fixed inset-0 z-50 bg-black/50 transition transition-discrete transition transition-discrete opacity-0 starting:data-[state=open]:opacity-0 data-[state=open]:opacity-100`});var o=H(a,2);My.Positioner(o,{class:`fixed inset-0 z-50 flex justify-start`,children:(e,t)=>{My.Content(e,{class:`flex flex-col h-dvh card bg-surface-100-900 w-full md:w-xl gap-4 p-4 shadow-xl transition transition-discrete opacity-0 -translate-x-full starting:data-[state=open]:opacity-0 starting:data-[state=open]:-translate-x-full data-[state=open]:opacity-100 data-[state=open]:translate-x-0`,children:(e,t)=>{var i=wL(),a=V(i),o=B(a);My.Title(o,{class:`text-lg font-bold`,children:(e,t)=>{P(),K(e,pa(`Edit Profiles`))},$$slots:{default:!0}});var s=H(o,2);My.CloseTrigger(s,{class:`btn-icon hover:preset-tonal`,children:(e,t)=>{HP(e,{class:`size-4`})},$$slots:{default:!0}}),N(a);var c=H(a,2),l=B(c),u=B(l),d=H(B(u),2),f=B(d);f.value=f.__value=`anchor`;var p=H(f);p.value=p.__value=`harbor`;var m=H(p);m.value=m.__value=`coastal`;var h=H(m);h.value=h.__value=`offshore`,N(d);var g;zo(d),N(u);var _=H(u,2);N(l),BT(H(l,2),{defaultValue:`collisionWarning`,class:`px-4 py-2`,children:(e,t)=>{var n=bL(),r=V(n);BT.List(r,{class:`flex`,children:(e,t)=>{var n=bL(),r=V(n);BT.Trigger(r,{class:`flex-1 whitespace-normal text-wrap`,value:`collisionWarning`,children:(e,t)=>{P(),K(e,pa(`Collision Warning`))},$$slots:{default:!0}});var i=H(r,2);BT.Trigger(i,{class:`flex-1 whitespace-normal text-wrap`,value:`collisionAlarm`,children:(e,t)=>{P(),K(e,pa(`Collision Alarm`))},$$slots:{default:!0}});var a=H(i,2);BT.Trigger(a,{class:`flex-1 whitespace-normal text-wrap`,value:`guardAlarm`,children:(e,t)=>{P(),K(e,pa(`Guard Alarm`))},$$slots:{default:!0}});var o=H(a,2);BT.Indicator(o,{}),K(e,n)},$$slots:{default:!0}});var i=H(r,2);BT.Content(i,{value:`collisionWarning`,class:`flex flex-col gap-4`,children:(e,t)=>{var n=xL();cL(H(V(n),2),{alarmState:`warning`}),K(e,n)},$$slots:{default:!0}});var a=H(i,2);BT.Content(a,{value:`collisionAlarm`,class:`flex flex-col gap-4`,children:(e,t)=>{var n=SL();cL(H(V(n),2),{alarmState:`danger`}),K(e,n)},$$slots:{default:!0}});var o=H(a,2);BT.Content(o,{value:`guardAlarm`,class:`flex flex-col gap-4`,children:(e,t)=>{var n=CL();fL(H(V(n),2),{}),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}}),N(c),Vr(()=>{g!==(g=yL().current)&&(d.value=(d.__value=yL().current)??``,Ro(d,yL().current))}),Qi(`change`,d,n),Qi(`click`,_,r),K(e,i)},$$slots:{default:!0}})},$$slots:{default:!0}}),K(e,i)},$$slots:{default:!0}})},$$slots:{default:!0}}),R()}var vL,yL,bL,xL,SL,CL,wL,TL,EL=o((()=>{Z(),eP(),X(),$P(),wD(),zj(),qN(),dL(),gL(),fN(),ED(),vL=Cs(()=>Rj),yL=Cs(()=>KN),bL=W(`<!> <!> <!> <!>`,1),xL=W(`<p>Targets that meet all three of the conditions below will be set
                to a warning state and shown in <span class="text-warning-700 font-bold">orange</span> in the plotter.</p> <!>`,1),SL=W(`<p>Targets that meet all three of the conditions below will be set
                to a danger state and shown in <span class="text-error-600 font-bold">red</span> in the plotter.</p> <!>`,1),CL=W(`<p>Targets that meet both of the conditions below will be set to a
                danger state and shown in <span class="text-error-600 font-bold">red</span> in the plotter.</p> <!>`,1),wL=W(`<header class="flex justify-between items-center"><!> <!></header> <div class="flex-1 overflow-y-scroll card w-full h-full preset-outlined-surface-500 border border-surface-200-800 divide-surface-200-800 block divide-y"><div class="flex items-end gap-4 p-4"><label class="label basis-1/2"><span class="label-text">Active Profile</span> <select class="select"><option>Anchored</option><option>Harbor</option><option>Coastal</option><option>Offshore</option></select></label> <button type="button" class="btn preset-filled-warning-500 basis-1/2">Restore Defaults</button></div> <!></div>`,1),TL=W(`<!> <!>`,1),$i([`change`,`click`])}));function DL(e,t){I(t,!0);let n=$n(!1),r=5e3,i=z(()=>Kk.myVesselContext?Gk[Kk.myVesselContext]:void 0),a=ur({checkAuth:{label:`Authenticating`,status:`pending`,fn:u},connectToSignalK:{label:`Connecting to Signal K`,status:`pending`,fn:s},waitForMyVesselPosition:{label:`Checking my vessel position`,status:`pending`,fn:c},backfillMutedVessels:{label:`Checking for existing muted vessels`,status:`pending`,fn:l},checkConnectivity:{label:`Checking internet connectivity`,status:`pending`,fn:rF},initCollisionProfiles:{label:`Loading collision profiles`,status:`pending`,fn:d},initBasemaps:{label:`Loading basemaps`,status:`pending`,fn:pN},checkFontsAvailable:{label:`Checking for map fonts`,status:`pending`,fn:FN}}),o=z(()=>Object.values(a).some(e=>e.status===`error`));async function s(){let e=Date.now();for(KA(window.location.protocol,window.location.host);![`done`,`error`].includes(a.backfillMutedVessels.status)||![`done`,`error`].includes(a.waitForMyVesselPosition.status);){if(JA(),Date.now()-e>r)throw Error(`No data received for my vessel`);await new Promise(e=>setTimeout(e,100))}}async function c(){let e=Date.now();for(;!U(i)||!U(i).latitude||!U(i).longitude;){if(Date.now()-e>r)throw Error(`No data received for my vessel`);await new Promise(e=>setTimeout(e,100))}}async function l(){let e=Date.now(),t=await lN();for(;t.length>0;){if(t=t.filter(e=>Gk[e.context]?(cj(e.context),!1):!0),Date.now()-e>r)throw console.error(`Unable to backfill all previously  muted vessels`,t),Error(`Unable to backfill all previously  muted vessels`);await new Promise(e=>setTimeout(e,100))}}async function u(){let e=await XM.get(`/skServer/loginStatus`,{credentials:`include`}).json();if(e.status!==`loggedIn`)throw tr(n,!0),console.error(`notlogged in`,{loginStatus:e}),Error(`Not logged in`)}async function d(){console.log(`>>> ENTER initCollisionProfiles`);try{let e=await oN();if(nN(e))HN(e);else if(console.warn(`WARNING: invalid configuration. Using defaults.`),UN(),!(await sN(KN)).success)throw Error(`Unable to save default collision profile`)}catch(e){throw console.error(`saveCollisionProfiles failed:`,e),e}console.log(`>>> EXIT initCollisionProfiles`)}async function f(e){e.status=`loading`;try{await e.fn(),e.status=`done`}catch(t){throw e.status=`error`,console.error(t),t}}Is(()=>(console.log(`>>> ONMOUNT app`),window.onerror=(e,t,n,r,i)=>{console.error(`Global error:`,{message:e,source:t,line:n,col:r,error:i}),TD.error({title:`Unexpected Error`,description:String(e),duration:1/0})},window.addEventListener(`unhandledrejection`,m),Promise.allSettled(Object.values(a).map(e=>f(e))).then(()=>{U(o)||p()}),console.log(`>>> ONMOUNT app exit`),()=>{console.log(`EXIT App`),qA(),window.onerror=null,window.removeEventListener(`unhandledrejection`,m)}));function p(){$.basemapId in bN||($.basemapId=vN),Rj.app.visible=!0,setTimeout(()=>Rj.loading.visible=!1,750)}let m=e=>{console.error(`Unhandled rejection:`,e.reason),TD.error({title:`Unexpected Error`,description:String(e.reason),duration:1/0})};Pr(()=>{console.log(`EFFECT themeMode changed - saving`,Rj.themeMode),Rj.darkMode=Lj(Rj.themeMode),localStorage.setItem(`theme`,Rj.themeMode),document.documentElement.classList.toggle(`dark`,Rj.darkMode)}),Pr(()=>{if(console.log(`EFFECT themeMode changed - setting up event listener`,Rj.themeMode),Rj.themeMode!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>{Rj.darkMode=e.matches,document.documentElement.classList.toggle(`dark`,Rj.darkMode)};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}),Pr(()=>{console.log(`EFFECT basemap changed`,$.basemapId),localStorage.setItem(`basemap`,$.basemapId)}),Pr(()=>{console.log(`EFFECT openseamap changed`,$.openSeaMap),localStorage.setItem(`openseamap`,String($.openSeaMap))});var h=RL(),g=V(h);{let e=(e,t=A)=>{_D(e,{get toast(){return t()},children:(e,n)=>{var r=kL(),i=V(r);Qa(i,()=>_D.Message,(e,n)=>{n(e,{children:(e,n)=>{var r=kL(),i=V(r);Qa(i,()=>_D.Title,(e,n)=>{n(e,{children:(e,n)=>{var r=OL(),i=B(r),a=e=>{xP(e,{class:`size-4`})},o=e=>{NP(e,{class:`size-4`})},s=e=>{vP(e,{class:`size-4`})},c=e=>{hP(e,{class:`size-4`})};J(i,e=>{t().type===`info`||t().type===`loading`?e(a):t().type===`warning`?e(o,1):t().type===`error`?e(s,2):t().type===`success`&&e(c,3)});var l=H(i);N(r),Vr(()=>_a(l,` ${t().title??``}`)),K(e,r)},$$slots:{default:!0}})}),Qa(H(i,2),()=>_D.Description,(e,n)=>{n(e,{children:(e,n)=>{P();var r=pa();Vr(()=>_a(r,t().description)),K(e,r)},$$slots:{default:!0}})}),K(e,r)},$$slots:{default:!0}})}),Qa(H(i,2),()=>_D.CloseTrigger,(e,t)=>{t(e,{})}),K(e,r)},$$slots:{default:!0}})};Qa(g,()=>_D.Group,(t,n)=>{n(t,{get toaster(){return TD},children:e,$$slots:{default:!0}})})}var _=H(g,2),v=e=>{var t=IL(),r=B(t),i=H(B(r),4);za(i,21,()=>Object.values(a),e=>e.label,(e,t)=>{var n=ML(),r=B(n),i=e=>{K(e,AL())},a=e=>{K(e,jL())},o=e=>{hP(e,{class:`size-4 text-success-500`})},s=e=>{vP(e,{class:`size-4 text-error-500`})};J(r,e=>{U(t).status===`pending`?e(i):U(t).status===`loading`?e(a,1):U(t).status===`done`?e(o,2):U(t).status===`error`&&e(s,3)});var c=H(r,2),l=B(c,!0);N(c),N(n),Vr(()=>_a(l,U(t).label)),K(e,n)}),N(i);var s=H(i,2),c=e=>{var t=FL(),r=B(t),i=e=>{var t=NL();P(2),K(e,t)},a=e=>{var t=PL();Qi(`click`,H(V(t),2),p),K(e,t)};J(r,e=>{U(n)?e(i):e(a,-1)}),N(t),K(e,t)};J(s,e=>{U(o)&&e(c)}),N(r),N(t),uo(2,t,()=>DD,()=>({duration:750})),K(e,t)};J(_,e=>{Rj.loading.visible&&e(v)});var y=H(_,2),b=e=>{var t=LL(),n=B(t);DF(B(n),{}),N(n);var r=H(n,2);jF(B(r),{}),N(r);var i=H(r,2),a=e=>{gI(e,{})};J(i,e=>{Rj.vesselTable.visible&&e(a)});var o=H(i,2),s=e=>{HF(e,{})};J(o,e=>{Rj.vesselProperties.visible&&e(s)});var c=H(o,2),l=e=>{GI(e,{})};J(c,e=>{Rj.settings.visible&&e(l)});var u=H(c,2),d=e=>{_L(e,{})};J(u,e=>{Rj.editProfiles.visible&&e(d)});var f=H(u,2),p=e=>{CI(e,{})};J(f,e=>{Rj.alarms.visible&&e(p)});var m=H(f,2),h=e=>{AI(e,{})};J(m,e=>{Rj.notification.visible&&e(h)}),N(t),uo(1,t,()=>DD,()=>({duration:750})),K(e,t)};J(y,e=>{Rj.app.visible&&e(b)}),hs(`visibilityState`,`visibilitychange`,wr,e=>Rj.documentVisibilityState=e),_s(`innerWidth`,e=>Rj.width=e),K(e,h),R()}var OL,kL,AL,jL,ML,NL,PL,FL,IL,LL,RL,zL=o((()=>{Z(),X(),zs(),ED(),wD(),kD(),AF(),NF(),rI(),bI(),kI(),PI(),eL(),EL(),oj(),zj(),RN(),cF(),$P(),xN(),ZM(),qk(),fN(),hj(),aN(),qN(),OL=W(`<div class="flex items-center gap-2"><!> </div>`),kL=W(`<!> <!>`,1),AL=W(`<div class="size-4 rounded-full border-2 border-surface-300"></div>`),jL=W(`<div class="size-4 animate-spin rounded-full border-2 border-primary-500 border-t-transparent"></div>`),ML=W(`<div class="flex items-center gap-3"><!> <span class="text-sm"> </span></div>`),NL=W(`<p class="text-sm text-surface-400 text-center max-w-xs">Authentication required to use this app.</p> <a href="/admin/#/login" class="btn preset-filled-primary-500">Log In to Signal K</a>`,1),PL=W(`<p class="text-sm text-warning-500 text-center max-w-xs">Some initialization steps failed. The app may not function
              correctly.</p> <button class="btn preset-filled-warning-500">Continue Anyway</button>`,1),FL=W(`<div class="flex flex-col items-center gap-3"><!></div>`),IL=W(`<div class="bg-white dark:bg-gray-900 p-8 pt-7 fixed inset-0 z-50 flex flex-col items-center justify-center"><div class="flex flex-col items-center bg-white dark:bg-gray-800 rounded-lg w-full sm:w-sm max-h-[90dvh] overflow-y-auto gap-6 px-6 py-8 ring shadow-xl ring-gray-900/5"><div><img class="size-30 overflow-hidden rounded-2xl" src="assets/icon-120.png" alt="icon"/></div> <div class="text-2xl font-bold">Loading...</div> <div class="flex flex-col gap-2"></div> <!></div></div>`),LL=W(`<div class="relative h-dvh w-screen overflow-hidden"><div class="absolute inset-0 z-0"><!></div> <div class="pointer-events-none absolute top-0 right-0 z-10"><!></div> <!> <!> <!> <!> <!> <!></div>`),RL=W(`<!> <!> <!>`,1),$i([`click`])})),BL=o((()=>{}));s((()=>{zs(),zL(),BL(),va(DL,{target:document.getElementById(`app`)})}))();