!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(n.L={})}(this,function(n){"use strict";function s(n){for(var i,u,t=1,r=arguments.length;t<r;t++)for(i in u=arguments[t])n[i]=u[i];return n}function hs(){}function c(n,t){var i=Array.prototype.slice,r;return n.bind?n.bind.apply(n,i.call(arguments,1)):(r=i.call(arguments,2),function(){return n.apply(t,r.length?r.concat(i.call(arguments)):arguments)})}function o(n){return n._leaflet_id=n._leaflet_id||++vf,n._leaflet_id}function yf(n,t,i){var u,r,f,e;return e=function(){u=!1;r&&(f.apply(i,r),r=!1)},f=function(){u?r=arguments:(n.apply(i,arguments),setTimeout(e,t),u=!0)}}function lr(n,t,i){var f=t[1],r=t[0],u=f-r;return n===f&&i?n:((n-r)%u+u)%u+r}function d(){return!1}function yt(n,t){return t=void 0===t?6:t,+(Math.round(n+"e+"+t)+"e-"+t)}function pf(n){return n.trim?n.trim():n.replace(/^\s+|\s+$/g,"")}function pi(n){return pf(n).split(/\s+/)}function l(n,t){for(var i in n.hasOwnProperty("options")||(n.options=n.options?cr(n.options):{}),t)n.options[i]=t[i];return n.options}function cs(n,t,i){var u=[];for(var r in n)u.push(encodeURIComponent(i?r.toUpperCase():r)+"="+encodeURIComponent(n[r]));return(t&&-1!==t.indexOf("?")?"&":"?")+u.join("&")}function as(n,t){return n.replace(ls,function(n,i){var r=t[i];if(void 0===r)throw new Error("No value provided for variable "+n);return"function"==typeof r&&(r=r(t)),r})}function vs(n,t){for(var i=0;i<n.length;i++)if(n[i]===t)return i;return-1}function wf(n){return window["webkit"+n]||window["moz"+n]||window["ms"+n]}function ys(n){var t=+new Date,i=Math.max(0,16-(t-bf));return bf=t+i,window.setTimeout(n,i)}function g(n,t,i){if(!i||su!==ys)return su.call(window,c(n,t));n.call(t)}function nt(n){n&&kf.call(window,n)}function dt(){}function t(n,t,i){this.x=i?Math.round(n):n;this.y=i?Math.round(t):t}function r(n,i,r){return n instanceof t?n:ht(n)?new t(n[0],n[1]):null==n?n:"object"==typeof n&&"x"in n&&"y"in n?new t(n.x,n.y):new t(n,i,r)}function a(n,t){if(n)for(var r=t?[n,t]:n,i=0,u=r.length;i<u;i++)this.extend(r[i])}function ct(n,t){return!n||n instanceof a?n:new a(n,t)}function it(n,t){if(n)for(var r=t?[n,t]:n,i=0,u=r.length;i<u;i++)this.extend(r[i])}function k(n,t){return n instanceof it?n:new it(n,t)}function h(n,t,i){if(isNaN(n)||isNaN(t))throw new Error("Invalid LatLng object: ("+n+", "+t+")");this.lat=+n;this.lng=+t;void 0!==i&&(this.alt=+i)}function y(n,t,i){return n instanceof h?n:ht(n)&&"object"!=typeof n[0]?3===n.length?new h(n[0],n[1],n[2]):2===n.length?new h(n[0],n[1]):null:null==n?n:"object"==typeof n&&"lat"in n?new h(n.lat,"lng"in n?n.lng:n.lon,n.alt):void 0===t?null:new h(n,t,i)}function ne(n,t,i,r){if(ht(n))return this._a=n[0],this._b=n[1],this._c=n[2],void(this._d=n[3]);this._a=n;this._b=t;this._c=i;this._d=r}function yr(n,t,i,r){return new ne(n,t,i,r)}function ks(n){return document.createElementNS("http://www.w3.org/2000/svg",n)}function ds(n,t){for(var i,e,o,s,u="",r=0,f=n.length;r<f;r++){for(i=0,e=(o=n[r]).length;i<e;i++)u+=(i?"L":"M")+(s=o[i]).x+" "+s.y;u+=t?lu?"z":"x":""}return u||"M0 0"}function wt(n){return 0<=navigator.userAgent.toLowerCase().indexOf(n)}function gc(n,t,i,r){return"touchstart"===t?function(n,t,i){var r=c(function(n){if("mouse"!==n.pointerType&&n.MSPOINTER_TYPE_MOUSE&&n.pointerType!==n.MSPOINTER_TYPE_MOUSE){if(!(dc.indexOf(n.target.tagName)<0))return;et(n)}ve(n,t)});n["_leaflet_touchstart"+i]=r;n.addEventListener(se,r,!1);oh||(document.documentElement.addEventListener(se,nl,!0),document.documentElement.addEventListener(he,tl,!0),document.documentElement.addEventListener(ce,sh,!0),document.documentElement.addEventListener(le,sh,!0),oh=!0)}(n,i,r):"touchmove"===t?function(n,t,i){var r=function(n){(n.pointerType!==n.MSPOINTER_TYPE_MOUSE&&"mouse"!==n.pointerType||0!==n.buttons)&&ve(n,t)};n["_leaflet_touchmove"+i]=r;n.addEventListener(he,r,!1)}(n,i,r):"touchend"===t&&function(n,t,i){var r=function(n){ve(n,t)};n["_leaflet_touchend"+i]=r;n.addEventListener(ce,r,!1);n.addEventListener(le,r,!1)}(n,i,r),this}function nl(n){gi[n.pointerId]=n;ae++}function tl(n){gi[n.pointerId]&&(gi[n.pointerId]=n)}function sh(n){delete gi[n.pointerId];ae--}function ve(n,t){for(var i in n.touches=[],gi)n.touches.push(gi[i]);n.changedTouches=[n];t(n)}function il(n,t,i){function e(n){var i,t,e;if(lt){if(!pr||"mouse"===n.pointerType)return;i=ae}else i=n.touches.length;1<i||(t=Date.now(),e=t-(u||t),r=n.touches?n.touches[0]:n,f=0<e&&e<=250,u=t)}function o(n){if(f&&!r.cancelBubble){if(lt){if(!pr||"mouse"===n.pointerType)return;var i,e,o={};for(e in r)i=r[e],o[e]=i&&i.bind?i.bind(r):i;r=o}r.type="dblclick";r.button=0;t(r);u=null}}var u,r,f=!1;return n[nr+vu+i]=e,n[nr+yu+i]=o,n[nr+"dblclick"+i]=t,n.addEventListener(vu,e,!1),n.addEventListener(yu,o,!1),n.addEventListener("dblclick",t,!1),this}function rl(n,t){var i=n[nr+vu+t],r=n[nr+yu+t],u=n[nr+"dblclick"+t];return n.removeEventListener(vu,i,!1),n.removeEventListener(yu,r,!1),pr||n.removeEventListener("dblclick",u,!1),this}function ch(n){return"string"==typeof n?document.getElementById(n):n}function nu(n,t){var i=n.style[t]||n.currentStyle&&n.currentStyle[t],r;return(!i||"auto"===i)&&document.defaultView&&(r=document.defaultView.getComputedStyle(n,null),i=r?r[t]:null),"auto"===i?null:i}function e(n,t,i){var r=document.createElement(n);return r.className=t||"",i&&i.appendChild(r),r}function v(n){var t=n.parentNode;t&&t.removeChild(n)}function wu(n){for(;n.firstChild;)n.removeChild(n.firstChild)}function tr(n){var t=n.parentNode;t&&t.lastChild!==n&&t.appendChild(n)}function ir(n){var t=n.parentNode;t&&t.firstChild!==n&&t.insertBefore(n,t.firstChild)}function be(n,t){if(void 0!==n.classList)return n.classList.contains(t);var i=bu(n);return 0<i.length&&new RegExp("(^|\\s)"+t+"(\\s|$)").test(i)}function i(n,t){var r;if(void 0!==n.classList)for(var u=pi(t),i=0,f=u.length;i<f;i++)n.classList.add(u[i]);else be(n,t)||(r=bu(n),ke(n,(r?r+" ":"")+t))}function p(n,t){void 0!==n.classList?n.classList.remove(t):ke(n,pf((" "+bu(n)+" ").replace(" "+t+" "," ")))}function ke(n,t){void 0===n.className.baseVal?n.className=t:n.className.baseVal=t}function bu(n){return n.correspondingElement&&(n=n.correspondingElement),void 0===n.className.baseVal?n.className:n.className.baseVal}function ut(n,t){"opacity"in n.style?n.style.opacity=t:"filter"in n.style&&function(n,t){var i=!1,r="DXImageTransform.Microsoft.Alpha";try{i=n.filters.item(r)}catch(n){if(1===t)return}t=Math.round(100*t);i?(i.Enabled=100!==t,i.Opacity=t):n.style.filter+=" progid:"+r+"(opacity="+t+")"}(n,t)}function ku(n){for(var i=document.documentElement.style,t=0;t<n.length;t++)if(n[t]in i)return n[t];return!1}function si(n,i,r){var u=i||new t(0,0);n.style[we]=(ee?"translate("+u.x+"px,"+u.y+"px)":"translate3d("+u.x+"px,"+u.y+"px,0)")+(r?" scale("+r+")":"")}function b(n,t){n._leaflet_pos=t;rt?si(n,t):(n.style.left=t.x+"px",n.style.top=t.y+"px")}function ei(n){return n._leaflet_pos||new t(0,0)}function de(){u(window,"dragstart",et)}function ge(){w(window,"dragstart",et)}function no(n){for(;-1===n.tabIndex;)n=n.parentNode;n.style&&(du(),pe=(pu=n).style.outline,n.style.outline="none",u(window,"keydown",du))}function du(){pu&&(pu.style.outline=pe,pe=pu=void 0,w(window,"keydown",du))}function lh(n){for(;!((n=n.parentNode).offsetWidth&&n.offsetHeight||n===document.body););return n}function to(n){var t=n.getBoundingClientRect();return{x:t.width/n.offsetWidth||1,y:t.height/n.offsetHeight||1,boundingClientRect:t}}function u(n,t,i,r){var f,u,e;if("object"==typeof t)for(f in t)gu(n,f,t[f],i);else for(u=0,e=(t=pi(t)).length;u<e;u++)gu(n,t[u],i,r);return this}function w(n,t,i,r){var f,u,o,e;if("object"==typeof t)for(f in t)io(n,f,t[f],i);else if(t)for(u=0,o=(t=pi(t)).length;u<o;u++)io(n,t[u],i,r);else{for(e in n[ft])io(n,e,n[ft][e]);delete n[ft]}return this}function gu(n,t,i,r){var f=t+o(i)+(r?"_"+o(r):""),u,e;if(n[ft]&&n[ft][f])return this;u=function(t){return i.call(r||n,t||window.event)};e=u;lt&&0===t.indexOf("touch")?gc(n,t,u,f):!pt||"dblclick"!==t||lt&&br?"addEventListener"in n?"mousewheel"===t?n.addEventListener("onwheel"in n?"wheel":"mousewheel",u,!1):"mouseenter"===t||"mouseleave"===t?(u=function(t){t=t||window.event;tf(n,t)&&e(t)},n.addEventListener("mouseenter"===t?"mouseover":"mouseout",u,!1)):("click"===t&&ki&&(u=function(n){!function(n,t){var r=n.timeStamp||n.originalEvent&&n.originalEvent.timeStamp,i=uo&&r-uo;if(i&&100<i&&i<500||n.target._simulatedClick&&!n._simulated)return bt(n);uo=r;t(n)}(n,e)}),n.addEventListener(t,u,!1)):"attachEvent"in n&&n.attachEvent("on"+t,u):il(n,u,f);n[ft]=n[ft]||{};n[ft][f]=u}function io(n,t,i,r){var u=t+o(i)+(r?"_"+o(r):""),f=n[ft]&&n[ft][u];if(!f)return this;lt&&0===t.indexOf("touch")?function(n,t,i){var r=n["_leaflet_"+t+i];"touchstart"===t?n.removeEventListener(se,r,!1):"touchmove"===t?n.removeEventListener(he,r,!1):"touchend"===t&&(n.removeEventListener(ce,r,!1),n.removeEventListener(le,r,!1))}(n,t,u):!pt||"dblclick"!==t||lt&&br?"removeEventListener"in n?"mousewheel"===t?n.removeEventListener("onwheel"in n?"wheel":"mousewheel",f,!1):n.removeEventListener("mouseenter"===t?"mouseover":"mouseleave"===t?"mouseout":t,f,!1):"detachEvent"in n&&n.detachEvent("on"+t,f):rl(n,u);n[ft][u]=null}function hi(n){return n.stopPropagation?n.stopPropagation():n.originalEvent?n.originalEvent._stopped=!0:n.cancelBubble=!0,eo(n),this}function ro(n){return gu(n,"mousewheel",hi),this}function tu(n){return u(n,"mousedown touchstart dblclick",hi),gu(n,"click",fo),this}function et(n){return n.preventDefault?n.preventDefault():n.returnValue=!1,this}function bt(n){return et(n),hi(n),this}function vh(n,i){if(!i)return new t(n.clientX,n.clientY);var r=to(i),u=r.boundingClientRect;return new t((n.clientX-u.left)/r.x-i.clientLeft,(n.clientY-u.top)/r.y-i.clientTop)}function ph(n){return pr?n.wheelDeltaY/2:n.deltaY&&0===n.deltaMode?-n.deltaY/yh:n.deltaY&&1===n.deltaMode?20*-n.deltaY:n.deltaY&&2===n.deltaMode?60*-n.deltaY:n.deltaX||n.deltaZ?0:n.wheelDelta?(n.wheelDeltaY||n.wheelDelta)/2:n.detail&&Math.abs(n.detail)<32765?20*-n.detail:n.detail?n.detail/-32765*60:0}function fo(n){nf[n.type]=!0}function eo(n){var t=nf[n.type];return nf[n.type]=!1,t}function tf(n,t){var i=t.relatedTarget;if(!i)return!0;try{for(;i&&i!==n;)i=i.parentNode}catch(n){return!1}return i!==n}function iu(n){return new ot(n)}function gh(n,t){if(!t||!n.length)return n.slice();var i=t*t;return function(n,t){var r=n.length,u=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(r),i,f;for(u[0]=u[r-1]=1,function n(t,i,r,u,f){for(var o,s,h=0,e=u+1;e<=f-1;e++)s=ru(t[e],t[u],t[f],!0),h<s&&(o=e,h=s);r<h&&(i[o]=1,n(t,i,r,u,o),n(t,i,r,o,f))}(n,u,t,0,r-1),f=[],i=0;i<r;i++)u[i]&&f.push(n[i]);return f}(n=function(n,t){for(var e,o,s,h,r=[n[0]],i=1,u=0,f=n.length;i<f;i++)e=n[i],o=n[u],void 0,s=o.x-e.x,h=o.y-e.y,t<s*s+h*h&&(r.push(n[i]),u=i);return u<f-1&&r.push(n[f-1]),r}(n,i),i)}function nc(n,t,i){return Math.sqrt(ru(n,t,i,!0))}function tc(n,t,i,r,u){var h,o,s,f=r?bh:li(n,i),e=li(t,i);for(bh=e;;){if(!(f|e))return[n,t];if(f&e)return!1;s=li(o=ff(n,t,h=f||e,i,u),i);h===f?(n=o,f=s):(t=o,e=s)}}function ff(n,i,r,u,f){var e,o,s=i.x-n.x,h=i.y-n.y,c=u.min,l=u.max;return 8&r?(e=n.x+s*(l.y-n.y)/h,o=l.y):4&r?(e=n.x+s*(c.y-n.y)/h,o=c.y):2&r?(e=l.x,o=n.y+h*(l.x-n.x)/s):1&r&&(e=c.x,o=n.y+h*(c.x-n.x)/s),new t(e,o,f)}function li(n,t){var i=0;return n.x<t.min.x?i|=1:n.x>t.max.x&&(i|=2),n.y<t.min.y?i|=4:n.y>t.max.y&&(i|=8),i}function ru(n,i,r,u){var h,o=i.x,s=i.y,f=r.x-o,e=r.y-s,c=f*f+e*e;return 0<c&&(1<(h=((n.x-o)*f+(n.y-s)*e)/c)?(o=r.x,s=r.y):0<h&&(o+=f*h,s+=e*h)),f=n.x-o,e=n.y-s,u?f*f+e*e:new t(o,s)}function ni(n){return!ht(n[0])||"object"!=typeof n[0][0]&&void 0!==n[0][0]}function ic(n){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ni(n)}function uc(n,t,i){for(var e,l,h,o,s,u,f,a=[1,4,2,8],r=0,c=n.length;r<c;r++)n[r]._code=li(n[r],t);for(h=0;h<4;h++){for(u=a[h],e=[],r=0,l=(c=n.length)-1;r<c;l=r++)o=n[r],s=n[l],o._code&u?s._code&u||((f=ff(s,o,u,t,i))._code=li(f,t),e.push(f)):(s._code&u&&((f=ff(s,o,u,t,i))._code=li(f,t),e.push(f)),e.push(o));n=e}return n}function yo(n,t){var u,e,i,o,r="Feature"===n.type?n.geometry:n,f=r?r.coordinates:null,s=[],h=t&&t.pointToLayer,c=t&&t.coordsToLatLng||po,l;if(!f&&!r)return null;switch(r.type){case"Point":return u=c(f),h?h(n,u):new fu(u);case"MultiPoint":for(i=0,o=f.length;i<o;i++)u=c(f[i]),s.push(h?h(n,u):new fu(u));return new fr(s);case"LineString":case"MultiLineString":return e=of(f,"LineString"===r.type?0:1,c),new ti(e,t);case"Polygon":case"MultiPolygon":return e=of(f,"Polygon"===r.type?1:2,c),new ai(e,t);case"GeometryCollection":for(i=0,o=r.geometries.length;i<o;i++)l=yo({geometry:r.geometries[i],type:"Feature",properties:n.properties},t),l&&s.push(l);return new fr(s);default:throw new Error("Invalid GeoJSON object.");}}function po(n){return new h(n[1],n[0],n[2])}function of(n,t,i){for(var u,f=[],r=0,e=n.length;r<e;r++)u=t?of(n[r],t-1,i):(i||po)(n[r]),f.push(u);return f}function wo(n,t){return t="number"==typeof t?t:6,void 0!==n.alt?[yt(n.lng,t),yt(n.lat,t),yt(n.alt,t)]:[yt(n.lng,t),yt(n.lat,t)]}function sf(n,t,i,r){for(var u=[],f=0,e=n.length;f<e;f++)u.push(t?sf(n[f],t-1,i,r):wo(n[f],r));return!t&&i&&u.push(u[0]),u}function or(n,t){return n.feature?s({},n.feature,{geometry:t}):hf(t)}function hf(n){return"Feature"===n.type||"FeatureCollection"===n.type?n:{type:"Feature",properties:{},geometry:n}}function oc(n,t){return new kt(n,t)}function cc(n,t){return new yi(n,t)}function lc(n){return eh?new go(n):null}function ac(n){return lu||au?new ou(n):null}var ss=Object.freeze,cr,vf,ls,ht,ar,bf,su,kf,ps,tt,wi,df,te,hu,bs,rr,ah,ft,yh,uo,nf,ot,oo,rf,so,uf,at,rc,st,ai,kt,cf,vi,bo,hr,yi,ko,vt,go,ns,ts,is,rs,us,fs,es,os,vc;Object.freeze=function(n){return n};cr=Object.create||function(n){return hs.prototype=n,new hs};vf=0;ls=/\{ *([\w_-]+) *\}/g;ht=Array.isArray||function(n){return"[object Array]"===Object.prototype.toString.call(n)};ar="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";bf=0;su=window.requestAnimationFrame||wf("RequestAnimationFrame")||ys;kf=window.cancelAnimationFrame||wf("CancelAnimationFrame")||wf("CancelRequestAnimationFrame")||function(n){window.clearTimeout(n)};ps=(Object.freeze||Object)({freeze:ss,extend:s,create:cr,bind:c,lastId:vf,stamp:o,throttle:yf,wrapNum:lr,falseFn:d,formatNum:yt,trim:pf,splitWords:pi,setOptions:l,getParamString:cs,template:as,isArray:ht,indexOf:vs,emptyImageUrl:ar,requestFn:su,cancelFn:kf,requestAnimFrame:g,cancelAnimFrame:nt});dt.extend=function(n){function i(){this.initialize&&this.initialize.apply(this,arguments);this.callInitHooks()}var u=i.__super__=this.prototype,t=cr(u);for(var r in(t.constructor=i).prototype=t,this)this.hasOwnProperty(r)&&"prototype"!==r&&"__super__"!==r&&(i[r]=this[r]);return n.statics&&(s(i,n.statics),delete n.statics),n.includes&&(function(n){if("undefined"!=typeof L&&L&&L.Mixin){n=ht(n)?n:[n];for(var t=0;t<n.length;t++)n[t]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}(n.includes),s.apply(null,[t].concat(n.includes)),delete n.includes),t.options&&(n.options=s(cr(t.options),n.options)),s(t,n),t._initHooks=[],t.callInitHooks=function(){if(!this._initHooksCalled){u.callInitHooks&&u.callInitHooks.call(this);this._initHooksCalled=!0;for(var n=0,i=t._initHooks.length;n<i;n++)t._initHooks[n].call(this)}},i};dt.include=function(n){return s(this.prototype,n),this};dt.mergeOptions=function(n){return s(this.prototype.options,n),this};dt.addInitHook=function(n){var t=Array.prototype.slice.call(arguments,1),i="function"==typeof n?n:function(){this[n].apply(this,t)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};tt={on:function(n,t,i){var u,r,f;if("object"==typeof n)for(u in n)this._on(u,n[u],t);else for(r=0,f=(n=pi(n)).length;r<f;r++)this._on(n[r],t,i);return this},off:function(n,t,i){var u,r,f;if(n)if("object"==typeof n)for(u in n)this._off(u,n[u],t);else for(r=0,f=(n=pi(n)).length;r<f;r++)this._off(n[r],t,i);else delete this._events;return this},_on:function(n,t,i){var r;this._events=this._events||{};r=this._events[n];r||(r=[],this._events[n]=r);i===this&&(i=void 0);for(var e={fn:t,ctx:i},u=r,f=0,o=u.length;f<o;f++)if(u[f].fn===t&&u[f].ctx===i)return;u.push(e)},_off:function(n,t,i){var r,u,f,e;if(this._events&&(r=this._events[n]))if(t){if(i===this&&(i=void 0),r)for(u=0,f=r.length;u<f;u++)if(e=r[u],e.ctx===i&&e.fn===t)return e.fn=d,this._firingCount&&(this._events[n]=r=r.slice()),void r.splice(u,1)}else{for(u=0,f=r.length;u<f;u++)r[u].fn=d;delete this._events[n]}},fire:function(n,t,i){var f,r,u,o,e;if(!this.listens(n,i))return this;if(f=s({},t,{type:n,target:this,sourceTarget:t&&t.sourceTarget||this}),this._events&&(r=this._events[n],r)){for(this._firingCount=this._firingCount+1||1,u=0,o=r.length;u<o;u++)e=r[u],e.fn.call(e.ctx||this,f);this._firingCount--}return i&&this._propagateEvent(f),this},listens:function(n,t){var i=this._events&&this._events[n],r;if(i&&i.length)return!0;if(t)for(r in this._eventParents)if(this._eventParents[r].listens(n,t))return!0;return!1},once:function(n,t,i){var r,u;if("object"==typeof n){for(r in n)this.once(r,n[r],t);return this}u=c(function(){this.off(n,t,i).off(n,u,i)},this);return this.on(n,t,i).on(n,u,i)},addEventParent:function(n){return this._eventParents=this._eventParents||{},this._eventParents[o(n)]=n,this},removeEventParent:function(n){return this._eventParents&&delete this._eventParents[o(n)],this},_propagateEvent:function(n){for(var t in this._eventParents)this._eventParents[t].fire(n.type,s({layer:n.target,propagatedFrom:n.target},n),!0)}};tt.addEventListener=tt.on;tt.removeEventListener=tt.clearAllEventListeners=tt.off;tt.addOneTimeEventListener=tt.once;tt.fireEvent=tt.fire;tt.hasEventListeners=tt.listens;wi=dt.extend(tt);df=Math.trunc||function(n){return 0<n?Math.floor(n):Math.ceil(n)};t.prototype={clone:function(){return new t(this.x,this.y)},add:function(n){return this.clone()._add(r(n))},_add:function(n){return this.x+=n.x,this.y+=n.y,this},subtract:function(n){return this.clone()._subtract(r(n))},_subtract:function(n){return this.x-=n.x,this.y-=n.y,this},divideBy:function(n){return this.clone()._divideBy(n)},_divideBy:function(n){return this.x/=n,this.y/=n,this},multiplyBy:function(n){return this.clone()._multiplyBy(n)},_multiplyBy:function(n){return this.x*=n,this.y*=n,this},scaleBy:function(n){return new t(this.x*n.x,this.y*n.y)},unscaleBy:function(n){return new t(this.x/n.x,this.y/n.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=df(this.x),this.y=df(this.y),this},distanceTo:function(n){var t=(n=r(n)).x-this.x,i=n.y-this.y;return Math.sqrt(t*t+i*i)},equals:function(n){return(n=r(n)).x===this.x&&n.y===this.y},contains:function(n){return n=r(n),Math.abs(n.x)<=Math.abs(this.x)&&Math.abs(n.y)<=Math.abs(this.y)},toString:function(){return"Point("+yt(this.x)+", "+yt(this.y)+")"}};a.prototype={extend:function(n){return n=r(n),this.min||this.max?(this.min.x=Math.min(n.x,this.min.x),this.max.x=Math.max(n.x,this.max.x),this.min.y=Math.min(n.y,this.min.y),this.max.y=Math.max(n.y,this.max.y)):(this.min=n.clone(),this.max=n.clone()),this},getCenter:function(n){return new t((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,n)},getBottomLeft:function(){return new t(this.min.x,this.max.y)},getTopRight:function(){return new t(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(n){var i,u;return(n="number"==typeof n[0]||n instanceof t?r(n):ct(n))instanceof a?(i=n.min,u=n.max):i=u=n,i.x>=this.min.x&&u.x<=this.max.x&&i.y>=this.min.y&&u.y<=this.max.y},intersects:function(n){n=ct(n);var t=this.min,i=this.max,r=n.min,u=n.max,f=u.x>=t.x&&r.x<=i.x,e=u.y>=t.y&&r.y<=i.y;return f&&e},overlaps:function(n){n=ct(n);var t=this.min,i=this.max,r=n.min,u=n.max,f=u.x>t.x&&r.x<i.x,e=u.y>t.y&&r.y<i.y;return f&&e},isValid:function(){return!(!this.min||!this.max)}};it.prototype={extend:function(n){var t,i,r=this._southWest,u=this._northEast;if(n instanceof h)i=t=n;else{if(!(n instanceof it))return n?this.extend(y(n)||k(n)):this;if(t=n._southWest,i=n._northEast,!t||!i)return this}return r||u?(r.lat=Math.min(t.lat,r.lat),r.lng=Math.min(t.lng,r.lng),u.lat=Math.max(i.lat,u.lat),u.lng=Math.max(i.lng,u.lng)):(this._southWest=new h(t.lat,t.lng),this._northEast=new h(i.lat,i.lng)),this},pad:function(n){var t=this._southWest,i=this._northEast,r=Math.abs(t.lat-i.lat)*n,u=Math.abs(t.lng-i.lng)*n;return new it(new h(t.lat-r,t.lng-u),new h(i.lat+r,i.lng+u))},getCenter:function(){return new h((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new h(this.getNorth(),this.getWest())},getSouthEast:function(){return new h(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(n){n="number"==typeof n[0]||n instanceof h||"lat"in n?y(n):k(n);var t,i,r=this._southWest,u=this._northEast;return n instanceof it?(t=n.getSouthWest(),i=n.getNorthEast()):t=i=n,t.lat>=r.lat&&i.lat<=u.lat&&t.lng>=r.lng&&i.lng<=u.lng},intersects:function(n){n=k(n);var t=this._southWest,i=this._northEast,r=n.getSouthWest(),u=n.getNorthEast(),f=u.lat>=t.lat&&r.lat<=i.lat,e=u.lng>=t.lng&&r.lng<=i.lng;return f&&e},overlaps:function(n){n=k(n);var t=this._southWest,i=this._northEast,r=n.getSouthWest(),u=n.getNorthEast(),f=u.lat>t.lat&&r.lat<i.lat,e=u.lng>t.lng&&r.lng<i.lng;return f&&e},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(n,t){return!!n&&(n=k(n),this._southWest.equals(n.getSouthWest(),t)&&this._northEast.equals(n.getNorthEast(),t))},isValid:function(){return!(!this._southWest||!this._northEast)}};var vr,gt={latLngToPoint:function(n,t){var i=this.projection.project(n),r=this.scale(t);return this.transformation._transform(i,r)},pointToLatLng:function(n,t){var i=this.scale(t),r=this.transformation.untransform(n,i);return this.projection.unproject(r)},project:function(n){return this.projection.project(n)},unproject:function(n){return this.projection.unproject(n)},scale:function(n){return 256*Math.pow(2,n)},zoom:function(n){return Math.log(n/256)/Math.LN2},getProjectedBounds:function(n){if(this.infinite)return null;var t=this.projection.bounds,i=this.scale(n);return new a(this.transformation.transform(t.min,i),this.transformation.transform(t.max,i))},infinite:!(h.prototype={equals:function(n,t){return!!n&&(n=y(n),Math.max(Math.abs(this.lat-n.lat),Math.abs(this.lng-n.lng))<=(void 0===t?1e-9:t))},toString:function(n){return"LatLng("+yt(this.lat,n)+", "+yt(this.lng,n)+")"},distanceTo:function(n){return ri.distance(this,y(n))},wrap:function(){return ri.wrapLatLng(this)},toBounds:function(n){var t=180*n/40075017,i=t/Math.cos(Math.PI/180*this.lat);return k([this.lat-t,this.lng-i],[this.lat+t,this.lng+i])},clone:function(){return new h(this.lat,this.lng,this.alt)}}),wrapLatLng:function(n){var t=this.wrapLng?lr(n.lng,this.wrapLng,!0):n.lng;return new h(this.wrapLat?lr(n.lat,this.wrapLat,!0):n.lat,t,n.alt)},wrapLatLngBounds:function(n){var t=n.getCenter(),e=this.wrapLatLng(t),i=t.lat-e.lat,r=t.lng-e.lng,u,f;return 0==i&&0==r?n:(u=n.getSouthWest(),f=n.getNorthEast(),new it(new h(u.lat-i,u.lng-r),new h(f.lat-i,f.lng-r)))}},ri=s({},gt,{wrapLng:[-180,180],R:6371e3,distance:function(n,t){var i=Math.PI/180,e=n.lat*i,o=t.lat*i,r=Math.sin((t.lat-n.lat)*i/2),u=Math.sin((t.lng-n.lng)*i/2),f=r*r+Math.cos(e)*Math.cos(o)*u*u,s=2*Math.atan2(Math.sqrt(f),Math.sqrt(1-f));return this.R*s}}),ws=6378137,gf={R:ws,MAX_LATITUDE:85.0511287798,project:function(n){var i=Math.PI/180,r=this.MAX_LATITUDE,f=Math.max(Math.min(r,n.lat),-r),u=Math.sin(f*i);return new t(this.R*n.lng*i,this.R*Math.log((1+u)/(1-u))/2)},unproject:function(n){var t=180/Math.PI;return new h((2*Math.atan(Math.exp(n.y/this.R))-Math.PI/2)*t,n.x*t/this.R)},bounds:(vr=ws*Math.PI,new a([-vr,-vr],[vr,vr]))};ne.prototype={transform:function(n,t){return this._transform(n.clone(),t)},_transform:function(n,t){return t=t||1,n.x=t*(this._a*n.x+this._b),n.y=t*(this._c*n.y+this._d),n},untransform:function(n,i){return i=i||1,new t((n.x/i-this._b)/this._a,(n.y/i-this._d)/this._c)}};hu=s({},ri,{code:"EPSG:3857",projection:gf,transformation:(te=.5/(Math.PI*gf.R),yr(te,.5,-te,.5))});bs=s({},hu,{code:"EPSG:900913"});var ie=document.documentElement.style,cu="ActiveXObject"in window,bi=cu&&!document.addEventListener,pr="msLaunchUri"in navigator&&!("documentMode"in document),re=wt("webkit"),ki=wt("android"),wr=wt("android 2")||wt("android 3"),yc=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),gs=ki&&wt("Google")&&yc<537&&!("AudioNode"in window),ue=!!window.opera,br=wt("chrome"),fe=wt("gecko")&&!re&&!ue&&!cu,nh=!br&&wt("safari"),th=wt("phantom"),ih="OTransition"in ie,rh=0===navigator.platform.indexOf("Win"),ee=cu&&"transition"in ie,oe="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!wr,uh="MozPerspective"in ie,rt=!window.L_DISABLE_3D&&(ee||oe||uh)&&!ih&&!th,di="undefined"!=typeof orientation||wt("mobile"),pc=di&&re,wc=di&&oe,ui=!window.PointerEvent&&window.MSPointerEvent,lt=!(!window.PointerEvent&&!ui),pt=!window.L_NO_TOUCH&&(lt||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),fh=di&&ue,bc=di&&fe,fi=1<(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI),eh=!!document.createElement("canvas").getContext,lu=!(!document.createElementNS||!ks("svg").createSVGRect),au=!lu&&function(){var t,n;try{return t=document.createElement("div"),t.innerHTML='<v:shape adj="1"/>',n=t.firstChild,n.style.behavior="url(#default#VML)",n&&"object"==typeof n.adj}catch(t){return!1}}();var kc=(Object.freeze||Object)({ie:cu,ielt9:bi,edge:pr,webkit:re,android:ki,android23:wr,androidStock:gs,opera:ue,chrome:br,gecko:fe,safari:nh,phantom:th,opera12:ih,win:rh,ie3d:ee,webkit3d:oe,gecko3d:uh,any3d:rt,mobile:di,mobileWebkit:pc,mobileWebkit3d:wc,msPointer:ui,pointer:lt,touch:pt,mobileOpera:fh,mobileGecko:bc,retina:fi,canvas:eh,svg:lu,vml:au}),se=ui?"MSPointerDown":"pointerdown",he=ui?"MSPointerMove":"pointermove",ce=ui?"MSPointerUp":"pointerup",le=ui?"MSPointerCancel":"pointercancel",dc=["INPUT","SELECT","OPTION"],gi={},oh=!1,ae=0;var vu=ui?"MSPointerDown":lt?"pointerdown":"touchstart",yu=ui?"MSPointerUp":lt?"pointerup":"touchend",nr="_leaflet_";var kr,dr,ye,pu,pe,we=ku(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),gr=ku(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),hh="webkitTransition"===gr||"OTransition"===gr?gr+"End":"transitionend";"onselectstart"in document?(kr=function(){u(window,"selectstart",et)},dr=function(){w(window,"selectstart",et)}):(rr=ku(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]),kr=function(){if(rr){var n=document.documentElement.style;ye=n[rr];n[rr]="none"}},dr=function(){rr&&(document.documentElement.style[rr]=ye,ye=void 0)});ah=(Object.freeze||Object)({TRANSFORM:we,TRANSITION:gr,TRANSITION_END:hh,get:ch,getStyle:nu,create:e,remove:v,empty:wu,toFront:tr,toBack:ir,hasClass:be,addClass:i,removeClass:p,setClass:ke,getClass:bu,setOpacity:ut,testProp:ku,setTransform:si,setPosition:b,getPosition:ei,disableTextSelection:kr,enableTextSelection:dr,disableImageDrag:de,enableImageDrag:ge,preventOutline:no,restoreOutline:du,getSizedParentNode:lh,getScale:to});ft="_leaflet_events";yh=rh&&br?2*window.devicePixelRatio:fe?window.devicePixelRatio:1;nf={};var ul=(Object.freeze||Object)({on:u,off:w,stopPropagation:hi,disableScrollPropagation:ro,disableClickPropagation:tu,preventDefault:et,stop:bt,getMousePosition:vh,getWheelDelta:ph,fakeStop:fo,skipped:eo,isExternalTarget:tf,addListener:u,removeListener:w}),wh=wi.extend({run:function(n,t,i,r){this.stop();this._el=n;this._inProgress=!0;this._duration=i||.25;this._easeOutPower=1/Math.max(r||.5,.2);this._startPos=ei(n);this._offset=t.subtract(this._startPos);this._startTime=+new Date;this.fire("start");this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=g(this._animate,this);this._step()},_step:function(n){var t=+new Date-this._startTime,i=1e3*this._duration;t<i?this._runFrame(this._easeOut(t/i),n):(this._runFrame(1),this._complete())},_runFrame:function(n,t){var i=this._startPos.add(this._offset.multiplyBy(n));t&&i._round();b(this._el,i);this.fire("step")},_complete:function(){nt(this._animId);this._inProgress=!1;this.fire("end")},_easeOut:function(n){return 1-Math.pow(1-n,this._easeOutPower)}}),f=wi.extend({options:{crs:hu,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(n,t){t=l(this,t);this._handlers=[];this._layers={};this._zoomBoundLayers={};this._sizeChanged=!0;this._initContainer(n);this._initLayout();this._onResize=c(this._onResize,this);this._initEvents();t.maxBounds&&this.setMaxBounds(t.maxBounds);void 0!==t.zoom&&(this._zoom=this._limitZoom(t.zoom));t.center&&void 0!==t.zoom&&this.setView(y(t.center),t.zoom,{reset:!0});this.callInitHooks();this._zoomAnimated=gr&&rt&&!fh&&this.options.zoomAnimation;this._zoomAnimated&&(this._createAnimProxy(),u(this._proxy,hh,this._catchTransitionEnd,this));this._addLayers(this.options.layers)},setView:function(n,t,i){return(t=void 0===t?this._zoom:this._limitZoom(t),n=this._limitCenter(y(n),t,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i)&&(void 0!==i.animate&&(i.zoom=s({animate:i.animate},i.zoom),i.pan=s({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==t?this._tryAnimatedZoom&&this._tryAnimatedZoom(n,t,i.zoom):this._tryAnimatedPan(n,i.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(n,t),this)},setZoom:function(n,t){return this._loaded?this.setView(this.getCenter(),n,{zoom:t}):(this._zoom=n,this)},zoomIn:function(n,t){return n=n||(rt?this.options.zoomDelta:1),this.setZoom(this._zoom+n,t)},zoomOut:function(n,t){return n=n||(rt?this.options.zoomDelta:1),this.setZoom(this._zoom-n,t)},setZoomAround:function(n,i,r){var f=this.getZoomScale(i),u=this.getSize().divideBy(2),e=(n instanceof t?n:this.latLngToContainerPoint(n)).subtract(u).multiplyBy(1-1/f),o=this.containerPointToLatLng(u.add(e));return this.setView(o,i,{zoom:r})},_getBoundsCenterZoom:function(n,t){t=t||{};n=n.getBounds?n.getBounds():k(n);var u=r(t.paddingTopLeft||t.padding||[0,0]),f=r(t.paddingBottomRight||t.padding||[0,0]),i=this.getBoundsZoom(n,!1,u.add(f));if((i="number"==typeof t.maxZoom?Math.min(t.maxZoom,i):i)===1/0)return{center:n.getCenter(),zoom:i};var e=f.subtract(u).divideBy(2),o=this.project(n.getSouthWest(),i),s=this.project(n.getNorthEast(),i);return{center:this.unproject(o.add(s).divideBy(2).add(e),i),zoom:i}},fitBounds:function(n,t){if(!(n=k(n)).isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(n,t);return this.setView(i.center,i.zoom,t)},fitWorld:function(n){return this.fitBounds([[-90,-180],[90,180]],n)},panTo:function(n,t){return this.setView(n,this._zoom,{pan:t})},panBy:function(n,t){if(t=t||{},!(n=r(n).round()).x&&!n.y)return this.fire("moveend");if(!0!==t.animate&&!this.getSize().contains(n))return this._resetView(this.unproject(this.project(this.getCenter()).add(n)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new wh,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),t.noMoveStart||this.fire("movestart"),!1!==t.animate){i(this._mapPane,"leaflet-pan-anim");var u=this._getMapPanePos().subtract(n).round();this._panAnim.run(this._mapPane,u,t.duration||.25,t.easeLinearity)}else this._rawPanBy(n),this.fire("move").fire("moveend");return this},flyTo:function(n,t,i){function p(n){var t=(l*l-r*r+(n?-1:1)*s*s*o*o)/(2*(n?l:r)*s*o),i=Math.sqrt(t*t+1)-t;return i<1e-9?-18:Math.log(i)}function w(n){return(Math.exp(n)-Math.exp(-n))/2}function h(n){return(Math.exp(n)+Math.exp(-n))/2}function k(n){return r*(h(u)*function(n){return w(n)/h(n)}(u+f*n)-w(u))/s}var u;if(!1===(i=i||{}).animate||!rt)return this.setView(n,t,i);this._stop();var c=this.project(this.getCenter()),a=this.project(n),v=this.getSize(),e=this._zoom;n=y(n);t=void 0===t?e:t;var r=Math.max(v.x,v.y),l=r*this.getZoomScale(e,t),o=a.distanceTo(c)||1,f=1.42,s=f*f;u=p(0);var d=Date.now(),b=(p(1)-u)/f,nt=i.duration?1e3*i.duration:1e3*b*.8;return this._moveStart(!0,i.noMoveStart),function i(){var s=(Date.now()-d)/nt,l=function(n){return 1-Math.pow(1-n,1.5)}(s)*b;s<=1?(this._flyToFrame=g(i,this),this._move(this.unproject(c.add(a.subtract(c).multiplyBy(k(l)/o)),e),this.getScaleZoom(r/function(n){return r*(h(u)/h(u+f*n))}(l),e),{flyTo:!0})):this._move(n,t)._moveEnd(!0)}.call(this),this},flyToBounds:function(n,t){var i=this._getBoundsCenterZoom(n,t);return this.flyTo(i.center,i.zoom,t)},setMaxBounds:function(n){return(n=k(n)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=n,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(n){var t=this.options.minZoom;return this.options.minZoom=n,this._loaded&&t!==n&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(n):this},setMaxZoom:function(n){var t=this.options.maxZoom;return this.options.maxZoom=n,this._loaded&&t!==n&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(n):this},panInsideBounds:function(n,t){this._enforcingBounds=!0;var i=this.getCenter(),r=this._limitCenter(i,this._zoom,k(n));return i.equals(r)||this.panTo(r,t),this._enforcingBounds=!1,this},panInside:function(n,t){var s=r((t=t||{}).paddingTopLeft||t.padding||[0,0]),h=r(t.paddingBottomRight||t.padding||[0,0]),a=this.getCenter(),c=this.project(a),i=this.project(n),l=this.getPixelBounds(),o=l.getSize().divideBy(2),e=ct([l.min.add(s),l.max.subtract(h)]),f,u;return e.contains(i)||(this._enforcingBounds=!0,f=c.subtract(i),u=r(i.x+f.x,i.y+f.y),(i.x<e.min.x||i.x>e.max.x)&&(u.x=c.x-f.x,0<f.x?u.x+=o.x-s.x:u.x-=o.x-h.x),(i.y<e.min.y||i.y>e.max.y)&&(u.y=c.y-f.y,0<f.y?u.y+=o.y-s.y:u.y-=o.y-h.y),this.panTo(this.unproject(u),t),this._enforcingBounds=!1),this},invalidateSize:function(n){var i;if(!this._loaded)return this;n=s({animate:!1,pan:!0},!0===n?{animate:!0}:n);i=this.getSize();this._sizeChanged=!0;this._lastCenter=null;var r=this.getSize(),u=i.divideBy(2).round(),f=r.divideBy(2).round(),t=u.subtract(f);return t.x||t.y?(n.animate&&n.pan?this.panBy(t):(n.pan&&this._rawPanBy(t),this.fire("move"),n.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(c(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:r})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(n){if(n=this._locateOptions=s({timeout:1e4,watch:!1},n),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var t=c(this._handleGeolocationResponse,this),i=c(this._handleGeolocationError,this);return n.watch?this._locationWatchId=navigator.geolocation.watchPosition(t,i,n):navigator.geolocation.getCurrentPosition(t,i,n),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(n){var t=n.code,i=n.message||(1===t?"permission denied":2===t?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld();this.fire("locationerror",{code:t,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(n){var i=new h(n.coords.latitude,n.coords.longitude),e=i.toBounds(2*n.coords.accuracy),r=this._locateOptions,u,f,t;r.setView&&(u=this.getBoundsZoom(e),this.setView(i,r.maxZoom?Math.min(u,r.maxZoom):u));f={latlng:i,bounds:e,timestamp:n.timestamp};for(t in n.coords)"number"==typeof n.coords[t]&&(f[t]=n.coords[t]);this.fire("locationfound",f)},addHandler:function(n,t){if(!t)return this;var i=this[n]=new t(this);return this._handlers.push(i),this.options[n]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id;delete this._containerId}catch(n){this._container._leaflet_id=void 0;this._containerId=void 0}for(var n in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),v(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(nt(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[n].remove();for(n in this._panes)v(this._panes[n]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(n,t){var i=e("div","leaflet-pane"+(n?" leaflet-"+n.replace("Pane","")+"-pane":""),t||this._mapPane);return n&&(this._panes[n]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var n=this.getPixelBounds();return new it(this.unproject(n.getBottomLeft()),this.unproject(n.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(n,t,i){n=k(n);i=r(i||[0,0]);var u=this.getZoom()||0,c=this.getMinZoom(),l=this.getMaxZoom(),a=n.getNorthWest(),v=n.getSouthEast(),e=this.getSize().subtract(i),o=ct(this.project(v,u),this.project(a,u)).getSize(),f=rt?this.options.zoomSnap:1,s=e.x/o.x,h=e.y/o.y,y=t?Math.max(s,h):Math.min(s,h);return u=this.getScaleZoom(y,u),f&&(u=Math.round(u/(f/100))*(f/100),u=t?Math.ceil(u/f)*f:Math.floor(u/f)*f),Math.max(c,Math.min(l,u))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new t(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(n,t){var i=this._getTopLeftPoint(n,t);return new a(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(n){return this.options.crs.getProjectedBounds(void 0===n?this.getZoom():n)},getPane:function(n){return"string"==typeof n?this._panes[n]:n},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(n,t){var i=this.options.crs;return t=void 0===t?this._zoom:t,i.scale(n)/i.scale(t)},getScaleZoom:function(n,t){var r=this.options.crs,i;return t=void 0===t?this._zoom:t,i=r.zoom(n*r.scale(t)),isNaN(i)?1/0:i},project:function(n,t){return t=void 0===t?this._zoom:t,this.options.crs.latLngToPoint(y(n),t)},unproject:function(n,t){return t=void 0===t?this._zoom:t,this.options.crs.pointToLatLng(r(n),t)},layerPointToLatLng:function(n){var t=r(n).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(n){return this.project(y(n))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(n){return this.options.crs.wrapLatLng(y(n))},wrapLatLngBounds:function(n){return this.options.crs.wrapLatLngBounds(k(n))},distance:function(n,t){return this.options.crs.distance(y(n),y(t))},containerPointToLayerPoint:function(n){return r(n).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(n){return r(n).add(this._getMapPanePos())},containerPointToLatLng:function(n){var t=this.containerPointToLayerPoint(r(n));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(n){return this.layerPointToContainerPoint(this.latLngToLayerPoint(y(n)))},mouseEventToContainerPoint:function(n){return vh(n,this._container)},mouseEventToLayerPoint:function(n){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(n))},mouseEventToLatLng:function(n){return this.layerPointToLatLng(this.mouseEventToLayerPoint(n))},_initContainer:function(n){var t=this._container=ch(n);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");u(t,"scroll",this._onScroll,this);this._containerId=o(t)},_initLayout:function(){var t=this._container,n;this._fadeAnimated=this.options.fadeAnimation&&rt;i(t,"leaflet-container"+(pt?" leaflet-touch":"")+(fi?" leaflet-retina":"")+(bi?" leaflet-oldie":"")+(nh?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));n=nu(t,"position");"absolute"!==n&&"relative"!==n&&"fixed"!==n&&(t.style.position="relative");this._initPanes();this._initControlPos&&this._initControlPos()},_initPanes:function(){var n=this._panes={};this._paneRenderers={};this._mapPane=this.createPane("mapPane",this._container);b(this._mapPane,new t(0,0));this.createPane("tilePane");this.createPane("shadowPane");this.createPane("overlayPane");this.createPane("markerPane");this.createPane("tooltipPane");this.createPane("popupPane");this.options.markerZoomAnimation||(i(n.markerPane,"leaflet-zoom-hide"),i(n.shadowPane,"leaflet-zoom-hide"))},_resetView:function(n,i){var u,r;b(this._mapPane,new t(0,0));u=!this._loaded;this._loaded=!0;i=this._limitZoom(i);this.fire("viewprereset");r=this._zoom!==i;this._moveStart(r,!1)._move(n,i)._moveEnd(r);this.fire("viewreset");u&&this.fire("load")},_moveStart:function(n,t){return n&&this.fire("zoomstart"),t||this.fire("movestart"),this},_move:function(n,t,i){void 0===t&&(t=this._zoom);var r=this._zoom!==t;return this._zoom=t,this._lastCenter=n,this._pixelOrigin=this._getNewPixelOrigin(n),(r||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)},_moveEnd:function(n){return n&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return nt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(n){b(this._mapPane,this._getMapPanePos().subtract(n))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.");},_initEvents:function(n){this._targets={};var t=n?w:u;t((this._targets[o(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this);this.options.trackResize&&t(window,"resize",this._onResize,this);rt&&this.options.transform3DLimit&&(n?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){nt(this._resizeRequest);this._resizeRequest=g(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0;this._container.scrollLeft=0},_onMoveEnd:function(){var n=this._getMapPanePos();Math.max(Math.abs(n.x),Math.abs(n.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(n,t){for(var r,u=[],f="mouseout"===t||"mouseover"===t,i=n.target||n.srcElement,e=!1;i;){if((r=this._targets[o(i)])&&("click"===t||"preclick"===t)&&!n._simulated&&this._draggableMoved(r)){e=!0;break}if(r&&r.listens(t,!0)){if(f&&!tf(i,n))break;if(u.push(r),f)break}if(i===this._container)break;i=i.parentNode}return u.length||e||f||!tf(i,n)||(u=[this]),u},_handleDOMEvent:function(n){if(this._loaded&&!eo(n)){var t=n.type;"mousedown"!==t&&"keypress"!==t&&"keyup"!==t&&"keydown"!==t||no(n.target||n.srcElement);this._fireDOMEvent(n,t)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(n,t,i){var e,u,r,o,f;if("click"===n.type&&(e=s({},n),e.type="preclick",this._fireDOMEvent(e,e.type,i)),!n._stopped&&(i=(i||[]).concat(this._findEventTargets(n,t))).length)for(u=i[0],"contextmenu"===t&&u.listens(t,!0)&&et(n),r={originalEvent:n},"keypress"!==n.type&&"keydown"!==n.type&&"keyup"!==n.type&&(o=u.getLatLng&&(!u._radius||u._radius<=10),r.containerPoint=o?this.latLngToContainerPoint(u.getLatLng()):this.mouseEventToContainerPoint(n),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=o?u.getLatLng():this.layerPointToLatLng(r.layerPoint)),f=0;f<i.length;f++)if(i[f].fire(t,r,!0),r.originalEvent._stopped||!1===i[f].options.bubblingMouseEvents&&-1!==vs(this._mouseEvents,t))return},_draggableMoved:function(n){return(n=n.dragging&&n.dragging.enabled()?n:this).dragging&&n.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var n=0,t=this._handlers.length;n<t;n++)this._handlers[n].disable()},whenReady:function(n,t){return this._loaded?n.call(t||this,{target:this}):this.on("load",n,t),this},_getMapPanePos:function(){return ei(this._mapPane)||new t(0,0)},_moved:function(){var n=this._getMapPanePos();return n&&!n.equals([0,0])},_getTopLeftPoint:function(n,t){return(n&&void 0!==t?this._getNewPixelOrigin(n,t):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(n,t){var i=this.getSize()._divideBy(2);return this.project(n,t)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(n,t,i){var r=this._getNewPixelOrigin(i,t);return this.project(n,t)._subtract(r)},_latLngBoundsToNewLayerBounds:function(n,t,i){var r=this._getNewPixelOrigin(i,t);return ct([this.project(n.getSouthWest(),t)._subtract(r),this.project(n.getNorthWest(),t)._subtract(r),this.project(n.getSouthEast(),t)._subtract(r),this.project(n.getNorthEast(),t)._subtract(r)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(n){return this.latLngToLayerPoint(n).subtract(this._getCenterLayerPoint())},_limitCenter:function(n,t,i){if(!i)return n;var r=this.project(n,t),u=this.getSize().divideBy(2),e=new a(r.subtract(u),r.add(u)),f=this._getBoundsOffset(e,i,t);return f.round().equals([0,0])?n:this.unproject(r.add(f),t)},_limitOffset:function(n,t){if(!t)return n;var i=this.getPixelBounds(),r=new a(i.min.add(n),i.max.add(n));return n.add(this._getBoundsOffset(r,t))},_getBoundsOffset:function(n,i,r){var u=ct(this.project(i.getNorthEast(),r),this.project(i.getSouthWest(),r)),f=u.min.subtract(n.min),e=u.max.subtract(n.max);return new t(this._rebound(f.x,-e.x),this._rebound(f.y,-e.y))},_rebound:function(n,t){return 0<n+t?Math.round(n-t)/2:Math.max(0,Math.ceil(n))-Math.max(0,Math.floor(t))},_limitZoom:function(n){var i=this.getMinZoom(),r=this.getMaxZoom(),t=rt?this.options.zoomSnap:1;return t&&(n=Math.round(n/t)*t),Math.max(i,Math.min(r,n))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){p(this._mapPane,"leaflet-pan-anim");this.fire("moveend")},_tryAnimatedPan:function(n,t){var i=this._getCenterOffset(n)._trunc();return!(!0!==(t&&t.animate)&&!this.getSize().contains(i))&&(this.panBy(i,t),!0)},_createAnimProxy:function(){var n=this._proxy=e("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(n);this.on("zoomanim",function(n){var t=we,i=this._proxy.style[t];si(this._proxy,this.project(n.center,n.zoom),this.getZoomScale(n.zoom,1));i===this._proxy.style[t]&&this._animatingZoom&&this._onZoomTransitionEnd()},this);this.on("load moveend",function(){var t=this.getCenter(),n=this.getZoom();si(this._proxy,this.project(t,n),this.getZoomScale(n,1))},this);this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){v(this._proxy);delete this._proxy},_catchTransitionEnd:function(n){this._animatingZoom&&0<=n.propertyName.indexOf("transform")&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(n,t,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(t-this._zoom)>this.options.zoomAnimationThreshold)return!1;var r=this.getZoomScale(t),u=this._getCenterOffset(n)._divideBy(1-1/r);return!(!0!==i.animate&&!this.getSize().contains(u))&&(g(function(){this._moveStart(!0,!1)._animateZoom(n,t,!0)},this),!0)},_animateZoom:function(n,t,r,u){this._mapPane&&(r&&(this._animatingZoom=!0,this._animateToCenter=n,this._animateToZoom=t,i(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:n,zoom:t,noUpdate:u}),setTimeout(c(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&p(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),g(function(){this._moveEnd(!0)},this))}});ot=dt.extend({options:{position:"topright"},initialize:function(n){l(this,n)},getPosition:function(){return this.options.position},setPosition:function(n){var t=this._map;return t&&t.removeControl(this),this.options.position=n,t&&t.addControl(this),this},getContainer:function(){return this._container},addTo:function(n){this.remove();this._map=n;var t=this._container=this.onAdd(n),u=this.getPosition(),r=n._controlCorners[u];return i(t,"leaflet-control"),-1!==u.indexOf("bottom")?r.insertBefore(t,r.firstChild):r.appendChild(t),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(v(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(n){this._map&&n&&0<n.screenX&&0<n.screenY&&this._map.getContainer().focus()}});f.include({addControl:function(n){return n.addTo(this),this},removeControl:function(n){return n.remove(),this},_initControlPos:function(){function n(n,u){var f=t+n+" "+t+u;i[n+u]=e("div",f,r)}var i=this._controlCorners={},t="leaflet-",r=this._controlContainer=e("div",t+"control-container",this._container);n("top","left");n("top","right");n("bottom","left");n("bottom","right")},_clearControlPos:function(){for(var n in this._controlCorners)v(this._controlCorners[n]);v(this._controlContainer);delete this._controlCorners;delete this._controlContainer}});oo=ot.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(n,t,i,r){return i<r?-1:r<i?1:0}},initialize:function(n,t,i){for(var r in l(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,n)this._addLayer(n[r],r);for(r in t)this._addLayer(t[r],r,!0)},onAdd:function(n){this._initLayout();this._update();(this._map=n).on("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(n){return ot.prototype.addTo.call(this,n),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var n=0;n<this._layers.length;n++)this._layers[n].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(n,t){return this._addLayer(n,t),this._map?this._update():this},addOverlay:function(n,t){return this._addLayer(n,t,!0),this._map?this._update():this},removeLayer:function(n){n.off("add remove",this._onLayerChange,this);var t=this._getLayer(o(n));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){i(this._container,"leaflet-control-layers-expanded");this._section.style.height=null;var n=this._map.getSize().y-(this._container.offsetTop+50);return n<this._section.clientHeight?(i(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=n+"px"):p(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return p(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var n="leaflet-control-layers",t=this._container=e("div",n),f=this.options.collapsed,r,i;t.setAttribute("aria-haspopup",!0);tu(t);ro(t);r=this._section=e("section",n+"-list");f&&(this._map.on("click",this.collapse,this),ki||u(t,{mouseenter:this.expand,mouseleave:this.collapse},this));i=this._layersLink=e("a",n+"-toggle",t);i.href="#";i.title="Layers";pt?(u(i,"click",bt),u(i,"click",this.expand,this)):u(i,"focus",this.expand,this);f||this.expand();this._baseLayersList=e("div",n+"-base",r);this._separator=e("div",n+"-separator",r);this._overlaysList=e("div",n+"-overlays",r);t.appendChild(r)},_getLayer:function(n){for(var t=0;t<this._layers.length;t++)if(this._layers[t]&&o(this._layers[t].layer)===n)return this._layers[t]},_addLayer:function(n,t,i){this._map&&n.on("add remove",this._onLayerChange,this);this._layers.push({layer:n,name:t,overlay:i});this.options.sortLayers&&this._layers.sort(c(function(n,t){return this.options.sortFunction(n.layer,t.layer,n.name,t.name)},this));this.options.autoZIndex&&n.setZIndex&&(this._lastZIndex++,n.setZIndex(this._lastZIndex));this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;wu(this._baseLayersList);wu(this._overlaysList);this._layerControlInputs=[];for(var n,r,t,u=0,i=0;i<this._layers.length;i++)t=this._layers[i],this._addItem(t),r=r||t.overlay,n=n||!t.overlay,u+=t.overlay?0:1;return this.options.hideSingleBase&&(n=n&&1<u,this._baseLayersList.style.display=n?"":"none"),this._separator.style.display=r&&n?"":"none",this},_onLayerChange:function(n){this._handlingClick||this._update();var t=this._getLayer(o(n.target)),i=t.overlay?"add"===n.type?"overlayadd":"overlayremove":"add"===n.type?"baselayerchange":null;i&&this._map.fire(i,t)},_createRadioElement:function(n,t){var r='<input type="radio" class="leaflet-control-layers-selector" name="'+n+'"'+(t?' checked="checked"':"")+"/>",i=document.createElement("div");return i.innerHTML=r,i.firstChild},_addItem:function(n){var t,r=document.createElement("label"),e=this._map.hasLayer(n.layer),f,i;return n.overlay?((t=document.createElement("input")).type="checkbox",t.className="leaflet-control-layers-selector",t.defaultChecked=e):t=this._createRadioElement("leaflet-base-layers_"+o(this),e),this._layerControlInputs.push(t),t.layerId=o(n.layer),u(t,"click",this._onInputClick,this),f=document.createElement("span"),f.innerHTML=" "+n.name,i=document.createElement("div"),r.appendChild(i),i.appendChild(t),i.appendChild(f),(n.overlay?this._overlaysList:this._baseLayersList).appendChild(r),this._checkDisabledLayers(),r},_onInputClick:function(){var t,u,f=this._layerControlInputs,i=[],r=[],n;for(this._handlingClick=!0,n=f.length-1;0<=n;n--)t=f[n],u=this._getLayer(t.layerId).layer,t.checked?i.push(u):t.checked||r.push(u);for(n=0;n<r.length;n++)this._map.hasLayer(r[n])&&this._map.removeLayer(r[n]);for(n=0;n<i.length;n++)this._map.hasLayer(i[n])||this._map.addLayer(i[n]);this._handlingClick=!1;this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,n,r=this._layerControlInputs,u=this._map.getZoom(),i=r.length-1;0<=i;i--)t=r[i],n=this._getLayer(t.layerId).layer,t.disabled=void 0!==n.options.minZoom&&u<n.options.minZoom||void 0!==n.options.maxZoom&&u>n.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}});rf=ot.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(n){var i="leaflet-control-zoom",r=e("div",i+" leaflet-bar"),t=this.options;return this._zoomInButton=this._createButton(t.zoomInText,t.zoomInTitle,i+"-in",r,this._zoomIn),this._zoomOutButton=this._createButton(t.zoomOutText,t.zoomOutTitle,i+"-out",r,this._zoomOut),this._updateDisabled(),n.on("zoomend zoomlevelschange",this._updateDisabled,this),r},onRemove:function(n){n.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(n){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(n.shiftKey?3:1))},_zoomOut:function(n){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(n.shiftKey?3:1))},_createButton:function(n,t,i,r,f){var o=e("a",i,r);return o.innerHTML=n,o.href="#",o.title=t,o.setAttribute("role","button"),o.setAttribute("aria-label",t),tu(o),u(o,"click",bt),u(o,"click",f,this),u(o,"click",this._refocusOnMap,this),o},_updateDisabled:function(){var n=this._map,t="leaflet-disabled";p(this._zoomInButton,t);p(this._zoomOutButton,t);!this._disabled&&n._zoom!==n.getMinZoom()||i(this._zoomOutButton,t);!this._disabled&&n._zoom!==n.getMaxZoom()||i(this._zoomInButton,t)}});f.mergeOptions({zoomControl:!0});f.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new rf,this.addControl(this.zoomControl))});so=ot.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(n){var t="leaflet-control-scale",i=e("div",t),r=this.options;return this._addScales(r,t+"-line",i),n.on(r.updateWhenIdle?"moveend":"move",this._update,this),n.whenReady(this._update,this),i},onRemove:function(n){n.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(n,t,i){n.metric&&(this._mScale=e("div",t,i));n.imperial&&(this._iScale=e("div",t,i))},_update:function(){var n=this._map,t=n.getSize().y/2,i=n.distance(n.containerPointToLatLng([0,t]),n.containerPointToLatLng([this.options.maxWidth,t]));this._updateScales(i)},_updateScales:function(n){this.options.metric&&n&&this._updateMetric(n);this.options.imperial&&n&&this._updateImperial(n)},_updateMetric:function(n){var t=this._getRoundNum(n),i=t<1e3?t+" m":t/1e3+" km";this._updateScale(this._mScale,i,t/n)},_updateImperial:function(n){var i,r,u,t=3.2808399*n;5280<t?(i=t/5280,r=this._getRoundNum(i),this._updateScale(this._iScale,r+" mi",r/i)):(u=this._getRoundNum(t),this._updateScale(this._iScale,u+" ft",u/t))},_updateScale:function(n,t,i){n.style.width=Math.round(this.options.maxWidth*i)+"px";n.innerHTML=t},_getRoundNum:function(n){var i=Math.pow(10,(Math.floor(n)+"").length-1),t=n/i;return i*(t=10<=t?10:5<=t?5:3<=t?3:2<=t?2:1)}});uf=ot.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JS library for interactive maps">Leaflet<\/a>'},initialize:function(n){l(this,n);this._attributions={}},onAdd:function(n){for(var t in(n.attributionControl=this)._container=e("div","leaflet-control-attribution"),tu(this._container),n._layers)n._layers[t].getAttribution&&this.addAttribution(n._layers[t].getAttribution());return this._update(),this._container},setPrefix:function(n){return this.options.prefix=n,this._update(),this},addAttribution:function(n){return n&&(this._attributions[n]||(this._attributions[n]=0),this._attributions[n]++,this._update()),this},removeAttribution:function(n){return n&&this._attributions[n]&&(this._attributions[n]--,this._update()),this},_update:function(){var n,i,t;if(this._map){n=[];for(i in this._attributions)this._attributions[i]&&n.push(i);t=[];this.options.prefix&&t.push(this.options.prefix);n.length&&t.push(n.join(", "));this._container.innerHTML=t.join(" | ")}}});f.mergeOptions({attributionControl:!0});f.addInitHook(function(){this.options.attributionControl&&(new uf).addTo(this)});ot.Layers=oo;ot.Zoom=rf;ot.Scale=so;ot.Attribution=uf;iu.layers=function(n,t,i){return new oo(n,t,i)};iu.zoom=function(n){return new rf(n)};iu.scale=function(n){return new so(n)};iu.attribution=function(n){return new uf(n)};at=dt.extend({initialize:function(n){this._map=n},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}});at.addTo=function(n,t){return n.addHandler(t,this),this};var bh,fl={Events:tt},kh=pt?"touchstart mousedown":"mousedown",dh={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},ho={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},ci=wi.extend({options:{clickTolerance:3},initialize:function(n,t,i,r){l(this,r);this._element=n;this._dragStartTarget=t||n;this._preventOutline=i},enable:function(){this._enabled||(u(this._dragStartTarget,kh,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ci._dragging===this&&this.finishDrag(),w(this._dragStartTarget,kh,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(n){if(!n._simulated&&this._enabled&&(this._moved=!1,!be(this._element,"leaflet-zoom-anim")&&!(ci._dragging||n.shiftKey||1!==n.which&&1!==n.button&&!n.touches||((ci._dragging=this)._preventOutline&&no(this._element),de(),kr(),this._moving)))){this.fire("down");var i=n.touches?n.touches[0]:n,r=lh(this._element);this._startPoint=new t(i.clientX,i.clientY);this._parentScale=to(r);u(document,ho[n.type],this._onMove,this);u(document,dh[n.type],this._onUp,this)}},_onMove:function(n){if(!n._simulated&&this._enabled)if(n.touches&&1<n.touches.length)this._moved=!0;else{var u=n.touches&&1===n.touches.length?n.touches[0]:n,r=new t(u.clientX,u.clientY)._subtract(this._startPoint);(r.x||r.y)&&(Math.abs(r.x)+Math.abs(r.y)<this.options.clickTolerance||(r.x/=this._parentScale.x,r.y/=this._parentScale.y,et(n),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=ei(this._element).subtract(r),i(document.body,"leaflet-dragging"),this._lastTarget=n.target||n.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),i(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(r),this._moving=!0,nt(this._animRequest),this._lastEvent=n,this._animRequest=g(this._updatePosition,this,!0)))}},_updatePosition:function(){var n={originalEvent:this._lastEvent};this.fire("predrag",n);b(this._element,this._newPos);this.fire("drag",n)},_onUp:function(n){!n._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){for(var n in p(document.body,"leaflet-dragging"),this._lastTarget&&(p(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),ho)w(document,ho[n],this._onMove,this),w(document,dh[n],this._onUp,this);ge();dr();this._moved&&this._moving&&(nt(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)}));this._moving=!1;ci._dragging=!1}});rc=(Object.freeze||Object)({simplify:gh,pointToSegmentDistance:nc,closestPointOnSegment:function(n,t,i){return ru(n,t,i)},clipSegment:tc,_getEdgeIntersection:ff,_getBitCode:li,_sqClosestPointOnSegment:ru,isFlat:ni,_flat:ic});var co,el=(Object.freeze||Object)({clipPolygon:uc}),lo={project:function(n){return new t(n.lng,n.lat)},unproject:function(n){return new h(n.y,n.x)},bounds:new a([-180,-90],[180,90])},ao={R:6378137,R_MINOR:6356752.3142451793,bounds:new a([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(n){var u=Math.PI/180,r=this.R,i=n.lat*u,f=this.R_MINOR/r,e=Math.sqrt(1-f*f),o=e*Math.sin(i),s=Math.tan(Math.PI/4-i/2)/Math.pow((1-o)/(1+o),e/2);return i=-r*Math.log(Math.max(s,1e-10)),new t(n.lng*u*r,i)},unproject:function(n){for(var t,u=180/Math.PI,r=this.R,f=this.R_MINOR/r,e=Math.sqrt(1-f*f),o=Math.exp(-n.y/r),i=Math.PI/2-2*Math.atan(o),s=0,c=.1;s<15&&1e-7<Math.abs(c);s++)t=e*Math.sin(i),t=Math.pow((1-t)/(1+t),e/2),i+=c=Math.PI/2-2*Math.atan(o*t)-i;return new h(i*u,n.x*u/r)}},ol=(Object.freeze||Object)({LonLat:lo,Mercator:ao,SphericalMercator:gf}),sl=s({},ri,{code:"EPSG:3395",projection:ao,transformation:(co=.5/(Math.PI*ao.R),yr(co,.5,-co,.5))}),fc=s({},ri,{code:"EPSG:4326",projection:lo,transformation:yr(1/180,1,-1/180,.5)}),hl=s({},gt,{projection:lo,transformation:yr(1,0,-1,0),scale:function(n){return Math.pow(2,n)},zoom:function(n){return Math.log(n)/Math.LN2},distance:function(n,t){var i=t.lng-n.lng,r=t.lat-n.lat;return Math.sqrt(i*i+r*r)},infinite:!0});gt.Earth=ri;gt.EPSG3395=sl;gt.EPSG3857=hu;gt.EPSG900913=bs;gt.EPSG4326=fc;gt.Simple=hl;st=wi.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(n){return n.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(n){return n&&n.removeLayer(this),this},getPane:function(n){return this._map.getPane(n?this.options[n]||n:this.options.pane)},addInteractiveTarget:function(n){return this._map._targets[o(n)]=this},removeInteractiveTarget:function(n){return delete this._map._targets[o(n)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(n){var t=n.target,i;t.hasLayer(this)&&((this._map=t,this._zoomAnimated=t._zoomAnimated,this.getEvents)&&(i=this.getEvents(),t.on(i,this),this.once("remove",function(){t.off(i,this)},this)),this.onAdd(t),this.getAttribution&&t.attributionControl&&t.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),t.fire("layeradd",{layer:this}))}});f.include({addLayer:function(n){if(!n._layerAdd)throw new Error("The provided object is not a Layer.");var t=o(n);return this._layers[t]||((this._layers[t]=n)._mapToAdd=this,n.beforeAdd&&n.beforeAdd(this),this.whenReady(n._layerAdd,n)),this},removeLayer:function(n){var t=o(n);return this._layers[t]&&(this._loaded&&n.onRemove(this),n.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(n.getAttribution()),delete this._layers[t],this._loaded&&(this.fire("layerremove",{layer:n}),n.fire("remove")),n._map=n._mapToAdd=null),this},hasLayer:function(n){return!!n&&o(n)in this._layers},eachLayer:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},_addLayers:function(n){for(var t=0,i=(n=n?ht(n)?n:[n]:[]).length;t<i;t++)this.addLayer(n[t])},_addZoomLimit:function(n){!isNaN(n.options.maxZoom)&&isNaN(n.options.minZoom)||(this._zoomBoundLayers[o(n)]=n,this._updateZoomLevels())},_removeZoomLimit:function(n){var t=o(n);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var n=1/0,t=-1/0,u=this._getZoomSpan(),r,i;for(r in this._zoomBoundLayers)i=this._zoomBoundLayers[r].options,n=void 0===i.minZoom?n:Math.min(n,i.minZoom),t=void 0===i.maxZoom?t:Math.max(t,i.maxZoom);this._layersMaxZoom=t===-1/0?void 0:t;this._layersMinZoom=n===1/0?void 0:n;u!==this._getZoomSpan()&&this.fire("zoomlevelschange");void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom);void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var ur=st.extend({initialize:function(n,t){var i,r;if(l(this,t),this._layers={},n)for(i=0,r=n.length;i<r;i++)this.addLayer(n[i])},addLayer:function(n){var t=this.getLayerId(n);return this._layers[t]=n,this._map&&this._map.addLayer(n),this},removeLayer:function(n){var t=n in this._layers?n:this.getLayerId(n);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(n){return!!n&&(n in this._layers||this.getLayerId(n)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(n){var i,t,r=Array.prototype.slice.call(arguments,1);for(i in this._layers)(t=this._layers[i])[n]&&t[n].apply(t,r);return this},onAdd:function(n){this.eachLayer(n.addLayer,n)},onRemove:function(n){this.eachLayer(n.removeLayer,n)},eachLayer:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},getLayer:function(n){return this._layers[n]},getLayers:function(){var n=[];return this.eachLayer(n.push,n),n},setZIndex:function(n){return this.invoke("setZIndex",n)},getLayerId:function(n){return o(n)}}),fr=ur.extend({addLayer:function(n){return this.hasLayer(n)?this:(n.addEventParent(this),ur.prototype.addLayer.call(this,n),this.fire("layeradd",{layer:n}))},removeLayer:function(n){return this.hasLayer(n)?(n in this._layers&&(n=this._layers[n]),n.removeEventParent(this),ur.prototype.removeLayer.call(this,n),this.fire("layerremove",{layer:n})):this},setStyle:function(n){return this.invoke("setStyle",n)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new it,i,n;for(i in this._layers)n=this._layers[i],t.extend(n.getBounds?n.getBounds():n.getLatLng());return t}}),er=dt.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(n){l(this,n)},createIcon:function(n){return this._createIcon("icon",n)},createShadow:function(n){return this._createIcon("shadow",n)},_createIcon:function(n,t){var r=this._getIconUrl(n),i;if(!r){if("icon"===n)throw new Error("iconUrl not set in Icon options (see the docs).");return null}return i=this._createImg(r,t&&"IMG"===t.tagName?t:null),this._setIconStyles(i,n),i},_setIconStyles:function(n,t){var f=this.options,u=f[t+"Size"],i,e;"number"==typeof u&&(u=[u,u]);i=r(u);e=r("shadow"===t&&f.shadowAnchor||f.iconAnchor||i&&i.divideBy(2,!0));n.className="leaflet-marker-"+t+" "+(f.className||"");e&&(n.style.marginLeft=-e.x+"px",n.style.marginTop=-e.y+"px");i&&(n.style.width=i.x+"px",n.style.height=i.y+"px")},_createImg:function(n,t){return(t=t||document.createElement("img")).src=n,t},_getIconUrl:function(n){return fi&&this.options[n+"RetinaUrl"]||this.options[n+"Url"]}}),uu=er.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(n){return uu.imagePath||(uu.imagePath=this._detectIconPath()),(this.options.imagePath||uu.imagePath)+er.prototype._getIconUrl.call(this,n)},_detectIconPath:function(){var t=e("div","leaflet-default-icon-path",document.body),n=nu(t,"background-image")||nu(t,"backgroundImage");return document.body.removeChild(t),n=null===n||0!==n.indexOf("url")?"":n.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),ec=at.extend({initialize:function(n){this._marker=n},addHooks:function(){var n=this._marker._icon;this._draggable||(this._draggable=new ci(n,n,!0));this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable();i(n,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable();this._marker._icon&&p(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(n){var e=this._marker,o=e._map,c=this._marker.options.autoPanSpeed,s=this._marker.options.autoPanPadding,u=ei(e._icon),i=o.getPixelBounds(),h=o.getPixelOrigin(),t=ct(i.min._subtract(h).add(s),i.max._subtract(h).subtract(s)),f;t.contains(u)||(f=r((Math.max(t.max.x,u.x)-t.max.x)/(i.max.x-t.max.x)-(Math.min(t.min.x,u.x)-t.min.x)/(i.min.x-t.min.x),(Math.max(t.max.y,u.y)-t.max.y)/(i.max.y-t.max.y)-(Math.min(t.min.y,u.y)-t.min.y)/(i.min.y-t.min.y)).multiplyBy(c),o.panBy(f,{animate:!1}),this._draggable._newPos._add(f),this._draggable._startPos._add(f),b(e._icon,this._draggable._newPos),this._onDrag(n),this._panRequest=g(this._adjustPan.bind(this,n)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng();this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(n){this._marker.options.autoPan&&(nt(this._panRequest),this._panRequest=g(this._adjustPan.bind(this,n)))},_onDrag:function(n){var t=this._marker,i=t._shadow,r=ei(t._icon),u=t._map.layerPointToLatLng(r);i&&b(i,r);t._latlng=u;n.latlng=u;n.oldLatLng=this._oldLatLng;t.fire("move",n).fire("drag",n)},_onDragEnd:function(n){nt(this._panRequest);delete this._oldLatLng;this._marker.fire("moveend").fire("dragend",n)}}),fu=st.extend({options:{icon:new uu,interactive:!0,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(n,t){l(this,t);this._latlng=y(n)},onAdd:function(n){this._zoomAnimated=this._zoomAnimated&&n.options.markerZoomAnimation;this._zoomAnimated&&n.on("zoomanim",this._animateZoom,this);this._initIcon();this.update()},onRemove:function(n){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks());delete this.dragging;this._zoomAnimated&&n.off("zoomanim",this._animateZoom,this);this._removeIcon();this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(n){var t=this._latlng;return this._latlng=y(n),this.update(),this.fire("move",{oldLatLng:t,latlng:this._latlng})},setZIndexOffset:function(n){return this.options.zIndexOffset=n,this.update()},getIcon:function(){return this.options.icon},setIcon:function(n){return this.options.icon=n,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var n=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(n)}return this},_initIcon:function(){var n=this.options,f="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),t=n.icon.createIcon(this._icon),e=!1,r,u;t!==this._icon&&(this._icon&&this._removeIcon(),e=!0,n.title&&(t.title=n.title),"IMG"===t.tagName&&(t.alt=n.alt||""));i(t,f);n.keyboard&&(t.tabIndex="0");this._icon=t;n.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});r=n.icon.createShadow(this._shadow);u=!1;r!==this._shadow&&(this._removeShadow(),u=!0);r&&(i(r,f),r.alt="");this._shadow=r;n.opacity<1&&this._updateOpacity();e&&this.getPane().appendChild(this._icon);this._initInteraction();r&&u&&this.getPane(n.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex});v(this._icon);this.removeInteractiveTarget(this._icon);this._icon=null},_removeShadow:function(){this._shadow&&v(this._shadow);this._shadow=null},_setPos:function(n){b(this._icon,n);this._shadow&&b(this._shadow,n);this._zIndex=n.y+this.options.zIndexOffset;this._resetZIndex()},_updateZIndex:function(n){this._icon.style.zIndex=this._zIndex+n},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center).round();this._setPos(t)},_initInteraction:function(){if(this.options.interactive&&(i(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),ec)){var n=this.options.draggable;this.dragging&&(n=this.dragging.enabled(),this.dragging.disable());this.dragging=new ec(this);n&&this.dragging.enable()}},setOpacity:function(n){return this.options.opacity=n,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var n=this.options.opacity;this._icon&&ut(this._icon,n);this._shadow&&ut(this._shadow,n)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),oi=st.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(n){this._renderer=n.getRenderer(this)},onAdd:function(){this._renderer._initPath(this);this._reset();this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(n){return l(this,n),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&n.hasOwnProperty("weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project();this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),ef=oi.extend({options:{fill:!0,radius:10},initialize:function(n,t){l(this,t);this._latlng=y(n);this._radius=this.options.radius},setLatLng:function(n){return this._latlng=y(n),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(n){return this.options.radius=this._radius=n,this.redraw()},getRadius:function(){return this._radius},setStyle:function(n){var t=n&&n.radius||this._radius;return oi.prototype.setStyle.call(this,n),this.setRadius(t),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng);this._updateBounds()},_updateBounds:function(){var n=this._radius,r=this._radiusY||n,t=this._clickTolerance(),i=[n+t,r+t];this._pxBounds=new a(this._point.subtract(i),this._point.add(i))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(n){return n.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),vo=ef.extend({initialize:function(n,t,i){if("number"==typeof t&&(t=s({},i,{radius:t})),l(this,t),this._latlng=y(n),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(n){return this._mRadius=n,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var n=[this._radius,this._radiusY||this._radius];return new it(this._map.layerPointToLatLng(this._point.subtract(n)),this._map.layerPointToLatLng(this._point.add(n)))},setStyle:oi.prototype.setStyle,_project:function(){var e=this._latlng.lng,i=this._latlng.lat,n=this._map,o=n.options.crs,c;if(o.distance===ri.distance){var t=Math.PI/180,u=this._mRadius/ri.R/t,h=n.project([i+u,e]),l=n.project([i-u,e]),f=h.add(l).divideBy(2),s=n.unproject(f).lat,r=Math.acos((Math.cos(u*t)-Math.sin(i*t)*Math.sin(s*t))/(Math.cos(i*t)*Math.cos(s*t)))/t;(isNaN(r)||0===r)&&(r=u/Math.cos(Math.PI/180*i));this._point=f.subtract(n.getPixelOrigin());this._radius=isNaN(r)?0:f.x-n.project([s,e-r]).x;this._radiusY=f.y-h.y}else c=o.unproject(o.project(this._latlng).subtract([this._mRadius,0])),this._point=n.latLngToLayerPoint(this._latlng),this._radius=this._point.x-n.latLngToLayerPoint(c).x;this._updateBounds()}}),ti=oi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(n,t){l(this,t);this._setLatLngs(n)},getLatLngs:function(){return this._latlngs},setLatLngs:function(n){return this._setLatLngs(n),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(n){for(var e,o,s,r=1/0,t=null,h=ru,u=0,c=this._parts.length;u<c;u++)for(var f=this._parts[u],i=1,l=f.length;i<l;i++)e=h(n,o=f[i-1],s=f[i],!0),e<r&&(r=e,t=h(n,o,s));return t&&(t.distance=Math.sqrt(r)),t},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var n,r,s,f,u,t,e,i=this._rings[0],o=i.length;if(!o)return null;for(r=n=0;n<o-1;n++)r+=i[n].distanceTo(i[n+1])/2;if(0===r)return this._map.layerPointToLatLng(i[0]);for(f=n=0;n<o-1;n++)if(u=i[n],t=i[n+1],r<(f+=s=u.distanceTo(t)))return e=(f-r)/s,this._map.layerPointToLatLng([t.x-e*(t.x-u.x),t.y-e*(t.y-u.y)])},getBounds:function(){return this._bounds},addLatLng:function(n,t){return t=t||this._defaultShape(),n=y(n),t.push(n),this._bounds.extend(n),this.redraw()},_setLatLngs:function(n){this._bounds=new it;this._latlngs=this._convertLatLngs(n)},_defaultShape:function(){return ni(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(n){for(var i=[],r=ni(n),t=0,u=n.length;t<u;t++)r?(i[t]=y(n[t]),this._bounds.extend(i[t])):i[t]=this._convertLatLngs(n[t]);return i},_project:function(){var n=new a;this._rings=[];this._projectLatlngs(this._latlngs,this._rings,n);this._bounds.isValid()&&n.isValid()&&(this._rawPxBounds=n,this._updateBounds())},_updateBounds:function(){var n=this._clickTolerance(),i=new t(n,n);this._pxBounds=new a([this._rawPxBounds.min.subtract(i),this._rawPxBounds.max.add(i)])},_projectLatlngs:function(n,t,i){var r,u,e=n[0]instanceof h,f=n.length;if(e){for(u=[],r=0;r<f;r++)u[r]=this._map.latLngToLayerPoint(n[r]),i.extend(u[r]);t.push(u)}else for(r=0;r<f;r++)this._projectLatlngs(n[r],t,i)},_clipPoints:function(){var o=this._renderer._bounds,r,n,t,s,e,u,f,i;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(o))if(this.options.noClip)this._parts=this._rings;else for(i=this._parts,t=r=0,s=this._rings.length;r<s;r++)for(n=0,e=(f=this._rings[r]).length;n<e-1;n++)(u=tc(f[n],f[n+1],o,n,!0))&&(i[t]=i[t]||[],i[t].push(u[0]),u[1]===f[n+1]&&n!==e-2||(i[t].push(u[1]),t++))},_simplifyPoints:function(){for(var t=this._parts,i=this.options.smoothFactor,n=0,r=t.length;n<r;n++)t[n]=gh(t[n],i)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(n,t){var r,i,u,e,o,f,s=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(n))return!1;for(r=0,e=this._parts.length;r<e;r++)for(i=0,u=(o=(f=this._parts[r]).length)-1;i<o;u=i++)if((t||0!==i)&&nc(n,f[u],f[i])<=s)return!0;return!1}});ti._flat=ic;ai=ti.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var r,e,n,t,u,i,o,s,c,f=this._rings[0],h=f.length;if(!h)return null;for(i=o=s=0,r=0,e=h-1;r<h;e=r++)n=f[r],t=f[e],u=n.y*t.x-t.y*n.x,o+=(n.x+t.x)*u,s+=(n.y+t.y)*u,i+=3*u;return c=0===i?f[0]:[o/i,s/i],this._map.layerPointToLatLng(c)},_convertLatLngs:function(n){var t=ti.prototype._convertLatLngs.call(this,n),i=t.length;return 2<=i&&t[0]instanceof h&&t[0].equals(t[i-1])&&t.pop(),t},_setLatLngs:function(n){ti.prototype._setLatLngs.call(this,n);ni(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ni(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var n=this._renderer._bounds,r=this.options.weight,u=new t(r,r),f,i,e;if(n=new a(n.min.subtract(u),n.max.add(u)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(n))if(this.options.noClip)this._parts=this._rings;else for(i=0,e=this._rings.length;i<e;i++)(f=uc(this._rings[i],n,!0)).length&&this._parts.push(f)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(n){var f,t,i,r,u,e,s,h,o=!1;if(!this._pxBounds||!this._pxBounds.contains(n))return!1;for(r=0,s=this._parts.length;r<s;r++)for(u=0,e=(h=(f=this._parts[r]).length)-1;u<h;e=u++)t=f[u],i=f[e],t.y>n.y!=i.y>n.y&&n.x<(i.x-t.x)*(n.y-t.y)/(i.y-t.y)+t.x&&(o=!o);return o||ti.prototype._containsPoint.call(this,n,!0)}});kt=fr.extend({initialize:function(n,t){l(this,t);this._layers={};n&&this.addData(n)},addData:function(n){var u,e,r,f=ht(n)?n:n.features,i,t;if(f){for(u=0,e=f.length;u<e;u++)((r=f[u]).geometries||r.geometry||r.features||r.coordinates)&&this.addData(r);return this}return(i=this.options,i.filter&&!i.filter(n))?this:(t=yo(n,i),t?(t.feature=hf(n),t.defaultOptions=t.options,this.resetStyle(t),i.onEachFeature&&i.onEachFeature(n,t),this.addLayer(t)):this)},resetStyle:function(n){return n.options=s({},n.defaultOptions),this._setLayerStyle(n,this.options.style),this},setStyle:function(n){return this.eachLayer(function(t){this._setLayerStyle(t,n)},this)},_setLayerStyle:function(n,t){n.setStyle&&("function"==typeof t&&(t=t(n.feature)),n.setStyle(t))}});cf={toGeoJSON:function(n){return or(this,{type:"Point",coordinates:wo(this.getLatLng(),n)})}};fu.include(cf);vo.include(cf);ef.include(cf);ti.include({toGeoJSON:function(n){var t=!ni(this._latlngs);return or(this,{type:(t?"Multi":"")+"LineString",coordinates:sf(this._latlngs,t?1:0,!1,n)})}});ai.include({toGeoJSON:function(n){var t=!ni(this._latlngs),r=t&&!ni(this._latlngs[0]),i=sf(this._latlngs,r?2:t?1:0,!0,n);return t||(i=[i]),or(this,{type:(r?"Multi":"")+"Polygon",coordinates:i})}});ur.include({toMultiPoint:function(n){var t=[];return this.eachLayer(function(i){t.push(i.toGeoJSON(n).geometry.coordinates)}),or(this,{type:"MultiPoint",coordinates:t})},toGeoJSON:function(n){var r=this.feature&&this.feature.geometry&&this.feature.geometry.type,i,t;return"MultiPoint"===r?this.toMultiPoint(n):(i="GeometryCollection"===r,t=[],this.eachLayer(function(r){var f,u;r.toGeoJSON&&(f=r.toGeoJSON(n),i?t.push(f.geometry):(u=hf(f),"FeatureCollection"===u.type?t.push.apply(t,u.features):t.push(u)))}),i?or(this,{geometries:t,type:"GeometryCollection"}):{type:"FeatureCollection",features:t})}});var cl=oc,lf=st.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(n,t,i){this._url=n;this._bounds=k(t);l(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity());this.options.interactive&&(i(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image));this.getPane().appendChild(this._image);this._reset()},onRemove:function(){v(this._image);this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(n){return this.options.opacity=n,this._image&&this._updateOpacity(),this},setStyle:function(n){return n.opacity&&this.setOpacity(n.opacity),this},bringToFront:function(){return this._map&&tr(this._image),this},bringToBack:function(){return this._map&&ir(this._image),this},setUrl:function(n){return this._url=n,this._image&&(this._image.src=n),this},setBounds:function(n){return this._bounds=k(n),this._map&&this._reset(),this},getEvents:function(){var n={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},setZIndex:function(n){return this.options.zIndex=n,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,n=this._image=t?this._url:e("img");i(n,"leaflet-image-layer");this._zoomAnimated&&i(n,"leaflet-zoom-animated");this.options.className&&i(n,this.options.className);n.onselectstart=d;n.onmousemove=d;n.onload=c(this.fire,this,"load");n.onerror=c(this._overlayOnError,this,"error");!this.options.crossOrigin&&""!==this.options.crossOrigin||(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin);this.options.zIndex&&this._updateZIndex();t?this._url=n.src:(n.src=this._url,n.alt=this.options.alt)},_animateZoom:function(n){var t=this._map.getZoomScale(n.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,n.zoom,n.center).min;si(this._image,i,t)},_reset:function(){var n=this._image,t=new a(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=t.getSize();b(n,t.min);n.style.width=i.x+"px";n.style.height=i.y+"px"},_updateOpacity:function(){ut(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var n=this.options.errorOverlayUrl;n&&this._url!==n&&(this._url=n,this._image.src=n)}}),sc=lf.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0},_initImage:function(){var o="VIDEO"===this._url.tagName,n=this._image=o?this._url:e("video"),t,f;if(i(n,"leaflet-image-layer"),this._zoomAnimated&&i(n,"leaflet-zoom-animated"),n.onselectstart=d,n.onmousemove=d,n.onloadeddata=c(this.fire,this,"load"),o){for(var r=n.getElementsByTagName("source"),s=[],u=0;u<r.length;u++)s.push(r[u].src);this._url=0<r.length?s:[n.src]}else for(ht(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&n.style.hasOwnProperty("objectFit")&&(n.style.objectFit="fill"),n.autoplay=!!this.options.autoplay,n.loop=!!this.options.loop,t=0;t<this._url.length;t++)f=e("source"),f.src=this._url[t],n.appendChild(f)}}),hc=lf.extend({_initImage:function(){var n=this._image=this._url;i(n,"leaflet-image-layer");this._zoomAnimated&&i(n,"leaflet-zoom-animated");n.onselectstart=d;n.onmousemove=d}}),ii=st.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(n,t){l(this,n);this._source=t},onAdd:function(n){this._zoomAnimated=n._zoomAnimated;this._container||this._initLayout();n._fadeAnimated&&ut(this._container,0);clearTimeout(this._removeTimeout);this.getPane().appendChild(this._container);this.update();n._fadeAnimated&&ut(this._container,1);this.bringToFront()},onRemove:function(n){n._fadeAnimated?(ut(this._container,0),this._removeTimeout=setTimeout(c(v,void 0,this._container),200)):v(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(n){return this._latlng=y(n),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(n){return this._content=n,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var n={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&tr(this._container),this},bringToBack:function(){return this._map&&ir(this._container),this},_prepareOpen:function(n,t,i){if(t instanceof st||(i=t,t=n),t instanceof fr)for(var r in n._layers){t=n._layers[r];break}if(!i)if(t.getCenter)i=t.getCenter();else{if(!t.getLatLng)throw new Error("Unable to get source layer LatLng.");i=t.getLatLng()}return this._source=t,this.update(),i},_updateContent:function(){if(this._content){var n=this._contentNode,t="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof t)n.innerHTML=t;else{for(;n.hasChildNodes();)n.removeChild(n.firstChild);n.appendChild(t)}this.fire("contentupdate")}},_updatePosition:function(){var u,f;if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),n=r(this.options.offset),i=this._getAnchor();this._zoomAnimated?b(this._container,t.add(i)):n=n.add(t).add(i);u=this._containerBottom=-n.y;f=this._containerLeft=-Math.round(this._containerWidth/2)+n.x;this._container.style.bottom=u+"px";this._container.style.left=f+"px"}},_getAnchor:function(){return[0,0]}}),sr=ii.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(n){return n.openPopup(this),this},onAdd:function(n){ii.prototype.onAdd.call(this,n);n.fire("popupopen",{popup:this});this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof oi||this._source.on("preclick",hi))},onRemove:function(n){ii.prototype.onRemove.call(this,n);n.fire("popupclose",{popup:this});this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof oi||this._source.off("preclick",hi))},getEvents:function(){var n=ii.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(n.preclick=this._close),this.options.keepInView&&(n.moveend=this._adjustPan),n},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var n="leaflet-popup",i=this._container=e("div",n+" "+(this.options.className||"")+" leaflet-zoom-animated"),r=this._wrapper=e("div",n+"-content-wrapper",i),t;(this._contentNode=e("div",n+"-content",r),tu(r),ro(this._contentNode),u(r,"contextmenu",hi),this._tipContainer=e("div",n+"-tip-container",i),this._tip=e("div",n+"-tip",this._tipContainer),this.options.closeButton)&&(t=this._closeButton=e("a",n+"-close-button",i),t.href="#close",t.innerHTML="&#215;",u(t,"click",this._onCloseButtonClick,this))},_updateLayout:function(){var r=this._contentNode,n=r.style,t;n.width="";n.whiteSpace="nowrap";t=r.offsetWidth;t=Math.min(t,this.options.maxWidth);t=Math.max(t,this.options.minWidth);n.width=t+1+"px";n.whiteSpace="";n.height="";var e=r.offsetHeight,u=this.options.maxHeight,f="leaflet-popup-scrolled";u&&u<e?(n.height=u+"px",i(r,f)):p(r,f);this._containerWidth=this._container.offsetWidth},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center),i=this._getAnchor();b(this._container,t.add(i))},_adjustPan:function(){if(this.options.autoPan){this._map._panAnim&&this._map._panAnim.stop();var s=this._map,v=parseInt(nu(this._container,"marginBottom"),10)||0,h=this._container.offsetHeight+v,c=this._containerWidth,l=new t(this._containerLeft,-h-this._containerBottom);l._add(ei(this._container));var n=s.layerPointToContainerPoint(l),a=r(this.options.autoPanPadding),f=r(this.options.autoPanPaddingTopLeft||a),e=r(this.options.autoPanPaddingBottomRight||a),o=s.getSize(),i=0,u=0;n.x+c+e.x>o.x&&(i=n.x+c-o.x+e.x);n.x-i-f.x<0&&(i=n.x-f.x);n.y+h+e.y>o.y&&(u=n.y+h-o.y+e.y);n.y-u-f.y<0&&(u=n.y-f.y);(i||u)&&s.fire("autopanstart").panBy([i,u])}},_onCloseButtonClick:function(n){this._close();bt(n)},_getAnchor:function(){return r(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});f.mergeOptions({closePopupOnClick:!0});f.include({openPopup:function(n,t,i){return n instanceof sr||(n=new sr(i).setContent(n)),t&&n.setLatLng(t),this.hasLayer(n)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=n,this.addLayer(n))},closePopup:function(n){return n&&n!==this._popup||(n=this._popup,this._popup=null),n&&this.removeLayer(n),this}});st.include({bindPopup:function(n,t){return n instanceof sr?(l(n,t),(this._popup=n)._source=this):(this._popup&&!t||(this._popup=new sr(t,this)),this._popup.setContent(n)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(n,t){return this._popup&&this._map&&(t=this._popup._prepareOpen(this,n,t),this._map.openPopup(this._popup,t)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(n){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(n)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(n){return this._popup&&this._popup.setContent(n),this},getPopup:function(){return this._popup},_openPopup:function(n){var t=n.layer||n.target;this._popup&&this._map&&(bt(n),t instanceof oi?this.openPopup(n.layer||n.target,n.latlng):this._map.hasLayer(this._popup)&&this._popup._source===t?this.closePopup():this.openPopup(t,n.latlng))},_movePopup:function(n){this._popup.setLatLng(n.latlng)},_onKeyPress:function(n){13===n.originalEvent.keyCode&&this._openPopup(n)}});vi=ii.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(n){ii.prototype.onAdd.call(this,n);this.setOpacity(this.options.opacity);n.fire("tooltipopen",{tooltip:this});this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(n){ii.prototype.onRemove.call(this,n);n.fire("tooltipclose",{tooltip:this});this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var n=ii.prototype.getEvents.call(this);return pt&&!this.options.permanent&&(n.preclick=this._close),n},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var n="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=e("div",n)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(n){var h=this._map,u=this._container,c=h.latLngToContainerPoint(h.getCenter()),l=h.layerPointToContainerPoint(n),f=this.options.direction,o=u.offsetWidth,s=u.offsetHeight,t=r(this.options.offset),e=this._getAnchor();n="top"===f?n.add(r(-o/2+t.x,-s+t.y+e.y,!0)):"bottom"===f?n.subtract(r(o/2-t.x,-t.y,!0)):"center"===f?n.subtract(r(o/2+t.x,s/2-e.y+t.y,!0)):"right"===f||"auto"===f&&l.x<c.x?(f="right",n.add(r(t.x+e.x,e.y-s/2+t.y,!0))):(f="left",n.subtract(r(o+e.x-t.x,s/2-e.y-t.y,!0)));p(u,"leaflet-tooltip-right");p(u,"leaflet-tooltip-left");p(u,"leaflet-tooltip-top");p(u,"leaflet-tooltip-bottom");i(u,"leaflet-tooltip-"+f);b(u,n)},_updatePosition:function(){var n=this._map.latLngToLayerPoint(this._latlng);this._setPosition(n)},setOpacity:function(n){this.options.opacity=n;this._container&&ut(this._container,n)},_animateZoom:function(n){var t=this._map._latLngToNewLayerPoint(this._latlng,n.zoom,n.center);this._setPosition(t)},_getAnchor:function(){return r(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});f.include({openTooltip:function(n,t,i){return n instanceof vi||(n=new vi(i).setContent(n)),t&&n.setLatLng(t),this.hasLayer(n)?this:this.addLayer(n)},closeTooltip:function(n){return n&&this.removeLayer(n),this}});st.include({bindTooltip:function(n,t){return n instanceof vi?(l(n,t),(this._tooltip=n)._source=this):(this._tooltip&&!t||(this._tooltip=new vi(t,this)),this._tooltip.setContent(n)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(n){if(n||!this._tooltipHandlersAdded){var i=n?"off":"on",t={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?t.add=this._openTooltip:(t.mouseover=this._openTooltip,t.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(t.mousemove=this._moveTooltip),pt&&(t.click=this._openTooltip));this[i](t);this._tooltipHandlersAdded=!n}},openTooltip:function(n,t){return this._tooltip&&this._map&&(t=this._tooltip._prepareOpen(this,n,t),this._map.openTooltip(this._tooltip,t),this._tooltip.options.interactive&&this._tooltip._container&&(i(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(p(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(n){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(n)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(n){return this._tooltip&&this._tooltip.setContent(n),this},getTooltip:function(){return this._tooltip},_openTooltip:function(n){var t=n.layer||n.target;this._tooltip&&this._map&&this.openTooltip(t,this._tooltip.options.sticky?n.latlng:void 0)},_moveTooltip:function(n){var t,i,r=n.latlng;this._tooltip.options.sticky&&n.originalEvent&&(t=this._map.mouseEventToContainerPoint(n.originalEvent),i=this._map.containerPointToLayerPoint(t),r=this._map.layerPointToLatLng(i));this._tooltip.setLatLng(r)}});bo=er.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(n){var t=n&&"DIV"===n.tagName?n:document.createElement("div"),i=this.options,u;return(i.html instanceof Element?(wu(t),t.appendChild(i.html)):t.innerHTML=!1!==i.html?i.html:"",i.bgPos)&&(u=r(i.bgPos),t.style.backgroundPosition=-u.x+"px "+-u.y+"px"),this._setIconStyles(t,"icon"),t},createShadow:function(){return null}});er.Default=uu;hr=st.extend({options:{tileSize:256,opacity:1,updateWhenIdle:di,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(n){l(this,n)},onAdd:function(){this._initContainer();this._levels={};this._tiles={};this._resetView();this._update()},beforeAdd:function(n){n._addZoomLimit(this)},onRemove:function(n){this._removeAllTiles();v(this._container);n._removeZoomLimit(this);this._container=null;this._tileZoom=void 0},bringToFront:function(){return this._map&&(tr(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ir(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(n){return this.options.opacity=n,this._updateOpacity(),this},setZIndex:function(n){return this.options.zIndex=n,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var n={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=yf(this._onMoveEnd,this.options.updateInterval,this)),n.move=this._onMove),this._zoomAnimated&&(n.zoomanim=this._animateZoom),n},createTile:function(){return document.createElement("div")},getTileSize:function(){var n=this.options.tileSize;return n instanceof t?n:new t(n,n)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(n){for(var r,u=this.getPane().children,t=-n(-1/0,1/0),i=0,f=u.length;i<f;i++)r=u[i].style.zIndex,u[i]!==this._container&&r&&(t=n(t,+r));isFinite(t)&&(this.options.zIndex=t+n(-1,1),this._updateZIndex())},_updateOpacity:function(){var u,n,t;if(this._map&&!bi){ut(this._container,this.options.opacity);var f=+new Date,i=!1,r=!1;for(u in this._tiles)n=this._tiles[u],n.current&&n.loaded&&(t=Math.min(1,(f-n.loaded)/200),ut(n.el,t),t<1?i=!0:(n.active?r=!0:this._onOpaqueTile(n),n.active=!0));r&&!this._noPrune&&this._pruneTiles();i&&(nt(this._fadeFrame),this._fadeFrame=g(this._updateOpacity,this))}},_onOpaqueTile:d,_initContainer:function(){this._container||(this._container=e("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var i=this._tileZoom,u=this.options.maxZoom,n,t,r;if(void 0!==i){for(n in this._levels)this._levels[n].el.children.length||n===i?(this._levels[n].el.style.zIndex=u-Math.abs(i-n),this._onUpdateLevel(n)):(v(this._levels[n].el),this._removeTilesAtZoom(n),this._onRemoveLevel(n),delete this._levels[n]);return t=this._levels[i],r=this._map,t||((t=this._levels[i]={}).el=e("div","leaflet-tile-container leaflet-zoom-animated",this._container),t.el.style.zIndex=u,t.origin=r.project(r.unproject(r.getPixelOrigin()),i).round(),t.zoom=i,this._setZoomTransform(t,r.getCenter(),r.getZoom()),t.el.offsetWidth,this._onCreateLevel(t)),this._level=t}},_onUpdateLevel:d,_onRemoveLevel:d,_onCreateLevel:d,_pruneTiles:function(){var t,i,r,n;if(this._map)if(r=this._map.getZoom(),r>this.options.maxZoom||r<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)(i=this._tiles[t]).current&&!i.active&&(n=i.coords,this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2));for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}},_removeTilesAtZoom:function(n){for(var t in this._tiles)this._tiles[t].coords.z===n&&this._removeTile(t)},_removeAllTiles:function(){for(var n in this._tiles)this._removeTile(n)},_invalidateAll:function(){for(var n in this._levels)v(this._levels[n].el),this._onRemoveLevel(n),delete this._levels[n];this._removeAllTiles();this._tileZoom=void 0},_retainParent:function(n,i,r,u){var o=Math.floor(n/2),s=Math.floor(i/2),e=r-1,h=new t(+o,+s),c,f;return h.z=+e,c=this._tileCoordsToKey(h),f=this._tiles[c],f&&f.active?f.retain=!0:(f&&f.loaded&&(f.retain=!0),u<e&&this._retainParent(o,s,e,u))},_retainChildren:function(n,i,r,u){for(var o,s,h,f,e=2*n;e<2*n+2;e++)for(o=2*i;o<2*i+2;o++)s=new t(e,o),s.z=r+1,h=this._tileCoordsToKey(s),f=this._tiles[h],f&&f.active?f.retain=!0:(f&&f.loaded&&(f.retain=!0),r+1<u&&this._retainChildren(e,o,r+1,u))},_resetView:function(n){var t=n&&(n.pinch||n.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(n){this._setView(n.center,n.zoom,!0,n.noUpdate)},_clampZoom:function(n){var t=this.options;return void 0!==t.minNativeZoom&&n<t.minNativeZoom?t.minNativeZoom:void 0!==t.maxNativeZoom&&t.maxNativeZoom<n?t.maxNativeZoom:n},_setView:function(n,t,i,r){var u=this._clampZoom(Math.round(t)),f;(void 0!==this.options.maxZoom&&u>this.options.maxZoom||void 0!==this.options.minZoom&&u<this.options.minZoom)&&(u=void 0);f=this.options.updateWhenZooming&&u!==this._tileZoom;r&&!f||(this._tileZoom=u,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==u&&this._update(n),i||this._pruneTiles(),this._noPrune=!!i);this._setZoomTransforms(n,t)},_setZoomTransforms:function(n,t){for(var i in this._levels)this._setZoomTransform(this._levels[i],n,t)},_setZoomTransform:function(n,t,i){var r=this._map.getZoomScale(i,n.zoom),u=n.origin.multiplyBy(r).subtract(this._map._getNewPixelOrigin(t,i)).round();rt?si(n.el,u,r):b(n.el,u)},_resetGrid:function(){var t=this._map,n=t.options.crs,i=this._tileSize=this.getTileSize(),r=this._tileZoom,u=this._map.getPixelWorldBounds(this._tileZoom);u&&(this._globalTileRange=this._pxBoundsToTileRange(u));this._wrapX=n.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,n.wrapLng[0]],r).x/i.x),Math.ceil(t.project([0,n.wrapLng[1]],r).x/i.y)];this._wrapY=n.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([n.wrapLat[0],0],r).y/i.x),Math.ceil(t.project([n.wrapLat[1],0],r).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(n){var t=this._map,u=t._animatingZoom?Math.max(t._animateToZoom,t.getZoom()):t.getZoom(),f=t.getZoomScale(u,this._tileZoom),i=t.project(n,this._tileZoom).floor(),r=t.getSize().divideBy(2*f);return new a(i.subtract(r),i.add(r))},_update:function(n){var h=this._map,c,l,o,s,r,f,v,y;if(h&&(c=this._clampZoom(h.getZoom()),void 0===n&&(n=h.getCenter()),void 0!==this._tileZoom)){var w=this._getTiledPixelBounds(n),i=this._pxBoundsToTileRange(w),p=i.getCenter(),u=[],e=this.options.keepBuffer,b=new a(i.getBottomLeft().subtract([e,-e]),i.getTopRight().add([e,-e]));if(!(isFinite(i.min.x)&&isFinite(i.min.y)&&isFinite(i.max.x)&&isFinite(i.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(l in this._tiles)o=this._tiles[l].coords,o.z===this._tileZoom&&b.contains(new t(o.x,o.y))||(this._tiles[l].current=!1);if(1<Math.abs(c-this._tileZoom))this._setView(n,c);else{for(s=i.min.y;s<=i.max.y;s++)for(r=i.min.x;r<=i.max.x;r++)f=new t(r,s),(f.z=this._tileZoom,this._isValidTile(f))&&(v=this._tiles[this._tileCoordsToKey(f)],v?v.current=!0:u.push(f));if(u.sort(function(n,t){return n.distanceTo(p)-t.distanceTo(p)}),0!==u.length){for(this._loading||(this._loading=!0,this.fire("loading")),y=document.createDocumentFragment(),r=0;r<u.length;r++)this._addTile(u[r],y);this._level.el.appendChild(y)}}}},_isValidTile:function(n){var i=this._map.options.crs,t,r;return!i.infinite&&(t=this._globalTileRange,!i.wrapLng&&(n.x<t.min.x||n.x>t.max.x)||!i.wrapLat&&(n.y<t.min.y||n.y>t.max.y))?!1:this.options.bounds?(r=this._tileCoordsToBounds(n),k(this.options.bounds).overlaps(r)):!0},_keyToBounds:function(n){return this._tileCoordsToBounds(this._keyToTileCoords(n))},_tileCoordsToNwSe:function(n){var t=this._map,i=this.getTileSize(),r=n.scaleBy(i),u=r.add(i);return[t.unproject(r,n.z),t.unproject(u,n.z)]},_tileCoordsToBounds:function(n){var i=this._tileCoordsToNwSe(n),t=new it(i[0],i[1]);return this.options.noWrap||(t=this._map.wrapLatLngBounds(t)),t},_tileCoordsToKey:function(n){return n.x+":"+n.y+":"+n.z},_keyToTileCoords:function(n){var i=n.split(":"),r=new t(+i[0],+i[1]);return r.z=+i[2],r},_removeTile:function(n){var t=this._tiles[n];t&&(v(t.el),delete this._tiles[n],this.fire("tileunload",{tile:t.el,coords:this._keyToTileCoords(n)}))},_initTile:function(n){i(n,"leaflet-tile");var t=this.getTileSize();n.style.width=t.x+"px";n.style.height=t.y+"px";n.onselectstart=d;n.onmousemove=d;bi&&this.options.opacity<1&&ut(n,this.options.opacity);ki&&!wr&&(n.style.WebkitBackfaceVisibility="hidden")},_addTile:function(n,t){var r=this._getTilePos(n),u=this._tileCoordsToKey(n),i=this.createTile(this._wrapCoords(n),c(this._tileReady,this,n));this._initTile(i);this.createTile.length<2&&g(c(this._tileReady,this,n,null,i));b(i,r);this._tiles[u]={el:i,coords:n,current:!0};t.appendChild(i);this.fire("tileloadstart",{tile:i,coords:n})},_tileReady:function(n,t,r){t&&this.fire("tileerror",{error:t,tile:r,coords:n});var u=this._tileCoordsToKey(n);(r=this._tiles[u])&&(r.loaded=+new Date,this._map._fadeAnimated?(ut(r.el,0),nt(this._fadeFrame),this._fadeFrame=g(this._updateOpacity,this)):(r.active=!0,this._pruneTiles()),t||(i(r.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:r.el,coords:n})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),bi||!this._map._fadeAnimated?g(this._pruneTiles,this):setTimeout(c(this._pruneTiles,this),250)))},_getTilePos:function(n){return n.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(n){var i=new t(this._wrapX?lr(n.x,this._wrapX):n.x,this._wrapY?lr(n.y,this._wrapY):n.y);return i.z=n.z,i},_pxBoundsToTileRange:function(n){var t=this.getTileSize();return new a(n.min.unscaleBy(t).floor(),n.max.unscaleBy(t).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var n in this._tiles)if(!this._tiles[n].loaded)return!1;return!0}});yi=hr.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(n,t){this._url=n;(t=l(this,t)).detectRetina&&fi&&0<t.maxZoom&&(t.tileSize=Math.floor(t.tileSize/2),t.zoomReverse?(t.zoomOffset--,t.minZoom++):(t.zoomOffset++,t.maxZoom--),t.minZoom=Math.max(0,t.minZoom));"string"==typeof t.subdomains&&(t.subdomains=t.subdomains.split(""));ki||this.on("tileunload",this._onTileRemove)},setUrl:function(n,t){return this._url===n&&void 0===t&&(t=!0),this._url=n,t||this.redraw(),this},createTile:function(n,t){var i=document.createElement("img");return u(i,"load",c(this._tileOnLoad,this,t,i)),u(i,"error",c(this._tileOnError,this,t,i)),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),i.alt="",i.setAttribute("role","presentation"),i.src=this.getTileUrl(n),i},getTileUrl:function(n){var t={r:fi?"@2x":"",s:this._getSubdomain(n),x:n.x,y:n.y,z:this._getZoomForUrl()},i;return this._map&&!this._map.options.crs.infinite&&(i=this._globalTileRange.max.y-n.y,this.options.tms&&(t.y=i),t["-y"]=i),as(this._url,s(t,this.options))},_tileOnLoad:function(n,t){bi?setTimeout(c(n,this,null,t),0):n(null,t)},_tileOnError:function(n,t,i){var r=this.options.errorTileUrl;r&&t.getAttribute("src")!==r&&(t.src=r);n(i,t)},_onTileRemove:function(n){n.tile.onload=null},_getZoomForUrl:function(){var n=this._tileZoom,t=this.options.maxZoom;return this.options.zoomReverse&&(n=t-n),n+this.options.zoomOffset},_getSubdomain:function(n){var t=Math.abs(n.x+n.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var t,n;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((n=this._tiles[t].el).onload=d,n.onerror=d,n.complete||(n.src=ar,v(n),delete this._tiles[t]))},_removeTile:function(n){var t=this._tiles[n];if(t)return gs||t.el.setAttribute("src",ar),hr.prototype._removeTile.call(this,n)},_tileReady:function(n,t,i){if(this._map&&(!i||i.getAttribute("src")!==ar))return hr.prototype._tileReady.call(this,n,t,i)}});ko=yi.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(n,t){var i,r,u,f;this._url=n;i=s({},this.defaultWmsParams);for(r in t)r in this.options||(i[r]=t[r]);u=(t=l(this,t)).detectRetina&&fi?2:1;f=this.getTileSize();i.width=f.x*u;i.height=f.y*u;this.wmsParams=i},onAdd:function(n){this._crs=this.options.crs||n.options.crs;this._wmsVersion=parseFloat(this.wmsParams.version);var t=1.3<=this._wmsVersion?"crs":"srs";this.wmsParams[t]=this._crs.code;yi.prototype.onAdd.call(this,n)},getTileUrl:function(n){var r=this._tileCoordsToNwSe(n),u=this._crs,f=ct(u.project(r[0]),u.project(r[1])),t=f.min,i=f.max,o=(1.3<=this._wmsVersion&&this._crs===fc?[t.y,t.x,i.y,i.x]:[t.x,t.y,i.x,i.y]).join(","),e=yi.prototype.getTileUrl.call(this,n);return e+cs(this.wmsParams,e,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+o},setParams:function(n,t){return s(this.wmsParams,n),t||this.redraw(),this}});yi.WMS=ko;cc.wms=function(n,t){return new ko(n,t)};vt=st.extend({options:{padding:.1,tolerance:0},initialize:function(n){l(this,n);o(this);this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&i(this._container,"leaflet-zoom-animated"));this.getPane().appendChild(this._container);this._update();this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this);this._destroyContainer()},getEvents:function(){var n={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(n.zoomanim=this._onAnimZoom),n},_onAnimZoom:function(n){this._updateTransform(n.center,n.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(n,t){var i=this._map.getZoomScale(t,this._zoom),f=ei(this._container),r=this._map.getSize().multiplyBy(.5+this.options.padding),e=this._map.project(this._center,t),o=this._map.project(n,t).subtract(e),u=r.multiplyBy(-i).add(f).add(r).subtract(o);rt?si(this._container,u,i):b(this._container,u)},_reset:function(){for(var n in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[n]._reset()},_onZoomEnd:function(){for(var n in this._layers)this._layers[n]._project()},_updatePaths:function(){for(var n in this._layers)this._layers[n]._update()},_update:function(){var n=this.options.padding,t=this._map.getSize(),i=this._map.containerPointToLayerPoint(t.multiplyBy(-n)).round();this._bounds=new a(i,i.add(t.multiplyBy(1+2*n)).round());this._center=this._map.getCenter();this._zoom=this._map.getZoom()}});go=vt.extend({getEvents:function(){var n=vt.prototype.getEvents.call(this);return n.viewprereset=this._onViewPreReset,n},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){vt.prototype.onAdd.call(this);this._draw()},_initContainer:function(){var n=this._container=document.createElement("canvas");u(n,"mousemove",yf(this._onMouseMove,32,this),this);u(n,"click dblclick mousedown mouseup contextmenu",this._onClick,this);u(n,"mouseout",this._handleMouseOut,this);this._ctx=n.getContext("2d")},_destroyContainer:function(){nt(this._redrawRequest);delete this._ctx;v(this._container);w(this._container);delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var n in this._redrawBounds=null,this._layers)this._layers[n]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){vt.prototype._update.call(this);var t=this._bounds,n=this._container,i=t.getSize(),r=fi?2:1;b(n,t.min);n.width=r*i.x;n.height=r*i.y;n.style.width=i.x+"px";n.style.height=i.y+"px";fi&&this._ctx.scale(2,2);this._ctx.translate(-t.min.x,-t.min.y);this.fire("update")}},_reset:function(){vt.prototype._reset.call(this);this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(n){this._updateDashArray(n);var t=(this._layers[o(n)]=n)._order={layer:n,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t);this._drawLast=t;this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(n){this._requestRedraw(n)},_removePath:function(n){var r=n._order,t=r.next,i=r.prev;t?t.prev=i:this._drawLast=i;i?i.next=t:this._drawFirst=t;delete n._order;delete this._layers[o(n)];this._requestRedraw(n)},_updatePath:function(n){this._extendRedrawBounds(n);n._project();n._update();this._requestRedraw(n)},_updateStyle:function(n){this._updateDashArray(n);this._requestRedraw(n)},_updateDashArray:function(n){if("string"==typeof n.options.dashArray){for(var i,r=n.options.dashArray.split(/[, ]+/),u=[],t=0;t<r.length;t++){if(i=Number(r[t]),isNaN(i))return;u.push(i)}n.options._dashArray=u}else n.options._dashArray=n.options.dashArray},_requestRedraw:function(n){this._map&&(this._extendRedrawBounds(n),this._redrawRequest=this._redrawRequest||g(this._redraw,this))},_extendRedrawBounds:function(n){if(n._pxBounds){var t=(n.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new a;this._redrawBounds.extend(n._pxBounds.min.subtract([t,t]));this._redrawBounds.extend(n._pxBounds.max.add([t,t]))}},_redraw:function(){this._redrawRequest=null;this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil());this._clear();this._draw();this._redrawBounds=null},_clear:function(){var n=this._redrawBounds,t;n?(t=n.getSize(),this._ctx.clearRect(n.min.x,n.min.y,t.x,t.y)):this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var i,n=this._redrawBounds,r,t;for((this._ctx.save(),n)&&(r=n.getSize(),this._ctx.beginPath(),this._ctx.rect(n.min.x,n.min.y,r.x,r.y),this._ctx.clip()),this._drawing=!0,t=this._drawFirst;t;t=t.next)i=t.layer,(!n||i._pxBounds&&i._pxBounds.intersects(n))&&i._updatePath();this._drawing=!1;this._ctx.restore()},_updatePoly:function(n,t){if(this._drawing){var i,r,o,f,e=n._parts,s=e.length,u=this._ctx;if(s){for(u.beginPath(),i=0;i<s;i++){for(r=0,o=e[i].length;r<o;r++)f=e[i][r],u[r?"lineTo":"moveTo"](f.x,f.y);t&&u.closePath()}this._fillStroke(u,n)}}},_updateCircle:function(n){if(this._drawing&&!n._empty()){var u=n._point,t=this._ctx,r=Math.max(Math.round(n._radius),1),i=(Math.max(Math.round(n._radiusY),1)||r)/r;1!=i&&(t.save(),t.scale(1,i));t.beginPath();t.arc(u.x,u.y/i,r,0,2*Math.PI,!1);1!=i&&t.restore();this._fillStroke(t,n)}},_fillStroke:function(n,t){var i=t.options;i.fill&&(n.globalAlpha=i.fillOpacity,n.fillStyle=i.fillColor||i.color,n.fill(i.fillRule||"evenodd"));i.stroke&&0!==i.weight&&(n.setLineDash&&n.setLineDash(t.options&&t.options._dashArray||[]),n.globalAlpha=i.opacity,n.lineWidth=i.weight,n.strokeStyle=i.color,n.lineCap=i.lineCap,n.lineJoin=i.lineJoin,n.stroke())},_onClick:function(n){for(var t,r,u=this._map.mouseEventToLayerPoint(n),i=this._drawFirst;i;i=i.next)(t=i.layer).options.interactive&&t._containsPoint(u)&&!this._map._draggableMoved(t)&&(r=t);r&&(fo(n),this._fireEvent([r],n))},_onMouseMove:function(n){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var t=this._map.mouseEventToLayerPoint(n);this._handleMouseHover(n,t)}},_handleMouseOut:function(n){var t=this._hoveredLayer;t&&(p(this._container,"leaflet-interactive"),this._fireEvent([t],n,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(n,t){for(var f,r,u=this._drawFirst;u;u=u.next)(f=u.layer).options.interactive&&f._containsPoint(t)&&(r=f);r!==this._hoveredLayer&&(this._handleMouseOut(n),r&&(i(this._container,"leaflet-interactive"),this._fireEvent([r],n,"mouseover"),this._hoveredLayer=r));this._hoveredLayer&&this._fireEvent([this._hoveredLayer],n)},_fireEvent:function(n,t,i){this._map._fireDOMEvent(t,i||t.type,n)},_bringToFront:function(n){var t=n._order,i,r;t&&(i=t.next,r=t.prev,i&&((i.prev=r)?r.next=i:i&&(this._drawFirst=i),t.prev=this._drawLast,(this._drawLast.next=t).next=null,this._drawLast=t,this._requestRedraw(n)))},_bringToBack:function(n){var t=n._order,r,i;t&&(r=t.next,i=t.prev,i&&((i.next=r)?r.prev=i:i&&(this._drawLast=i),t.prev=null,t.next=this._drawFirst,this._drawFirst.prev=t,this._drawFirst=t,this._requestRedraw(n)))}});var eu=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(n){return document.createElement("<lvml:"+n+' class="lvml">')}}catch(n){return function(n){return document.createElement("<"+n+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),ll={_initContainer:function(){this._container=e("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(vt.prototype._update.call(this),this.fire("update"))},_initPath:function(n){var t=n._container=eu("shape");i(t,"leaflet-vml-shape "+(this.options.className||""));t.coordsize="1 1";n._path=eu("path");t.appendChild(n._path);this._updateStyle(n);this._layers[o(n)]=n},_addPath:function(n){var t=n._container;this._container.appendChild(t);n.options.interactive&&n.addInteractiveTarget(t)},_removePath:function(n){var t=n._container;v(t);n.removeInteractiveTarget(t);delete this._layers[o(n)]},_updateStyle:function(n){var i=n._stroke,r=n._fill,t=n.options,u=n._container;u.stroked=!!t.stroke;u.filled=!!t.fill;t.stroke?(i||(i=n._stroke=eu("stroke")),u.appendChild(i),i.weight=t.weight+"px",i.color=t.color,i.opacity=t.opacity,i.dashStyle=t.dashArray?ht(t.dashArray)?t.dashArray.join(" "):t.dashArray.replace(/( *, *)/g," "):"",i.endcap=t.lineCap.replace("butt","flat"),i.joinstyle=t.lineJoin):i&&(u.removeChild(i),n._stroke=null);t.fill?(r||(r=n._fill=eu("fill")),u.appendChild(r),r.color=t.fillColor||t.color,r.opacity=t.fillOpacity):r&&(u.removeChild(r),n._fill=null)},_updateCircle:function(n){var t=n._point.round(),i=Math.round(n._radius),r=Math.round(n._radiusY||i);this._setPath(n,n._empty()?"M0 0":"AL "+t.x+","+t.y+" "+i+","+r+" 0,23592600")},_setPath:function(n,t){n._path.v=t},_bringToFront:function(n){tr(n._container)},_bringToBack:function(n){ir(n._container)}},af=au?eu:ks,ou=vt.extend({getEvents:function(){var n=vt.prototype.getEvents.call(this);return n.zoomstart=this._onZoomStart,n},_initContainer:function(){this._container=af("svg");this._container.setAttribute("pointer-events","none");this._rootGroup=af("g");this._container.appendChild(this._rootGroup)},_destroyContainer:function(){v(this._container);w(this._container);delete this._container;delete this._rootGroup;delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){vt.prototype._update.call(this);var t=this._bounds,n=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(n)||(this._svgSize=n,i.setAttribute("width",n.x),i.setAttribute("height",n.y));b(i,t.min);i.setAttribute("viewBox",[t.min.x,t.min.y,n.x,n.y].join(" "));this.fire("update")}},_initPath:function(n){var t=n._path=af("path");n.options.className&&i(t,n.options.className);n.options.interactive&&i(t,"leaflet-interactive");this._updateStyle(n);this._layers[o(n)]=n},_addPath:function(n){this._rootGroup||this._initContainer();this._rootGroup.appendChild(n._path);n.addInteractiveTarget(n._path)},_removePath:function(n){v(n._path);n.removeInteractiveTarget(n._path);delete this._layers[o(n)]},_updatePath:function(n){n._project();n._update()},_updateStyle:function(n){var t=n._path,i=n.options;t&&(i.stroke?(t.setAttribute("stroke",i.color),t.setAttribute("stroke-opacity",i.opacity),t.setAttribute("stroke-width",i.weight),t.setAttribute("stroke-linecap",i.lineCap),t.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?t.setAttribute("stroke-dasharray",i.dashArray):t.removeAttribute("stroke-dasharray"),i.dashOffset?t.setAttribute("stroke-dashoffset",i.dashOffset):t.removeAttribute("stroke-dashoffset")):t.setAttribute("stroke","none"),i.fill?(t.setAttribute("fill",i.fillColor||i.color),t.setAttribute("fill-opacity",i.fillOpacity),t.setAttribute("fill-rule",i.fillRule||"evenodd")):t.setAttribute("fill","none"))},_updatePoly:function(n,t){this._setPath(n,ds(n._parts,t))},_updateCircle:function(n){var i=n._point,t=Math.max(Math.round(n._radius),1),r="a"+t+","+(Math.max(Math.round(n._radiusY),1)||t)+" 0 1,0 ",u=n._empty()?"M0 0":"M"+(i.x-t)+","+i.y+r+2*t+",0 "+r+2*-t+",0 ";this._setPath(n,u)},_setPath:function(n,t){n._path.setAttribute("d",t)},_bringToFront:function(n){tr(n._path)},_bringToBack:function(n){ir(n._path)}});au&&ou.include(ll);f.include({getRenderer:function(n){var t=n.options.renderer||this._getPaneRenderer(n.options.pane)||this.options.renderer||this._renderer;return t||(t=this._renderer=this._createRenderer()),this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(n){if("overlayPane"===n||void 0===n)return!1;var t=this._paneRenderers[n];return void 0===t&&(t=this._createRenderer({pane:n}),this._paneRenderers[n]=t),t},_createRenderer:function(n){return this.options.preferCanvas&&lc(n)||ac(n)}});ns=ai.extend({initialize:function(n,t){ai.prototype.initialize.call(this,this._boundsToLatLngs(n),t)},setBounds:function(n){return this.setLatLngs(this._boundsToLatLngs(n))},_boundsToLatLngs:function(n){return[(n=k(n)).getSouthWest(),n.getNorthWest(),n.getNorthEast(),n.getSouthEast()]}});ou.create=af;ou.pointsToPath=ds;kt.geometryToLayer=yo;kt.coordsToLatLng=po;kt.coordsToLatLngs=of;kt.latLngToCoords=wo;kt.latLngsToCoords=sf;kt.getFeature=or;kt.asFeature=hf;f.mergeOptions({boxZoom:!0});ts=at.extend({initialize:function(n){this._map=n;this._container=n._container;this._pane=n._panes.overlayPane;this._resetStateTimeout=0;n.on("unload",this._destroy,this)},addHooks:function(){u(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){w(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){v(this._pane);delete this._pane},_resetState:function(){this._resetStateTimeout=0;this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(n){if(!n.shiftKey||1!==n.which&&1!==n.button)return!1;this._clearDeferredResetState();this._resetState();kr();de();this._startPoint=this._map.mouseEventToContainerPoint(n);u(document,{contextmenu:bt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(n){this._moved||(this._moved=!0,this._box=e("div","leaflet-zoom-box",this._container),i(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart"));this._point=this._map.mouseEventToContainerPoint(n);var t=new a(this._point,this._startPoint),r=t.getSize();b(this._box,t.min);this._box.style.width=r.x+"px";this._box.style.height=r.y+"px"},_finish:function(){this._moved&&(v(this._box),p(this._container,"leaflet-crosshair"));dr();ge();w(document,{contextmenu:bt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(n){if((1===n.which||1===n.button)&&(this._finish(),this._moved)){this._clearDeferredResetState();this._resetStateTimeout=setTimeout(c(this._resetState,this),0);var t=new it(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})}},_onKeyDown:function(n){27===n.keyCode&&this._finish()}});f.addInitHook("addHandler","boxZoom",ts);f.mergeOptions({doubleClickZoom:!0});is=at.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(n){var t=this._map,i=t.getZoom(),r=t.options.zoomDelta,u=n.originalEvent.shiftKey?i-r:i+r;"center"===t.options.doubleClickZoom?t.setZoom(u):t.setZoomAround(n.containerPoint,u)}});f.addInitHook("addHandler","doubleClickZoom",is);f.mergeOptions({dragging:!0,inertia:!wr,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});rs=at.extend({addHooks:function(){if(!this._draggable){var n=this._map;this._draggable=new ci(n._mapPane,n._container);this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this);this._draggable.on("predrag",this._onPreDragLimit,this);n.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),n.on("zoomend",this._onZoomEnd,this),n.whenReady(this._onZoomEnd,this))}i(this._map._container,"leaflet-grab leaflet-touch-drag");this._draggable.enable();this._positions=[];this._times=[]},removeHooks:function(){p(this._map._container,"leaflet-grab");p(this._map._container,"leaflet-touch-drag");this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var n=this._map,t;(n._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity)?(t=k(this._map.options.maxBounds),this._offsetLimit=ct(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null;n.fire("movestart").fire("dragstart");n.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(n){if(this._map.options.inertia){var t=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i);this._times.push(t);this._prunePositions(t)}this._map.fire("move",n).fire("drag",n)},_prunePositions:function(n){for(;1<this._positions.length&&50<n-this._times[0];)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var n=this._map.getSize().divideBy(2),t=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=t.subtract(n).x;this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(n,t){return n-(n-t)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var n=this._draggable._newPos.subtract(this._draggable._startPos),t=this._offsetLimit;n.x<t.min.x&&(n.x=this._viscousLimit(n.x,t.min.x));n.y<t.min.y&&(n.y=this._viscousLimit(n.y,t.min.y));n.x>t.max.x&&(n.x=this._viscousLimit(n.x,t.max.x));n.y>t.max.y&&(n.y=this._viscousLimit(n.y,t.max.y));this._draggable._newPos=this._draggable._startPos.add(n)}},_onPreDragWrap:function(){var i=this._worldWidth,t=Math.round(i/2),n=this._initialWorldOffset,r=this._draggable._newPos.x,u=(r-t+n)%i+t-n,f=(r+t+n)%i-t-n,e=Math.abs(u+n)<Math.abs(f+n)?u:f;this._draggable._absPos=this._draggable._newPos.clone();this._draggable._newPos.x=e},_onDragEnd:function(n){var t=this._map,r=t.options,h=!r.inertia||this._times.length<2;if(t.fire("dragend",n),h)t.fire("moveend");else{this._prunePositions(+new Date);var c=this._lastPos.subtract(this._positions[0]),l=(this._lastTime-this._times[0])/1e3,u=r.easeLinearity,f=c.multiplyBy(u/l),e=f.distanceTo([0,0]),o=Math.min(r.inertiaMaxSpeed,e),a=f.multiplyBy(o/e),s=o/(r.inertiaDeceleration*u),i=a.multiplyBy(-s/2).round();i.x||i.y?(i=t._limitOffset(i,t.options.maxBounds),g(function(){t.panBy(i,{duration:s,easeLinearity:u,noMoveStart:!0,animate:!0})})):t.fire("moveend")}}});f.addInitHook("addHandler","dragging",rs);f.mergeOptions({keyboard:!0,keyboardPanDelta:80});us=at.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(n){this._map=n;this._setPanDelta(n.options.keyboardPanDelta);this._setZoomDelta(n.options.zoomDelta)},addHooks:function(){var n=this._map._container;n.tabIndex<=0&&(n.tabIndex="0");u(n,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this);this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks();w(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this);this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var n=document.body,t=document.documentElement,i=n.scrollTop||t.scrollTop,r=n.scrollLeft||t.scrollLeft;this._map._container.focus();window.scrollTo(r,i)}},_onFocus:function(){this._focused=!0;this._map.fire("focus")},_onBlur:function(){this._focused=!1;this._map.fire("blur")},_setPanDelta:function(n){for(var u=this._panKeys={},r=this.keyCodes,t=0,i=r.left.length;t<i;t++)u[r.left[t]]=[-1*n,0];for(t=0,i=r.right.length;t<i;t++)u[r.right[t]]=[n,0];for(t=0,i=r.down.length;t<i;t++)u[r.down[t]]=[0,n];for(t=0,i=r.up.length;t<i;t++)u[r.up[t]]=[0,-1*n]},_setZoomDelta:function(n){for(var u=this._zoomKeys={},r=this.keyCodes,t=0,i=r.zoomIn.length;t<i;t++)u[r.zoomIn[t]]=n;for(t=0,i=r.zoomOut.length;t<i;t++)u[r.zoomOut[t]]=-n},_addHooks:function(){u(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){w(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(n){if(!(n.altKey||n.ctrlKey||n.metaKey)){var u,i=n.keyCode,t=this._map;if(i in this._panKeys)t._panAnim&&t._panAnim._inProgress||(u=this._panKeys[i],n.shiftKey&&(u=r(u).multiplyBy(3)),t.panBy(u),t.options.maxBounds&&t.panInsideBounds(t.options.maxBounds));else if(i in this._zoomKeys)t.setZoom(t.getZoom()+(n.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i||!t._popup||!t._popup.options.closeOnEscapeKey)return;t.closePopup()}bt(n)}}});f.addInitHook("addHandler","keyboard",us);f.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});fs=at.extend({addHooks:function(){u(this._map._container,"mousewheel",this._onWheelScroll,this);this._delta=0},removeHooks:function(){w(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(n){var i=ph(n),r=this._map.options.wheelDebounceTime,t;this._delta+=i;this._lastMousePos=this._map.mouseEventToContainerPoint(n);this._startTime||(this._startTime=+new Date);t=Math.max(r-(+new Date-this._startTime),0);clearTimeout(this._timer);this._timer=setTimeout(c(this._performZoom,this),t);bt(n)},_performZoom:function(){var n=this._map,t=n.getZoom(),i=this._map.options.zoomSnap||0;n._stop();var e=this._delta/(4*this._map.options.wheelPxPerZoomLevel),u=4*Math.log(2/(1+Math.exp(-Math.abs(e))))/Math.LN2,f=i?Math.ceil(u/i)*i:u,r=n._limitZoom(t+(0<this._delta?f:-f))-t;this._delta=0;this._startTime=null;r&&("center"===n.options.scrollWheelZoom?n.setZoom(t+r):n.setZoomAround(this._lastMousePos,t+r))}});f.addInitHook("addHandler","scrollWheelZoom",fs);f.mergeOptions({tap:!0,tapTolerance:15});es=at.extend({addHooks:function(){u(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){w(this._map._container,"touchstart",this._onDown,this)},_onDown:function(n){if(n.touches){if(et(n),this._fireClick=!0,1<n.touches.length)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var r=n.touches[0],f=r.target;this._startPos=this._newPos=new t(r.clientX,r.clientY);f.tagName&&"a"===f.tagName.toLowerCase()&&i(f,"leaflet-active");this._holdTimeout=setTimeout(c(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",r))},this),1e3);this._simulateEvent("mousedown",r);u(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(n){if(clearTimeout(this._holdTimeout),w(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&n&&n.changedTouches){var i=n.changedTouches[0],t=i.target;t&&t.tagName&&"a"===t.tagName.toLowerCase()&&p(t,"leaflet-active");this._simulateEvent("mouseup",i);this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(n){var i=n.touches[0];this._newPos=new t(i.clientX,i.clientY);this._simulateEvent("mousemove",i)},_simulateEvent:function(n,t){var i=document.createEvent("MouseEvents");i._simulated=!0;t.target._simulatedClick=!0;i.initMouseEvent(n,!0,!0,window,1,t.screenX,t.screenY,t.clientX,t.clientY,!1,!1,!1,!1,0,null);t.target.dispatchEvent(i)}});pt&&!lt&&f.addInitHook("addHandler","tap",es);f.mergeOptions({touchZoom:pt&&!wr,bounceAtZoomLimits:!0});os=at.extend({addHooks:function(){i(this._map._container,"leaflet-touch-zoom");u(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){p(this._map._container,"leaflet-touch-zoom");w(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(n){var t=this._map,i,r;!n.touches||2!==n.touches.length||t._animatingZoom||this._zooming||(i=t.mouseEventToContainerPoint(n.touches[0]),r=t.mouseEventToContainerPoint(n.touches[1]),this._centerPoint=t.getSize()._divideBy(2),this._startLatLng=t.containerPointToLatLng(this._centerPoint),"center"!==t.options.touchZoom&&(this._pinchStartLatLng=t.containerPointToLatLng(i.add(r)._divideBy(2))),this._startDist=i.distanceTo(r),this._startZoom=t.getZoom(),this._moved=!1,this._zooming=!0,t._stop(),u(document,"touchmove",this._onTouchMove,this),u(document,"touchend",this._onTouchEnd,this),et(n))},_onTouchMove:function(n){var r,e;if(n.touches&&2===n.touches.length&&this._zooming){var t=this._map,u=t.mouseEventToContainerPoint(n.touches[0]),f=t.mouseEventToContainerPoint(n.touches[1]),i=u.distanceTo(f)/this._startDist;if(this._zoom=t.getScaleZoom(i,this._startZoom),!t.options.bounceAtZoomLimits&&(this._zoom<t.getMinZoom()&&i<1||this._zoom>t.getMaxZoom()&&1<i)&&(this._zoom=t._limitZoom(this._zoom)),"center"===t.options.touchZoom){if(this._center=this._startLatLng,1==i)return}else{if(r=u._add(f)._divideBy(2)._subtract(this._centerPoint),1==i&&0===r.x&&0===r.y)return;this._center=t.unproject(t.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(t._moveStart(!0,!1),this._moved=!0);nt(this._animRequest);e=c(t._move,t,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=g(e,this,!0);et(n)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,nt(this._animRequest),w(document,"touchmove",this._onTouchMove),w(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});f.addInitHook("addHandler","touchZoom",os);f.BoxZoom=ts;f.DoubleClickZoom=is;f.Drag=rs;f.Keyboard=us;f.ScrollWheelZoom=fs;f.Tap=es;f.TouchZoom=os;Object.freeze=ss;n.version="1.5.1+HEAD.2e3e0ff";n.Control=ot;n.control=iu;n.Browser=kc;n.Evented=wi;n.Mixin=fl;n.Util=ps;n.Class=dt;n.Handler=at;n.extend=s;n.bind=c;n.stamp=o;n.setOptions=l;n.DomEvent=ul;n.DomUtil=ah;n.PosAnimation=wh;n.Draggable=ci;n.LineUtil=rc;n.PolyUtil=el;n.Point=t;n.point=r;n.Bounds=a;n.bounds=ct;n.Transformation=ne;n.transformation=yr;n.Projection=ol;n.LatLng=h;n.latLng=y;n.LatLngBounds=it;n.latLngBounds=k;n.CRS=gt;n.GeoJSON=kt;n.geoJSON=oc;n.geoJson=cl;n.Layer=st;n.LayerGroup=ur;n.layerGroup=function(n,t){return new ur(n,t)};n.FeatureGroup=fr;n.featureGroup=function(n){return new fr(n)};n.ImageOverlay=lf;n.imageOverlay=function(n,t,i){return new lf(n,t,i)};n.VideoOverlay=sc;n.videoOverlay=function(n,t,i){return new sc(n,t,i)};n.SVGOverlay=hc;n.svgOverlay=function(n,t,i){return new hc(n,t,i)};n.DivOverlay=ii;n.Popup=sr;n.popup=function(n,t){return new sr(n,t)};n.Tooltip=vi;n.tooltip=function(n,t){return new vi(n,t)};n.Icon=er;n.icon=function(n){return new er(n)};n.DivIcon=bo;n.divIcon=function(n){return new bo(n)};n.Marker=fu;n.marker=function(n,t){return new fu(n,t)};n.TileLayer=yi;n.tileLayer=cc;n.GridLayer=hr;n.gridLayer=function(n){return new hr(n)};n.SVG=ou;n.svg=ac;n.Renderer=vt;n.Canvas=go;n.canvas=lc;n.Path=oi;n.CircleMarker=ef;n.circleMarker=function(n,t){return new ef(n,t)};n.Circle=vo;n.circle=function(n,t,i){return new vo(n,t,i)};n.Polyline=ti;n.polyline=function(n,t){return new ti(n,t)};n.Polygon=ai;n.polygon=function(n,t){return new ai(n,t)};n.Rectangle=ns;n.rectangle=function(n,t){return new ns(n,t)};n.Map=f;n.map=function(n,t){return new f(n,t)};vc=window.L;n.noConflict=function(){return window.L=vc,this};window.L=n});L.ResponsivePopup=L.Popup.extend({options:{hasTip:!0},_initLayout:function(){var n="leaflet-popup",i=this._container=L.DomUtil.create("div",n+" "+(this.options.className||"")+" leaflet-zoom-animated"),r=this._wrapper=L.DomUtil.create("div",n+"-content-wrapper",i),t;this._contentNode=L.DomUtil.create("div",n+"-content",r);L.DomEvent.disableClickPropagation(r);L.DomEvent.disableScrollPropagation(this._contentNode);L.DomEvent.on(r,"contextmenu",L.DomEvent.stopPropagation);if(this._tipContainer=L.DomUtil.create("div",n+"-tip-container",i),this.options.hasTip||(this._tipContainer.style.visibility="hidden"),this._tip=L.DomUtil.create("div",n+"-tip",this._tipContainer),this.options.closeButton){t=this._closeButton=L.DomUtil.create("a",n+"-close-button",i);t.href="#close";t.innerHTML="&#215;";L.DomEvent.on(t,"click",this._onCloseButtonClick,this)}},_updatePosition:function(){var v,y,d,g,nt,tt,i;if(this._map){var i=this._map.latLngToLayerPoint(this._latlng),t=this._map.layerPointToContainerPoint(i),u=this._container.offsetWidth,f=this._container.offsetHeight,it=L.point(this.options.autoPanPadding),o=L.point(this.options.autoPanPaddingTopLeft||it),s=L.point(this.options.autoPanPaddingBottomRight||it),e=this._map.getSize(),n=this._getAnchor(),rt=L.point(this.options.offset),ut=11,h=22,c=12,l=Math.abs(rt.x),a=Math.abs(rt.y);this.options.hasTip&&(l+=ut,a+=ut,L.DomUtil.removeClass(this._container,"leaflet-resp-popup-north"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-south"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-east"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-west"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-north-east"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-north-west"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-south-east"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-south-west"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-east-north"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-east-south"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-west-north"),L.DomUtil.removeClass(this._container,"leaflet-resp-popup-west-south"));var p=!0,w=!0,b=!0,k=!0,r=!1;t.y+n.y-a-f-Math.abs(o.y)<0&&(p=!1);t.y+n.y+a+f+Math.abs(s.y)>e.y&&(w=!1);t.x+n.x-l-u-Math.abs(o.x)<0&&(b=!1);t.x+n.x+l+u+Math.abs(s.x)>e.x&&(k=!1);v=u/2-n.x;y=f/2-n.y;(p||w)&&(d=t.x+n.x-u/2,g=t.x+n.x+u/2,d<Math.abs(o.x)&&(v=u/2-n.x-Math.abs(o.x)+d),g>e.x-Math.abs(s.x)&&(v=u/2-n.x+g-e.x+Math.abs(s.x)));(b||k)&&(nt=t.y+n.y-f/2,tt=t.y+n.y+f/2,nt<Math.abs(o.y)&&(y=f/2-n.y-Math.abs(o.y)+nt),tt>e.y-Math.abs(s.y)&&(y=f/2-n.y+tt-e.y+Math.abs(s.y)));p?(r=i.subtract(L.point(v,-n.y+f+a,!0)),this.options.hasTip&&(t.x+n.x<o.x+c+h/2?(r.x=i.x+n.x,L.DomUtil.addClass(this._container,"leaflet-resp-popup-north-east"),this._tipContainer.style.top=f+"px",this._tipContainer.style.left="0px"):t.x+n.x>e.x-s.x-c-h/2?(r.x=i.x+n.x-u,L.DomUtil.addClass(this._container,"leaflet-resp-popup-north-west"),this._tipContainer.style.top=f+"px",this._tipContainer.style.left=u+"px"):(L.DomUtil.addClass(this._container,"leaflet-resp-popup-north"),this._tipContainer.style.top=f+"px",this._tipContainer.style.left=i.x+n.x-r.x+"px"))):b?(r=i.subtract(L.point(-n.x+u+l,y,!0)),this.options.hasTip&&(t.y+n.y<o.y+c+h/2?(r.y=i.y+n.y,L.DomUtil.addClass(this._container,"leaflet-resp-popup-west-south"),this._tipContainer.style.top="0px",this._tipContainer.style.left=u+"px"):t.y+n.y>e.y-s.y-c-h/2?(r.y=i.y+n.y-f,L.DomUtil.addClass(this._container,"leaflet-resp-popup-west-north"),this._tipContainer.style.top=f+"px",this._tipContainer.style.left=u+"px"):(L.DomUtil.addClass(this._container,"leaflet-resp-popup-west"),this._tipContainer.style.top=i.y+n.y-r.y+"px",this._tipContainer.style.left=u+"px"))):w?(r=i.subtract(L.point(v,-n.y-a,!0)),this.options.hasTip&&(t.x+n.x<o.x+c+h/2?(r.x=i.x+n.x,L.DomUtil.addClass(this._container,"leaflet-resp-popup-south-east"),this._tipContainer.style.top="0px",this._tipContainer.style.left="0px"):t.x+n.x>e.x-s.x-c-h/2?(r.x=i.x+n.x-u,L.DomUtil.addClass(this._container,"leaflet-resp-popup-south-west"),this._tipContainer.style.top="0px",this._tipContainer.style.left=u+"px"):(L.DomUtil.addClass(this._container,"leaflet-resp-popup-south"),this._tipContainer.style.top="0px",this._tipContainer.style.left=i.x+n.x-r.x+"px"))):k?(r=i.subtract(L.point(-n.x-l,y,!0)),this.options.hasTip&&(t.y+n.y<o.y+c+h/2?(r.y=i.y+n.y,L.DomUtil.addClass(this._container,"leaflet-resp-popup-east-south"),this._tipContainer.style.top="0px",this._tipContainer.style.left="0px"):t.y+n.y>e.y-s.y-c-h/2?(r.y=i.y+n.y-f,L.DomUtil.addClass(this._container,"leaflet-resp-popup-east-north"),this._tipContainer.style.top=f+"px",this._tipContainer.style.left="0px"):(L.DomUtil.addClass(this._container,"leaflet-resp-popup-east"),this._tipContainer.style.top=i.y+n.y-r.y+"px",this._tipContainer.style.left="0px"))):(i=this._map.latLngToLayerPoint(this._map.getCenter()),r=i.subtract(L.point(u/2,f/2)),this.options.hasTip);t.x<0||t.y<0||t.x>e.x||t.y>e.y;u-Math.abs(o.x)-Math.abs(s.x)>e.x||f-Math.abs(o.y)-Math.abs(s.y)>e.y;L.DomUtil.setPosition(this._container,r)}}});L.responsivePopup=function(n,t){return new L.ResponsivePopup(n,t)};typeof exports=="object"&&typeof module!="undefined"&&(exports.responsivePopup=L.responsivePopup,exports.ResponsivePopup=L.ResponsivePopup);!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("leaflet")):"function"==typeof define&&define.amd?define(["exports","leaflet"],t):t((n.L=n.L||{},n.L.esri={}),n.L)}(this,function(n,t){"use strict";function b(n){var i="",r,f,t,u;for(r in n.f=n.f||"json",n)n.hasOwnProperty(r)&&(t=n[r],u=Object.prototype.toString.call(t),i.length&&(i+="&"),f="[object Array]"===u?"[object Object]"===Object.prototype.toString.call(t[0])?JSON.stringify(t):t.join(","):"[object Object]"===u?JSON.stringify(t):"[object Date]"===u?t.valueOf():t,i+=encodeURIComponent(r)+"="+encodeURIComponent(f));return i}function ft(n,i){var r=new window.XMLHttpRequest;return r.onerror=function(){r.onreadystatechange=t.Util.falseFn;n.call(i,{error:{code:500,message:"XMLHttpRequest error"}},null)},r.onreadystatechange=function(){var u,f;if(4===r.readyState){try{u=JSON.parse(r.responseText)}catch(n){u=null;f={code:500,message:"Could not parse response as JSON. This could also be caused by a CORS or XMLHttpRequest error."}}!f&&u.error&&(f=u.error,u=null);r.onerror=t.Util.falseFn;n.call(i,f,u)}},r.ontimeout=function(){this.onerror()},r}function oi(n,t,i,r){var u=ft(i,r);return u.open("POST",n),void 0!==r&&null!==r&&void 0!==r.options&&(u.timeout=r.options.timeout),u.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),u.send(b(t)),u}function si(n,t,i,r){var u=ft(i,r);return u.open("GET",n+"?"+b(t),!0),void 0!==r&&null!==r&&void 0!==r.options&&(u.timeout=r.options.timeout),u.send(null),u}function et(n,t,i,r){var s=b(t),u=ft(i,r),e=(n+"?"+s).length;if(e<=2e3&&f.cors?u.open("GET",n+"?"+s):e>2e3&&f.cors&&(u.open("POST",n),u.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8")),void 0!==r&&null!==r&&void 0!==r.options&&(u.timeout=r.options.timeout),e<=2e3&&f.cors)u.send(null);else{if(!(e>2e3&&f.cors))return e<=2e3&&!f.cors?ot(n,t,i,r):void o("a request to "+n+" was longer then 2000 characters and this browser cannot make a cross-domain post request. Please use a proxy http://esri.github.io/esri-leaflet/api-reference/request.html");u.send(s)}return u}function ot(n,i,r,u){var f,e;return window._EsriLeafletCallbacks=window._EsriLeafletCallbacks||{},f="c"+ei,i.callback="window._EsriLeafletCallbacks."+f,window._EsriLeafletCallbacks[f]=function(n){if(!0!==window._EsriLeafletCallbacks[f]){var t,i=Object.prototype.toString.call(n);"[object Object]"!==i&&"[object Array]"!==i&&(t={error:{code:500,message:"Expected array or object as JSONP response"}},n=null);!t&&n.error&&(t=n,n=null);r.call(u,t,n);window._EsriLeafletCallbacks[f]=!0}},e=t.DomUtil.create("script",null,document.body),e.type="text/javascript",e.src=n+"?"+b(i),e.id=f,e.onerror=function(n){n&&!0!==window._EsriLeafletCallbacks[f]&&(r.call(u,{error:{code:500,message:"An unknown error occurred"}}),window._EsriLeafletCallbacks[f]=!0)},t.DomUtil.addClass(e,"esri-leaflet-jsonp"),ei++,{id:f,url:e.src,abort:function(){window._EsriLeafletCallbacks._callback[f]({code:0,message:"Request aborted."})}}}function st(n){return function(n,t){for(var i=0;i<n.length;i++)if(n[i]!==t[i])return!1;return!0}(n[0],n[n.length-1])||n.push(n[0]),n}function ht(n){for(var i,u=0,t=0,f=n.length,r=n[t];t<f-1;t++)u+=((i=n[t+1])[0]-r[0])*(i[1]+r[1]),r=i;return u>=0}function ur(n,t,i,r){var o=(r[0]-i[0])*(n[1]-i[1])-(r[1]-i[1])*(n[0]-i[0]),s=(t[0]-n[0])*(n[1]-i[1])-(t[1]-n[1])*(n[0]-i[0]),u=(r[1]-i[1])*(t[0]-n[0])-(r[0]-i[0])*(t[1]-n[1]),f,e;return 0!==u&&(f=o/u,e=s/u,f>=0&&f<=1&&e>=0&&e<=1)?!0:!1}function hi(n,t){for(var r,i=0;i<n.length-1;i++)for(r=0;r<t.length-1;r++)if(ur(n[i],n[i+1],t[r],t[r+1]))return!0;return!1}function fr(n,t){var i=hi(n,t),r=function(n,t){for(var u=!1,i=-1,f=n.length,r=f-1;++i<f;r=i)(n[i][1]<=t[1]&&t[1]<n[r][1]||n[r][1]<=t[1]&&t[1]<n[i][1])&&t[0]<(n[r][0]-n[i][0])*(t[1]-n[i][1])/(n[r][1]-n[i][1])+n[i][0]&&(u=!u);return u}(n,t[0]);return!(i||!r)}function ci(n){var u=[],f=n.slice(0),i=st(f.shift().slice(0)),r,t;if(i.length>=4)for(ht(i)||i.reverse(),u.push(i),r=0;r<f.length;r++)t=st(f[r].slice(0)),t.length>=4&&(ht(t)&&t.reverse(),u.push(t));return u}function li(n){var i={};for(var t in n)n.hasOwnProperty(t)&&(i[t]=n[t]);return i}function ct(n,t){var i={},r;if(n.features)for(i.type="FeatureCollection",i.features=[],r=0;r<n.features.length;r++)i.features.push(ct(n.features[r],t));if("number"==typeof n.x&&"number"==typeof n.y&&(i.type="Point",i.coordinates=[n.x,n.y],"number"==typeof n.z&&i.coordinates.push(n.z)),n.points&&(i.type="MultiPoint",i.coordinates=n.points.slice(0)),n.paths&&(1===n.paths.length?(i.type="LineString",i.coordinates=n.paths[0].slice(0)):(i.type="MultiLineString",i.coordinates=n.paths.slice(0))),n.rings&&(i=function(n){for(var u,c,f,s,h,i,r,t=[],e=[],o=0;o<n.length;o++)u=st(n[o].slice(0)),u.length<4||(ht(u)?(c=[u.slice().reverse()],t.push(c)):e.push(u.slice().reverse()));for(f=[];e.length;){for(r=e.pop(),s=!1,i=t.length-1;i>=0;i--)if(fr(t[i][0],r)){t[i].push(r);s=!0;break}s||f.push(r)}for(;f.length;){for(r=f.pop(),h=!1,i=t.length-1;i>=0;i--)if(hi(t[i][0],r)){t[i].push(r);h=!0;break}h||t.push([r.reverse()])}return 1===t.length?{type:"Polygon",coordinates:t[0]}:{type:"MultiPolygon",coordinates:t}}(n.rings.slice(0))),"number"==typeof n.xmin&&"number"==typeof n.ymin&&"number"==typeof n.xmax&&"number"==typeof n.ymax&&(i.type="Polygon",i.coordinates=[[[n.xmax,n.ymax],[n.xmin,n.ymax],[n.xmin,n.ymin],[n.xmax,n.ymin],[n.xmax,n.ymax]]]),(n.geometry||n.attributes)&&(i.type="Feature",i.geometry=n.geometry?ct(n.geometry):null,i.properties=n.attributes?li(n.attributes):null,n.attributes))try{i.id=function(n,t){for(var i,u=t?[t,"OBJECTID","FID"]:["OBJECTID","FID"],r=0;r<u.length;r++)if(i=u[r],i in n&&("string"==typeof n[i]||"number"==typeof n[i]))return n[i];throw Error("No valid id attribute found");}(n.attributes,t)}catch(n){}return JSON.stringify(i.geometry)===JSON.stringify({})&&(i.geometry=null),n.spatialReference&&n.spatialReference.wkid&&4326!==n.spatialReference.wkid&&console.warn("Object converted in non-standard crs - "+JSON.stringify(n.spatialReference)),i}function d(n,t){t=t||"OBJECTID";var r,u={wkid:4326},i={};switch(n.type){case"Point":i.x=n.coordinates[0];i.y=n.coordinates[1];i.spatialReference=u;break;case"MultiPoint":i.points=n.coordinates.slice(0);i.spatialReference=u;break;case"LineString":i.paths=[n.coordinates.slice(0)];i.spatialReference=u;break;case"MultiLineString":i.paths=n.coordinates.slice(0);i.spatialReference=u;break;case"Polygon":i.rings=ci(n.coordinates.slice(0));i.spatialReference=u;break;case"MultiPolygon":i.rings=function(n){for(var u,i,f,r=[],t=0;t<n.length;t++)for(u=ci(n[t]),i=u.length-1;i>=0;i--)f=u[i].slice(0),r.push(f);return r}(n.coordinates.slice(0));i.spatialReference=u;break;case"Feature":n.geometry&&(i.geometry=d(n.geometry,t));i.attributes=n.properties?li(n.properties):{};n.id&&(i.attributes[t]=n.id);break;case"FeatureCollection":for(i=[],r=0;r<n.features.length;r++)i.push(d(n.features[r],t));break;case"GeometryCollection":for(i=[],r=0;r<n.geometries.length;r++)i.push(d(n.geometries[r],t))}return i}function c(n,t){return d(n,t)}function ai(n,t){return ct(n,t)}function lt(n){if("NaN"!==n.xmin&&"NaN"!==n.ymin&&"NaN"!==n.xmax&&"NaN"!==n.ymax){var i=t.latLng(n.ymin,n.xmin),r=t.latLng(n.ymax,n.xmax);return t.latLngBounds(i,r)}return null}function at(n){return{xmin:(n=t.latLngBounds(n)).getSouthWest().lng,ymin:n.getSouthWest().lat,xmax:n.getNorthEast().lng,ymax:n.getNorthEast().lat,spatialReference:{wkid:4326}}}function vi(n){var i,t;if(n.objectIdFieldName)i=n.objectIdFieldName;else if(n.fields){for(t=0;t<=n.fields.length-1;t++)if("esriFieldTypeOID"===n.fields[t].type){i=n.fields[t].name;break}if(!i)for(t=0;t<=n.fields.length-1;t++)if(n.fields[t].name.match(vt)){i=n.fields[t].name;break}}return i}function yi(n){for(var t in n.attributes)if(t.match(vt))return t}function l(n,t){var f,r=n.features||n.results,o=r.length,u,i,e;if(f=t||vi(n),u={type:"FeatureCollection",features:[]},o)for(i=r.length-1;i>=0;i--)e=ai(r[i],f||yi(r[i])),u.features.push(e);return u}function g(n){return"/"!==(n=t.Util.trim(n))[n.length-1]&&(n+="/"),n}function e(n){if(-1!==n.url.indexOf("?")){n.requestParams=n.requestParams||{};var t=n.url.substring(n.url.indexOf("?")+1);n.url=n.url.split("?")[0];n.requestParams=JSON.parse('{"'+decodeURI(t).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}')}return n.url=g(n.url.split("?")[0]),n}function pi(n){return/^(?!.*utility\.arcgis\.com).*\.arcgis\.com.*FeatureServer/i.test(n)}function yt(n){var t;switch(n){case"Point":t="esriGeometryPoint";break;case"MultiPoint":t="esriGeometryMultipoint";break;case"LineString":case"MultiLineString":t="esriGeometryPolyline";break;case"Polygon":case"MultiPolygon":t="esriGeometryPolygon"}return t}function o(){console&&console.warn&&console.warn.apply(console,arguments)}function nt(n){return n.getSize().x-fi.attributionWidthOffset+"px"}function a(n){var i,r;n.attributionControl&&!n.attributionControl._esriAttributionAdded&&(n.attributionControl.setPrefix('<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet<\/a> | Powered by <a href="https://www.esri.com">Esri<\/a>'),i=document.createElement("style"),i.type="text/css",i.innerHTML=".esri-truncated-attribution:hover {white-space: normal;}",document.getElementsByTagName("head")[0].appendChild(i),t.DomUtil.addClass(n.attributionControl._container,"esri-truncated-attribution:hover"),r=document.createElement("style"),r.type="text/css",r.innerHTML=".esri-truncated-attribution {vertical-align: -3px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;display: inline-block;transition: 0s white-space;transition-delay: 1s;max-width: "+nt(n)+";}",document.getElementsByTagName("head")[0].appendChild(r),t.DomUtil.addClass(n.attributionControl._container,"esri-truncated-attribution"),n.on("resize",function(t){n.attributionControl._container.style.maxWidth=nt(t.target)}),n.attributionControl._esriAttributionAdded=!0)}function pt(n){var i={geometry:null,geometryType:null};return n instanceof t.LatLngBounds?(i.geometry=at(n),i.geometryType="esriGeometryEnvelope",i):(n.getLatLng&&(n=n.getLatLng()),n instanceof t.LatLng&&(n={type:"Point",coordinates:[n.lng,n.lat]}),n instanceof t.GeoJSON&&(n=n.getLayers()[0].feature.geometry,i.geometry=c(n),i.geometryType=yt(n.type)),n.toGeoJSON&&(n=n.toGeoJSON()),"Feature"===n.type&&(n=n.geometry),"Point"===n.type||"LineString"===n.type||"Polygon"===n.type||"MultiPolygon"===n.type?(i.geometry=c(n),i.geometryType=yt(n.type),i):void o("invalid geometry passed to spatial query. Should be L.LatLng, L.LatLngBounds, L.Marker or a GeoJSON Point, Line, Polygon or MultiPolygon object"))}function wi(n,i){f.cors&&et(n,{},t.Util.bind(function(n,r){var f,e,o;if(!n){for(i._esriAttributions=[],f=0;f<r.contributors.length;f++)for(e=r.contributors[f],o=0;o<e.coverageAreas.length;o++){var u=e.coverageAreas[o],s=t.latLng(u.bbox[0],u.bbox[1]),h=t.latLng(u.bbox[2],u.bbox[3]);i._esriAttributions.push({attribution:e.attribution,score:u.score,bounds:t.latLngBounds(s,h),minZoom:u.zoomMin,maxZoom:u.zoomMax})}i._esriAttributions.sort(function(n,t){return t.score-n.score});tt({target:i})}},this))}function tt(n){var i=n.target,e=i._esriAttributions,f,u,s;if(i&&i.attributionControl&&(f=i.attributionControl._container.querySelector(".esri-dynamic-attribution"),f&&e)){for(var r="",h=i.getBounds(),l=t.latLngBounds(h.getSouthWest().wrap(),h.getNorthEast().wrap()),c=i.getZoom(),o=0;o<e.length;o++)u=e[o],s=u.attribution,!r.match(s)&&u.bounds.intersects(l)&&c>=u.minZoom&&c<=u.maxZoom&&(r+=", "+s);r=r.substr(2);f.innerHTML=r;f.style.maxWidth=nt(i);i.fire("attributionupdated",{attribution:r})}}function it(n){return new bi(n)}function ki(n){return new wt(n)}function di(n){return new bt(n)}function gi(n){return new kt(n)}function gt(n){return new dt(n)}function nr(n){return new ni(n)}function tr(n){return new ti(n)}function r(n){this.values=[].concat(n||[])}var w=window.XMLHttpRequest&&"withCredentials"in new window.XMLHttpRequest,u=""===document.documentElement.style.pointerEvents,f={cors:w,pointerEvents:u},fi={attributionWidthOffset:55},ei=0,k=f.cors?si:ot,h,vt,wt,y,bt,kt,s,dt,ni,ti,p,ui;k.CORS=si;k.JSONP=ot;h={request:et,get:k,post:oi};vt=/^(OBJECTID|FID|OID|ID)$/i;var er={warn:o,cleanUrl:g,getUrlParams:e,isArcgisOnline:pi,geojsonTypeToArcGIS:yt,responseToFeatureCollection:l,geojsonToArcGIS:c,arcgisToGeoJSON:ai,boundsToExtent:at,extentToBounds:lt,calcAttributionWidth:nt,setEsriAttribution:a,_setGeometry:pt,_getAttributionData:wi,_updateMapAttribution:tt,_findIdAttributeFromFeature:yi,_findIdAttributeFromResponse:vi},v=t.Class.extend({options:{proxy:!1,useCors:w},generateSetter:function(n,i){return t.Util.bind(function(t){return this.params[n]=t,this},i)},initialize:function(n){var i,r;if(n.request&&n.options?(this._service=n,t.Util.setOptions(this,n.options)):(t.Util.setOptions(this,n),this.options.url=g(n.url)),this.params=t.Util.extend({},this.params||{}),this.setters)for(i in this.setters)r=this.setters[i],this[i]=this.generateSetter(r,this)},token:function(n){return this._service?this._service.authenticate(n):this.params.token=n,this},format:function(n){return this.params.returnUnformattedValues=!n,this},request:function(n,i){return this.options.requestParams&&t.Util.extend(this.params,this.options.requestParams),this._service?this._service.request(this.path,this.params,n,i):this._request("request",this.path,this.params,n,i)},_request:function(n,t,i,r,u){var f=this.options.proxy?this.options.proxy+"?"+this.options.url+t:this.options.url+t;return"get"!==n&&"request"!==n||this.options.useCors?h[n](f,i,r,u):h.get.JSONP(f,i,r,u)}}),bi=v.extend({setters:{offset:"resultOffset",limit:"resultRecordCount",fields:"outFields",precision:"geometryPrecision",featureIds:"objectIds",returnGeometry:"returnGeometry",returnM:"returnM",transform:"datumTransformation",token:"token"},path:"query",params:{returnGeometry:!0,where:"1=1",outSr:4326,outFields:"*"},within:function(n){return this._setGeometryParams(n),this.params.spatialRel="esriSpatialRelContains",this},intersects:function(n){return this._setGeometryParams(n),this.params.spatialRel="esriSpatialRelIntersects",this},contains:function(n){return this._setGeometryParams(n),this.params.spatialRel="esriSpatialRelWithin",this},crosses:function(n){return this._setGeometryParams(n),this.params.spatialRel="esriSpatialRelCrosses",this},touches:function(n){return this._setGeometryParams(n),this.params.spatialRel="esriSpatialRelTouches",this},overlaps:function(n){return this._setGeometryParams(n),this.params.spatialRel="esriSpatialRelOverlaps",this},bboxIntersects:function(n){return this._setGeometryParams(n),this.params.spatialRel="esriSpatialRelEnvelopeIntersects",this},indexIntersects:function(n){return this._setGeometryParams(n),this.params.spatialRel="esriSpatialRelIndexIntersects",this},nearby:function(n,i){return n=t.latLng(n),this.params.geometry=[n.lng,n.lat],this.params.geometryType="esriGeometryPoint",this.params.spatialRel="esriSpatialRelIntersects",this.params.units="esriSRUnit_Meter",this.params.distance=i,this.params.inSr=4326,this},where:function(n){return this.params.where=n,this},between:function(n,t){return this.params.time=[n.valueOf(),t.valueOf()],this},simplify:function(n,t){var i=Math.abs(n.getBounds().getWest()-n.getBounds().getEast());return this.params.maxAllowableOffset=i/n.getSize().y*t,this},orderBy:function(n,t){return t=t||"ASC",this.params.orderByFields=this.params.orderByFields?this.params.orderByFields+",":"",this.params.orderByFields+=[n,t].join(" "),this},run:function(n,t){return this._cleanParams(),this.options.isModern||pi(this.options.url)?(this.params.f="geojson",this.request(function(i,r){this._trapSQLerrors(i);n.call(t,i,r,r)},this)):this.request(function(i,r){this._trapSQLerrors(i);n.call(t,i,r&&l(r),r)},this)},count:function(n,t){return this._cleanParams(),this.params.returnCountOnly=!0,this.request(function(t,i){n.call(this,t,i&&i.count,i)},t)},ids:function(n,t){return this._cleanParams(),this.params.returnIdsOnly=!0,this.request(function(t,i){n.call(this,t,i&&i.objectIds,i)},t)},bounds:function(n,t){return this._cleanParams(),this.params.returnExtentOnly=!0,this.request(function(i,r){r&&r.extent&&lt(r.extent)?n.call(t,i,lt(r.extent),r):(i={message:"Invalid Bounds"},n.call(t,i,null,r))},t)},distinct:function(){return this.params.returnGeometry=!1,this.params.returnDistinctValues=!0,this},pixelSize:function(n){var i=t.point(n);return this.params.pixelSize=[i.x,i.y],this},layer:function(n){return this.path=n+"/query",this},_trapSQLerrors:function(n){n&&"400"===n.code&&o("one common syntax error in query requests is encasing string values in double quotes instead of single quotes")},_cleanParams:function(){delete this.params.returnIdsOnly;delete this.params.returnExtentOnly;delete this.params.returnCountOnly},_setGeometryParams:function(n){this.params.inSr=4326;var t=pt(n);this.params.geometry=t.geometry;this.params.geometryType=t.geometryType}});wt=v.extend({setters:{contains:"contains",text:"searchText",fields:"searchFields",spatialReference:"sr",sr:"sr",layers:"layers",returnGeometry:"returnGeometry",maxAllowableOffset:"maxAllowableOffset",precision:"geometryPrecision",dynamicLayers:"dynamicLayers",returnZ:"returnZ",returnM:"returnM",gdbVersion:"gdbVersion",token:"token"},path:"find",params:{sr:4326,contains:!0,returnGeometry:!0,returnZ:!0,returnM:!1},layerDefs:function(n,t){return this.params.layerDefs=this.params.layerDefs?this.params.layerDefs+";":"",this.params.layerDefs+=[n,t].join(":"),this},simplify:function(n,t){var i=Math.abs(n.getBounds().getWest()-n.getBounds().getEast());return this.params.maxAllowableOffset=i/n.getSize().y*t,this},run:function(n,t){return this.request(function(i,r){n.call(t,i,r&&l(r),r)},t)}});y=v.extend({path:"identify",between:function(n,t){return this.params.time=[n.valueOf(),t.valueOf()],this}});bt=y.extend({setters:{layers:"layers",precision:"geometryPrecision",tolerance:"tolerance",returnGeometry:"returnGeometry"},params:{sr:4326,layers:"all",tolerance:3,returnGeometry:!0},on:function(n){var t=at(n.getBounds()),i=n.getSize();return this.params.imageDisplay=[i.x,i.y,96],this.params.mapExtent=[t.xmin,t.ymin,t.xmax,t.ymax],this},at:function(n){return 2===n.length&&(n=t.latLng(n)),this._setGeometryParams(n),this},layerDef:function(n,t){return this.params.layerDefs=this.params.layerDefs?this.params.layerDefs+";":"",this.params.layerDefs+=[n,t].join(":"),this},simplify:function(n,t){var i=Math.abs(n.getBounds().getWest()-n.getBounds().getEast());return this.params.maxAllowableOffset=i/n.getSize().y*t,this},run:function(n,t){return this.request(function(i,r){var f,u;if(i)n.call(t,i,void 0,r);else{for(f=l(r),r.results=r.results.reverse(),u=0;u<f.features.length;u++)f.features[u].layerId=r.results[u].layerId;n.call(t,void 0,f,r)}})},_setGeometryParams:function(n){var t=pt(n);this.params.geometry=t.geometry;this.params.geometryType=t.geometryType}});kt=y.extend({setters:{setMosaicRule:"mosaicRule",setRenderingRule:"renderingRule",setPixelSize:"pixelSize",returnCatalogItems:"returnCatalogItems",returnGeometry:"returnGeometry"},params:{returnGeometry:!1},at:function(n){return n=t.latLng(n),this.params.geometry=JSON.stringify({x:n.lng,y:n.lat,spatialReference:{wkid:4326}}),this.params.geometryType="esriGeometryPoint",this},getMosaicRule:function(){return this.params.mosaicRule},getRenderingRule:function(){return this.params.renderingRule},getPixelSize:function(){return this.params.pixelSize},run:function(n,t){return this.request(function(i,r){n.call(t,i,r&&this._responseToGeoJSON(r),r)},this)},_responseToGeoJSON:function(n){var u=n.location,f=n.catalogItems,r=n.catalogItemVisibilities,t={pixel:{type:"Feature",geometry:{type:"Point",coordinates:[u.x,u.y]},crs:{type:"EPSG",properties:{code:u.spatialReference.wkid}},properties:{OBJECTID:n.objectId,name:n.name,value:n.value},id:n.objectId}},i;if(n.properties&&n.properties.Values&&(t.pixel.properties.values=n.properties.Values),f&&f.features&&(t.catalogItems=l(f),r&&r.length===t.catalogItems.features.length))for(i=r.length-1;i>=0;i--)t.catalogItems.features[i].properties.catalogItemVisibility=r[i];return t}});s=t.Evented.extend({options:{proxy:!1,useCors:w,timeout:0},initialize:function(n){n=n||{};this._requestQueue=[];this._authenticating=!1;t.Util.setOptions(this,n);this.options.url=g(this.options.url)},get:function(n,t,i,r){return this._request("get",n,t,i,r)},post:function(n,t,i,r){return this._request("post",n,t,i,r)},request:function(n,t,i,r){return this._request("request",n,t,i,r)},metadata:function(n,t){return this._request("get","",{},n,t)},authenticate:function(n){return this._authenticating=!1,this.options.token=n,this._runQueue(),this},getTimeout:function(){return this.options.timeout},setTimeout:function(n){this.options.timeout=n},_request:function(n,i,r,u,f){var e,o;if(this.fire("requeststart",{url:this.options.url+i,params:r,method:n},!0),e=this._createServiceCallback(n,i,r,u,f),this.options.token&&(r.token=this.options.token),this.options.requestParams&&t.Util.extend(r,this.options.requestParams),!this._authenticating)return o=this.options.proxy?this.options.proxy+"?"+this.options.url+i:this.options.url+i,"get"!==n&&"request"!==n||this.options.useCors?h[n](o,r,e,f):h.get.JSONP(o,r,e,f);this._requestQueue.push([n,i,r,u,f])},_createServiceCallback:function(n,i,r,u,f){return t.Util.bind(function(e,o){e&&(499===e.code||498===e.code)&&(this._authenticating=!0,this._requestQueue.push([n,i,r,u,f]),this.fire("authenticationrequired",{authenticate:t.Util.bind(this.authenticate,this)},!0),e.authenticate=t.Util.bind(this.authenticate,this));u.call(f,e,o);e?this.fire("requesterror",{url:this.options.url+i,params:r,message:e.message,code:e.code,method:n},!0):this.fire("requestsuccess",{url:this.options.url+i,params:r,response:o,method:n},!0);this.fire("requestend",{url:this.options.url+i,params:r,method:n},!0)},this)},_runQueue:function(){for(var t,n=this._requestQueue.length-1;n>=0;n--)t=this._requestQueue[n],this[t.shift()].apply(this,t);this._requestQueue=[]}});dt=s.extend({identify:function(){return di(this)},find:function(){return ki(this)},query:function(){return it(this)}});ni=s.extend({query:function(){return it(this)},identify:function(){return gi(this)}});ti=s.extend({options:{idAttribute:"OBJECTID"},query:function(){return it(this)},addFeature:function(n,t,i){this.addFeatures(n,t,i)},addFeatures:function(n,t,i){for(var r=n.features?n.features:[n],u=r.length-1;u>=0;u--)delete r[u].id;return n=c(n),n=r.length>1?n:[n],this.post("addFeatures",{features:n},function(n,r){var u=r&&r.addResults?r.addResults.length>1?r.addResults:r.addResults[0]:void 0;t&&t.call(i,n||r.addResults[0].error,u)},i)},updateFeature:function(n,t,i){this.updateFeatures(n,t,i)},updateFeatures:function(n,t,i){var r=n.features?n.features:[n];return n=c(n,this.options.idAttribute),n=r.length>1?n:[n],this.post("updateFeatures",{features:n},function(n,r){var u=r&&r.updateResults?r.updateResults.length>1?r.updateResults:r.updateResults[0]:void 0;t&&t.call(i,n||r.updateResults[0].error,u)},i)},deleteFeature:function(n,t,i){this.deleteFeatures(n,t,i)},deleteFeatures:function(n,t,i){return this.post("deleteFeatures",{objectIds:n},function(n,r){var u=r&&r.deleteResults?r.deleteResults.length>1?r.deleteResults:r.deleteResults[0]:void 0;t&&t.call(i,n||r.deleteResults[0].error,u)},i)}});var i="https:"!==window.location.protocol?"http:":"https:",rt=t.TileLayer.extend({statics:{TILES:{Streets:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:19,subdomains:["server","services"],attribution:"USGS, NOAA",attributionUrl:"https://static.arcgis.com/attribution/World_Street_Map"}},Topographic:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:19,subdomains:["server","services"],attribution:"USGS, NOAA",attributionUrl:"https://static.arcgis.com/attribution/World_Topo_Map"}},Oceans:{urlTemplate:i+"//{s}.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:16,subdomains:["server","services"],attribution:"USGS, NOAA",attributionUrl:"https://static.arcgis.com/attribution/Ocean_Basemap"}},OceansLabels:{urlTemplate:i+"//{s}.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Reference/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:16,subdomains:["server","services"],pane:u?"esri-labels":"tilePane",attribution:""}},NationalGeographic:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:16,subdomains:["server","services"],attribution:"National Geographic, DeLorme, HERE, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, increment P Corp."}},DarkGray:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:16,subdomains:["server","services"],attribution:"HERE, DeLorme, MapmyIndia, &copy; OpenStreetMap contributors"}},DarkGrayLabels:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Reference/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:16,subdomains:["server","services"],pane:u?"esri-labels":"tilePane",attribution:""}},Gray:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:16,subdomains:["server","services"],attribution:"HERE, DeLorme, MapmyIndia, &copy; OpenStreetMap contributors"}},GrayLabels:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Reference/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:16,subdomains:["server","services"],pane:u?"esri-labels":"tilePane",attribution:""}},Imagery:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:19,subdomains:["server","services"],attribution:"DigitalGlobe, GeoEye, i-cubed, USDA, USGS, AEX, Getmapping, Aerogrid, IGN, IGP, swisstopo, and the GIS User Community",attributionUrl:"https://static.arcgis.com/attribution/World_Imagery"}},ImageryLabels:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:19,subdomains:["server","services"],pane:u?"esri-labels":"tilePane",attribution:""}},ImageryTransportation:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/Reference/World_Transportation/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:19,subdomains:["server","services"],pane:u?"esri-labels":"tilePane",attribution:""}},ShadedRelief:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:13,subdomains:["server","services"],attribution:"USGS"}},ShadedReliefLabels:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places_Alternate/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:12,subdomains:["server","services"],pane:u?"esri-labels":"tilePane",attribution:""}},Terrain:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:13,subdomains:["server","services"],attribution:"USGS, NOAA"}},TerrainLabels:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:13,subdomains:["server","services"],pane:u?"esri-labels":"tilePane",attribution:""}},USATopo:{urlTemplate:i+"//{s}.arcgisonline.com/ArcGIS/rest/services/USA_Topo_Maps/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:15,subdomains:["server","services"],attribution:"USGS, National Geographic Society, i-cubed"}},ImageryClarity:{urlTemplate:i+"//clarity.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:19,attribution:"Esri, DigitalGlobe, GeoEye, Earthstar Geographics, CNES/Airbus DS, USDA, USGS, AeroGRID, IGN, and the GIS User Community"}},Physical:{urlTemplate:i+"//{s}.arcgisonline.com/arcgis/rest/services/World_Physical_Map/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:8,subdomains:["server","services"],attribution:"U.S. National Park Service"}},ImageryFirefly:{urlTemplate:i+"//fly.maptiles.arcgis.com/arcgis/rest/services/World_Imagery_Firefly/MapServer/tile/{z}/{y}/{x}",options:{minZoom:1,maxZoom:19,attribution:"Esri, DigitalGlobe, GeoEye, Earthstar Geographics, CNES/Airbus DS, USDA, USGS, AeroGRID, IGN, and the GIS User Community",attributionUrl:"https://static.arcgis.com/attribution/World_Imagery"}}}},initialize:function(n,i){var r,u;if("object"==typeof n&&n.urlTemplate&&n.options)r=n;else{if("string"!=typeof n||!rt.TILES[n])throw new Error('L.esri.BasemapLayer: Invalid parameter. Use one of "Streets", "Topographic", "Oceans", "OceansLabels", "NationalGeographic", "Physical", "Gray", "GrayLabels", "DarkGray", "DarkGrayLabels", "Imagery", "ImageryLabels", "ImageryTransportation", "ImageryClarity", "ImageryFirefly", ShadedRelief", "ShadedReliefLabels", "Terrain", "TerrainLabels" or "USATopo"');r=rt.TILES[n]}u=t.Util.extend(r.options,i);t.Util.setOptions(this,u);this.options.token&&-1===r.urlTemplate.indexOf("token=")&&(r.urlTemplate+="?token="+this.options.token);this.options.proxy&&(r.urlTemplate=this.options.proxy+"?"+r.urlTemplate);t.TileLayer.prototype.initialize.call(this,r.urlTemplate,u)},onAdd:function(n){a(n);"esri-labels"===this.options.pane&&this._initPane();this.options.attributionUrl&&wi((this.options.proxy?this.options.proxy+"?":"")+this.options.attributionUrl,n);n.on("moveend",tt);t.TileLayer.prototype.onAdd.call(this,n)},onRemove:function(n){n.off("moveend",tt);t.TileLayer.prototype.onRemove.call(this,n)},_initPane:function(){if(!this._map.getPane(this.options.pane)){var n=this._map.createPane(this.options.pane);n.style.pointerEvents="none";n.style.zIndex=500}},getAttribution:function(){if(this.options.attribution)var n='<span class="esri-dynamic-attribution">'+this.options.attribution+"<\/span>";return n}}),ii=t.TileLayer.extend({options:{zoomOffsetAllowance:.1,errorTileUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEABAMAAACuXLVVAAAAA1BMVEUzNDVszlHHAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAAAAAAAAAB6mUWpAAAADZJREFUeJztwQEBAAAAgiD/r25IQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7waBAAABw08RwAAAAABJRU5ErkJggg=="},statics:{MercatorZoomLevels:{0:156543.033928,1:78271.5169639999,2:39135.7584820001,3:19567.8792409999,4:9783.93962049996,5:4891.96981024998,6:2445.98490512499,7:1222.99245256249,8:611.49622628138,9:305.748113140558,10:152.874056570411,11:76.4370282850732,12:38.2185141425366,13:19.1092570712683,14:9.55462853563415,15:4.77731426794937,16:2.38865713397468,17:1.19432856685505,18:.597164283559817,19:.298582141647617,20:.14929107082381,21:.07464553541191,22:.0373227677059525,23:.0186613838529763}},initialize:function(n){n=e(n=t.Util.setOptions(this,n));this.tileUrl=(n.proxy?n.proxy+"?":"")+n.url+"tile/{z}/{y}/{x}"+(n.requestParams&&Object.keys(n.requestParams).length>0?t.Util.getParamString(n.requestParams):"");-1!==n.url.indexOf("{s}")&&n.subdomains&&(n.url=n.url.replace("{s}",n.subdomains[0]));this.service=gt(n);this.service.addEventParent(this);new RegExp(/tiles.arcgis(online)?\.com/g).test(n.url)&&(this.tileUrl=this.tileUrl.replace("://tiles","://tiles{s}"),n.subdomains=["1","2","3","4"]);this.options.token&&(this.tileUrl+="?token="+this.options.token);t.TileLayer.prototype.initialize.call(this,this.tileUrl,n)},getTileUrl:function(n){var i=this._getZoomForUrl();return t.Util.template(this.tileUrl,t.Util.extend({s:this._getSubdomain(n),x:n.x,y:n.y,z:this._lodMap&&this._lodMap[i]?this._lodMap[i]:i},this.options))},createTile:function(n,i){var r=document.createElement("img");return t.DomEvent.on(r,"load",t.Util.bind(this._tileOnLoad,this,i,r)),t.DomEvent.on(r,"error",t.Util.bind(this._tileOnError,this,i,r)),this.options.crossOrigin&&(r.crossOrigin=""),r.alt="",!this._lodMap||this._lodMap&&this._lodMap[this._getZoomForUrl()]?r.src=this.getTileUrl(n):this.once("lodmap",function(){r.src=this.getTileUrl(n)},this),r},onAdd:function(n){a(n);this._lodMap||this.metadata(function(i,r){var u,e,s,l;if(!i&&r.spatialReference)if(u=r.spatialReference.latestWkid||r.spatialReference.wkid,!this.options.attribution&&n.attributionControl&&r.copyrightText&&(this.options.attribution=r.copyrightText,n.attributionControl.addAttribution(this.getAttribution())),n.options.crs!==t.CRS.EPSG3857||102100!==u&&3857!==u)n.options.crs&&n.options.crs.code&&n.options.crs.code.indexOf(u)>-1||o("L.esri.TiledMapLayer is using a non-mercator spatial reference. Support may be available through Proj4Leaflet http://esri.github.io/esri-leaflet/examples/non-mercator-projection.html");else{this._lodMap={};for(var h=r.tileInfo.lods,c=ii.MercatorZoomLevels,f=0;f<h.length;f++){e=h[f];for(s in c)if(l=c[s],this._withinPercentage(e.resolution,l,this.options.zoomOffsetAllowance)){this._lodMap[s]=e.level;break}}this.fire("lodmap")}},this);t.TileLayer.prototype.onAdd.call(this,n)},metadata:function(n,t){return this.service.metadata(n,t),this},identify:function(){return this.service.identify()},find:function(){return this.service.find()},query:function(){return this.service.query()},authenticate:function(n){var t="?token="+n;return this.tileUrl=this.options.token?this.tileUrl.replace(/\?token=(.+)/g,t):this.tileUrl+t,this.options.token=n,this.service.authenticate(n),this},_withinPercentage:function(n,t,i){return Math.abs(n/t-1)<i}}),or=t.ImageOverlay.extend({onAdd:function(n){this._topLeft=n.getPixelBounds().min;t.ImageOverlay.prototype.onAdd.call(this,n)},_reset:function(){this._map.options.crs===t.CRS.EPSG3857?t.ImageOverlay.prototype._reset.call(this):t.DomUtil.setPosition(this._image,this._topLeft.subtract(this._map.getPixelOrigin()))}}),ri=t.Layer.extend({options:{opacity:1,position:"front",f:"image",useCors:w,attribution:null,interactive:!1,alt:""},onAdd:function(n){a(n);this.options.zIndex&&(this.options.position=null);this._update=t.Util.throttle(this._update,this.options.updateInterval,this);n.on("moveend",this._update,this);this._currentImage&&this._currentImage._bounds.equals(this._map.getBounds())?n.addLayer(this._currentImage):this._currentImage&&(this._map.removeLayer(this._currentImage),this._currentImage=null);this._update();this._popup&&(this._map.on("click",this._getPopupData,this),this._map.on("dblclick",this._resetPopupState,this));this.metadata(function(t,i){!t&&!this.options.attribution&&n.attributionControl&&i.copyrightText&&(this.options.attribution=i.copyrightText,n.attributionControl.addAttribution(this.getAttribution()))},this)},onRemove:function(){this._currentImage&&this._map.removeLayer(this._currentImage);this._popup&&(this._map.off("click",this._getPopupData,this),this._map.off("dblclick",this._resetPopupState,this));this._map.off("moveend",this._update,this)},bindPopup:function(n,i){return this._shouldRenderPopup=!1,this._lastClick=!1,this._popup=t.popup(i),this._popupFunction=n,this._map&&(this._map.on("click",this._getPopupData,this),this._map.on("dblclick",this._resetPopupState,this)),this},unbindPopup:function(){return this._map&&(this._map.closePopup(this._popup),this._map.off("click",this._getPopupData,this),this._map.off("dblclick",this._resetPopupState,this)),this._popup=!1,this},bringToFront:function(){return this.options.position="front",this._currentImage&&(this._currentImage.bringToFront(),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this.options.position="back",this._currentImage&&(this._currentImage.bringToBack(),this._setAutoZIndex(Math.min)),this},setZIndex:function(n){return this.options.zIndex=n,this._currentImage&&this._currentImage.setZIndex(n),this},_setAutoZIndex:function(n){if(this._currentImage){for(var r,u=this._currentImage.getPane().children,t=-n(-1/0,1/0),i=0,f=u.length;i<f;i++)r=u[i].style.zIndex,u[i]!==this._currentImage._image&&r&&(t=n(t,+r));isFinite(t)&&(this.options.zIndex=t+n(-1,1),this.setZIndex(this.options.zIndex))}},getAttribution:function(){return this.options.attribution},getOpacity:function(){return this.options.opacity},setOpacity:function(n){return this.options.opacity=n,this._currentImage&&this._currentImage.setOpacity(n),this},getTimeRange:function(){return[this.options.from,this.options.to]},setTimeRange:function(n,t){return this.options.from=n,this.options.to=t,this._update(),this},metadata:function(n,t){return this.service.metadata(n,t),this},authenticate:function(n){return this.service.authenticate(n),this},redraw:function(){this._update()},_renderImage:function(n,t,i){if(this._map){if(i&&(n="data:"+i+";base64,"+n),!n)return;var r=new or(n,t,{opacity:0,crossOrigin:this.options.useCors,alt:this.options.alt,pane:this.options.pane||this.getPane(),interactive:this.options.interactive}).addTo(this._map),u=function(n){if(r.off("error",u,this),this._map){var f=n.target,i=this._currentImage;f._bounds.equals(t)&&f._bounds.equals(this._map.getBounds())?(this._currentImage=f,"front"===this.options.position?this.bringToFront():"back"===this.options.position&&this.bringToBack(),this.options.zIndex&&this.setZIndex(this.options.zIndex),this._map&&this._currentImage._map?this._currentImage.setOpacity(this.options.opacity):this._currentImage._map.removeLayer(this._currentImage),i&&this._map&&this._map.removeLayer(i),i&&i._map&&i._map.removeLayer(i)):this._map.removeLayer(f)}this.fire("load",{bounds:t})};r.once("error",function(){this._map.removeLayer(r);this.fire("error");r.off("load",u,this)},this);r.once("load",u,this);this.fire("loading",{bounds:t})}},_update:function(){var i,r,n;this._map&&(i=this._map.getZoom(),r=this._map.getBounds(),this._animatingZoom||this._map._panTransition&&this._map._panTransition._inProgress||(i>this.options.maxZoom||i<this.options.minZoom?this._currentImage&&(this._currentImage._map.removeLayer(this._currentImage),this._currentImage=null):(n=this._buildExportParams(),t.Util.extend(n,this.options.requestParams),n?this._requestExport(n,r):this._currentImage&&(this._currentImage._map.removeLayer(this._currentImage),this._currentImage=null))))},_renderPopup:function(n,i,r,u){if(n=t.latLng(n),this._shouldRenderPopup&&this._lastClick.equals(n)){var f=this._popupFunction(i,r,u);f&&this._popup.setLatLng(n).setContent(f).openOn(this._map)}},_resetPopupState:function(n){this._shouldRenderPopup=!1;this._lastClick=n.latlng},_calculateBbox:function(){var i=this._map.getPixelBounds(),r=this._map.unproject(i.getBottomLeft()),u=this._map.unproject(i.getTopRight()),f=this._map.options.crs.project(u),e=this._map.options.crs.project(r),n=t.bounds(f,e);return[n.getBottomLeft().x,n.getBottomLeft().y,n.getTopRight().x,n.getTopRight().y].join(",")},_calculateImageSize:function(){var t=this._map.getPixelBounds(),n=this._map.getSize(),u=this._map.unproject(t.getBottomLeft()),f=this._map.unproject(t.getTopRight()),i=this._map.latLngToLayerPoint(f).y,r=this._map.latLngToLayerPoint(u).y;return(i>0||r<n.y)&&(n.y=r-i),n.x+","+n.y}}),ir=ri.extend({options:{updateInterval:150,format:"jpgpng",transparent:!0,f:"image"},query:function(){return this.service.query()},identify:function(){return this.service.identify()},initialize:function(n){n=e(n);this.service=nr(n);this.service.addEventParent(this);t.Util.setOptions(this,n)},setPixelType:function(n){return this.options.pixelType=n,this._update(),this},getPixelType:function(){return this.options.pixelType},setBandIds:function(n){return this.options.bandIds=t.Util.isArray(n)?n.join(","):n.toString(),this._update(),this},getBandIds:function(){return this.options.bandIds},setNoData:function(n,i){return this.options.noData=t.Util.isArray(n)?n.join(","):n.toString(),i&&(this.options.noDataInterpretation=i),this._update(),this},getNoData:function(){return this.options.noData},getNoDataInterpretation:function(){return this.options.noDataInterpretation},setRenderingRule:function(n){this.options.renderingRule=n;this._update()},getRenderingRule:function(){return this.options.renderingRule},setMosaicRule:function(n){this.options.mosaicRule=n;this._update()},getMosaicRule:function(){return this.options.mosaicRule},_getPopupData:function(n){var r=t.Util.bind(function(i,r,u){i||setTimeout(t.Util.bind(function(){this._renderPopup(n.latlng,i,r,u)},this),300)},this),i=this.identify().at(n.latlng);this.options.mosaicRule&&i.setMosaicRule(this.options.mosaicRule);i.run(r);this._shouldRenderPopup=!0;this._lastClick=n.latlng},_buildExportParams:function(){var t=parseInt(this._map.options.crs.code.split(":")[1],10),n={bbox:this._calculateBbox(),size:this._calculateImageSize(),format:this.options.format,transparent:this.options.transparent,bboxSR:t,imageSR:t};return this.options.from&&this.options.to&&(n.time=this.options.from.valueOf()+","+this.options.to.valueOf()),this.options.pixelType&&(n.pixelType=this.options.pixelType),this.options.interpolation&&(n.interpolation=this.options.interpolation),this.options.compressionQuality&&(n.compressionQuality=this.options.compressionQuality),this.options.bandIds&&(n.bandIds=this.options.bandIds),(0===this.options.noData||this.options.noData)&&(n.noData=this.options.noData),this.options.noDataInterpretation&&(n.noDataInterpretation=this.options.noDataInterpretation),this.service.options.token&&(n.token=this.service.options.token),this.options.renderingRule&&(n.renderingRule=JSON.stringify(this.options.renderingRule)),this.options.mosaicRule&&(n.mosaicRule=JSON.stringify(this.options.mosaicRule)),n},_requestExport:function(n,i){"json"===this.options.f?this.service.request("exportImage",n,function(n,t){n||(this.options.token&&(t.href+="?token="+this.options.token),this.options.proxy&&(t.href=this.options.proxy+"?"+t.href),this._renderImage(t.href,i))},this):(n.f="image",this._renderImage(this.options.url+"exportImage"+t.Util.getParamString(n),i))}}),rr=ri.extend({options:{updateInterval:150,layers:!1,layerDefs:!1,timeOptions:!1,format:"png24",transparent:!0,f:"json"},initialize:function(n){n=e(n);this.service=gt(n);this.service.addEventParent(this);(n.proxy||n.token)&&"json"!==n.f&&(n.f="json");t.Util.setOptions(this,n)},getDynamicLayers:function(){return this.options.dynamicLayers},setDynamicLayers:function(n){return this.options.dynamicLayers=n,this._update(),this},getLayers:function(){return this.options.layers},setLayers:function(n){return this.options.layers=n,this._update(),this},getLayerDefs:function(){return this.options.layerDefs},setLayerDefs:function(n){return this.options.layerDefs=n,this._update(),this},getTimeOptions:function(){return this.options.timeOptions},setTimeOptions:function(n){return this.options.timeOptions=n,this._update(),this},query:function(){return this.service.query()},identify:function(){return this.service.identify()},find:function(){return this.service.find()},_getPopupData:function(n){var i,u=t.Util.bind(function(i,r,u){i||setTimeout(t.Util.bind(function(){this._renderPopup(n.latlng,i,r,u)},this),300)},this),r;if((i=this.options.popup?this.options.popup.on(this._map).at(n.latlng):this.identify().on(this._map).at(n.latlng)).params.maxAllowableOffset||i.simplify(this._map,.5),this.options.popup&&this.options.popup.params&&this.options.popup.params.layers||(this.options.layers?i.layers("visible:"+this.options.layers.join(",")):i.layers("visible")),this.options.layerDefs&&"string"!=typeof this.options.layerDefs&&!i.params.layerDefs)for(r in this.options.layerDefs)this.options.layerDefs.hasOwnProperty(r)&&i.layerDef(r,this.options.layerDefs[r]);i.run(u);this._shouldRenderPopup=!0;this._lastClick=n.latlng},_buildExportParams:function(){var t=parseInt(this._map.options.crs.code.split(":")[1],10),n={bbox:this._calculateBbox(),size:this._calculateImageSize(),dpi:96,format:this.options.format,transparent:this.options.transparent,bboxSR:t,imageSR:t};if(this.options.dynamicLayers&&(n.dynamicLayers=this.options.dynamicLayers),this.options.layers){if(0===this.options.layers.length)return;n.layers="show:"+this.options.layers.join(",")}return this.options.layerDefs&&(n.layerDefs="string"==typeof this.options.layerDefs?this.options.layerDefs:JSON.stringify(this.options.layerDefs)),this.options.timeOptions&&(n.timeOptions=JSON.stringify(this.options.timeOptions)),this.options.from&&this.options.to&&(n.time=this.options.from.valueOf()+","+this.options.to.valueOf()),this.service.options.token&&(n.token=this.service.options.token),this.options.proxy&&(n.proxy=this.options.proxy),this.options.disableCache&&(n._ts=Date.now()),n},_requestExport:function(n,i){"json"===this.options.f?this.service.request("export",n,function(n,t){n||(this.options.token&&(t.href+="?token="+this.options.token),this.options.proxy&&(t.href=this.options.proxy+"?"+t.href),t.href?this._renderImage(t.href,i):this._renderImage(t.imageData,i,t.contentType))},this):(n.f="image",this._renderImage(this.options.url+"export"+t.Util.getParamString(n),i))}}),ut=t.Layer.extend({options:{cellSize:512,updateInterval:150},initialize:function(n){n=t.setOptions(this,n);this._zooming=!1},onAdd:function(n){this._map=n;this._update=t.Util.throttle(this._update,this.options.updateInterval,this);this._reset();this._update()},onRemove:function(){this._map.removeEventListener(this.getEvents(),this);this._removeCells()},getEvents:function(){return{moveend:this._update,zoomstart:this._zoomstart,zoomend:this._reset}},addTo:function(n){return n.addLayer(this),this},removeFrom:function(n){return n.removeLayer(this),this},_zoomstart:function(){this._zooming=!0},_reset:function(){this._removeCells();this._cells={};this._activeCells={};this._cellsToLoad=0;this._cellsTotal=0;this._cellNumBounds=this._getCellNumBounds();this._resetWrap();this._zooming=!1},_resetWrap:function(){var t=this._map,n=t.options.crs,i;n.infinite||(i=this._getCellSize(),n.wrapLng&&(this._wrapLng=[Math.floor(t.project([0,n.wrapLng[0]]).x/i),Math.ceil(t.project([0,n.wrapLng[1]]).x/i)]),n.wrapLat&&(this._wrapLat=[Math.floor(t.project([n.wrapLat[0],0]).y/i),Math.ceil(t.project([n.wrapLat[1],0]).y/i)]))},_getCellSize:function(){return this.options.cellSize},_update:function(){if(this._map){var n=this._map.getPixelBounds(),i=this._getCellSize(),r=t.bounds(n.min.divideBy(i).floor(),n.max.divideBy(i).floor());this._removeOtherCells(r);this._addCells(r);this.fire("cellsupdated")}},_addCells:function(n){for(var i,e,f=[],o=n.getCenter(),s=this._map.getZoom(),r,u=n.min.y;u<=n.max.y;u++)for(i=n.min.x;i<=n.max.x;i++)(e=t.point(i,u)).z=s,this._isValidCell(e)&&f.push(e);if(r=f.length,0!==r)for(this._cellsToLoad+=r,this._cellsTotal+=r,f.sort(function(n,t){return n.distanceTo(o)-t.distanceTo(o)}),i=0;i<r;i++)this._addCell(f[i])},_isValidCell:function(n){var r=this._map.options.crs,i,u;return!r.infinite&&((i=this._cellNumBounds,!i)||!r.wrapLng&&(n.x<i.min.x||n.x>i.max.x)||!r.wrapLat&&(n.y<i.min.y||n.y>i.max.y))?!1:this.options.bounds?(u=this._cellCoordsToBounds(n),t.latLngBounds(this.options.bounds).intersects(u)):!0},_cellCoordsToBounds:function(n){var i=this._map,r=this.options.cellSize,u=n.multiplyBy(r),f=u.add([r,r]),e=i.wrapLatLng(i.unproject(u,n.z)),o=i.wrapLatLng(i.unproject(f,n.z));return t.latLngBounds(e,o)},_cellCoordsToKey:function(n){return n.x+":"+n.y},_keyToCellCoords:function(n){var i=n.split(":"),r=parseInt(i[0],10),u=parseInt(i[1],10);return t.point(r,u)},_removeOtherCells:function(n){for(var t in this._cells)n.contains(this._keyToCellCoords(t))||this._removeCell(t)},_removeCell:function(n){var t=this._activeCells[n];t&&(delete this._activeCells[n],this.cellLeave&&this.cellLeave(t.bounds,t.coords),this.fire("cellleave",{bounds:t.bounds,coords:t.coords}))},_removeCells:function(){var n,t,i;for(n in this._cells)t=this._cells[n].bounds,i=this._cells[n].coords,this.cellLeave&&this.cellLeave(t,i),this.fire("cellleave",{bounds:t,coords:i})},_addCell:function(n){this._wrapCoords(n);var i=this._cellCoordsToKey(n),t=this._cells[i];t&&!this._activeCells[i]&&(this.cellEnter&&this.cellEnter(t.bounds,n),this.fire("cellenter",{bounds:t.bounds,coords:n}),this._activeCells[i]=t);t||(t={coords:n,bounds:this._cellCoordsToBounds(n)},this._cells[i]=t,this._activeCells[i]=t,this.createCell&&this.createCell(t.bounds,n),this.fire("cellcreate",{bounds:t.bounds,coords:n}))},_wrapCoords:function(n){n.x=this._wrapLng?t.Util.wrapNum(n.x,this._wrapLng):n.x;n.y=this._wrapLat?t.Util.wrapNum(n.y,this._wrapLat):n.y},_getCellNumBounds:function(){var n=this._map.getPixelWorldBounds(),i=this._getCellSize();return n?t.bounds(n.min.divideBy(i).floor(),n.max.divideBy(i).ceil().subtract([1,1])):null}});r.prototype.query=function(n){var t=this.getIndex(n);return this.values[t]};r.prototype.getIndex=function(n){this.dirty&&this.sort();for(var t,u,r=0,i=this.values.length-1;r<=i;)if(t=(r+i)/2|0,+(u=this.values[Math.round(t)]).value<+n)r=t+1;else{if(!(+u.value>+n))return t;i=t-1}return Math.abs(~i)};r.prototype.between=function(n,t){var r=this.getIndex(n),i=this.getIndex(t);if(0===r&&0===i)return[];for(;this.values[r-1]&&this.values[r-1].value===n;)r--;for(;this.values[i+1]&&this.values[i+1].value===t;)i++;return this.values[i]&&this.values[i].value===t&&this.values[i+1]&&i++,this.values.slice(r,i)};r.prototype.insert=function(n){return this.values.splice(this.getIndex(n.value),0,n),this};r.prototype.bulkAdd=function(n,t){return this.values=this.values.concat([].concat(n||[])),t?this.sort():this.dirty=!0,this};r.prototype.sort=function(){return this.values.sort(function(n,t){return+t.value-+n.value}).reverse(),this.dirty=!1,this};p=ut.extend({options:{attribution:null,where:"1=1",fields:["*"],from:!1,to:!1,timeField:!1,timeFilterMode:"server",simplifyFactor:0,precision:6},initialize:function(n){if(ut.prototype.initialize.call(this,n),n=e(n),n=t.Util.setOptions(this,n),this.service=tr(n),this.service.addEventParent(this),"*"!==this.options.fields[0]){for(var u=!1,i=0;i<this.options.fields.length;i++)this.options.fields[i].match(/^(OBJECTID|FID|OID|ID)$/i)&&(u=!0);!1===u&&o("no known esriFieldTypeOID field detected in fields Array.  Please add an attribute field containing unique IDs to ensure the layer can be drawn correctly.")}this.options.timeField.start&&this.options.timeField.end?(this._startTimeIndex=new r,this._endTimeIndex=new r):this.options.timeField&&(this._timeIndex=new r);this._cache={};this._currentSnapshot=[];this._activeRequests=0},onAdd:function(n){return a(n),this.service.metadata(function(t,i){if(!t){var r=i.supportedQueryFormats,u=!1;!1===this.service.options.isModern&&(u=!0);!u&&r&&-1!==r.indexOf("geoJSON")&&(this.service.options.isModern=!0);i.objectIdField&&(this.service.options.idAttribute=i.objectIdField);!this.options.attribution&&n.attributionControl&&i.copyrightText&&(this.options.attribution=i.copyrightText,n.attributionControl.addAttribution(this.getAttribution()))}},this),n.on("zoomend",this._handleZoomChange,this),ut.prototype.onAdd.call(this,n)},onRemove:function(n){return n.off("zoomend",this._handleZoomChange,this),ut.prototype.onRemove.call(this,n)},getAttribution:function(){return this.options.attribution},createCell:function(n,t){this._visibleZoom()&&this._requestFeatures(n,t)},_requestFeatures:function(n,i,r){return this._activeRequests++,1===this._activeRequests&&this.fire("loading",{bounds:n},!0),this._buildQuery(n).run(function(u,f,e){e&&e.exceededTransferLimit&&this.fire("drawlimitexceeded");!u&&f&&f.features.length&&t.Util.requestAnimFrame(t.Util.bind(function(){this._addFeatures(f.features,i);this._postProcessFeatures(n)},this));u||!f||f.features.length||this._postProcessFeatures(n);u&&this._postProcessFeatures(n);r&&r.call(this,u,f)},this)},_postProcessFeatures:function(n){this._activeRequests--;this._activeRequests<=0&&this.fire("load",{bounds:n})},_cacheKey:function(n){return n.z+":"+n.x+":"+n.y},_addFeatures:function(n,t){var r=this._cacheKey(t),u,i;for(this._cache[r]=this._cache[r]||[],u=n.length-1;u>=0;u--)i=n[u].id,-1===this._currentSnapshot.indexOf(i)&&this._currentSnapshot.push(i),-1===this._cache[r].indexOf(i)&&this._cache[r].push(i);this.options.timeField&&this._buildTimeIndexes(n);this.createLayers(n)},_buildQuery:function(n){var i=this.service.query().intersects(n).where(this.options.where).fields(this.options.fields).precision(this.options.precision);return this.options.requestParams&&t.Util.extend(i.params,this.options.requestParams),this.options.simplifyFactor&&i.simplify(this._map,this.options.simplifyFactor),"server"===this.options.timeFilterMode&&this.options.from&&this.options.to&&i.between(this.options.from,this.options.to),i},setWhere:function(n,i,r){var e,c,l;this.options.where=n&&n.length?n:"1=1";for(var o=[],u=[],s=0,h=null,a=t.Util.bind(function(n,f){if(n&&(h=n),f)for(var e=f.features.length-1;e>=0;e--)u.push(f.features[e].id);--s<=0&&this._visibleZoom()&&(this._currentSnapshot=u,t.Util.requestAnimFrame(t.Util.bind(function(){this.removeLayers(o);this.addLayers(u);i&&i.call(r,h)},this)))},this),f=this._currentSnapshot.length-1;f>=0;f--)o.push(this._currentSnapshot[f]);for(e in this._activeCells)s++,c=this._keyToCellCoords(e),l=this._cellCoordsToBounds(c),this._requestFeatures(l,e,a);return this},getWhere:function(){return this.options.where},getTimeRange:function(){return[this.options.from,this.options.to]},setTimeRange:function(n,i,r,u){var o=this.options.from,s=this.options.to,f=0,h=null,a=t.Util.bind(function(t){t&&(h=t);this._filterExistingFeatures(o,s,n,i);f--;r&&f<=0&&r.call(u,h)},this),e,c,l;if(this.options.from=n,this.options.to=i,this._filterExistingFeatures(o,s,n,i),"server"===this.options.timeFilterMode)for(e in this._activeCells)f++,c=this._keyToCellCoords(e),l=this._cellCoordsToBounds(c),this._requestFeatures(l,e,a);return this},refresh:function(){var n,t,i;for(n in this._activeCells)t=this._keyToCellCoords(n),i=this._cellCoordsToBounds(t),this._requestFeatures(i,n);this.redraw&&this.once("load",function(){this.eachFeature(function(n){this._redraw(n.feature.id)},this)},this)},_filterExistingFeatures:function(n,i,r,u){var o=n&&i?this._getFeaturesInTimeRange(n,i):this._currentSnapshot,f=this._getFeaturesInTimeRange(r,u),e,s;if(f.indexOf)for(e=0;e<f.length;e++)s=o.indexOf(f[e]),s>=0&&o.splice(s,1);t.Util.requestAnimFrame(t.Util.bind(function(){this.removeLayers(o);this.addLayers(f)},this))},_getFeaturesInTimeRange:function(n,t){var i,u=[],f,e,r;for(this.options.timeField.start&&this.options.timeField.end?(f=this._startTimeIndex.between(n,t),e=this._endTimeIndex.between(n,t),i=f.concat(e)):i=this._timeIndex.between(n,t),r=i.length-1;r>=0;r--)u.push(i[r].id);return u},_buildTimeIndexes:function(n){var t,i,r,u,f;if(this.options.timeField.start&&this.options.timeField.end){for(r=[],u=[],t=n.length-1;t>=0;t--)i=n[t],r.push({id:i.id,value:new Date(i.properties[this.options.timeField.start])}),u.push({id:i.id,value:new Date(i.properties[this.options.timeField.end])});this._startTimeIndex.bulkAdd(r);this._endTimeIndex.bulkAdd(u)}else{for(f=[],t=n.length-1;t>=0;t--)i=n[t],f.push({id:i.id,value:new Date(i.properties[this.options.timeField])});this._timeIndex.bulkAdd(f)}},_featureWithinTimeRange:function(n){var t,i,r,u,f;return!this.options.from||!this.options.to?!0:(t=+this.options.from.valueOf(),i=+this.options.to.valueOf(),"string"==typeof this.options.timeField)?(r=+n.properties[this.options.timeField],r>=t&&r<=i):this.options.timeField.start&&this.options.timeField.end?(u=+n.properties[this.options.timeField.start],f=+n.properties[this.options.timeField.end],u>=t&&u<=i||f>=t&&f<=i):void 0},_visibleZoom:function(){if(!this._map)return!1;var n=this._map.getZoom();return!(n>this.options.maxZoom||n<this.options.minZoom)},_handleZoomChange:function(){var t,i,n;if(this._visibleZoom())for(t in this._activeCells)i=this._activeCells[t].coords,n=this._cacheKey(i),this._cache[n]&&this.addLayers(this._cache[n]);else this.removeLayers(this._currentSnapshot),this._currentSnapshot=[]},authenticate:function(n){return this.service.authenticate(n),this},metadata:function(n,t){return this.service.metadata(n,t),this},query:function(){return this.service.query()},_getMetadata:function(n){this._metadata?n(void 0,this._metadata):this.metadata(t.Util.bind(function(t,i){this._metadata=i;n(t,this._metadata)},this))},addFeature:function(n,t,i){this.addFeatures(n,t,i)},addFeatures:function(n,i,r){this._getMetadata(t.Util.bind(function(u,f){if(u)i&&i.call(this,u,null);else{var e=n.features?n.features:[n];this.service.addFeatures(n,t.Util.bind(function(n,t){if(!n){for(var u=e.length-1;u>=0;u--)e[u].properties[f.objectIdField]=e.length>1?t[u].objectId:t.objectId,e[u].id=e.length>1?t[u].objectId:t.objectId;this.createLayers(e)}i&&i.call(r,n,t)},this))}},this))},updateFeature:function(n,t,i){this.updateFeatures(n,t,i)},updateFeatures:function(n,t,i){var r=n.features?n.features:[n];this.service.updateFeatures(n,function(n,u){if(!n){for(var f=r.length-1;f>=0;f--)this.removeLayers([r[f].id],!0);this.createLayers(r)}t&&t.call(i,n,u)},this)},deleteFeature:function(n,t,i){this.deleteFeatures(n,t,i)},deleteFeatures:function(n,t,i){return this.service.deleteFeatures(n,function(n,r){var f=r.length?r:[r],u;if(!n&&f.length>0)for(u=f.length-1;u>=0;u--)this.removeLayers([f[u].objectId],!0);t&&t.call(i,n,r)},this)}});ui=p.extend({options:{cacheLayers:!0},initialize:function(n){p.prototype.initialize.call(this,n);this._originalStyle=this.options.style;this._layers={}},onRemove:function(n){for(var t in this._layers)n.removeLayer(this._layers[t]),this.fire("removefeature",{feature:this._layers[t].feature,permanent:!1},!0);return p.prototype.onRemove.call(this,n)},createNewLayer:function(n){var i=t.GeoJSON.geometryToLayer(n,this.options);return i&&(i.defaultOptions=i.options),i},_updateLayer:function(n,i){var r=[],u=this.options.coordsToLatLng||t.GeoJSON.coordsToLatLng;switch(i.properties&&(n.feature.properties=i.properties),i.geometry.type){case"Point":r=t.GeoJSON.coordsToLatLng(i.geometry.coordinates);n.setLatLng(r);break;case"LineString":r=t.GeoJSON.coordsToLatLngs(i.geometry.coordinates,0,u);n.setLatLngs(r);break;case"MultiLineString":case"Polygon":r=t.GeoJSON.coordsToLatLngs(i.geometry.coordinates,1,u);n.setLatLngs(r);break;case"MultiPolygon":r=t.GeoJSON.coordsToLatLngs(i.geometry.coordinates,2,u);n.setLatLngs(r)}},createLayers:function(n){for(var t,r,i,u=n.length-1;u>=0;u--)r=n[u],i=this._layers[r.id],this._visibleZoom()&&i&&!this._map.hasLayer(i)&&(this._map.addLayer(i),this.fire("addfeature",{feature:i.feature},!0)),i&&this.options.simplifyFactor>0&&(i.setLatLngs||i.setLatLng)&&this._updateLayer(i,r),i||((t=this.createNewLayer(r))?(t.feature=r,t.addEventParent(this),this.options.onEachFeature&&this.options.onEachFeature(t.feature,t),this._layers[t.feature.id]=t,this.setFeatureStyle(t.feature.id,this.options.style),this.fire("createfeature",{feature:t.feature},!0),this._visibleZoom()&&(!this.options.timeField||this.options.timeField&&this._featureWithinTimeRange(r))&&this._map.addLayer(t)):o("invalid GeoJSON encountered"))},addLayers:function(n){for(var i,t=n.length-1;t>=0;t--)i=this._layers[n[t]],i&&this._map.addLayer(i)},removeLayers:function(n,t){for(var u,i,r=n.length-1;r>=0;r--)u=n[r],i=this._layers[u],i&&(this.fire("removefeature",{feature:i.feature,permanent:t},!0),this._map.removeLayer(i)),i&&t&&delete this._layers[u]},cellEnter:function(n,i){this._visibleZoom()&&!this._zooming&&this._map&&t.Util.requestAnimFrame(t.Util.bind(function(){var t=this._cacheKey(i),r=this._cellCoordsToKey(i),n=this._cache[t];this._activeCells[r]&&n&&this.addLayers(n)},this))},cellLeave:function(n,i){this._zooming||t.Util.requestAnimFrame(t.Util.bind(function(){var t,r,u;if(this._map){var e=this._cacheKey(i),f=this._cellCoordsToKey(i),n=this._cache[e],o=this._map.getBounds();if(!this._activeCells[f]&&n){for(t=!0,r=0;r<n.length;r++)u=this._layers[n[r]],u&&u.getBounds&&o.intersects(u.getBounds())&&(t=!1);t&&this.removeLayers(n,!this.options.cacheLayers);!this.options.cacheLayers&&t&&(delete this._cache[e],delete this._cells[f],delete this._activeCells[f])}}},this))},resetStyle:function(){return this.options.style=this._originalStyle,this.eachFeature(function(n){this.resetFeatureStyle(n.feature.id)},this),this},setStyle:function(n){return this.options.style=n,this.eachFeature(function(t){this.setFeatureStyle(t.feature.id,n)},this),this},resetFeatureStyle:function(n){var i=this._layers[n],r=this._originalStyle||t.Path.prototype.options;return i&&(t.Util.extend(i.options,i.defaultOptions),this.setFeatureStyle(n,r)),this},setFeatureStyle:function(n,t){var i=this._layers[n];return"function"==typeof t&&(t=t(i.feature)),i.setStyle&&i.setStyle(t),this},eachActiveFeature:function(n,t){var r,i;if(this._map){r=this._map.getBounds();for(i in this._layers)-1!==this._currentSnapshot.indexOf(this._layers[i].feature.id)&&("function"==typeof this._layers[i].getLatLng&&r.contains(this._layers[i].getLatLng())?n.call(t,this._layers[i]):"function"==typeof this._layers[i].getBounds&&r.intersects(this._layers[i].getBounds())&&n.call(t,this._layers[i]))}return this},eachFeature:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},getFeature:function(n){return this._layers[n]},bringToBack:function(){this.eachFeature(function(n){n.bringToBack&&n.bringToBack()})},bringToFront:function(){this.eachFeature(function(n){n.bringToFront&&n.bringToFront()})},redraw:function(n){return n&&this._redraw(n),this},_redraw:function(n){var i=this._layers[n],r=i.feature,u,f;i&&i.setIcon&&this.options.pointToLayer&&this.options.pointToLayer&&(u=this.options.pointToLayer(r,t.latLng(r.geometry.coordinates[1],r.geometry.coordinates[0])).options.icon,i.setIcon(u));i&&i.setStyle&&this.options.pointToLayer&&(f=this.options.pointToLayer(r,t.latLng(r.geometry.coordinates[1],r.geometry.coordinates[0])).options,this.setFeatureStyle(r.id,f));i&&i.setStyle&&this.options.style&&this.resetStyle(r.id)}});n.VERSION="2.2.4";n.Support=f;n.options=fi;n.Util=er;n.get=k;n.post=oi;n.request=et;n.Task=v;n.task=function(n){return n=e(n),new v(n)};n.Query=bi;n.query=it;n.Find=wt;n.find=ki;n.Identify=y;n.identify=function(n){return new y(n)};n.IdentifyFeatures=bt;n.identifyFeatures=di;n.IdentifyImage=kt;n.identifyImage=gi;n.Service=s;n.service=function(n){return n=e(n),new s(n)};n.MapService=dt;n.mapService=gt;n.ImageService=ni;n.imageService=nr;n.FeatureLayerService=ti;n.featureLayerService=tr;n.BasemapLayer=rt;n.basemapLayer=function(n,t){return new rt(n,t)};n.TiledMapLayer=ii;n.tiledMapLayer=function(n,t){return new ii(n,t)};n.RasterLayer=ri;n.ImageMapLayer=ir;n.imageMapLayer=function(n,t){return new ir(n,t)};n.DynamicMapLayer=rr;n.dynamicMapLayer=function(n,t){return new rr(n,t)};n.FeatureManager=p;n.FeatureLayer=ui;n.featureLayer=function(n){return new ui(n)};Object.defineProperty(n,"__esModule",{value:!0})});!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("leaflet"),require("esri-leaflet")):"function"==typeof define&&define.amd?define(["exports","leaflet","esri-leaflet"],t):t(((n=n||self).L=n.L||{},n.L.esri=n.L.esri||{},n.L.esri.Cluster={}),n.L,n.L.esri)}(this,function(n,t,i){"use strict";function u(n){return new r(n)}var r=i.FeatureManager.extend({statics:{EVENTS:"click dblclick mouseover mouseout mousemove contextmenu popupopen popupclose",CLUSTEREVENTS:"clusterclick clusterdblclick clustermouseover clustermouseout clustermousemove clustercontextmenu"},initialize:function(n){i.FeatureManager.prototype.initialize.call(this,n);n=t.setOptions(this,n);this._layers={};this._leafletIds={};this.cluster=t.markerClusterGroup(n);this._key="c"+(1e9*Math.random()).toString(36).replace(".","_");this.cluster.addEventParent(this)},onAdd:function(n){i.FeatureManager.prototype.onAdd.call(this,n);this._map.addLayer(this.cluster)},onRemove:function(n){i.FeatureManager.prototype.onRemove.call(this,n);this._map.removeLayer(this.cluster)},createNewLayer:function(n){var i=t.GeoJSON.geometryToLayer(n,this.options);return i&&(i.defaultOptions=i.options),i},createLayers:function(n){for(var r,i,u=[],f=n.length-1;0<=f;f--)r=n[f],i=this._layers[r.id],i||((i=this.createNewLayer(r)).feature=t.GeoJSON.asFeature(r),i.defaultOptions=i.options,i._leaflet_id=this._key+"_"+r.id,this.resetStyle(i.feature.id),this._layers[i.feature.id]=i,this._leafletIds[i._leaflet_id]=r.id,this.options.onEachFeature&&this.options.onEachFeature(i.feature,i),this.fire("createfeature",{feature:i.feature})),(!this.options.timeField||this.options.timeField&&this._featureWithinTimeRange(r))&&u.push(i);u.length&&this.cluster.addLayers(u)},addLayers:function(n){for(var r,i=[],t=n.length-1;0<=t;t--)r=this._layers[n[t]],this.fire("addfeature",{feature:r.feature}),i.push(r);this.cluster.addLayers(i)},removeLayers:function(n,t){for(var r,f,u=[],i=n.length-1;0<=i;i--)r=n[i],f=this._layers[r],this.fire("removefeature",{feature:f.feature,permanent:t}),u.push(f),this._layers[r]&&t&&delete this._layers[r];this.cluster.removeLayers(u)},resetStyle:function(n){var t=this._layers[n];return t&&(t.options=t.defaultOptions,this.setFeatureStyle(t.feature.id,this.options.style)),this},setStyle:function(n){return this.eachFeature(function(t){this.setFeatureStyle(t.feature.id,n)},this),this},setFeatureStyle:function(n,t){var i=this._layers[n];"function"==typeof t&&(t=t(i.feature));i.setStyle&&i.setStyle(t)},eachFeature:function(n,t){for(var i in this._layers)n.call(t,this._layers[i]);return this},getFeature:function(n){return this._layers[n]}});n.FeatureLayer=r;n.VERSION="2.1.0";n.default=u;n.featureLayer=u;Object.defineProperty(n,"__esModule",{value:!0})}),function(n,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("leaflet"),require("mapbox-gl"),require("esri-leaflet")):typeof define=="function"&&define.amd?define(["exports","leaflet","mapbox-gl","esri-leaflet"],t):t((n.L=n.L||{},n.L.esri=n.L.esri||{},n.L.esri.Vector={}),n.L,n.mapboxgl,n.L.esri)}(this,function(n,t,i,r){"use strict";function o(n,i){r.request(n,{},function(u,f){if(u)throw new Error("Unable to fetch vector tile style metadata");else r.request(f.sources.esri.url,{},function(r,u){r||(s(f,u,n),i._mapboxGL=t.mapboxGL({accessToken:"ezree",style:f}),i._ready=!0,i.fire("ready",{},!0))},i)},i)}function s(n,t,i){n.sources.esri.url&&n.sources.esri.url.indexOf("http")===-1&&(n.sources.esri.url=i.replace("/resources/styles/root.json",""));t.tiles&&t.tiles[0].charAt(0)!=="/"&&(t.tiles[0]="/"+t.tiles[0]);t.tileMap&&t.tileMap.charAt(0)!=="/"&&(t.tileMap="/"+t.tileMap);n.sources.esri={type:"vector",scheme:"xyz",tilejson:t.tilejson||"2.0.0",format:t.tileInfo&&t.tileInfo.format||"pbf",index:t.tileMap?n.sources.esri.url+t.tileMap:null,tiles:[n.sources.esri.url+t.tiles[0]],description:t.description,name:t.name,maxzoom:15};n.glyphs.indexOf("http")===-1&&(n.glyphs=i.replace("styles/root.json",n.glyphs.replace("../","")),n.sprite=i.replace("styles/root.json",n.sprite.replace("../","")))}function h(n){return new u(n)}function c(n){return new f(n)}var e,u,f;t=t&&t.hasOwnProperty("default")?t["default"]:t;e="2.0.2";L.MapboxGL=L.Layer.extend({options:{updateInterval:32},initialize:function(n){if(L.setOptions(this,n),n.accessToken)mapboxgl.accessToken=n.accessToken;else throw new Error("You should provide a Mapbox GL access token as a token option.");var t=function(n,t,i){var u,r,f,e;return e=function(){u=!1;r&&(f.apply(i,r),r=!1)},f=function(){u?r=arguments:(n.apply(i,arguments),setTimeout(e,t),u=!0)}};this._throttledUpdate=t(L.Util.bind(this._update,this),this.options.updateInterval)},onAdd:function(n){if(this._glContainer||this._initContainer(),n._panes.tilePane.appendChild(this._glContainer),this._initGL(),this._offset=this._map.containerPointToLayerPoint([0,0]),n.options.zoomAnimation)L.DomEvent.on(n._proxy,L.DomUtil.TRANSITION_END,this._transitionEnd,this)},onRemove:function(n){this._map.options.zoomAnimation&&L.DomEvent.off(this._map._proxy,L.DomUtil.TRANSITION_END,this._transitionEnd,this);n.getPanes().tilePane.removeChild(this._glContainer);this._glMap.remove();this._glMap=null},getEvents:function(){return{move:this._throttledUpdate,zoomanim:this._animateZoom,zoom:this._pinchZoom,zoomstart:this._zoomStart,zoomend:this._zoomEnd}},_initContainer:function(){var n=this._glContainer=L.DomUtil.create("div","leaflet-gl-layer"),t=this._map.getSize();n.style.width=t.x+"px";n.style.height=t.y+"px"},_initGL:function(){var n=this._map.getCenter(),t=L.extend({},this.options,{container:this._glContainer,interactive:!1,center:[n.lng,n.lat],zoom:this._map.getZoom()-1,attributionControl:!1});this._glMap=new mapboxgl.Map(t);this._glMap.transform.latRange=null;this._glMap._actualCanvas=this._glMap._canvas.canvas?this._glMap._canvas.canvas:this._glMap._canvas;L.DomUtil.addClass(this._glMap._actualCanvas,"leaflet-image-layer");L.DomUtil.addClass(this._glMap._actualCanvas,"leaflet-zoom-animated")},_update:function(){var r,u;if(this._offset=this._map.containerPointToLayerPoint([0,0]),!this._zooming){var t=this._map.getSize(),i=this._glContainer,n=this._glMap,f=this._map.containerPointToLayerPoint([0,0]);L.DomUtil.setPosition(i,f);r=this._map.getCenter();u=n.transform;u.center=mapboxgl.LngLat.convert([r.lng,r.lat]);u.zoom=this._map.getZoom()-1;n.transform.width!==t.x||n.transform.height!==t.y?(i.style.width=t.x+"px",i.style.height=t.y+"px",n._resize!==null&&n._resize!==undefined?n._resize():n.resize()):n._update!==null&&n._update!==undefined?n._update():n.update()}},_pinchZoom:function(){this._glMap.jumpTo({zoom:this._map.getZoom()-1,center:this._map.getCenter()})},_animateZoom:function(n){var t=this._map.getZoomScale(n.zoom),i=this._map._latLngToNewLayerPoint(this._map.getBounds().getNorthWest(),n.zoom,n.center);L.DomUtil.setTransform(this._glMap._actualCanvas,i.subtract(this._offset),t)},_zoomStart:function(){this._zooming=!0},_zoomEnd:function(){var n=this._map.getZoomScale(this._map.getZoom()),t=this._map._latLngToNewLayerPoint(this._map.getBounds().getNorthWest(),this._map.getZoom(),this._map.getCenter());L.DomUtil.setTransform(this._glMap._actualCanvas,t.subtract(this._offset),n);this._zooming=!1},_transitionEnd:function(){L.Util.requestAnimFrame(function(){var n=this._map.getZoom(),t=this._map.getCenter(),i=this._map.latLngToContainerPoint(this._map.getBounds().getNorthWest());L.DomUtil.setTransform(this._glMap._actualCanvas,i,1);this._glMap.once("moveend",L.Util.bind(function(){this._zoomEnd()},this));this._glMap.jumpTo({center:t,zoom:n-1})},this)}});L.mapboxGL=function(n){return new L.MapboxGL(n)};u=t.Layer.extend({statics:{URLPREFIX:"https://www.arcgis.com/sharing/rest/content/items/",URLSUFFIX:"/resources/styles/root.json",STYLES:{OpenStreetMap:"3e1a00aeae81496587988075fe529f71",Streets:"de26a3cf4cc9451298ea173c4b324736",StreetsRelief:"b266e6d17fc345b498345613930fbd76",Topographic:"7a6bf0e8cb5a418085e66c0485e74d19",StreetsNight:"93554006894c45a88136127535878fca",Newspaper:"dfb04de5f3144a80bc3f9f336228d24a",Navigation:"63c47b7177f946b49902c24129b87252",Nova:"75f4dfdff19e445395653121a95a85db",ColoredPencil:"4cf7e1fb9f254dcda9c8fbadb15cf0f8",Hybrid:"30d6b8271e1849cd9c3042060001f425",Gray:"291da5eab3a0412593b66d384379f89f",DarkGray:"5e9b3685f4c24d8781073dd928ebda50",HumanGeography:"2afe5b807fa74006be6363fd243ffb30",HumanGeographyDetail:"97fa1365da1e43eabb90d0364326bc2d",DarkHumanGeography:"d7397603e9274052808839b70812be50",DarkHumanGeographyDetail:"1ddbb25aa29c4811aaadd94de469856a",ChartedTerritory:"1c365daf37a744fbad748b67aa69dac8",MidCentury:"7675d44bb1e4428aa2c30a9b68f97822"}},initialize:function(n){if(n={key:n},this._basemap=n.key,typeof n.key=="string"&&u.STYLES[n.key]){var t=u.URLPREFIX+u.STYLES[n.key]+u.URLSUFFIX;o(t,this)}else throw new Error('L.esri.Vector.Basemap: Invalid parameter. Use one of "DarkGray", "Gray", "Hybrid", "Navigation", "Streets", "StreetsNight", "StreetsRelief", "Topographic"');},onAdd:function(n){if(this._map=n,r.Util.setEsriAttribution(n),n.attributionControl&&(this._basemap==="OpenStreetMap"?(n.attributionControl.setPrefix('<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet<\/a>'),n.attributionControl.addAttribution('<span class="esri-dynamic-attribution">&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap<\/a> contributors, map layer by Esri<\/span>')):(r.Util._getAttributionData("https://static.arcgis.com/attribution/World_Street_Map",n),n.attributionControl.addAttribution('<span class="esri-dynamic-attribution">USGS, NOAA<\/span>'))),this._ready)this._asyncAdd();else this.once("ready",function(){this._asyncAdd()},this)},onRemove:function(n){if(n.off("moveend",r.Util._updateMapAttribution),n.removeLayer(this._mapboxGL),n.attributionControl){var t=document.getElementsByClassName("esri-dynamic-attribution")[0].outerHTML;n.attributionControl.removeAttribution(t)}},_asyncAdd:function(){var n=this._map;n.getContainer().style.background=this._mapboxGL.options.style.layers[0].paint["background-color"]||"#e1e3d0";n.on("moveend",r.Util._updateMapAttribution);this._mapboxGL.addTo(n,this)}});f=t.Layer.extend({statics:{URLPREFIX:"https://www.arcgis.com/sharing/rest/content/items/"},initialize:function(n){if(n={id:n},typeof n.id=="string"){var e=f.URLPREFIX+n.id,i,u;r.request(e,{},function(n,f){n||(i=f.url,i.indexOf("basemaps.arcgis.com")===-1?(this._customTileset=!0,f.accessInformation&&(this._copyrightText=f.accessInformation),r.request(i,{},function(n,f){n||(f.defaultStyles.charAt(0)!=="/"&&(f.defaultStyles="/"+f.defaultStyles),u=i+f.defaultStyles+"/root.json",r.request(u,{},function(n,i){n||(s(i,f,u),this._mapboxGL=t.mapboxGL({accessToken:"ezree",style:i}),this._ready=!0,this.fire("ready",{},!0))},this))},this)):o(e+"/resources/styles/root.json",this))},this)}else throw new Error("L.esri.Vector.Layer: Invalid parameter. Use the id of an ArcGIS Online vector tile item");},onAdd:function(n){if(this._map=n,r.Util.setEsriAttribution(n),this._ready)this._asyncAdd();else this.once("ready",function(){this._asyncAdd()},this)},onRemove:function(n){if(n.off("moveend",r.Util._updateMapAttribution),n.removeLayer(this._mapboxGL),n.attributionControl){var t=document.getElementsByClassName("esri-dynamic-attribution")[0].outerHTML;n.attributionControl.removeAttribution(t)}},_asyncAdd:function(){var n=this._map;if(n.attributionControl)if(this._customTileset)this._copyrightText&&n.attributionControl.addAttribution('<span class="esri-dynamic-attribution">'+this._copyrightText+"<\/span>");else{r.Util._getAttributionData("https://static.arcgis.com/attribution/World_Street_Map",n);n.attributionControl.addAttribution('<span class="esri-dynamic-attribution">USGS, NOAA<\/span>');n.on("moveend",r.Util._updateMapAttribution)}n.getContainer().style.background=this._mapboxGL.options.style.layers[0].paint["background-color"];this._mapboxGL.addTo(n,this)}});n.VERSION=e;n.Basemap=u;n.basemap=h;n.Layer=f;n.layer=c;Object.defineProperty(n,"__esModule",{value:!0})});!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n.Leaflet=n.Leaflet||{},n.Leaflet.markercluster=n.Leaflet.markercluster||{}))}(this,function(n){"use strict";var i=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(n){L.Util.setOptions(this,n);this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction);this._featureGroup=L.featureGroup();this._featureGroup.addEventParent(this);this._nonPointGroup=L.featureGroup();this._nonPointGroup.addEventParent(this);this._inZoomAnimation=0;this._needsClustering=[];this._needsRemoving=[];this._currentShownBounds=null;this._queue=[];this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation);this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(n){if(n instanceof L.LayerGroup)return this.addLayers([n]);if(!n.getLatLng)return this._nonPointGroup.addLayer(n),this.fire("layeradd",{layer:n}),this;if(!this._map)return this._needsClustering.push(n),this.fire("layeradd",{layer:n}),this;if(this.hasLayer(n))return this;this._unspiderfy&&this._unspiderfy();this._addLayer(n,this._maxZoom);this.fire("layeradd",{layer:n});this._topClusterLevel._recalculateBounds();this._refreshClustersIcons();var t=n,i=this._zoom;if(n.__parent)for(;t.__parent._zoom>=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(n,t):this._animationAddLayerNonAnimated(n,t)),this},removeLayer:function(n){return n instanceof L.LayerGroup?this.removeLayers([n]):n.getLatLng?this._map?n.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(n)),this._removeLayer(n,!0),this.fire("layerremove",{layer:n}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),n.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(n)&&(this._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,n)&&this.hasLayer(n)&&this._needsRemoving.push({layer:n,latlng:n._latlng}),this.fire("layerremove",{layer:n}),this):(this._nonPointGroup.removeLayer(n),this.fire("layerremove",{layer:n}),this)},addLayers:function(n,t){var h,e,c;if(!L.Util.isArray(n))return this.addLayer(n);var i,l=this._featureGroup,o=this._nonPointGroup,a=this.options.chunkedLoading,v=this.options.chunkInterval,s=this.options.chunkProgress,u=n.length,r=0,f=!0;if(this._map)h=(new Date).getTime(),e=L.bind(function(){for(var p,c,w,y=(new Date).getTime();u>r;r++){if(a&&0==r%200&&(p=(new Date).getTime()-y,p>v))break;(i=n[r],i instanceof L.LayerGroup)?(f&&(n=n.slice(),f=!1),this._extractNonGroupLayers(i,n),u=n.length):i.getLatLng?!this.hasLayer(i)&&(this._addLayer(i,this._maxZoom),t||this.fire("layeradd",{layer:i}),i.__parent&&2===i.__parent.getChildCount())&&(c=i.__parent.getAllChildMarkers(),w=c[0]===i?c[1]:c[0],l.removeLayer(w)):(o.addLayer(i),t||this.fire("layeradd",{layer:i}))}s&&s(r,u,(new Date).getTime()-h);r===u?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(e,this.options.chunkDelay)},this),e();else for(c=this._needsClustering;u>r;r++)i=n[r],i instanceof L.LayerGroup?(f&&(n=n.slice(),f=!1),this._extractNonGroupLayers(i,n),u=n.length):i.getLatLng?this.hasLayer(i)||c.push(i):o.addLayer(i);return this},removeLayers:function(n){var i,t,r=n.length,o=this._featureGroup,s=this._nonPointGroup,u=!0,f,e;if(!this._map){for(i=0;r>i;i++)t=n[i],t instanceof L.LayerGroup?(u&&(n=n.slice(),u=!1),this._extractNonGroupLayers(t,n),r=n.length):(this._arraySplice(this._needsClustering,t),s.removeLayer(t),this.hasLayer(t)&&this._needsRemoving.push({layer:t,latlng:t._latlng}),this.fire("layerremove",{layer:t}));return this}if(this._unspiderfy)for(this._unspiderfy(),f=n.slice(),e=r,i=0;e>i;i++)t=f[i],t instanceof L.LayerGroup?(this._extractNonGroupLayers(t,f),e=f.length):this._unspiderfyLayer(t);for(i=0;r>i;i++)t=n[i],t instanceof L.LayerGroup?(u&&(n=n.slice(),u=!1),this._extractNonGroupLayers(t,n),r=n.length):t.__parent?(this._removeLayer(t,!0,!0),this.fire("layerremove",{layer:t}),o.hasLayer(t)&&(o.removeLayer(t),t.clusterShow&&t.clusterShow())):(s.removeLayer(t),this.fire("layerremove",{layer:t}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],this._needsRemoving=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(n){n.off(this._childMarkerEventHandlers,this);delete n.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var n=new L.LatLngBounds,t;for(this._topClusterLevel&&n.extend(this._topClusterLevel._bounds),t=this._needsClustering.length-1;t>=0;t--)n.extend(this._needsClustering[t].getLatLng());return n.extend(this._nonPointGroup.getBounds()),n},eachLayer:function(n,t){var f,i,r,u=this._needsClustering.slice(),e=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(u),i=u.length-1;i>=0;i--){for(f=!0,r=e.length-1;r>=0;r--)if(e[r].layer===u[i]){f=!1;break}f&&n.call(t,u[i])}this._nonPointGroup.eachLayer(n,t)},getLayers:function(){var n=[];return this.eachLayer(function(t){n.push(t)}),n},getLayer:function(n){var t=null;return n=parseInt(n,10),this.eachLayer(function(i){L.stamp(i)===n&&(t=i)}),t},hasLayer:function(n){if(!n)return!1;for(var i=this._needsClustering,t=i.length-1;t>=0;t--)if(i[t]===n)return!0;for(i=this._needsRemoving,t=i.length-1;t>=0;t--)if(i[t].layer===n)return!1;return!(!n.__parent||n.__parent._group!==this)||this._nonPointGroup.hasLayer(n)},zoomToShowLayer:function(n,t){"function"!=typeof t&&(t=function(){});var i=function(){(n._icon||n.__parent._icon)&&!this._inZoomAnimation&&(this._map.off("moveend",i,this),this.off("animationend",i,this),n._icon?t():n.__parent._icon&&(this.once("spiderfied",t,this),n.__parent.spiderfy()))};n._icon&&this._map.getBounds().contains(n.getLatLng())?t():n.__parent._zoom<Math.round(this._map._zoom)?(this._map.on("moveend",i,this),this._map.panTo(n.getLatLng())):(this._map.on("moveend",i,this),this.on("animationend",i,this),n.__parent.zoomToBounds())},onAdd:function(n){this._map=n;var i,r,t;if(!isFinite(this._map.getMaxZoom()))throw"Map has no maxZoom specified";for(this._featureGroup.addTo(n),this._nonPointGroup.addTo(n),this._gridClusters||this._generateInitialClusters(),this._maxLat=n.options.crs.projection.MAX_LATITUDE,i=0,r=this._needsRemoving.length;r>i;i++)t=this._needsRemoving[i],t.newlatlng=t.layer._latlng,t.layer._latlng=t.latlng;for(i=0,r=this._needsRemoving.length;r>i;i++)t=this._needsRemoving[i],this._removeLayer(t.layer,!0),t.layer._latlng=t.newlatlng;this._needsRemoving=[];this._zoom=Math.round(this._map._zoom);this._currentShownBounds=this._getExpandedVisibleBounds();this._map.on("zoomend",this._zoomEnd,this);this._map.on("moveend",this._moveEnd,this);this._spiderfierOnAdd&&this._spiderfierOnAdd();this._bindEvents();r=this._needsClustering;this._needsClustering=[];this.addLayers(r,!0)},onRemove:function(n){n.off("zoomend",this._zoomEnd,this);n.off("moveend",this._moveEnd,this);this._unbindEvents();this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","");this._spiderfierOnRemove&&this._spiderfierOnRemove();delete this._maxLat;this._hideCoverage();this._featureGroup.remove();this._nonPointGroup.remove();this._featureGroup.clearLayers();this._map=null},getVisibleParent:function(n){for(var t=n;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(n,t){for(var i=n.length-1;i>=0;i--)if(n[i]===t)return n.splice(i,1),!0},_removeFromGridUnclustered:function(n,t){for(var i=this._map,r=this._gridUnclustered,u=Math.floor(this._map.getMinZoom());t>=u&&r[t].removeObject(n,i.project(n.getLatLng(),t));t--);},_childMarkerDragStart:function(n){n.target.__dragStart=n.target._latlng},_childMarkerMoved:function(n){if(!this._ignoreMove&&!n.target.__dragStart){var t=n.target._popup&&n.target._popup.isOpen();this._moveChild(n.target,n.oldLatLng,n.latlng);t&&n.target.openPopup()}},_moveChild:function(n,t,i){n._latlng=t;this.removeLayer(n);n._latlng=i;this.addLayer(n)},_childMarkerDragEnd:function(n){var t=n.target.__dragStart;delete n.target.__dragStart;t&&this._moveChild(n.target,t,n.target._latlng)},_removeLayer:function(n,t,i){var s=this._gridClusters,h=this._gridUnclustered,f=this._featureGroup,e=this._map,c=Math.floor(this._map.getMinZoom()),u,r,o;for(t&&this._removeFromGridUnclustered(n,this._maxZoom),r=n.__parent,o=r._markers,this._arraySplice(o,n);r&&(r._childCount--,r._boundsNeedUpdate=!0,!(r._zoom<c));)t&&r._childCount<=1?(u=r._markers[0]===n?r._markers[1]:r._markers[0],s[r._zoom].removeObject(r,e.project(r._cLatLng,r._zoom)),h[r._zoom].addObject(u,e.project(u.getLatLng(),r._zoom)),this._arraySplice(r.__parent._childClusters,r),r.__parent._markers.push(u),u.__parent=r.__parent,r._icon&&(f.removeLayer(r),i||f.addLayer(u))):r._iconNeedsUpdate=!0,r=r.__parent;delete n.__parent},_isOrIsParent:function(n,t){for(;t;){if(n===t)return!0;t=t.parentNode}return!1},fire:function(n,t,i){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;n="cluster"+n}L.FeatureGroup.prototype.fire.call(this,n,t,i)},listens:function(n,t){return L.FeatureGroup.prototype.listens.call(this,n,t)||L.FeatureGroup.prototype.listens.call(this,"cluster"+n,t)},_defaultIconCreateFunction:function(n){var t=n.getChildCount(),i=" marker-cluster-";return i+=10>t?"small":100>t?"medium":"large",new L.DivIcon({html:"<div><span>"+t+"<\/span><\/div>",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var n=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,r=this.options.zoomToBoundsOnClick;(t||r)&&this.on("clusterclick",this._zoomOrSpiderfy,this);i&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),n.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(n){for(var i=n.layer,t=i;1===t._childClusters.length;)t=t._childClusters[0];t._zoom===this._maxZoom&&t._childCount===i._childCount&&this.options.spiderfyOnMaxZoom?i.spiderfy():this.options.zoomToBoundsOnClick&&i.zoomToBounds();n.originalEvent&&13===n.originalEvent.keyCode&&this._map._container.focus()},_showCoverage:function(n){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),n.layer.getChildCount()>2&&n.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(n.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var n=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,r=this._map;(n||i)&&this.off("clusterclick",this._zoomOrSpiderfy,this);t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),r.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var n=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,n);this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),n);this._currentShownBounds=n}},_generateInitialClusters:function(){var t=Math.ceil(this._map.getMaxZoom()),u=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,r=i,n;for("function"!=typeof i&&(r=function(){return i}),null!==this.options.disableClusteringAtZoom&&(t=this.options.disableClusteringAtZoom-1),this._maxZoom=t,this._gridClusters={},this._gridUnclustered={},n=t;n>=u;n--)this._gridClusters[n]=new L.DistanceGrid(r(n)),this._gridUnclustered[n]=new L.DistanceGrid(r(n));this._topClusterLevel=new this._markerCluster(this,u-1)},_addLayer:function(n,t){var e,r,s=this._gridClusters,h=this._gridUnclustered,c=Math.floor(this._map.getMinZoom()),i,o,u,f;for(this.options.singleMarkerMode&&this._overrideMarkerIcon(n),n.on(this._childMarkerEventHandlers,this);t>=c;t--){if(e=this._map.project(n.getLatLng(),t),i=s[t].getNearObject(e),i)return i._addChild(n),n.__parent=i,void 0;if(i=h[t].getNearObject(e)){for(o=i.__parent,o&&this._removeLayer(i,!1),u=new this._markerCluster(this,t,i,n),s[t].addObject(u,this._map.project(u._cLatLng,t)),i.__parent=u,n.__parent=u,f=u,r=t-1;r>o._zoom;r--)f=new this._markerCluster(this,r,f),s[r].addObject(f,this._map.project(i.getLatLng(),r));return o._addChild(f),this._removeFromGridUnclustered(i,t),void 0}h[t].addObject(n,e)}this._topClusterLevel._addChild(n);n.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(n){n instanceof L.MarkerCluster&&n._iconNeedsUpdate&&n._updateIcon()})},_enqueue:function(n){this._queue.push(n);this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var n=0;n<this._queue.length;n++)this._queue[n].call(this);this._queue.length=0;clearTimeout(this._queueTimeout);this._queueTimeout=null},_mergeSplitClusters:function(){var n=Math.round(this._map._zoom);this._processQueue();this._zoom<n&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,n)):this._zoom>n?(this._animationStart(),this._animationZoomOut(this._zoom,n)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(n){var t=this._maxLat;return void 0!==t&&(n.getNorth()>=t&&(n._northEast.lat=1/0),n.getSouth()<=-t&&(n._southWest.lat=-1/0)),n},_animationAddLayerNonAnimated:function(n,t){if(t===n)this._featureGroup.addLayer(n);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]);this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(n,t){var i,u=n.getLayers(),r=0;for(t=t||[];r<u.length;r++)i=u[r],i instanceof L.LayerGroup?this._extractNonGroupLayers(i,t):t.push(i);return t},_overrideMarkerIcon:function(n){return n.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[n]}})}}),t;L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-1/0,-1/0),new L.LatLng(1/0,1/0))});L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(n,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this.fire("animationend")},_animationZoomOut:function(n,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this.fire("animationend")},_animationAddLayer:function(n,t){this._animationAddLayerNonAnimated(n,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=" leaflet-cluster-anim";this._inZoomAnimation++},_animationZoomIn:function(n,t){var r,i=this._getExpandedVisibleBounds(),u=this._featureGroup,f=Math.floor(this._map.getMinZoom());this._ignoreMove=!0;this._topClusterLevel._recursively(i,n,f,function(f){var e,o=f._latlng,s=f._markers;for(i.contains(o)||(o=null),f._isSingleParent()&&n+1===t?(u.removeLayer(f),f._recursivelyAddChildrenToMap(null,t,i)):(f.clusterHide(),f._recursivelyAddChildrenToMap(o,t,i)),r=s.length-1;r>=0;r--)e=s[r],i.contains(e._latlng)||u.removeLayer(e)});this._forceLayout();this._topClusterLevel._recursivelyBecomeVisible(i,t);u.eachLayer(function(n){n instanceof L.MarkerCluster||!n._icon||n.clusterShow()});this._topClusterLevel._recursively(i,n,t,function(n){n._recursivelyRestoreChildPositions(t)});this._ignoreMove=!1;this._enqueue(function(){this._topClusterLevel._recursively(i,n,f,function(n){u.removeLayer(n);n.clusterShow()});this._animationEnd()})},_animationZoomOut:function(n,t){this._animationZoomOutSingle(this._topClusterLevel,n-1,t);this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds());this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),n,this._getExpandedVisibleBounds())},_animationAddLayer:function(n,t){var i=this,r=this._featureGroup;r.addLayer(n);t!==n&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),n._setPos(this._map.latLngToLayerPoint(t.getLatLng())),n.clusterHide(),this._enqueue(function(){r.removeLayer(n);n.clusterShow();i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(n,t,i){var r=this._getExpandedVisibleBounds(),u=Math.floor(this._map.getMinZoom()),f;n._recursivelyAnimateChildrenInAndAddSelfToMap(r,u,t+1,i);f=this;this._forceLayout();n._recursivelyBecomeVisible(r,i);this._enqueue(function(){if(1===n._childCount){var e=n._markers[0];this._ignoreMove=!0;e.setLatLng(e.getLatLng());this._ignoreMove=!1;e.clusterShow&&e.clusterShow()}else n._recursively(r,i,u,function(n){n._recursivelyRemoveChildrenFromMap(r,u,t+1)});f._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim",""));this._inZoomAnimation--;this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}});L.markerClusterGroup=function(n){return new L.MarkerClusterGroup(n)};t=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(n,t,i,r){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:n.options.clusterPane});this._group=n;this._zoom=t;this._markers=[];this._childClusters=[];this._childCount=0;this._iconNeedsUpdate=!0;this._boundsNeedUpdate=!0;this._bounds=new L.LatLngBounds;i&&this._addChild(i);r&&this._addChild(r)},getAllChildMarkers:function(n,t){var r,i;for(n=n||[],r=this._childClusters.length-1;r>=0;r--)this._childClusters[r].getAllChildMarkers(n);for(i=this._markers.length-1;i>=0;i--)t&&this._markers[i].__dragStart||n.push(this._markers[i]);return n},getChildCount:function(){return this._childCount},zoomToBounds:function(n){for(var u,t,i=this._childClusters.slice(),e=this._group._map,f=e.getBoundsZoom(this._bounds),r=this._zoom+1,o=e.getZoom();i.length>0&&f>r;){for(r++,u=[],t=0;t<i.length;t++)u=u.concat(i[t]._childClusters);i=u}f>r?this._group._map.setView(this._latlng,r):o>=f?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,n)},getBounds:function(){var n=new L.LatLngBounds;return n.extend(this._bounds),n},_updateIcon:function(){this._iconNeedsUpdate=!0;this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(n,t){this._iconNeedsUpdate=!0;this._boundsNeedUpdate=!0;this._setClusterCenter(n);n instanceof L.MarkerCluster?(t||(this._childClusters.push(n),n.__parent=this),this._childCount+=n._childCount):(t||this._markers.push(n),this._childCount++);this.__parent&&this.__parent._addChild(n,!0)},_setClusterCenter:function(n){this._cLatLng||(this._cLatLng=n._cLatLng||n._latlng)},_resetBounds:function(){var n=this._bounds;n._southWest&&(n._southWest.lat=1/0,n._southWest.lng=1/0);n._northEast&&(n._northEast.lat=-1/0,n._northEast.lng=-1/0)},_recalculateBounds:function(){var n,i,t,r,o=this._markers,s=this._childClusters,u=0,f=0,e=this._childCount;if(0!==e){for(this._resetBounds(),n=0;n<o.length;n++)t=o[n]._latlng,this._bounds.extend(t),u+=t.lat,f+=t.lng;for(n=0;n<s.length;n++)i=s[n],i._boundsNeedUpdate&&i._recalculateBounds(),this._bounds.extend(i._bounds),t=i._wLatLng,r=i._childCount,u+=t.lat*r,f+=t.lng*r;this._latlng=this._wLatLng=new L.LatLng(u/e,f/e);this._boundsNeedUpdate=!1}},_addToMap:function(n){n&&(this._backupLatlng=this._latlng,this.setLatLng(n));this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(n,t,i){this._recursively(n,this._group._map.getMinZoom(),i-1,function(n){for(var r,u=n._markers,i=u.length-1;i>=0;i--)r=u[i],r._icon&&(r._setPos(t),r.clusterHide())},function(n){for(var r,u=n._childClusters,i=u.length-1;i>=0;i--)r=u[i],r._icon&&(r._setPos(t),r.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(n,t,i,r){this._recursively(n,r,t,function(u){u._recursivelyAnimateChildrenIn(n,u._group._map.latLngToLayerPoint(u.getLatLng()).round(),i);u._isSingleParent()&&i-1===r?(u.clusterShow(),u._recursivelyRemoveChildrenFromMap(n,t,i)):u.clusterHide();u._addToMap()})},_recursivelyBecomeVisible:function(n,t){this._recursively(n,this._group._map.getMinZoom(),t,null,function(n){n.clusterShow()})},_recursivelyAddChildrenToMap:function(n,t,i){this._recursively(i,this._group._map.getMinZoom()-1,t,function(r){var f,u;if(t!==r._zoom)for(f=r._markers.length-1;f>=0;f--)u=r._markers[f],i.contains(u._latlng)&&(n&&(u._backupLatlng=u.getLatLng(),u.setLatLng(n),u.clusterHide&&u.clusterHide()),r._group._featureGroup.addLayer(u))},function(t){t._addToMap(n)})},_recursivelyRestoreChildPositions:function(n){for(var t,r,u,i=this._markers.length-1;i>=0;i--)t=this._markers[i],t._backupLatlng&&(t.setLatLng(t._backupLatlng),delete t._backupLatlng);if(n-1===this._zoom)for(r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._restorePosition();else for(u=this._childClusters.length-1;u>=0;u--)this._childClusters[u]._recursivelyRestoreChildPositions(n)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(n,t,i,r){var u,f;this._recursively(n,t-1,i-1,function(n){for(f=n._markers.length-1;f>=0;f--)u=n._markers[f],r&&r.contains(u._latlng)||(n._group._featureGroup.removeLayer(u),u.clusterShow&&u.clusterShow())},function(n){for(f=n._childClusters.length-1;f>=0;f--)u=n._childClusters[f],r&&r.contains(u._latlng)||(n._group._featureGroup.removeLayer(u),u.clusterShow&&u.clusterShow())})},_recursively:function(n,t,i,r,u){var e,f,s=this._childClusters,o=this._zoom;if(o>=t&&(r&&r(this),u&&o===i&&u(this)),t>o||i>o)for(e=s.length-1;e>=0;e--)f=s[e],f._boundsNeedUpdate&&f._recalculateBounds(),n.intersects(f._bounds)&&f._recursively(n,t,i,r,u)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var n=this.options.opacity;return this.setOpacity(0),this.options.opacity=n,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}});L.DistanceGrid=function(n){this._cellSize=n;this._sqCellSize=n*n;this._grid={};this._objectPoint={}};L.DistanceGrid.prototype={addObject:function(n,t){var i=this._getCoord(t.x),r=this._getCoord(t.y),u=this._grid,f=u[r]=u[r]||{},e=f[i]=f[i]||[],o=L.Util.stamp(n);this._objectPoint[o]=t;e.push(n)},updateObject:function(n,t){this.removeObject(n);this.addObject(n,t)},removeObject:function(n,t){var i,r,u=this._getCoord(t.x),o=this._getCoord(t.y),s=this._grid,f=s[o]=s[o]||{},e=f[u]=f[u]||[];for(delete this._objectPoint[L.Util.stamp(n)],i=0,r=e.length;r>i;i++)if(e[i]===n)return e.splice(i,1),1===r&&delete f[u],!0},eachObject:function(n,t){var e,o,i,r,u,f,s,h=this._grid;for(e in h){u=h[e];for(o in u)for(f=u[o],i=0,r=f.length;r>i;i++)s=n.call(t,f[i]),s&&(i--,r--)}},getNearObject:function(n){for(var i,r,h,f,c,e,u,l=this._getCoord(n.x),a=this._getCoord(n.y),v=this._objectPoint,o=this._sqCellSize,s=null,t=a-1;a+1>=t;t++)if(h=this._grid[t])for(i=l-1;l+1>=i;i++)if(f=h[i])for(r=0,c=f.length;c>r;r++)e=f[r],u=this._sqDist(v[L.Util.stamp(e)],n),(o>u||o>=u&&null===s)&&(o=u,s=e);return s},_getCoord:function(n){var t=Math.floor(n/this._cellSize);return isFinite(t)?t:n},_sqDist:function(n,t){var i=t.x-n.x,r=t.y-n.y;return i*i+r*r}},function(){L.QuickHull={getDistant:function(n,t){var i=t[1].lat-t[0].lat,r=t[0].lng-t[1].lng;return r*(n.lat-t[0].lat)+i*(n.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(n,t){for(var r,u,f=0,e=null,o=[],i=t.length-1;i>=0;i--)r=t[i],u=this.getDistant(r,n),u>0&&(o.push(r),u>f&&(f=u,e=r));return{maxPoint:e,newPoints:o}},buildConvexHull:function(n,t){var r=[],i=this.findMostDistantPointFromBaseLine(n,t);return i.maxPoint?(r=r.concat(this.buildConvexHull([n[0],i.maxPoint],i.newPoints)),r=r.concat(this.buildConvexHull([i.maxPoint,n[1]],i.newPoints))):[n[0]]},getConvexHull:function(n){for(var r=!1,u=!1,o=!1,s=!1,h=null,c=null,l=null,a=null,f=null,e=null,t,i=n.length-1;i>=0;i--)t=n[i],(r===!1||t.lat>r)&&(h=t,r=t.lat),(u===!1||t.lat<u)&&(c=t,u=t.lat),(o===!1||t.lng>o)&&(l=t,o=t.lng),(s===!1||t.lng<s)&&(a=t,s=t.lng);return u!==r?(e=c,f=h):(e=a,f=l),[].concat(this.buildConvexHull([e,f],n),this.buildConvexHull([f,e],n))}}}();L.MarkerCluster.include({getConvexHull:function(){for(var t,i=this.getAllChildMarkers(),r=[],n=i.length-1;n>=0;n--)t=i[n].getLatLng(),r.push(t);return L.QuickHull.getConvexHull(r)}});L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var t,n=this.getAllChildMarkers(null,!0),r=this._group,u=r._map,i=u.latLngToLayerPoint(this._latlng);this._group._unspiderfy();this._group._spiderfied=this;n.length>=this._circleSpiralSwitchover?t=this._generatePointsSpiral(n.length,i):(i.y+=10,t=this._generatePointsCircle(n.length,i));this._animationSpiderfy(n,t)}},unspiderfy:function(n){this._group._inZoomAnimation||(this._animationUnspiderfy(n),this._group._spiderfied=null)},_generatePointsCircle:function(n,t){var i,u,e=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+n),r=e/this._2PI,o=this._2PI/n,f=[];for(r=Math.max(r,35),f.length=n,i=0;n>i;i++)u=this._circleStartAngle+i*o,f[i]=new L.Point(t.x+r*Math.cos(u),t.y+r*Math.sin(u))._round();return f},_generatePointsSpiral:function(n,t){var i,f=this._group.options.spiderfyDistanceMultiplier,r=f*this._spiralLengthStart,o=f*this._spiralFootSeparation,s=f*this._spiralLengthFactor*this._2PI,u=0,e=[];for(e.length=n,i=n;i>=0;i--)n>i&&(e[i]=new L.Point(t.x+r*Math.cos(u),t.y+r*Math.sin(u))._round()),u+=o/r+.0005*i,r+=s/u;return e},_noanimationUnspiderfy:function(){var n,i,t=this._group,u=t._map,f=t._featureGroup,r=this.getAllChildMarkers(null,!0);for(t._ignoreMove=!0,this.setOpacity(1),i=r.length-1;i>=0;i--)n=r[i],f.removeLayer(n),n._preSpiderfyLatlng&&(n.setLatLng(n._preSpiderfyLatlng),delete n._preSpiderfyLatlng),n.setZIndexOffset&&n.setZIndexOffset(0),n._spiderLeg&&(u.removeLayer(n._spiderLeg),delete n._spiderLeg);t.fire("unspiderfied",{cluster:this,markers:r});t._ignoreMove=!1;t._spiderfied=null}});L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(n,t){var r,i,f,e,u=this._group,o=u._map,s=u._featureGroup,h=this._group.options.spiderLegPolylineOptions;for(u._ignoreMove=!0,r=0;r<n.length;r++)e=o.layerPointToLatLng(t[r]),i=n[r],f=new L.Polyline([this._latlng,e],h),o.addLayer(f),i._spiderLeg=f,i._preSpiderfyLatlng=i._latlng,i.setLatLng(e),i.setZIndexOffset&&i.setZIndexOffset(1e6),s.addLayer(i);this.setOpacity(.3);u._ignoreMove=!1;u.fire("spiderfied",{cluster:this,markers:n})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}});L.MarkerCluster.include({_animationSpiderfy:function(n,t){var r,i,f,e,l,s,y=this,u=this._group,h=u._map,p=u._featureGroup,v=this._latlng,w=h.latLngToLayerPoint(v),a=L.Path.SVG,o=L.extend({},this._group.options.spiderLegPolylineOptions),c=o.opacity;for(void 0===c&&(c=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),a?(o.opacity=0,o.className=(o.className||"")+" leaflet-cluster-spider-leg"):o.opacity=c,u._ignoreMove=!0,r=0;r<n.length;r++)i=n[r],s=h.layerPointToLatLng(t[r]),f=new L.Polyline([v,s],o),h.addLayer(f),i._spiderLeg=f,a&&(e=f._path,l=e.getTotalLength()+.1,e.style.strokeDasharray=l,e.style.strokeDashoffset=l),i.setZIndexOffset&&i.setZIndexOffset(1e6),i.clusterHide&&i.clusterHide(),p.addLayer(i),i._setPos&&i._setPos(w);for(u._forceLayout(),u._animationStart(),r=n.length-1;r>=0;r--)s=h.layerPointToLatLng(t[r]),i=n[r],i._preSpiderfyLatlng=i._latlng,i.setLatLng(s),i.clusterShow&&i.clusterShow(),a&&(f=i._spiderLeg,e=f._path,e.style.strokeDashoffset=0,f.setStyle({opacity:c}));this.setOpacity(.3);u._ignoreMove=!1;setTimeout(function(){u._animationEnd();u.fire("spiderfied",{cluster:y,markers:n})},200)},_animationUnspiderfy:function(n){var t,i,e,o,h,f,l=this,r=this._group,s=r._map,c=r._featureGroup,a=n?s._latLngToNewLayerPoint(this._latlng,n.zoom,n.center):s.latLngToLayerPoint(this._latlng),u=this.getAllChildMarkers(null,!0),v=L.Path.SVG;for(r._ignoreMove=!0,r._animationStart(),this.setOpacity(1),i=u.length-1;i>=0;i--)t=u[i],t._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,f=!0,t._setPos&&(t._setPos(a),f=!1),t.clusterHide&&(t.clusterHide(),f=!1),f&&c.removeLayer(t),v&&(e=t._spiderLeg,o=e._path,h=o.getTotalLength()+.1,o.style.strokeDashoffset=h,e.setStyle({opacity:0})));r._ignoreMove=!1;setTimeout(function(){var n=0;for(i=u.length-1;i>=0;i--)t=u[i],t._spiderLeg&&n++;for(i=u.length-1;i>=0;i--)t=u[i],t._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),n>1&&c.removeLayer(t),s.removeLayer(t._spiderLeg),delete t._spiderLeg);r._animationEnd();r.fire("unspiderfied",{cluster:l,markers:u})},200)}});L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this);this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this);this._map.on("zoomend",this._noanimationUnspiderfy,this);L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this);this._map.off("zoomstart",this._unspiderfyZoomStart,this);this._map.off("zoomanim",this._unspiderfyZoomAnim,this);this._map.off("zoomend",this._noanimationUnspiderfy,this);this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(n){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(n))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(n){this._spiderfied&&this._spiderfied.unspiderfy(n)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(n){n._spiderLeg&&(this._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow(),n.setZIndexOffset&&n.setZIndexOffset(0),this._map.removeLayer(n._spiderLeg),delete n._spiderLeg)}});L.MarkerClusterGroup.include({refreshClusters:function(n){return n?n instanceof L.MarkerClusterGroup?n=n._topClusterLevel.getAllChildMarkers():n instanceof L.LayerGroup?n=n._layers:n instanceof L.MarkerCluster?n=n.getAllChildMarkers():n instanceof L.Marker&&(n=[n]):n=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(n),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(n),this},_flagParentsIconsNeedUpdate:function(n){var i,t;for(i in n)for(t=n[i].__parent;t;)t._iconNeedsUpdate=!0,t=t.__parent},_refreshSingleMarkerModeMarkers:function(n){var i,t;for(i in n)t=n[i],this.hasLayer(t)&&t.setIcon(this._overrideMarkerIcon(t))}});L.Marker.include({refreshIconOptions:function(n,t){var i=this.options.icon;return L.setOptions(i,n),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}});n.MarkerClusterGroup=i;n.MarkerCluster=t});!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("leaflet"),require("esri-leaflet")):"function"==typeof define&&define.amd?define(["exports","leaflet","esri-leaflet"],t):t(((n="undefined"!=typeof globalThis?globalThis:n||self).L=n.L||{},n.L.esri=n.L.esri||{},n.L.esri.Vector={}),n.L,n.L.esri)}(this,function(n,t,i){"use strict";function p(n,t,i){var u,r,f,e;/^https?:\/\//.test(n)&&/\/VectorTileServer\/?$/.test(n)?l(n,t,i):(u=n,f=i,a(e=(r=t).portalUrl+"/sharing/rest/content/items/"+u+"/resources/styles/root.json",r,function(n,t){w(u,r,n?function(n,t){n&&console.error(n);l(t.url,r,f)}:function(n,i){n&&console.error(n);c(i.url,r,function(n,r){f(n,t,e,r,i.url)})})}))}function c(n,t,r){t=t.token?{token:t.token}:{};i.request(n,t,r)}function w(n,t,r){var u=t.token?{token:t.token}:{},n=t.portalUrl+"/sharing/rest/content/items/"+n;i.request(n,u,r)}function l(n,t,i){c(n,t,function(r,u){r&&console.error(r);var f,r=n;"/"===n.charAt(n.length-1)&&(r=n.slice(0,n.length-1));a(f="/"===u.defaultStyles.charAt(0)?r+u.defaultStyles+"/root.json":r+"/"+u.defaultStyles+"/root.json",t,function(t,r){t&&console.error(t);i(null,r,f,u,n)})})}function a(n,t,r){t=t.token?{token:t.token}:{};i.request(n,t,r)}function e(n,t){var i,e;r?u?(i="var sharedChunk = {}; ("+r+")(sharedChunk); ("+u+")(sharedChunk);",r(e={}),f=t(e),"undefined"!=typeof window&&(f.workerUrl=window.URL.createObjectURL(new Blob([i],{type:"text/javascript"})))):u=t:r=t}function y(n){return new v(n)}var r,u,f,o,v,s,h;const b=[3857,102100,102113];o=(e(0,function(n){function vv(n,t){return n(t={exports:{}},t.exports),t.exports}function se(n,t,i,r){this.cx=3*n;this.bx=3*(i-n)-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=n;this.p1y=r;this.p2x=i;this.p2y=r}function he(n,t){this.x=n;this.y=t}function en(n,t,i,r){var u=new un(n,t,i,r);return function(n){return u.solve(n)}}function uf(n,t,i){return Math.min(i,Math.max(t,n))}function sn(n,t,i){var r=i-t,r=((n-t)%r+r)%r+t;return r===t?i:r}function fi(n){for(var i,u,f,e,r=[],t=arguments.length-1;0<t--;)r[t]=arguments[t+1];for(i=0,u=r;i<u.length;i+=1){e=u[i];for(f in e)n[f]=e[f]}return n}function vet(){return ob++}function hn(){return function n(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,n)}()}function cn(n){return n&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(n)}function ln(n,t){n.forEach(function(n){t[n]&&(t[n]=t[n].bind(t))})}function sb(n,t){return-1!==n.indexOf(t,n.length-t.length)}function hb(n,t,i){var r,u={};for(r in n)u[r]=t.call(i||this,n[r],r,n);return u}function an(n,t,i){var r,u={};for(r in n)t.call(i||this,n[r],r,n)&&(u[r]=n[r]);return u}function kr(n){return Array.isArray(n)?n.map(kr):"object"==typeof n&&n?hb(n,kr):n}function ti(n){cb[n]||("undefined"!=typeof console&&console.warn(n),cb[n]=!0)}function lu(n,t,i){return(i.y-n.y)*(t.x-n.x)>(t.y-n.y)*(i.x-n.x)}function yv(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function lb(n){var t={};return n.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(n,i,r,u){return u=r||u,t[i]=!u||u.toLowerCase(),""}),t["max-age"]&&(n=parseInt(t["max-age"],10),isNaN(n)?delete t["max-age"]:t["max-age"]=n),t}function vn(n){var t;return null==pv&&(t=n.navigator?n.navigator.userAgent:null,pv=!!n.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))),pv}function yn(n){try{var t=e[n];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch(n){return!1}}function wn(n){var t=n.createTexture();n.bindTexture(n.TEXTURE_2D,t);try{if(n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,uh),n.isContextLost())return;wv.supported=!0}catch(n){}n.deleteTexture(t);yb=!0}function ki(n,t){this._transformRequestFn=n;this._customAccessToken=t;this._createSkuToken()}function dr(n){return 0===n.indexOf("mapbox:")}function fh(n){return bn.test(n)}function vu(n){if(n=n.match(kn),!n)throw new Error("Unable to parse URL object");return{protocol:n[1],authority:n[2],path:n[3]||"/",params:n[4]?n[4].split("&"):[]}}function bv(n){var t=n.params.length?"?"+n.params.join("&"):"";return n.protocol+"://"+n.authority+n.path+t}function dn(n){if(!n)return null;var t=n.split(".");if(!t||3!==t.length)return null;try{return JSON.parse(decodeURIComponent(e.atob(t[1]).split("").map(function(n){return"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)}).join("")))}catch(n){return null}}function sh(n){eh.call(this,"appUserTurnstile");this._customAccessToken=n}function hh(){oh.call(this,"map.load");this.success={};this.skuToken=""}function dv(){e.caches&&!gr&&(gr=e.caches.open("mapbox-tiles"))}function ttt(n){var t=n.indexOf("?");return t<0?n:n.slice(0,t)}function itt(){return wb=null==wb?e.OffscreenCanvas&&new e.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof e.createImageBitmap:wb}function ny(n,t,i){401===t&&fh(i)&&(n+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes");ch.call(this,n);this.status=t;this.url=i;this.name=this.constructor.name;this.message=n}function gb(n,t){return ty(fi(n,{type:"arrayBuffer"}),t)}function rtt(n,t){function u(){if(!r)for(r=!0,iy--;nk.length&&iy<lt.MAX_PARALLEL_IMAGE_REQUESTS;){var n=nk.shift();n.cancelled||(n.cancel=rtt(n.requestParameters,n.callback).cancel)}}var i,r,f;return(wv.supported&&(n.headers||(n.headers={}),n.headers.accept="image/webp,*/*"),iy>=lt.MAX_PARALLEL_IMAGE_REQUESTS)?(i={requestParameters:n,callback:t,cancelled:!1,cancel:function(){this.cancelled=!0}},nk.push(i),i):(iy++,r=!1,f=gb(n,function(n,i,r,f){var o;u();n?t(n):i&&(itt()?(o=t,n=new e.Blob([new Uint8Array(i)],{type:"image/png"}),e.createImageBitmap(n).then(function(n){o(null,n)}).catch(function(n){o(new Error("Could not load image because of "+n.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))})):function(n,t,i,r){var u=new e.Image,f=e.URL,o;u.onload=function(){t(null,u);f.revokeObjectURL(u.src);u.onload=null;e.requestAnimationFrame(function(){u.src=utt})};u.onerror=function(){return t(new 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."))};o=new e.Blob([new Uint8Array(n)],{type:"image/png"});u.cacheControl=i;u.expires=r;u.src=n.byteLength?f.createObjectURL(o):utt}(i,t,r,f))}),{cancel:function(){f.cancel();u()}})}function ftt(n,t,i){i[n]&&-1!==i[n].indexOf(t)||(i[n]=i[n]||[],i[n].push(t))}function tk(n,t,i){i&&i[n]&&-1!==(t=i[n].indexOf(t))&&i[n].splice(t,1)}function nu(){}function ik(n,t){lh.call(this,"error",fi({error:n},t=void 0===t?{}:t))}function ett(n){var t=n.value;return t?[new u(n.key,t,"constants have been deprecated as of v8")]:[]}function ae(n){for(var i,u,f,e,r=[],t=arguments.length-1;0<t--;)r[t]=arguments[t+1];for(i=0,u=r;i<u.length;i+=1){e=u[i];for(f in e)n[f]=e[f]}return n}function ft(n){return n instanceof Number||n instanceof String||n instanceof Boolean?n.valueOf():n}function ff(n){if(Array.isArray(n))return n.map(ff);if(n instanceof Object&&!(n instanceof Number||n instanceof String||n instanceof Boolean)){var t,i={};for(t in n)i[t]=ff(n[t]);return i}return ft(n)}function vh(n,t){var i,r,u;for(void 0===t&&(t=[]),this.parent=n,this.bindings={},i=0,r=t;i<r.length;i+=1)u=r[i],this.bindings[u[0]]=u[1]}function rk(n,t){yh.call(this,t);this.message=t;this.key=n}function di(n,t){return{kind:"array",itemType:n,N:t}}function nt(n){if("array"!==n.kind)return n.kind;var t=nt(n.itemType);return"number"==typeof n.N?"array<"+t+", "+n.N+">":"value"===n.itemType.kind?"array":"array<"+t+">"}function kh(n,t){if("error"===t.kind)return null;if("array"===n.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!kh(n.itemType,t.itemType))&&("number"!=typeof n.N||n.N===t.N))return null}else{if(n.kind===t.kind)return null;if("value"===n.kind)for(var i=0,r=ott;i<r.length;i+=1)if(!kh(r[i],t))return null}return"Expected "+nt(n)+" but found "+nt(t)+" instead."}function uk(n,t){return t.some(function(t){return t.kind===n.kind})}function dh(n,t){return t.some(function(t){return"null"===t?null===n:"array"===t?Array.isArray(n):"object"===t?n&&!Array.isArray(n)&&"object"==typeof n:t===typeof n})}function gh(n,t,i){this.sensitivity=n?t?"variant":"case":t?"accent":"base";this.locale=i;this.collator=new Intl.Collator(this.locale||[],{sensitivity:this.sensitivity,usage:"search"})}function ek(n,t,i,r,u){this.text=n;this.image=t;this.scale=i;this.fontStack=r;this.textColor=u}function stt(n,t,i,r){return"number"==typeof n&&0<=n&&n<=255&&"number"==typeof t&&0<=t&&t<=255&&"number"==typeof i&&0<=i&&i<=255?void 0===r||"number"==typeof r&&0<=r&&r<=1?null:"Invalid rgba value ["+[n,t,i,r].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof r?[n,t,i,r]:[n,t,i]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function fy(n){var t,i,r;if(null===n||"string"==typeof n||"boolean"==typeof n||"number"==typeof n||n instanceof y||n instanceof gh||n instanceof at||n instanceof oi)return 1;if(Array.isArray(n)){for(t=0,i=n;t<i.length;t+=1)if(!fy(i[t]))return;return 1}if("object"==typeof n){for(r in n)if(!fy(n[r]))return;return 1}}function st(n){var u;if(null===n)return ph;if("string"==typeof n)return a;if("boolean"==typeof n)return c;if("number"==typeof n)return i;if(n instanceof y)return lr;if(n instanceof gh)return uy;if(n instanceof at)return wh;if(n instanceof oi)return bh;if(Array.isArray(n)){for(var t,e=n.length,r=0,f=n;r<f.length;r+=1){if(u=st(f[r]),t){if(t===u)continue;t=l;break}t=u}return di(t||l,e)}return ve}function nc(n){var t=typeof n;return null===n?"":"string"==t||"number"==t||"boolean"==t?String(n):n instanceof y||n instanceof at||n instanceof oi?n.toString():JSON.stringify(n)}function ur(n,t){this.type=n;this.value=t}function wt(n){this.name="ExpressionEvaluationError";this.message=n}function si(n,t){this.type=n;this.args=t}function tu(n){this.type=wh;this.sections=n}function yu(n){this.type=bh;this.input=n}function gi(n,t){this.type=n;this.args=t}function pu(){this.globals=null;this.feature=null;this.featureState=null;this.formattedSection=null;this._parseColorCache={};this.availableImages=null;this.canonical=null}function wu(n,t,i){this.type=uy;this.locale=i;this.caseSensitive=n;this.diacriticSensitive=t}function ok(n,t){n[0]=Math.min(n[0],t[0]);n[1]=Math.min(n[1],t[1]);n[2]=Math.max(n[2],t[0]);n[3]=Math.max(n[3],t[1])}function oy(n,t){return!(n[0]<=t[0]||n[2]>=t[2]||n[1]<=t[1]||n[3]>=t[3])}function sk(n,t){for(var h,r,i,u,o=!1,s=0,c=t.length;s<c;s++)for(var e=t[s],f=0,l=e.length;f<l-1;f++){if((h=n[0]-(i=e[f])[0])*(u=n[1]-(r=e[f+1])[1])-(r=n[0]-r[0])*(i=n[1]-i[1])==0&&h*r<=0&&i*u<=0)return;r=n;i=e[f];u=e[f+1];i[1]>r[1]!=u[1]>r[1]&&r[0]<(u[0]-i[0])*(r[1]-i[1])/(u[1]-i[1])+i[0]&&(o=!o)}return o}function ltt(n,t,i,r){var u=r[0]-i[0],r=r[1]-i[1],n=(n[0]-i[0])*r-u*(n[1]-i[1]),i=(t[0]-i[0])*r-u*(t[1]-i[1]);return 0<n&&i<0||n<0&&0<i}function att(n,t){for(var i,r=0;r<n.length;++r)if(!sk(n[r],t))return;for(i=0;i<n.length-1;++i)if(function(n,t,i){for(var u,f,h,c,o,r,e=0,s=i;e<s.length;e+=1)for(o=s[e],r=0;r<o.length-1;++r)if(0!=(h=[(f=o[r+1])[0]-(u=o[r])[0],f[1]-u[1]])[0]*(c=[t[0]-n[0],t[1]-n[1]])[1]-h[1]*c[0]&&ltt(n,t,u,f)&&ltt(u,f,n,t))return 1}(n[i],n[i+1],t))return;return 1}function hk(n,t,i){for(var u,o,h,e,r,s=[],f=0;f<n.length;f++){for(h=[],e=0;e<n[f].length;e++)r=(u=n[f][e],r=i,o=void 0,o=(180+u[0])/360,u=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u[1]*Math.PI/360)))/360,r=Math.pow(2,r.z),[Math.round(o*r*8192),Math.round(u*r*8192)]),ok(t,r),h.push(r);s.push(h)}return s}function vtt(n,t,i){for(var f,u=[],r=0;r<n.length;r++)f=hk(n[r],t,i),u.push(f);return u}function ytt(n,t,i,r){var u,f;(n[0]<i[0]||n[0]>i[2])&&(0===(f=n[0]-i[0]>(u=.5*r)?-r:i[0]-n[0]>u?r:0)&&(f=n[0]-i[2]>u?-r:i[2]-n[0]>u?r:0),n[0]+=f);ok(t,n)}function ptt(n,t,i,r){for(var f,o,u,l=8192*Math.pow(2,r.z),s=[8192*r.x,8192*r.y],h=[],e=0,c=n;e<c.length;e+=1)for(f=0,o=c[e];f<o.length;f+=1)u=o[f],u=[u.x+s[0],u.y+s[1]],ytt(u,t,i,l),h.push(u);return h}function wtt(n,t,i,r){for(var u,f,c,e,l,a=8192*Math.pow(2,r.z),v=[8192*r.x,8192*r.y],o=[],s=0,y=n;s<y.length;s+=1){for(var p=[],h=0,w=y[s];h<w.length;h+=1)u=w[h],u=[u.x+v[0],u.y+v[1]],ok(t,u),p.push(u);o.push(p)}if(t[2]-t[0]<=a/2)for((n=t)[0]=n[1]=1/0,n[2]=n[3]=-1/0,f=0,c=o;f<c.length;f+=1)for(e=0,l=c[f];e<l.length;e+=1)ytt(l[e],t,i,a);return o}function fr(n,t){this.type=c;this.geojson=n;this.geometries=t}function sy(n){if(n instanceof bt&&("get"===n.name&&1===n.args.length||"feature-state"===n.name||"has"===n.name&&1===n.args.length||"properties"===n.name||"geometry-type"===n.name||"id"===n.name||/^filter-/.test(n.name))||n instanceof fr)return!1;var t=!0;return n.eachChild(function(n){t&&!sy(n)&&(t=!1)}),t}function tc(n){if(!(n instanceof bt&&"feature-state"===n.name)){var t=!0;return n.eachChild(function(n){t&&!tc(n)&&(t=!1)}),t}}function hy(n,t){if(n instanceof bt&&0<=t.indexOf(n.name))return!1;var i=!0;return n.eachChild(function(n){i&&!hy(n,t)&&(i=!1)}),i}function bu(n,t){this.type=t.type;this.name=n;this.boundExpression=t}function cy(n,t){for(var f,i,e=n.length-1,r=0,u=e;r<=u;)if((f=n[i=Math.floor((r+u)/2)])<=t){if(i===e||t<n[i+1])return i;r=i+1}else{if(!(t<f))throw new wt("Input is not a number.");u=i-1}return 0}function ht(n,t,i){return n*(1-i)+t*i}function ck(n){return.0088564516790356311<n?Math.pow(n,1/3):n/btt+4/29}function lk(n){return 6/29<n?n*n*n:btt*(n-4/29)}function ak(n){return 255*(n<=.0031308?12.92*n:1.055*Math.pow(n,1/2.4)-.055)}function vk(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function ktt(n){var t=vk(n.r),i=vk(n.g),r=vk(n.b),f=ck((.4124564*t+.3575761*i+.1804375*r)/.95047),u=ck(.2126729*t+.7151522*i+.072175*r);return{l:116*u-16,a:500*(f-u),b:200*(u-ck((.0193339*t+.119192*i+.9503041*r)/1.08883)),alpha:n.a}}function dtt(n){var t=(n.l+16)/116,i=isNaN(n.a)?t:t+n.a/500,r=isNaN(n.b)?t:t-n.b/200,t=+lk(t),i=.95047*lk(i),r=1.08883*lk(r);return new y(ak(3.2404542*i-1.5371385*t-.4985314*r),ak(-.969266*i+1.8760108*t+.041556*r),ak(.0556434*i-.2040259*t+1.0572252*r),n.alpha)}function yk(n,t,i,r){return r-=i,i=n-i,0==r?0:1===t?i/r:(Math.pow(t,i)-1)/(Math.pow(t,r)-1)}function ef(n,t,i){this.type=n;this.index=t;this.input=i}function of(n,t){this.type=c;this.needle=n;this.haystack=t}function ku(n,t,r){this.type=i;this.needle=n;this.haystack=t;this.fromIndex=r}function sf(n,t,i,r,u,f){this.inputType=n;this.type=t;this.input=i;this.cases=r;this.outputs=u;this.otherwise=f}function hf(n,t,i){this.type=n;this.branches=t;this.otherwise=i}function du(n,t,i,r){this.type=n;this.input=t;this.beginIndex=i;this.endIndex=r}function nit(n,t){return"=="===n||"!="===n?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function tit(n,t,i,r){return 0===r.compare(t,i)}function ye(n,t,i){function r(n,t,i){this.type=c;this.lhs=n;this.rhs=t;this.collator=i;this.hasUntypedArgument="value"===n.type.kind||"value"===t.type.kind}var u="=="!==n&&"!="!==n;return r.parse=function(n,t){var e,i,f;if(3!==n.length&&4!==n.length)return t.error("Expected two or three arguments.");if(e=n[0],i=t.parse(n[1],1,l),!i)return null;if(!nit(e,i.type))return t.concat(1).error('"'+e+"\" comparisons are not supported for type '"+nt(i.type)+"'.");if(f=t.parse(n[2],2,l),!f)return null;if(!nit(e,f.type))return t.concat(2).error('"'+e+"\" comparisons are not supported for type '"+nt(f.type)+"'.");if(i.type.kind!==f.type.kind&&"value"!==i.type.kind&&"value"!==f.type.kind)return t.error("Cannot compare types '"+nt(i.type)+"' and '"+nt(f.type)+"'.");if(u&&("value"===i.type.kind&&"value"!==f.type.kind?i=new si(f.type,[i]):"value"!==i.type.kind&&"value"===f.type.kind&&(f=new si(i.type,[f]))),e=null,4===n.length){if("string"!==i.type.kind&&"string"!==f.type.kind&&"value"!==i.type.kind&&"value"!==f.type.kind)return t.error("Cannot use collator to compare non-string types.");if(!(e=t.parse(n[3],3,uy)))return null}return new r(i,f,e)},r.prototype.evaluate=function(r){var e=this.lhs.evaluate(r),o=this.rhs.evaluate(r),f,s;if(u&&this.hasUntypedArgument&&(f=st(e),s=st(o),f.kind!==s.kind||"string"!==f.kind&&"number"!==f.kind))throw new wt('Expected arguments for "'+n+'" to be (string, string) or (number, number), but found ('+f.kind+", "+s.kind+") instead.");return this.collator&&!u&&this.hasUntypedArgument&&(f=st(e),s=st(o),"string"!==f.kind||"string"!==s.kind)?t(r,e,o):this.collator?i(r,e,o,this.collator.evaluate(r)):t(r,e,o)},r.prototype.eachChild=function(n){n(this.lhs);n(this.rhs);this.collator&&n(this.collator)},r.prototype.outputDefined=function(){return!0},r.prototype.serialize=function(){var t=[n];return this.eachChild(function(n){t.push(n.serialize())}),t},r}function cf(n,t,i,r,u){this.type=a;this.number=n;this.locale=t;this.currency=i;this.minFractionDigits=r;this.maxFractionDigits=u}function lf(n){this.type=i;this.input=n}function uit(n,t){var i=t[0],r=t[1],u=t[2],t=t[3],i=i.evaluate(n),r=r.evaluate(n),u=u.evaluate(n),t=t?t.evaluate(n):1,n=stt(i,r,u,t);if(n)throw new wt(n);return new y(i/255*t,r/255*t,u/255*t,t)}function wk(n,t){return n=t[n],void 0===n?null:n}function vf(n){return{type:n}}function fit(n){return{result:"success",value:n}}function pe(n){return{result:"error",value:n}}function we(n){return"data-driven"===n["property-type"]||"cross-faded-data-driven"===n["property-type"]}function eit(n){return n.expression&&-1<n.expression.parameters.indexOf("zoom")}function bk(n){return n.expression&&n.expression.interpolated}function g(n){return n instanceof Number?"number":n instanceof String?"string":n instanceof Boolean?"boolean":Array.isArray(n)?"array":null===n?"null":typeof n}function yy(n){return"object"==typeof n&&null!==n&&!Array.isArray(n)}function not(n){return n}function uc(n,t,i){return void 0!==n?n:void 0!==t?t:void 0!==i?i:void 0}function tot(n,t,i,r,u){return uc(typeof i===u?r[i]:void 0,n.default,t.default)}function iot(n,t,i){return"number"!==g(i)?uc(n.default,t.default):(t=n.stops.length,1===t)?n.stops[0][1]:i<=n.stops[0][0]?n.stops[0][1]:i>=n.stops[t-1][0]?n.stops[t-1][1]:(i=cy(n.stops.map(function(n){return n[0]}),i),n.stops[i][1])}function oit(n,t,i){var u=void 0!==n.base?n.base:1,r;if("number"!==g(i))return uc(n.default,t.default);if((r=n.stops.length,1===r)||i<=n.stops[0][0])return n.stops[0][1];if(i>=n.stops[r-1][0])return n.stops[r-1][1];var e,f,o=cy(n.stops.map(function(n){return n[0]}),i),s=(e=u,r=n.stops[o][0],u=n.stops[o+1][0]-r,r=i-r,0==u?0:1===e?r/u:(Math.pow(e,r)-1)/(Math.pow(e,u)-1)),h=n.stops[o][1],l=n.stops[o+1][1],c=ly[t.type]||not;return n.colorSpace&&"rgb"!==n.colorSpace&&(f=gtt[n.colorSpace],c=function(n,t){return f.reverse(f.interpolate(f.forward(n),f.forward(t),s))}),"function"==typeof h.evaluate?{evaluate:function(){for(var i,r,n=[],t=arguments.length;t--;)n[t]=arguments[t];return i=h.evaluate.apply(void 0,n),r=l.evaluate.apply(void 0,n),void 0!==i&&void 0!==r?c(i,r,s):void 0}}:c(h,l,s)}function rot(n,t,i){return"color"===t.type?i=y.parse(i):"formatted"===t.type?i=at.fromString(i.toString()):"resolvedImage"===t.type?i=oi.fromString(i.toString()):g(i)===t.type||"enum"===t.type&&t.values[i]||(i=void 0),uc(i,n.default,t.default)}function py(n){return Array.isArray(n)&&0<n.length&&"string"==typeof n[0]&&n[0]in af}function wy(n,t){var r=new iu(af,[],t?(r={color:lr,string:a,number:i,"enum":a,boolean:c,formatted:wh,resolvedImage:bh},"array"===t.type?di(r[t.value]||l,t.length):r[t.type]):void 0),n=r.parse(n,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return n?fit(new be(n,t)):pe(r.errors)}function sit(n,t){var i,r,u;return"error"===(n=wy(n,t)).result?n:(i=n.value.expression,r=sy(i),!r&&!we(t))?pe([new rr("","data expressions not supported")]):(u=hy(i,["zoom"]),!u&&!eit(t))?pe([new rr("","zoom expressions not supported")]):(i=function t(n){var i=null,r,u;if(n instanceof uu)i=t(n.result);else if(n instanceof ru)for(r=0,u=n.args;r<u.length&&!(i=t(u[r]));r+=1);else(n instanceof ar||n instanceof kt)&&n.input instanceof bt&&"zoom"===n.input.name&&(i=n);return i instanceof rr||n.eachChild(function(n){n=t(n);n instanceof rr?i=n:!i&&n?i=new rr("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):i&&n&&i!==n&&(i=new rr("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),i}(i),i||u?i instanceof rr?pe([i]):i instanceof kt&&!bk(t)?pe([new rr("",'"interpolate" expressions cannot be used with this property')]):fit(i?new yf(r?"camera":"composite",n.value,i.labels,i instanceof kt?i.interpolation:void 0):new ke(r?"constant":"source",n.value)):pe([new rr("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]))}function fc(n,t){this._parameters=n;this._specification=t;ae(this,function n(t,i){var h,nt="color"===i.type,u=t.stops&&"object"==typeof t.stops[0][0],tt=u||!(u||void 0!==t.property),r=t.type||(bk(i)?"exponential":"interval"),a,s,f,b;if(nt&&((t=ae({},t)).stops&&(t.stops=t.stops.map(function(n){return[n[0],y.parse(n[1])]})),t.default=y.parse(t.default||i.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!gtt[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===r)e=oit;else if("interval"===r)e=iot;else if("categorical"===r){for(var e=tot,c=Object.create(null),l=0,k=t.stops;l<k.length;l+=1)a=k[l],c[a[0]]=a[1];h=typeof t.stops[0][0]}else{if("identity"!==r)throw new Error('Unknown function type "'+r+'"');e=rot}if(u){for(var o={},d=[],v=0;v<t.stops.length;v++)s=t.stops[v],f=s[0].zoom,void 0===o[f]&&(o[f]={zoom:f,type:t.type,property:t.property,"default":t.default,stops:[]},d.push(f)),o[f].stops.push([s[0].value,s[1]]);for(var p=[],w=0,g=d;w<g.length;w+=1)b=g[w],p.push([o[b].zoom,n(o[b],i)]);return u={name:"linear"},{kind:"composite",interpolationType:u,interpolationFactor:kt.interpolationFactor.bind(void 0,u),zoomStops:p.map(function(n){return n[0]}),evaluate:function(n,r){return n=n.zoom,oit({stops:p,base:t.base},i,n).evaluate(n,r)}}}return tt?(r="exponential"===r?{name:"exponential",base:void 0!==t.base?t.base:1}:null,{kind:"camera",interpolationType:r,interpolationFactor:kt.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map(function(n){return n[0]}),evaluate:function(n){return e(t,i,n.zoom,c,h)}}):{kind:"source",evaluate:function(n,r){return r=r&&r.properties?r.properties[t.property]:void 0,void 0===r?uc(t.default,i.default):e(t,i,r,c,h)}}}(this._parameters,this._specification))}function er(n){var i,f,e=n.key,t=n.value,r=n.valueSpec||{},o=n.objectElementValidators||{},l=n.style,a=n.styleSpec,s=[],n=g(t);if("object"!==n)return[new u(e,t,"object expected, "+n+" found")];for(i in t){var c=i.split(".")[0],v=r[c]||r["*"],h=void 0;if(o[c])h=o[c];else if(r[c])h=or;else if(o["*"])h=o["*"];else{if(!r["*"]){s.push(new u(e,t[i],'unknown property "'+i+'"'));continue}h=or}s=s.concat(h({key:(e&&e+".")+i,value:t[i],valueSpec:v,style:l,styleSpec:a,object:t,objectKey:i},t))}for(f in r)o[f]||r[f].required&&void 0===r[f].default&&void 0===t[f]&&s.push(new u(e,t,'missing required property "'+f+'"'));return s}function hit(n){var t=n.value,i=n.valueSpec,h=n.style,s=n.styleSpec,f=n.key,c=n.arrayElementValidator||or,e,o,r;if("array"!==g(t))return[new u(f,t,"array expected, "+g(t)+" found")];if(i.length&&t.length!==i.length)return[new u(f,t,"array length "+i.length+" expected, length "+t.length+" found")];if(i["min-length"]&&t.length<i["min-length"])return[new u(f,t,"array length at least "+i["min-length"]+" expected, length "+t.length+" found")];for(e={type:i.value,values:i.values},s.$version<7&&(e.function=i.function),"object"===g(i.value)&&(e=i.value),o=[],r=0;r<t.length;r++)o=o.concat(c({array:t,arrayIndex:r,value:t[r],valueSpec:e,style:h,styleSpec:s,key:f+"["+r+"]"}));return o}function cit(n){var r=n.key,t=n.value,i=n.valueSpec,n=g(t);return"number"!==(n="number"===n&&t!=t?"NaN":n)?[new u(r,t,"number expected, "+n+" found")]:"minimum"in i&&t<i.minimum?[new u(r,t,t+" is less than the minimum value "+i.minimum)]:"maximum"in i&&t>i.maximum?[new u(r,t,t+" is greater than the maximum value "+i.maximum)]:[]}function lit(n){function v(n){var r=[],t=n.value,i=n.key;if("array"!==g(t))return[new u(i,t,"array expected, "+g(t)+" found")];if(2!==t.length)return[new u(i,t,"array length 2 expected, length "+t.length+" found")];if(c){if("object"!==g(t[0]))return[new u(i,t,"object expected, "+g(t[0])+" found")];if(void 0===t[0].zoom)return[new u(i,t,"object stop key must have zoom")];if(void 0===t[0].value)return[new u(i,t,"object stop key must have value")];if(e&&e>ft(t[0].zoom))return[new u(i,t[0].zoom,"stop zoom values must appear in ascending order")];ft(t[0].zoom)!==e&&(e=ft(t[0].zoom),f=void 0,s={});r=r.concat(er({key:i+"[0]",value:t[0],valueSpec:{zoom:{}},style:n.style,styleSpec:n.styleSpec,objectElementValidators:{zoom:cit,value:l}}))}else r=r.concat(l({key:i+"[0]",value:t[0],valueSpec:{},style:n.style,styleSpec:n.styleSpec},t));return py(ff(t[1]))?r.concat([new u(i+"[1]",t[1],"expressions are not allowed in function stops.")]):r.concat(or({key:i+"[1]",value:t[1],valueSpec:o,style:n.style,styleSpec:n.styleSpec}))}function l(n,i){var e=g(n.value),h=ft(n.value),i=null!==n.value?n.value:i;if(r){if(e!==r)return[new u(n.key,i,e+" stop domain type must match previous stop domain type "+r)]}else r=e;return"number"!==e&&"string"!==e&&"boolean"!==e?[new u(n.key,i,"stop domain value must be a number, string, or boolean")]:"number"===e||"categorical"===t?"categorical"!==t||"number"!==e||isFinite(h)&&Math.floor(h)===h?"categorical"!==t&&"number"===e&&void 0!==f&&h<f?[new u(n.key,i,"stop domain values must appear in ascending order")]:(f=h,"categorical"===t&&h in s?[new u(n.key,i,"stop domain values must be unique")]:(s[h]=!0,[])):[new u(n.key,i,"integer expected, found "+h)]:(e="number expected, "+e+" found",we(o)&&void 0===t&&(e+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new u(n.key,i,e)])}var r,f,e,o=n.valueSpec,t=ft(n.value.type),s={},h="categorical"!==t&&void 0===n.value.property,a=!h,c="array"===g(n.value.stops)&&"array"===g(n.value.stops[0])&&"object"===g(n.value.stops[0][0]),i=er({key:n.key,value:n.value,valueSpec:n.styleSpec.function,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{stops:function(n){if("identity"===t)return[new u(n.key,n.value,'identity function may not have a "stops" property')];var r=[],i=n.value,r=r.concat(hit({key:n.key,value:i,valueSpec:n.valueSpec,style:n.style,styleSpec:n.styleSpec,arrayElementValidator:v}));return"array"===g(i)&&0===i.length&&r.push(new u(n.key,i,"array must have at least one stop")),r},"default":function(n){return or({key:n.key,value:n.value,valueSpec:o,style:n.style,styleSpec:n.styleSpec})}}});return"identity"===t&&h&&i.push(new u(n.key,n.value,'missing required property "property"')),"identity"===t||n.value.stops||i.push(new u(n.key,n.value,'missing required property "stops"')),"exponential"===t&&n.valueSpec.expression&&!bk(n.valueSpec)&&i.push(new u(n.key,n.value,"exponential functions not supported")),8<=n.styleSpec.$version&&(a&&!we(n.valueSpec)?i.push(new u(n.key,n.value,"property functions not supported")):h&&!eit(n.valueSpec)&&i.push(new u(n.key,n.value,"zoom functions not supported"))),"categorical"!==t&&!c||void 0!==n.value.property||i.push(new u(n.key,n.value,'"property" property is required')),i}function de(n){var t=("property"===n.expressionContext?sit:wy)(ff(n.value),n.valueSpec);if("error"===t.result)return t.value.map(function(t){return new u(""+n.key+t.key,n.value,t.message)});if(t=t.value.expression||t.value._styleExpression.expression,"property"===n.expressionContext&&"text-font"===n.propertyKey&&!t.outputDefined())return[new u(n.key,n.value,'Invalid data expression for "'+n.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===n.expressionContext&&"layout"===n.propertyType&&!tc(t))return[new u(n.key,n.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===n.expressionContext&&!tc(t))return[new u(n.key,n.value,'"feature-state" data expressions are not supported with filters.')];if(n.expressionContext&&0===n.expressionContext.indexOf("cluster")){if(!hy(t,["zoom","feature-state"]))return[new u(n.key,n.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===n.expressionContext&&!sy(t))return[new u(n.key,n.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function by(n){var r=n.key,t=n.value,i=n.valueSpec,n=[];return Array.isArray(i.values)?-1===i.values.indexOf(ft(t))&&n.push(new u(r,t,"expected one of ["+i.values.join(", ")+"], "+JSON.stringify(t)+" found")):-1===Object.keys(i.values).indexOf(ft(t))&&n.push(new u(r,t,"expected one of ["+Object.keys(i.values).join(", ")+"], "+JSON.stringify(t)+" found")),n}function kk(n){var t,i,r;if(!0===n||!1===n)return 1;if(Array.isArray(n)&&0!==n.length)switch(n[0]){case"has":return 2<=n.length&&"$id"!==n[1]&&"$type"!==n[1];case"in":return 3<=n.length&&("string"!=typeof n[1]||Array.isArray(n[2]));case"!in":case"!has":case"none":return;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==n.length||Array.isArray(n[1])||Array.isArray(n[2]);case"any":case"all":for(t=0,i=n.slice(1);t<i.length;t+=1)if(r=i[t],!kk(r)&&"boolean"!=typeof r)return;return 1;default:return 1}}function ky(n){if(null==n)return{filter:function(){return!0},needGeometry:!1};var t=wy(n=kk(n)?n:dy(n),ait);if("error"===t.result)throw new Error(t.value.map(function(n){return n.key+": "+n.message}).join(", "));return{filter:function(n,i,r){return t.value.evaluate(n,i,{},r)},needGeometry:function n(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var i=1;i<t.length;i++)if(n(t[i]))return!0;return!1}(n)}}function uot(n,t){return n<t?-1:t<n?1:0}function dy(n){if(!n)return!0;var i,t=n[0];return n.length<=1?"any"!==t:"=="===t?dk(n[1],n[2],"=="):"!="===t?gy(dk(n[1],n[2],"==")):"<"===t||">"===t||"<="===t||">="===t?dk(n[1],n[2],t):"any"===t?(i=n.slice(1),["any"].concat(i.map(dy))):"all"===t?["all"].concat(n.slice(1).map(dy)):"none"===t?["all"].concat(n.slice(1).map(dy).map(gy)):"in"===t?vit(n[1],n.slice(2)):"!in"===t?gy(vit(n[1],n.slice(2))):"has"===t?yit(n[1]):"!has"===t?gy(yit(n[1])):"within"!==t||n}function dk(n,t,i){switch(n){case"$type":return["filter-type-"+i,t];case"$id":return["filter-id-"+i,t];default:return["filter-"+i,n,t]}}function vit(n,t){if(0===t.length)return!1;switch(n){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return 200<t.length&&!t.some(function(n){return typeof n!=typeof t[0]})?["filter-in-large",n,["literal",t.sort(uot)]]:["filter-in-small",n,["literal",t]]}}function yit(n){switch(n){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",n]}}function gy(n){return["!",n]}function gk(n){return kk(ff(n.value))?de(ae({},n,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function n(t){var i=t.value,f=t.key,e,h,r,o,s;if("array"!==g(i))return[new u(f,i,"array expected, "+g(i)+" found")];if(h=t.styleSpec,r=[],i.length<1)return[new u(f,i,"filter array must have at least 1 element")];switch(r=r.concat(by({key:f+"[0]",value:i[0],valueSpec:h.filter_operator,style:t.style,styleSpec:t.styleSpec})),ft(i[0])){case"<":case"<=":case">":case">=":2<=i.length&&"$type"===ft(i[1])&&r.push(new u(f,i,'"$type" cannot be use with operator "'+i[0]+'"'));case"==":case"!=":3!==i.length&&r.push(new u(f,i,'filter array for operator "'+i[0]+'" must have 3 elements'));case"in":case"!in":for(2<=i.length&&"string"!==(e=g(i[1]))&&r.push(new u(f+"[1]",i[1],"string expected, "+e+" found")),o=2;o<i.length;o++)e=g(i[o]),"$type"===ft(i[1])?r=r.concat(by({key:f+"["+o+"]",value:i[o],valueSpec:h.geometry_type,style:t.style,styleSpec:t.styleSpec})):"string"!==e&&"number"!==e&&"boolean"!==e&&r.push(new u(f+"["+o+"]",i[o],"string, number, or boolean expected, "+e+" found"));break;case"any":case"all":case"none":for(s=1;s<i.length;s++)r=r.concat(n({key:f+"["+s+"]",value:i[s],style:t.style,styleSpec:t.styleSpec}));break;case"has":case"!has":e=g(i[1]);2!==i.length?r.push(new u(f,i,'filter array for "'+i[0]+'" operator must have 2 elements')):"string"!==e&&r.push(new u(f+"[1]",i[1],"string expected, "+e+" found"));break;case"within":e=g(i[1]);2!==i.length?r.push(new u(f,i,'filter array for "'+i[0]+'" operator must have 2 elements')):"object"!==e&&r.push(new u(f+"[1]",i[1],"object expected, "+e+" found"))}return r}(n)}function pit(n,t){var o=n.key,s=n.style,h=n.styleSpec,i=n.value,f=n.objectKey,r=h[t+"_"+n.layerType],c,e;return r?(c=f.match(/^(.*)-transition$/),"paint"===t&&c&&r[c[1]]&&r[c[1]].transition)?or({key:o,value:i,valueSpec:h.transition,style:s,styleSpec:h}):(r=n.valueSpec||r[f],!r)?[new u(o,i,'unknown property "'+f+'"')]:"string"===g(i)&&we(r)&&!r.tokens&&(e=/^{([^}]+)}$/.exec(i))?[new u(o,i,'"'+f+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(e[1])+" }`.")]:(e=[],"symbol"===n.layerType&&("text-field"===f&&s&&!s.glyphs&&e.push(new u(o,i,'use of "text-field" requires a style "glyphs" property')),"text-font"===f&&yy(ff(i))&&"identity"===ft(i.type)&&e.push(new u(o,i,'"text-font" does not support identity functions'))),e.concat(or({key:n.key,value:i,valueSpec:r,style:s,styleSpec:h,expressionContext:"property",propertyType:t,propertyKey:f}))):[]}function wit(n){return pit(n,"paint")}function bit(n){return pit(n,"layout")}function kit(n){var i=[],t=n.value,r=n.key,o=n.style,v=n.styleSpec,s,h,e,f,l,y,c,a;if(t.type||t.ref||i.push(new u(r,t,'either "type" or "ref" is required')),f=ft(t.type),l=ft(t.ref),t.id)for(y=ft(t.id),c=0;c<n.arrayIndex;c++)a=o.layers[c],ft(a.id)===y&&i.push(new u(r,t.id,'duplicate layer id "'+t.id+'", previously used at line '+a.id.__line__));return"ref"in t?(["type","source","source-layer","filter","layout"].forEach(function(n){n in t&&i.push(new u(r,t[n],'"'+n+'" is prohibited for ref layers'))}),o.layers.forEach(function(n){ft(n.id)===l&&(s=n)}),s?s.ref?i.push(new u(r,t.ref,"ref cannot reference another ref layer")):f=ft(s.type):i.push(new u(r,t.ref,'ref layer "'+l+'" not found'))):"background"!==f&&(t.source?(e=(h=o.sources&&o.sources[t.source])&&ft(h.type),h?"vector"===e&&"raster"===f?i.push(new u(r,t.source,'layer "'+t.id+'" requires a raster source')):"raster"===e&&"raster"!==f?i.push(new u(r,t.source,'layer "'+t.id+'" requires a vector source')):"vector"!==e||t["source-layer"]?"raster-dem"===e&&"hillshade"!==f?i.push(new u(r,t.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==f||!t.paint||!t.paint["line-gradient"]||"geojson"===e&&h.lineMetrics||i.push(new u(r,t,'layer "'+t.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):i.push(new u(r,t,'layer "'+t.id+'" must specify a "source-layer"')):i.push(new u(r,t.source,'source "'+t.source+'" not found'))):i.push(new u(r,t,'missing required property "source"'))),i=i.concat(er({key:r,value:t,valueSpec:v.layer,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return or({key:r+".type",value:t.type,valueSpec:v.layer.type,style:n.style,styleSpec:n.styleSpec,object:t,objectKey:"type"})},filter:gk,layout:function(n){return er({layer:t,key:n.key,value:n.value,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(n){return bit(ae({layerType:f},n))}}})},paint:function(n){return er({layer:t,key:n.key,value:n.value,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(n){return wit(ae({layerType:f},n))}}})}}}))}function ge(n){var t=n.value,i=n.key,n=g(t);return"string"!==n?[new u(i,t,"string expected, "+n+" found")]:[]}function dit(n){var t=n.value,i=n.key,r=n.styleSpec,o=n.style,f,h,e;if(!t.type)return[new u(i,t,'"type" is required')];h=ft(t.type);switch(h){case"vector":case"raster":case"raster-dem":return er({key:i,value:t,valueSpec:r["source_"+h.replace("-","_")],style:n.style,styleSpec:r,objectElementValidators:nd});case"geojson":if(f=er({key:i,value:t,valueSpec:r.source_geojson,style:o,styleSpec:r,objectElementValidators:nd}),t.cluster)for(e in t.clusterProperties){var c=t.clusterProperties[e],s=c[0],s="string"==typeof s?[s,["accumulated"],["get",e]]:s;f.push.apply(f,de({key:i+"."+e+".map",value:c[1],expressionContext:"cluster-map"}));f.push.apply(f,de({key:i+"."+e+".reduce",value:s,expressionContext:"cluster-reduce"}))}return f;case"video":return er({key:i,value:t,valueSpec:r.source_video,style:o,styleSpec:r});case"image":return er({key:i,value:t,valueSpec:r.source_image,style:o,styleSpec:r});case"canvas":return[new u(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return by({key:i+".type",value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:o,styleSpec:r})}}function git(n){var t,i=n.value,f=n.styleSpec,e=f.light,s=n.style,r=[],n=g(i),o;if(void 0===i)return r;if("object"!==n)return r.concat([new u("light",i,"object expected, "+n+" found")]);for(t in i)o=t.match(/^(.*)-transition$/),r=r.concat(o&&e[o[1]]&&e[o[1]].transition?or({key:t,value:i[t],valueSpec:f.transition,style:s,styleSpec:f}):e[t]?or({key:t,value:i[t],valueSpec:e[t],style:s,styleSpec:f}):[new u(t,i[t],'unknown property "'+t+'"')]);return r}function or(n){var i=n.value,t=n.valueSpec,r=n.styleSpec;return t.expression&&yy(ft(i))?lit(n):t.expression&&py(ff(i))?de(n):t.type&&td[t.type]?td[t.type](n):er(ae({},n,{valueSpec:t.type?r[t.type]:t}))}function fot(n){var t=n.value,i=n.key,n=ge(n);return n.length||(-1===t.indexOf("{fontstack}")&&n.push(new u(i,t,'"glyphs" url must include a "{fontstack}" token')),-1===t.indexOf("{range}")&&n.push(new u(i,t,'"glyphs" url must include a "{range}" token'))),n}function pf(n,i){var r=(r=[]).concat(or({key:"",value:n,valueSpec:(i=void 0===i?t:i).$root,styleSpec:i,style:n,objectElementValidators:{glyphs:fot,"*":function(){return[]}}}));return nrt(r=n.constants?r.concat(ett({key:"constants",value:n.constants,style:n,styleSpec:i})):r)}function nrt(n){return[].concat(n).sort(function(n,t){return n.line-t.line})}function no(n){return function(){for(var i=[],t=arguments.length;t--;)i[t]=arguments[t];return nrt(n.apply(this,i))}}function trt(n,t){var u=!1,i,r;if(t&&t.length)for(i=0,r=t;i<r.length;i+=1)n.fire(new ry(new Error(r[i].message))),u=!0;return u}function vr(n,t,i){var f=this.cells=[],r,u,e,o,s,h;if(n instanceof ArrayBuffer){for(this.arrayBuffer=n,r=new Int32Array(this.arrayBuffer),n=r[0],this.d=(t=r[1])+2*(i=r[2]),u=0;u<this.d*this.d;u++)e=r[3+u],o=r[3+u+1],f.push(e===o?null:r.subarray(e,o));s=r[3+f.length+1];this.keys=r.subarray(r[3+f.length],s);this.bboxes=r.subarray(s);this.insert=this._insertReadonly}else{for(this.d=t+2*i,h=0;h<this.d*this.d;h++)f.push([]);this.keys=[];this.bboxes=[]}this.n=t;this.extent=n;this.padding=i;this.scale=t/n;this.uid=0;t=i/t*n;this.min=-t;this.max=n+t}function f(n,t,i){void 0===i&&(i={});Object.defineProperty(t,"_classRegistryKey",{value:n,writeable:!1});oc[n]={klass:t,omit:i.omit||[],shallow:i.shallow||[]}}function urt(n){return n&&"undefined"!=typeof ArrayBuffer&&(n instanceof ArrayBuffer||n.constructor&&"ArrayBuffer"===n.constructor.name)}function frt(n){return rrt&&n instanceof rrt}function sc(n,t){var i,r,o,u,f;if(null==n||"boolean"==typeof n||"number"==typeof n||"string"==typeof n||n instanceof Boolean||n instanceof Number||n instanceof String||n instanceof Date||n instanceof RegExp)return n;if(urt(n)||frt(n))return t&&t.push(n),n;if(ArrayBuffer.isView(n))return i=n,t&&t.push(i.buffer),i;if(n instanceof irt)return t&&t.push(n.data.buffer),n;if(Array.isArray(n)){for(var s=[],e=0,h=n;e<h.length;e+=1)s.push(sc(h[e],t));return s}if("object"!=typeof n)throw new Error("can't serialize object of type "+typeof n);if(i=n.constructor,r=i._classRegistryKey,!r)throw new Error("can't serialize object of unregistered class");if(u=i.serialize?i.serialize(n,t):{},!i.serialize){for(f in n)!n.hasOwnProperty(f)||0<=oc[r].omit.indexOf(f)||(o=n[f],u[f]=0<=oc[r].shallow.indexOf(f)?o:sc(o,t));n instanceof Error&&(u.message=n.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(u.$name=r),u}function hc(n){var r,t,f,i;if(null==n||"boolean"==typeof n||"number"==typeof n||"string"==typeof n||n instanceof Boolean||n instanceof Number||n instanceof String||n instanceof Date||n instanceof RegExp||urt(n)||frt(n)||ArrayBuffer.isView(n)||n instanceof irt)return n;if(Array.isArray(n))return n.map(hc);if("object"!=typeof n)throw new Error("can't deserialize object of type "+typeof n);if(r=n.$name||"Object",t=oc[r].klass,!t)throw new Error("can't deserialize unregistered class "+r);if(t.deserialize)return t.deserialize(n);for(var e=Object.create(t.prototype),u=0,o=Object.keys(n);u<o.length;u+=1)i=o[u],"$name"!==i&&(f=n[i],e[i]=0<=oc[r].shallow.indexOf(i)?f:hc(f));return e}function id(){this.first=!0}function rd(n){for(var t=0,i=n;t<i.length;t+=1)if(ud(i[t].charCodeAt(0)))return!0;return!1}function ud(n){return 746===n||747===n||!(n<4352)&&(r["Bopomofo Extended"](n)||r.Bopomofo(n)||r["CJK Compatibility Forms"](n)&&!(65097<=n&&n<=65103)||r["CJK Compatibility Ideographs"](n)||r["CJK Compatibility"](n)||r["CJK Radicals Supplement"](n)||r["CJK Strokes"](n)||!(!r["CJK Symbols and Punctuation"](n)||12296<=n&&n<=12305||12308<=n&&n<=12319||12336===n)||r["CJK Unified Ideographs Extension A"](n)||r["CJK Unified Ideographs"](n)||r["Enclosed CJK Letters and Months"](n)||r["Hangul Compatibility Jamo"](n)||r["Hangul Jamo Extended-A"](n)||r["Hangul Jamo Extended-B"](n)||r["Hangul Jamo"](n)||r["Hangul Syllables"](n)||r.Hiragana(n)||r["Ideographic Description Characters"](n)||r.Kanbun(n)||r["Kangxi Radicals"](n)||r["Katakana Phonetic Extensions"](n)||r.Katakana(n)&&12540!==n||!(!r["Halfwidth and Fullwidth Forms"](n)||65288===n||65289===n||65293===n||65306<=n&&n<=65310||65339===n||65341===n||65343===n||65371<=n&&n<=65503||65507===n||65512<=n&&n<=65519)||!(!r["Small Form Variants"](n)||65112<=n&&n<=65118||65123<=n&&n<=65126)||r["Unified Canadian Aboriginal Syllabics"](n)||r["Unified Canadian Aboriginal Syllabics Extended"](n)||r["Vertical Forms"](n)||r["Yijing Hexagram Symbols"](n)||r["Yi Syllables"](n)||r["Yi Radicals"](n))}function ert(n){return!(ud(n)||(n=n,r["Latin-1 Supplement"](n)&&(167===n||169===n||174===n||177===n||188===n||189===n||190===n||215===n||247===n)||r["General Punctuation"](n)&&(8214===n||8224===n||8225===n||8240===n||8241===n||8251===n||8252===n||8258===n||8263===n||8264===n||8265===n||8273===n)||r["Letterlike Symbols"](n)||r["Number Forms"](n)||r["Miscellaneous Technical"](n)&&(8960<=n&&n<=8967||8972<=n&&n<=8991||8996<=n&&n<=9e3||9003===n||9085<=n&&n<=9114||9150<=n&&n<=9165||9167===n||9169<=n&&n<=9179||9186<=n&&n<=9215)||r["Control Pictures"](n)&&9251!==n||r["Optical Character Recognition"](n)||r["Enclosed Alphanumerics"](n)||r["Geometric Shapes"](n)||r["Miscellaneous Symbols"](n)&&!(9754<=n&&n<=9759)||r["Miscellaneous Symbols and Arrows"](n)&&(11026<=n&&n<=11055||11088<=n&&n<=11097||11192<=n&&n<=11243)||r["CJK Symbols and Punctuation"](n)||r.Katakana(n)||r["Private Use Area"](n)||r["CJK Compatibility Forms"](n)||r["Small Form Variants"](n)||r["Halfwidth and Fullwidth Forms"](n)||8734===n||8756===n||8757===n||9984<=n&&n<=10087||10102<=n&&n<=10131||65532===n||65533===n))}function ort(n){return 1424<=n&&n<=2303||r["Arabic Presentation Forms-A"](n)||r["Arabic Presentation Forms-B"](n)}function srt(n){n&&"string"==typeof n&&-1<n.indexOf("NetworkError")&&(ii="error");fd&&fd(n)}function ed(){tp.fire(new ah("pluginStateChange",{pluginStatus:ii,pluginURL:gu}))}function hot(){return ii}function hrt(){if("deferred"!==ii||!gu)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");ii="loading";ed();gu&&gb({url:gu},function(n){n?srt(n):(ii="loaded",ed())})}function w(n,t){this.zoom=n;t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new id,this.transition={})}function to(n,t){this.property=n;this.value=t;this.expression=function(n,t){var i,r;if(yy(n))return new fc(n,t);if(py(n)){if(i=sit(n,t),"error"===i.result)throw new Error(i.value.map(function(n){return n.key+": "+n.message}).join(", "));return i.value}return r=n,"string"==typeof n&&"color"===t.type&&(r=y.parse(n)),{kind:"constant",evaluate:function(){return r}}}(void 0===t?n.specification.default:t,n.specification)}function cc(n){this.property=n;this.value=new to(n,void 0)}function fu(n){this._properties=n;this._values=Object.create(n.defaultTransitionablePropertyValues)}function ac(n){this._properties=n;this._values=Object.create(n.defaultPropertyValues)}function pi(n,t,i){this.property=n;this.value=t;this.parameters=i}function s(n){this.specification=n}function bf(){vc.apply(this,arguments)}function ai(n){var t,r,i;for(t in this.properties=n,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],n)i=n[t],i.specification.overridable&&this.overridableProperties.push(t),r=this.defaultPropertyValues[t]=new to(i,void 0),i=this.defaultTransitionablePropertyValues[t]=new cc(i),this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}function ot(n,t){var i,r;if(yc.call(this),this.id=n.id,this.type=n.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==n.type&&(this.metadata=n.metadata,this.minzoom=n.minzoom,this.maxzoom=n.maxzoom,"background"!==n.type&&(this.source=n.source,this.sourceLayer=n["source-layer"],this.filter=n.filter),t.layout&&(this._unevaluatedLayout=new ac(t.layout)),t.paint)){for(i in this._transitionablePaint=new fu(t.paint),n.paint)this.setPaintProperty(i,n.paint[i],{validate:!1});for(r in n.layout)this.setLayoutProperty(r,n.layout[r],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned();this.paint=new io(t.paint)}}function vt(n,t){void 0===t&&(t=1);var i=0,r=0;return{members:n.map(function(n){var u=cot[n.type].BYTES_PER_ELEMENT,e=i=crt(i,Math.max(t,u)),f=n.components||1;return r=Math.max(r,u),i+=u*f,{name:n.name,type:n.type,components:f,offset:e}}),size:crt(i,Math.max(r,t)),alignment:t}}function crt(n,t){return Math.ceil(n/t)*t}function uo(){pc.apply(this,arguments)}function fo(){wc.apply(this,arguments)}function eo(){bc.apply(this,arguments)}function oo(){kc.apply(this,arguments)}function ho(){dc.apply(this,arguments)}function co(){gc.apply(this,arguments)}function lo(){nl.apply(this,arguments)}function ao(){tl.apply(this,arguments)}function vo(){il.apply(this,arguments)}function yo(){rl.apply(this,arguments)}function po(){fl.apply(this,arguments)}function wo(){ol.apply(this,arguments)}function bo(){sl.apply(this,arguments)}function ko(){hl.apply(this,arguments)}function go(){cl.apply(this,arguments)}function ns(){ll.apply(this,arguments)}function ts(){al.apply(this,arguments)}function is(){yl.apply(this,arguments)}function rs(){pl.apply(this,arguments)}function fs(){wl.apply(this,arguments)}function es(){bl.apply(this,arguments)}function os(){kl.apply(this,arguments)}function vp(){dl.apply(this,arguments)}function yp(){gl.apply(this,arguments)}function pp(){na.apply(this,arguments)}function wp(){ta.apply(this,arguments)}function ss(){ia.apply(this,arguments)}function bp(){ra.apply(this,arguments)}function ct(n){this.segments=n=void 0===n?[]:n}function art(n,t){return 256*(n=uf(Math.floor(n),0,255))+uf(Math.floor(t),0,255)}function kf(){this.ids=[];this.positions=[];this.indexed=!1}function yrt(n){var t=+n;return!isNaN(t)&&t<=vrt?t:ua(String(n))}function dp(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function nw(n,t){fa.call(this,n,t);this.current=lot}function tw(n,t){ea.call(this,n,t);this.current=y.transparent}function iw(n,t){oa.call(this,n,t);this.current=[0,0,0,0]}function rw(n,t){sa.call(this,n,t);this.current=[0,0,0]}function uw(n,t){ha.call(this,n,t);this.current=[0,0]}function fw(n,t){ca.call(this,n,t);this.current=0}function ew(n,t){la.call(this,n,t);this.current=0}function wd(n){return[art(255*n.r,255*n.g),art(255*n.b,255*n.a)]}function df(n,t,i){this.value=n;this.uniformNames=t.map(function(n){return"u_"+n});this.type=i}function su(n,t){this.uniformNames=t.map(function(n){return"u_"+n});this.patternFrom=null;this.patternTo=null;this.pixelRatioFrom=1;this.pixelRatioTo=1}function vi(n,t,i,r){this.expression=n;this.type=i;this.maxValue=0;this.paintVertexAttributes=t.map(function(n){return{name:"a_"+n,type:"Float32",components:"color"===i?2:1,offset:0}});this.paintVertexArray=new r}function gt(n,t,i,r,u,f){this.expression=n;this.uniformNames=t.map(function(n){return"u_"+n+"_t"});this.type=i;this.useIntegerZoom=r;this.zoom=u;this.maxValue=0;this.paintVertexAttributes=t.map(function(n){return{name:"a_"+n,type:"Float32",components:"color"===i?4:2,offset:0}});this.paintVertexArray=new f}function wi(n,t,i,r,u,f){this.expression=n;this.type=t;this.useIntegerZoom=i;this.zoom=r;this.layerId=f;this.zoomInPaintVertexArray=new u;this.zoomOutPaintVertexArray=new u}function hi(n,t,i){this.binders={};this._buffers=[];var r,o,e,u,s,f,h,c=[];for(r in n.paint._values)i(r)&&(u=n.paint.get(r))instanceof pi&&we(u.property.specification)&&(f=r,h=n.type,o={"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-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"]}[f]||[f.replace(h+"-","").replace(/-/g,"_")],e=u.value,f=u.property.specification.type,h=u.property.useIntegerZoom,u="cross-faded"===(u=u.property.specification["property-type"])||"cross-faded-data-driven"===u,"constant"===e.kind?(this.binders[r]=u?new su(e.value,o):new df(e.value,o,f),c.push("/u_"+r)):"source"===e.kind||u?(s=brt(r,f,"source"),this.binders[r]=u?new wi(e,f,h,t,s,n.id):new vi(e,o,f,s),c.push("/a_"+r)):(s=brt(r,f,"composite"),this.binders[r]=new gt(e,o,f,h,t,s),c.push("/z_"+r)));this.cacheKey=c.sort().join("")}function tr(n,t,i){var r,u,f;for(void 0===i&&(i=function(){return!0}),this.programConfigurations={},r=0,u=n;r<u.length;r+=1)f=u[r],this.programConfigurations[f.id]=new hi(f,t,i);this.needsUpload=!1;this._featureMap=new kf;this._bufferOffset=0}function brt(n,t,i){return n={"line-pattern":{source:eu,composite:eu},"fill-pattern":{source:eu,composite:eu},"fill-extrusion-pattern":{source:eu,composite:eu}}[n],n&&n[i]||{color:{source:so,composite:lp},number:{source:vl,composite:so}}[t][i]}function gf(n){for(var f,i,s=8192/n.extent,r=n.loadGeometry(),u=0;u<r.length;u++)for(f=r[u],i=0;i<f.length;i++){var t=f[i],e=Math.round(t.x*s),o=Math.round(t.y*s);t.x=uf(e,bd,ow);t.y=uf(o,bd,ow);(e<t.x||e>t.x+1||o<t.y||o>t.y+1)&&ti("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function ne(n,t){return{type:n.type,id:n.id,properties:n.properties,geometry:t?gf(n):[]}}function sw(n,t,i,r,u){n.emplaceBack(2*t+(r+1)/2,2*i+(u+1)/2)}function pr(n){this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.hasPattern=!1;this.layoutVertexArray=new ro;this.indexArray=new ou;this.segments=new ct;this.programConfigurations=new tr(n.layers,n.zoom);this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id})}function krt(n,t){for(var r,i=0;i<n.length;i++)if(hs(t,n[i]))return!0;for(r=0;r<t.length;r++)if(hs(n,t[r]))return!0;return!!kd(n,t)}function drt(n,t){var i,e,r,u,f;if(1===n.length)return nut(t,n[0]);for(i=0;i<t.length;i++)for(e=t[i],r=0;r<e.length;r++)if(hs(n,e[r]))return!0;for(u=0;u<n.length;u++)if(nut(t,n[u]))return!0;for(f=0;f<t.length;f++)if(kd(n,t[f]))return!0;return!1}function kd(n,t){var r,u,f,e,i;if(0!==n.length&&0!==t.length)for(i=0;i<n.length-1;i++)for(var s=n[i],h=n[i+1],o=0;o<t.length-1;o++)if(r=s,u=h,f=t[o],e=t[o+1],lu(r,f,e)!==lu(u,f,e)&&lu(r,u,f)!==lu(r,u,e))return 1}function dd(n,t,i){var u=i*i,r;if(1===t.length)return n.distSqr(t[0])<u;for(r=1;r<t.length;r++)if(grt(n,t[r-1],t[r])<u)return 1}function grt(n,t,i){var r=t.distSqr(i);return 0===r?n.distSqr(t):(r=((n.x-t.x)*(i.x-t.x)+(n.y-t.y)*(i.y-t.y))/r,n.distSqr(r<0?t:1<r?i:i.sub(t)._mult(r)._add(t)))}function nut(n,t){for(var r,i,o,e,s,u=!1,f=0;f<n.length;f++)for(e=0,s=(r=n[f]).length-1;e<r.length;s=e++)(i=r[e]).y>t.y!=(o=r[s]).y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(u=!u);return u}function hs(n,t){for(var i,r,u=!1,f=0,e=n.length-1;f<n.length;e=f++)i=n[f],r=n[e],i.y>t.y!=r.y>t.y&&t.x<(r.x-i.x)*(t.y-i.y)/(r.y-i.y)+i.x&&(u=!u);return u}function aa(n,t,i){var r=t.paint.get(n).value;return"constant"===r.kind?r.value:i.programConfigurations.get(t.id).getMaxValue(n)}function hw(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1])}function cw(n,t,i,r,u){var e,o,f;if(!t[0]&&!t[1])return n;for(e=h.convert(t)._mult(u),"viewport"===i&&e._rotate(-r),o=[],f=0;f<n.length;f++)o.push(n[f].sub(e));return o}function gd(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function tut(n,t,i){var e=t[0],o=t[1],s=t[2],h=t[3],c=t[4],l=t[5],a=t[6],v=t[7],y=t[8],p=t[9],w=t[10],b=t[11],k=t[12],d=t[13],g=t[14],nt=t[15],r=i[0],u=i[1],f=i[2],t=i[3];return n[0]=r*e+u*c+f*y+t*k,n[1]=r*o+u*l+f*p+t*d,n[2]=r*s+u*a+f*w+t*g,n[3]=r*h+u*v+f*b+t*nt,n[4]=(r=i[4])*e+(u=i[5])*c+(f=i[6])*y+(t=i[7])*k,n[5]=r*o+u*l+f*p+t*d,n[6]=r*s+u*a+f*w+t*g,n[7]=r*h+u*v+f*b+t*nt,n[8]=(r=i[8])*e+(u=i[9])*c+(f=i[10])*y+(t=i[11])*k,n[9]=r*o+u*l+f*p+t*d,n[10]=r*s+u*a+f*w+t*g,n[11]=r*h+u*v+f*b+t*nt,n[12]=(r=i[12])*e+(u=i[13])*c+(f=i[14])*y+(t=i[15])*k,n[13]=r*o+u*l+f*p+t*d,n[14]=r*s+u*a+f*w+t*g,n[15]=r*h+u*v+f*b+t*nt,n}function lw(n,t,i){var r=t[0],u=t[1],f=t[2],t=t[3];return n[0]=i[0]*r+i[4]*u+i[8]*f+i[12]*t,n[1]=i[1]*r+i[5]*u+i[9]*f+i[13]*t,n[2]=i[2]*r+i[6]*u+i[10]*f+i[14]*t,n[3]=i[3]*r+i[7]*u+i[11]*f+i[15]*t,n}function cs(n){va.call(this,n,aot)}function iut(n,t){return t=lw([],[n.x,n.y,0,1],t),new h(t[0]/t[3],t[1]/t[3])}function tg(){ya.apply(this,arguments)}function ig(n,t,i,r){var u=t.width,t=t.height;if(r){if(r instanceof Uint8ClampedArray)r=new Uint8Array(r.buffer);else if(r.length!==u*t*i)throw new RangeError("mismatched image size");}else r=new Uint8Array(u*t*i);return n.width=u,n.height=t,n.data=r,n}function rut(n,t,i){var r=t.width,u=t.height;r===n.width&&u===n.height||(rg(n,t=ig({},{width:r,height:u},i),{x:0,y:0},{x:0,y:0},{width:Math.min(n.width,r),height:Math.min(n.height,u)},i),n.width=r,n.height=u,n.data=t.data)}function rg(n,t,i,r,u,f){if(0===u.width||0===u.height)return t;if(u.width>n.width||u.height>n.height||i.x>n.width-u.width||i.y>n.height-u.height)throw new RangeError("out of range source coordinates for image copy");if(u.width>t.width||u.height>t.height||r.x>t.width-u.width||r.y>t.height-u.height)throw new RangeError("out of range destination coordinates for image copy");for(var s=n.data,h=t.data,e=0;e<u.height;e++)for(var c=((i.y+e)*n.width+i.x)*f,l=((r.y+e)*t.width+r.x)*f,o=0;o<u.width*f;o++)h[l+o]=s[c+o];return t}function ri(n,t){ig(this,n,4,t)}function fut(n){function l(t,r,u){a[n.evaluationKey]=u;u=n.expression.evaluate(a);i.data[t+r+0]=Math.floor(255*u.r/u.a);i.data[t+r+1]=Math.floor(255*u.g/u.a);i.data[t+r+2]=Math.floor(255*u.b/u.a);i.data[t+r+3]=Math.floor(255*u.a)}var a={},t=n.resolution||256,v=n.clips?n.clips.length:1,i=n.image||new ri({width:t,height:v}),r,e,u,o,s,h,f,c;if(n.clips)for(r=0,e=0;r<v;++r,e+=4*t)for(u=0,o=0;u<t;u++,o+=4)s=u/(t-1),h=n.clips[r],l(e,o,h.start*(1-s)+h.end*s);else for(f=0,c=0;f<t;f++,c+=4)l(0,c,f/(t-1));return i}function aw(n){pa.call(this,n,vot)}function wr(n){wa.call(this,n,uut);this._updateColorRamp()}function vw(n,t,i){i=i||2;var u,f,e,o,s,v=t&&t.length,y=v?t[0]*i:n.length,r=eut(n,0,y,i,!0),a=[];if(!r||r.next===r.prev)return a;if(v&&(r=function(n,t,i,r){for(var o,f,e,s=[],u=0,h=t.length;u<h;u++)(o=eut(n,t[u]*r,u<h-1?t[u+1]*r:n.length,r,!1))===o.next&&(o.steiner=!0),s.push(function(n){for(var t=n,i=n;(t.x<i.x||t.x===i.x&&t.y<i.y)&&(i=t),t=t.next,t!==n;);return i}(o));for(s.sort(pot),u=0;u<s.length;u++)f=s[u],(e=function(n,t){var r,i=t,f=n.x,u=n.y,e=-1/0,o;do if(u<=i.y&&u>=i.next.y&&i.next.y!==i.y&&(o=i.x+(u-i.y)*(i.next.x-i.x)/(i.next.y-i.y),o<=f&&e<o)){if((e=o)===f){if(u===i.y)return i;if(u===i.next.y)return i.next}r=i.x<i.next.x?i:i.next}while((i=i.next)!==t);if(!r)return null;if(f===e)return r;for(var s,h,c,y=r,v=r.x,l=r.y,a=1/0,i=r;f>=i.x&&i.x>=v&&f!==i.x&&ls(u<l?f:e,u,v,l,u<l?e:f,u,i.x,i.y)&&(s=Math.abs(u-i.y)/(f-i.x),ka(i,n)&&(s<a||s===a&&(i.x>r.x||i.x===r.x&&(c=i,it((h=r).prev,h,c.prev)<0&&it(c.next,h,h.next)<0)))&&(r=i,a=s)),(i=i.next)!==y;);return r}(f,e=i))&&(f=sut(e,f),tf(e,e.next),tf(f,f.next)),i=tf(i,i.next);return i}(n,t,r,i)),n.length>80*i){for(var h=u=n[0],c=f=n[1],l=i;l<y;l+=i)(e=n[l])<h&&(h=e),(o=n[l+1])<c&&(c=o),u<e&&(u=e),f<o&&(f=o);s=0!==(s=Math.max(u-h,f-c))?1/s:0}return ba(r,a,i,h,c,s),a}function eut(n,t,i,r,u){var f,e;if(u===0<og(n,t,i,r))for(f=t;f<i;f+=r)e=hut(f,n[f],n[f+1],e);else for(f=i-r;t<=f;f-=r)e=hut(f,n[f],n[f+1],e);return e&&yw(e,e.next)&&(da(e),e=e.next),e}function tf(n,t){if(!n)return n;t=t||n;var r,i=n;do if(r=!1,i.steiner||!yw(i,i.next)&&0!==it(i.prev,i,i.next))i=i.next;else{if(da(i),(i=t=i.prev)===i.next)break;r=!0}while(r||i!==t);return t}function ba(n,t,i,r,u,f,e){if(n){!e&&f&&function(n,t,i,r){for(var u=n;null===u.z&&(u.z=fg(u.x,u.y,t,i,r)),u.prevZ=u.prev,u.nextZ=u.next,(u=u.next)!==n;);u.prevZ.nextZ=null;u.prevZ=null,function(n){var o,i,t,r,u,s,f,e,h=1;do for(i=n,u=n=null,s=0;i;){for(s++,t=i,o=f=0;o<h&&(f++,t=t.nextZ);o++);for(e=h;0<f||0<e&&t;)0!==f&&(0===e||!t||i.z<=t.z)?(i=(r=i).nextZ,f--):(t=(r=t).nextZ,e--),u?u.nextZ=r:n=r,r.prevZ=u,u=r;i=t}while(u.nextZ=null,h*=2,1<s)}(u)}(n,r,u,f);for(var s,o,h=n;n.prev!==n.next;)if(s=n.prev,o=n.next,f?function(n,t,i,r){var o=n.prev,s=n,u=n.next;if(0<=it(o,s,u))return!1;for(var l=(o.x>s.x?o.x>u.x?o:u:s.x>u.x?s:u).x,a=(o.y>s.y?o.y>u.y?o:u:s.y>u.y?s:u).y,h=fg((o.x<s.x?o.x<u.x?o:u:s.x<u.x?s:u).x,(o.y<s.y?o.y<u.y?o:u:s.y<u.y?s:u).y,t,i,r),c=fg(l,a,t,i,r),f=n.prevZ,e=n.nextZ;f&&f.z>=h&&e&&e.z<=c;){if(f!==n.prev&&f!==n.next&&ls(o.x,o.y,s.x,s.y,u.x,u.y,f.x,f.y)&&0<=it(f.prev,f,f.next)||(f=f.prevZ,e!==n.prev&&e!==n.next&&ls(o.x,o.y,s.x,s.y,u.x,u.y,e.x,e.y)&&0<=it(e.prev,e,e.next)))return!1;e=e.nextZ}for(;f&&f.z>=h;){if(f!==n.prev&&f!==n.next&&ls(o.x,o.y,s.x,s.y,u.x,u.y,f.x,f.y)&&0<=it(f.prev,f,f.next))return!1;f=f.prevZ}for(;e&&e.z<=c;){if(e!==n.prev&&e!==n.next&&ls(o.x,o.y,s.x,s.y,u.x,u.y,e.x,e.y)&&0<=it(e.prev,e,e.next))return!1;e=e.nextZ}return!0}(n,r,u,f):function(n){var i=n.prev,r=n,u=n.next,t;if(0<=it(i,r,u))return!1;for(t=n.next.next;t!==n.prev;){if(ls(i.x,i.y,r.x,r.y,u.x,u.y,t.x,t.y)&&0<=it(t.prev,t,t.next))return!1;t=t.next}return!0}(n))t.push(s.i/i),t.push(n.i/i),t.push(o.i/i),da(n),n=o.next,h=o.next;else if((n=o)===h){e?1===e?ba(n=function(n,t,i){var r=n,f,u;do f=r.prev,u=r.next.next;while(!yw(f,u)&&out(f,r,r.next,u)&&ka(f,u)&&ka(u,f)&&(t.push(f.i/i),t.push(r.i/i),t.push(u.i/i),da(r),da(r.next),r=n=u),r=r.next,r!==n);return tf(r)}(tf(n),t,i),t,i,r,u,f,2):2===e&&function(n,t,i,r,u,f){var e=n,o,s;do for(o=e.next.next;o!==e.prev;){if(e.i!==o.i&&function(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!function(n,t){var i=n;do if(i.i!==n.i&&i.next.i!==n.i&&i.i!==t.i&&i.next.i!==t.i&&out(i,i.next,n,t))return 1;while((i=i.next)!==n)}(n,t)&&(ka(n,t)&&ka(t,n)&&function(n,t){for(var i=n,r=!1,f=(n.x+t.x)/2,u=(n.y+t.y)/2;i.y>u!=i.next.y>u&&i.next.y!==i.y&&f<(i.next.x-i.x)*(u-i.y)/(i.next.y-i.y)+i.x&&(r=!r),(i=i.next)!==n;);return r}(n,t)&&(it(n.prev,n,t.prev)||it(n,t.prev,t))||yw(n,t)&&0<it(n.prev,n,n.next)&&0<it(t.prev,t,t.next))}(e,o))return s=sut(e,o),e=tf(e,e.next),s=tf(s,s.next),ba(e,t,i,r,u,f),ba(s,t,i,r,u,f);o=o.next}while(e=e.next,e!==n)}(n,t,i,r,u,f):ba(tf(n),t,i,r,u,f,1);break}}}function pot(n,t){return n.x-t.x}function fg(n,t,i,r,u){return(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-i)*u)|n<<8))|n<<4))|n<<2))|n<<1))|(1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*u)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function ls(n,t,i,r,u,f,e,o){return 0<=(u-e)*(t-o)-(n-e)*(f-o)&&0<=(n-e)*(r-o)-(i-e)*(t-o)&&0<=(i-e)*(f-o)-(u-e)*(r-o)}function it(n,t,i){return(t.y-n.y)*(i.x-t.x)-(t.x-n.x)*(i.y-t.y)}function yw(n,t){return n.x===t.x&&n.y===t.y}function out(n,t,i,r){var u=ww(it(n,t,i)),f=ww(it(n,t,r)),e=ww(it(i,r,n)),o=ww(it(i,r,t));return u!==f&&e!==o||0===u&&pw(n,i,t)||0===f&&pw(n,r,t)||0===e&&pw(i,n,r)||0===o&&pw(i,t,r)}function pw(n,t,i){return t.x<=Math.max(n.x,i.x)&&t.x>=Math.min(n.x,i.x)&&t.y<=Math.max(n.y,i.y)&&t.y>=Math.min(n.y,i.y)}function ww(n){return 0<n?1:n<0?-1:0}function ka(n,t){return it(n.prev,n,n.next)<0?0<=it(n,t,n.next)&&0<=it(n,n.prev,t):it(n,t,n.prev)<0||it(n,n.next,t)<0}function sut(n,t){var r=new eg(n.i,n.x,n.y),i=new eg(t.i,t.x,t.y),f=n.next,u=t.prev;return(n.next=t).prev=n,(r.next=f).prev=r,(i.next=r).prev=i,(u.next=i).prev=u,i}function hut(n,t,i,r){return i=new eg(n,t,i),r?(i.next=r.next,(i.prev=r).next.prev=i,r.next=i):(i.prev=i).next=i,i}function da(n){n.next.prev=n.prev;n.prev.next=n.next;n.prevZ&&(n.prevZ.nextZ=n.nextZ);n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function eg(n,t,i){this.i=n;this.x=t;this.y=i;this.prev=null;this.next=null;this.z=null;this.prevZ=null;this.nextZ=null;this.steiner=!1}function og(n,t,i,r){for(var e=0,u=t,f=i-r;u<i;u+=r)e+=(n[f]-n[u])*(n[u+1]+n[f+1]),f=u;return e}function ga(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function wot(n,t){return n<t?-1:t<n?1:0}function sg(n,t){var h=n.length,f,o,s,c,l,i,u,e,r;if(h<=1)return[n];for(i=[],u=0;u<h;u++)e=function(n){for(var i,r,u=0,t=0,f=n.length,e=f-1;t<f;e=t++)u+=((r=n[e]).x-(i=n[t]).x)*(i.y+r.y);return u}(n[u]),0!==e&&(n[u].area=Math.abs(e),(o=void 0===o?e<0:o)===e<0?(f&&i.push(f),f=[n[u]]):f.push(n[u]));if(f&&i.push(f),1<t)for(r=0;r<i.length;r++)i[r].length<=t||(s=i[r],c=1,l=i[r].length-1,function n(t,i,r,u,f){for(var o,l,h,s;r<u;){600<u-r&&(o=u-r+1,l=i-r+1,s=Math.log(o),h=.5*Math.exp(2*s/3),s=.5*Math.sqrt(s*h*(o-h)/o)*(l-o/2<0?-1:1),n(t,i,Math.max(r,Math.floor(i-l*h/o+s)),Math.min(u,Math.floor(i+(o-l)*h/o+s)),f));var a=t[i],c=r,e=u;for(ga(t,r,i),0<f(t[u],a)&&ga(t,r,u);c<e;){for(ga(t,c,e),c++,e--;f(t[c],a)<0;)c++;for(;0<f(t[e],a);)e--}0===f(t[r],a)?ga(t,r,e):ga(t,++e,u);e<=i&&(r=e+1);i<=e&&(u=e-1)}}(s,t,c||0,l||s.length-1,bot||wot),i[r]=i[r].slice(0,t));return i}function bot(n,t){return t.area-n.area}function hg(n,t,i){for(var r,e=i.patternDependencies,u=!1,f=0,o=t;f<o.length;f+=1)r=o[f].paint.get(n+"-pattern"),r.isConstant()||(u=!0),r=r.constantOr(null),r&&(e[r.to]=u=!0,e[r.from]=!0);return u}function cg(n,t,i,r,u){for(var o,e,c,f,s=u.patternDependencies,h=0,l=t;h<l.length;h+=1)c=l[h],f=c.paint.get(n+"-pattern").value,"constant"!==f.kind&&(o=f.evaluate({zoom:r-1},i,{},u.availableImages),e=f.evaluate({zoom:r},i,{},u.availableImages),f=f.evaluate({zoom:r+1},i,{},u.availableImages),e=e&&e.name?e.name:e,f=f&&f.name?f.name:f,s[o=o&&o.name?o.name:o]=!0,s[e]=!0,s[f]=!0,i.patterns[c.id]={min:o,mid:e,max:f});return i}function sr(n){this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.hasPattern=!1;this.patternFeatures=[];this.layoutVertexArray=new ro;this.indexArray=new ou;this.indexArray2=new us;this.programConfigurations=new tr(n.layers,n.zoom);this.segments=new ct;this.segments2=new ct;this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id})}function rf(n){as.call(this,n,kot)}function vs(n,t,i,r,u){this.properties={};this.extent=i;this.type=0;this._pbf=n;this._geometry=-1;this._keys=r;this._values=u;n.readFields(got,this,t)}function got(n,t,i){1==n?t.id=i.readVarint():2==n?function(n,t){for(var r,u,i=n.readVarint()+n.pos;n.pos<i;)r=t._keys[n.readVarint()],u=t._values[n.readVarint()],t.properties[r]=u}(i,t):3==n?t.type=i.readVarint():4==n&&(t._geometry=i.pos)}function lut(n,t){this.version=1;this.name=null;this.extent=4096;this.length=0;this._pbf=n;this._keys=[];this._values=[];this._features=[];n.readFields(nst,this,t);this.length=this._features.length}function nst(n,t,i){15===n?t.version=i.readVarint():1===n?t.name=i.readString():5===n?t.extent=i.readVarint():2===n?t._features.push(i.pos):3===n?t._keys.push(i.readString()):4===n&&t._values.push(function(n){for(var t,i=null,r=n.readVarint()+n.pos;n.pos<r;)t=n.readVarint()>>3,i=1==t?n.readString():2==t?n.readFloat():3==t?n.readDouble():4==t?n.readVarint64():5==t?n.readVarint():6==t?n.readSVarint():7==t?n.readBoolean():null;return i}(i))}function tst(n,t,i){3!==n||(i=new lg(i,i.readVarint()+i.pos)).length&&(t[i.name]=i)}function nv(n,t,i,r,u,f,e,o){n.emplaceBack(t,i,2*Math.floor(r*ag)+e,u*ag*2,f*ag*2,Math.round(o))}function hr(n){this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.hasPattern=!1;this.layoutVertexArray=new up;this.indexArray=new ou;this.programConfigurations=new tr(n.layers,n.zoom);this.segments=new ct;this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id})}function te(n){tv.call(this,n,aut)}function iv(n,t){return n.x*t.x+n.y*t.y}function vut(n,t){var e,r,u;if(1===n.length){for(r=0,u=t[r++];!e||u.equals(e);)if(!(e=t[r++]))return 1/0;for(;r<t.length;r++){var a=t[r],o=n[0],f=e.sub(u),i=a.sub(u),s=o.sub(u),v=iv(f,f),h=iv(f,i),o=iv(i,i),f=iv(s,f),s=iv(s,i),i=v*o-h*h,o=(o*f-h*s)/i,i=(v*s-h*f)/i,i=u.z*(1-o-i)+e.z*o+a.z*i;if(isFinite(i))return i}return 1/0}for(var c=1/0,l=0,y=t;l<y.length;l+=1)c=Math.min(c,y[l].z);return c}function ni(n){var t=this;this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.hasPattern=!1;this.patternFeatures=[];this.lineClipsArray=[];this.gradients={};this.layers.forEach(function(n){t.gradients[n.id]={}});this.layoutVertexArray=new fp;this.layoutVertexArray2=new so;this.indexArray=new ou;this.programConfigurations=new tr(n.layers,n.zoom);this.segments=new ct;this.maxLineLength=0;this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id})}function rv(){ie.apply(this,arguments)}function br(n){ps.call(this,n,put);this.gradientVersion=0}function but(n,t){return 0<t?t+2*n:n}function dut(n,t,i,r,u){var f,o,c=8*u-r-1,l=(1<<c)-1,a=l>>1,e=-7,s=i?u-1:0,h=i?-1:1,i=n[t+s];for(s+=h,f=i&(1<<-e)-1,i>>=-e,e+=c;0<e;f=256*f+n[t+s],s+=h,e-=8);for(o=f&(1<<-e)-1,f>>=-e,e+=r;0<e;o=256*o+n[t+s],s+=h,e-=8);if(0===f)f=1-a;else{if(f===l)return o?NaN:1/0*(i?-1:1);o+=Math.pow(2,r);f-=a}return(i?-1:1)*o*Math.pow(2,f-r)}function gut(n,t,i,r,u,f){var e,o,c=8*f-u-1,l=(1<<c)-1,s=l>>1,v=23===u?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:f-1,a=r?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,e=l):(e=Math.floor(Math.log(t)/Math.LN2),t*(r=Math.pow(2,-e))<1&&(e--,r*=2),2<=(t+=1<=e+s?v/r:v*Math.pow(2,1-s))*r&&(e++,r/=2),l<=e+s?(o=0,e=l):1<=e+s?(o=(t*r-1)*Math.pow(2,u),e+=s):(o=t*Math.pow(2,s-1)*Math.pow(2,u),e=0));8<=u;n[i+h]=255&o,h+=a,o/=256,u-=8);for(e=e<<u|o,c+=u;0<c;n[i+h]=255&e,h+=a,e/=256,c-=8);n[i+h-a]|=128*f}function p(n){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(n)?n:new Uint8Array(n||0);this.pos=0;this.type=0;this.length=this.buf.length}function hu(n){return n.type===p.Bytes?n.readVarint()+n.pos:n.pos+1}function bs(n,t,i){return i?4294967296*t+(n>>>0):4294967296*(t>>>0)+(n>>>0)}function nft(n,t,i){var u=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2)),r;for(i.realloc(u),r=i.pos-1;n<=r;r--)i.buf[r+u]=i.buf[r]}function cst(n,t){for(var i=0;i<n.length;i++)t.writeVarint(n[i])}function lst(n,t){for(var i=0;i<n.length;i++)t.writeSVarint(n[i])}function ast(n,t){for(var i=0;i<n.length;i++)t.writeFloat(n[i])}function vst(n,t){for(var i=0;i<n.length;i++)t.writeDouble(n[i])}function yst(n,t){for(var i=0;i<n.length;i++)t.writeBoolean(n[i])}function pst(n,t){for(var i=0;i<n.length;i++)t.writeFixed32(n[i])}function wst(n,t){for(var i=0;i<n.length;i++)t.writeSFixed32(n[i])}function bst(n,t){for(var i=0;i<n.length;i++)t.writeFixed64(n[i])}function kst(n,t){for(var i=0;i<n.length;i++)t.writeSFixed64(n[i])}function bw(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16)+16777216*n[t+3]}function ks(n,t,i){n[i]=t;n[i+1]=t>>>8;n[i+2]=t>>>16;n[i+3]=t>>>24}function tft(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16)+(n[t+3]<<24)}function dst(n,t,i){1===n&&i.readMessage(gst,t)}function gst(n,t,i){var r,u,f,e;3===n&&(u=(r=i.readMessage(nht,{})).width,f=r.height,e=r.left,n=r.top,i=r.advance,t.push({id:r.id,bitmap:new nf({width:u+6,height:f+6},r.bitmap),metrics:{width:u,height:f,left:e,top:n,advance:i}}))}function nht(n,t,i){1===n?t.id=i.readVarint():2===n?t.bitmap=i.readBytes():3===n?t.width=i.readVarint():4===n?t.height=i.readVarint():5===n?t.left=i.readSVarint():6===n?t.top=i.readSVarint():7===n&&(t.advance=i.readVarint())}function ift(n){for(var f,t,u,y,i,s=0,h=0,c=0,a=n;c<a.length;c+=1)f=a[c],s+=f.w*f.h,h=Math.max(h,f.w);n.sort(function(n,t){return t.h-n.h});for(var r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(s/.95)),h),h:1/0}],e=0,o=0,l=0,v=n;l<v.length;l+=1)for(t=v[l],u=r.length-1;0<=u;u--)if(i=r[u],!(t.w>i.w||t.h>i.h)){t.x=i.x;t.y=i.y;o=Math.max(o,t.y+t.h);e=Math.max(e,t.x+t.w);t.w===i.w&&t.h===i.h?(y=r.pop(),u<r.length&&(r[u]=y)):t.h===i.h?(i.x+=t.w,i.w-=t.w):(t.w===i.w||r.push({x:i.x+t.w,y:i.y,w:i.w-t.w,h:t.h}),i.y+=t.h,i.h-=t.h);break}return{w:e,h:o,fill:s/(e*o)||0}}function kw(n,t){var i=t.pixelRatio,r=t.version,u=t.stretchX,f=t.stretchY,t=t.content;this.paddedRect=n;this.pixelRatio=i;this.stretchX=u;this.stretchY=f;this.content=t;this.version=r}function ds(){this.scale=1;this.fontStack="";this.imageName=null}function dw(n,t,i,u,f,e,o,s,h,c,l,a,v,y,p,w){var b=yt.fromFeature(n,f),it,d,rt,nt,ut,ft,g,et,l;if(a===ci.vertical&&b.verticalizePunctuation(),n=li.processBidirectionalText,f=li.processStyledBidirectionalText,n&&1===b.sections.length)for(var k=[],tt=0,ot=n(b.toString(),yg(b,c,e,t,u,y,p));tt<ot.length;tt+=1){for(it=ot[tt],d=new yt,d.text=it,d.sections=b.sections,rt=0;rt<it.length;rt++)d.sectionIndex.push(0);k.push(d)}else if(f)for(k=[],nt=0,ut=f(b.text,b.sectionIndex,yg(b,c,e,t,u,y,p));nt<ut.length;nt+=1)ft=ut[nt],g=new yt,g.text=ft[0],g.sectionIndex=ft[1],g.sections=b.sections,k.push(g);else k=function(n,t){for(var f,r=[],e=n.text,i=0,u=0,o=t;u<o.length;u+=1)f=o[u],r.push(n.substring(i,f)),i=f;return i<e.length&&r.push(n.substring(i,e.length)),r}(b,yg(b,c,e,t,u,y,p));return et=[],l={positionedLines:et,text:b.toString(),top:l[1],bottom:l[1],left:l[0],right:l[0],writingMode:a,iconsInText:!1,verticalizable:!1},function(n,t,i,u,f,e,o,s,c,l,a){for(var w,d,v,lt,k=0,nt=-17,tt=0,ot=0,yt="right"===h?1:"left"===h?0:.5,st=0,ht=0,pt=f;ht<pt.length;ht+=1){w=pt[ht];w.trim();var it=w.getMaxScale(),wt=24*(it-1),bt={positionedGlyphs:[],lineOffset:0},rt=(n.positionedLines[st]=bt).positionedGlyphs,ut=0;if(w.length()){for(d=0;d<w.length();d++){var y=w.getSection(d),kt=w.getSectionIndex(d),b=w.getCharCode(d),ft=0,g=null,et=null,ct=null,dt=24,p=!(s===ci.horizontal||!l&&!ud(b)||l&&(fv[b]||r.Arabic(p=b)||r["Arabic Supplement"](p)||r["Arabic Extended-A"](p)||r["Arabic Presentation Forms-A"](p)||r["Arabic Presentation Forms-B"](p)));if(y.imageName){if(v=u[y.imageName],!v)continue;ct=y.imageName;n.iconsInText=n.iconsInText||!0;et=v.paddedRect;v=v.displaySize;y.scale=24*y.scale/a;ft=wt+(24-v[1]*y.scale);dt=(g={width:v[0],height:v[1],left:1,top:-3,advance:p?v[1]:v[0]}).advance;v=p?v[0]*y.scale-24*it:v[1]*y.scale-24*it;0<v&&ut<v&&(ut=v)}else{if(v=i[y.fontStack],v=v&&v[b],v&&v.rect)et=v.rect,g=v.metrics;else{if(v=t[y.fontStack],v=v&&v[b],!v)continue;g=v.metrics}ft=24*(it-y.scale)}p?(n.verticalizable=!0,rt.push({glyph:b,imageName:ct,x:k,y:nt+ft,vertical:p,scale:y.scale,fontStack:y.fontStack,sectionIndex:kt,metrics:g,rect:et}),k+=dt*y.scale+c):(rt.push({glyph:b,imageName:ct,x:k,y:nt+ft,vertical:p,scale:y.scale,fontStack:y.fontStack,sectionIndex:kt,metrics:g,rect:et}),k+=g.advance*y.scale+c)}0!==rt.length&&(tt=Math.max(k-c,tt),function(n,t,i,r,u){if(r||u)for(var e=n[i],o=(n[i].x+e.metrics.advance*e.scale)*r,f=t;f<=i;f++)n[f].x-=o,n[f].y+=u}(rt,0,rt.length-1,yt,ut));k=0;lt=e*it+ut;bt.lineOffset=Math.max(ut,wt);nt+=lt;ot=Math.max(lt,ot);++st}else nt+=e,++st}var p,at=nt- -17,o=pg(o),gt=o.horizontalAlign,vt=o.verticalAlign;(function(n,t,i,r){for(var u,o,s,c=(yt-gt)*t,l=i!==e?-at*vt+17:(-vt*r+.5)*e,f=0,h=n;f<h.length;f+=1)for(u=0,o=h[f].positionedGlyphs;u<o.length;u+=1)s=o[u],s.x+=c,s.y+=l})(n.positionedLines,tt,ot,f.length);n.top+=-vt*at;n.bottom=n.top+at;n.left+=-gt*tt;n.right=n.left+tt}(l,t,i,u,k,o,s,a,c,v,w),!function(){for(var n=0,t=et;n<t.length;n+=1)if(0!==t[n].positionedGlyphs.length)return;return 1}()&&l}function rft(n,t,i,r,u,f){return t.imageName?(r=r[t.imageName],r?r.displaySize[0]*t.scale*24/f+u:0):(i=i[t.fontStack],n=i&&i[n],n?n.metrics.advance*t.scale+u:0)}function uft(n,t,i,r){var u=Math.pow(n-t,2);return r?n<t?u/2:2*u:u+Math.abs(i)*i}function fft(n,t,i,r,u,f){for(var e,h,c=null,o=uft(t,i,u,f),s=0,l=r;s<l.length;s+=1)e=l[s],h=uft(t-e.x,i,u,f)+e.badness,h<=o&&(c=e,o=h);return{index:n,x:t,priorBreak:c,badness:o}}function yg(n,t,i,u,f,e,o){var y,l,h;if("point"!==e)return[];if(!n)return[];for(var s,a=[],p=function(n,t,i,r,u,f){for(var s,o=0,e=0;e<n.length();e++)s=n.getSection(e),o+=rft(n.getCharCode(e),s,r,u,t,f);return o/Math.max(1,Math.ceil(o/i))}(n,t,i,u,f,o),w=0<=n.text.indexOf("​"),v=0,c=0;c<n.length();c++)l=n.getSection(c),h=n.getCharCode(c),fv[h]||(v+=rft(h,l,u,f,t,o)),c<n.length()-1&&(y=!((s=h)<11904||!(r["Bopomofo Extended"](s)||r.Bopomofo(s)||r["CJK Compatibility Forms"](s)||r["CJK Compatibility Ideographs"](s)||r["CJK Compatibility"](s)||r["CJK Radicals Supplement"](s)||r["CJK Strokes"](s)||r["CJK Symbols and Punctuation"](s)||r["CJK Unified Ideographs Extension A"](s)||r["CJK Unified Ideographs"](s)||r["Enclosed CJK Letters and Months"](s)||r["Halfwidth and Fullwidth Forms"](s)||r.Hiragana(s)||r["Ideographic Description Characters"](s)||r["Kangxi Radicals"](s)||r["Katakana Phonetic Extensions"](s)||r.Katakana(s)||r["Vertical Forms"](s)||r["Yi Radicals"](s)||r["Yi Syllables"](s))),(ui[h]||y||l.imageName)&&a.push(fft(c+1,v,p,a,(s=h,l=n.getCharCode(c+1),void 0,h=0,10===s&&(h-=1e4),y&&w&&(h+=150),40!==s&&65288!==s||(h+=50),41!==l&&65289!==l||(h+=50),h),!1)));return function n(t){return t?n(t.priorBreak).concat(t.index):[]}(fft(n.length(),v,p,a,0,!0))}function pg(n){var t=.5,i=.5;switch(n){case"right":case"top-right":case"bottom-right":t=1;break;case"left":case"top-left":case"bottom-left":t=0}switch(n){case"bottom":case"bottom-right":case"bottom-left":i=1;break;case"top":case"top-right":case"top-left":i=0}return{horizontalAlign:t,verticalAlign:i}}function eft(n,t,i,r,u,f){var c,n=n.image;n.content&&(o=n.content,e=n.pixelRatio||1,c=[o[0]/e,o[1]/e,n.displaySize[0]-o[2]/e,n.displaySize[1]-o[3]/e]);var s,h,o=t.left*f,e=t.right*f,o="width"===i||"both"===i?(h=u[0]+o-r[3],u[0]+e+r[1]):(h=u[0]+(o+e-n.displaySize[0])/2)+n.displaySize[0],e=t.top*f,f=t.bottom*f,f="height"===i||"both"===i?(s=u[1]+e-r[0],u[1]+f+r[2]):(s=u[1]+(e+f-n.displaySize[1])/2)+n.displaySize[1];return{image:n,top:s,right:o,bottom:f,left:h,collisionPadding:c}}function ov(n,t,i,r){ev.call(this,n,t);this.angle=i;void 0!==r&&(this.segment=r)}function wg(n,t){var i=t.expression,f;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new w(n+1))};if("source"===i.kind)return{kind:"source"};for(var r=i.zoomStops,o=i.interpolationType,u=0;u<r.length&&r[u]<=n;)u++;for(f=u=Math.max(0,u-1);f<r.length&&r[f]<n+1;)f++;var f=Math.min(r.length-1,f),e=r[u],t=r[f];return"composite"===i.kind?{kind:"composite",minZoom:e,maxZoom:t,interpolationType:o}:{kind:"camera",minZoom:e,maxZoom:t,minSize:i.evaluate(new w(e)),maxSize:i.evaluate(new w(t)),interpolationType:o}}function oft(n,t,i){var u=t.uSize,r=i.lowerSize;return"source"===n.kind?r/128:"composite"===n.kind?ht(r/128,i.upperSize/128,t.uSizeT):u}function sft(n,t){var r,u=0,i=0;return"constant"===n.kind?i=n.layoutSize:"source"!==n.kind&&(t=(r=n.interpolationType)?uf(kt.interpolationFactor(r,t,n.minZoom,n.maxZoom),0,1):0,"camera"===n.kind?i=ht(n.minSize,n.maxSize,t):u=t),{uSizeT:u,uSize:i}}function hft(n,t,i,r,u){var s,h,c,l,o;if(void 0===t.segment)return 1;for(var a=t,f=t.segment+1,e=0;-i/2<e;){if(--f<0)return;e-=n[f].dist(a);a=n[f]}for(e+=n[f].dist(n[f+1]),f++,s=[],h=0;e<i/2;){if(c=n[f],l=n[f+1],!l)return;for(o=n[f-1].angleTo(c)-c.angleTo(l),o=Math.abs((o+3*Math.PI)%(2*Math.PI)-Math.PI),s.push({distance:e,angleDelta:o}),h+=o;e-s[0].distance>r;)h-=s.shift().angleDelta;if(u<h)return;f++;e+=c.dist(l)}return 1}function cft(n){for(var i=0,t=0;t<n.length-1;t++)i+=n[t].dist(n[t+1]);return i}function lft(n,t,i){return n?.6*t*i:0}function aft(n,t){return Math.max(n?n.right-n.left:0,t?t.right-t.left:0)}function vft(n,t,i,r,u){for(var f,e,l=[],s=0;s<n.length;s++)for(var a=n[s],o=void 0,c=0;c<a.length-1;c++)f=a[c],e=a[c+1],f.x<t&&e.x<t||(f.x<t?f=new h(t,f.y+(t-f.x)/(e.x-f.x)*(e.y-f.y))._round():e.x<t&&(e=new h(t,f.y+(t-f.x)/(e.x-f.x)*(e.y-f.y))._round()),f.y<i&&e.y<i||(f.y<i?f=new h(f.x+(i-f.y)/(e.y-f.y)*(e.x-f.x),i)._round():e.y<i&&(e=new h(f.x+(i-f.y)/(e.y-f.y)*(e.x-f.x),i)._round()),f.x>=r&&e.x>=r||(f.x>=r?f=new h(r,f.y+(r-f.x)/(e.x-f.x)*(e.y-f.y))._round():e.x>=r&&(e=new h(r,f.y+(r-f.x)/(e.x-f.x)*(e.y-f.y))._round()),f.y>=u&&e.y>=u||(f.y>=u?f=new h(f.x+(u-f.y)/(e.y-f.y)*(e.x-f.x),u)._round():e.y>=u&&(e=new h(f.x+(u-f.y)/(e.y-f.y)*(e.x-f.x),u)._round()),o&&f.equals(o[o.length-1])||l.push(o=[f]),o.push(e)))));return l}function yft(n,t,i,r){function ct(r,u,c,l){var et=(r.stretch-a)/v*it+n.left,ot=r.fixed-ut-w*r.stretch/o,d=(u.stretch-y)/p*rt+n.top,st=u.fixed-ft-b*u.stretch/s,g=(c.stretch-a)/v*it+n.left,k=c.fixed-ut-w*c.stretch/o,nt=(l.stretch-y)/p*rt+n.top,tt=l.fixed-ft-b*l.stretch/s,ht=new h(et,d),d=new h(g,d),g=new h(g,nt),nt=new h(et,nt),ot=new h(ot/e,st/e),st=new h(k/e,tt/e);return(k=t*Math.PI/180)&&(tt=Math.sin(k),k=Math.cos(k),ht._matMult(k=[k,-tt,tt,k]),d._matMult(k),nt._matMult(k),g._matMult(k)),r=r.stretch+r.fixed,u=u.stretch+u.fixed,{tl:ht,tr:d,bl:nt,br:g,tex:{x:f.paddedRect.x+1+r,y:f.paddedRect.y+1+u,w:c.stretch+c.fixed-r,h:l.stretch+l.fixed-u},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:ot,pixelOffsetBR:st,minFontScaleX:w/e/it,minFontScaleY:b/e/rt,isSDF:i}}var g=[],f=n.image,e=f.pixelRatio,nt=f.paddedRect.w-2,tt=f.paddedRect.h-2,it=n.right-n.left,rt=n.bottom-n.top,c=f.stretchX||[[0,nt]],l=f.stretchY||[[0,tt]],u=function(n,t){return n+t[1]-t[0]},o=c.reduce(u,0),s=l.reduce(u,0),st=nt-o,ht=tt-s,a=0,v=o,y=0,p=s,ut=0,w=st,ft=0,b=ht;if(f.content&&r&&(u=f.content,a=gw(c,0,u[0]),y=gw(l,0,u[1]),v=gw(c,u[0],u[2]),p=gw(l,u[1],u[3]),ut=u[0]-a,ft=u[1]-y,w=u[2]-u[0]-v,b=u[3]-u[1]-p),r&&(f.stretchX||f.stretchY))for(var et=pft(c,st,o),ot=pft(l,ht,s),k=0;k<et.length-1;k++)for(var lt=et[k],at=et[k+1],d=0;d<ot.length-1;d++)g.push(ct(lt,ot[d],at,ot[d+1]));else g.push(ct({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:1+nt},{fixed:0,stretch:1+tt}));return g}function gw(n,t,i){for(var u,f=0,r=0,e=n;r<e.length;r+=1)u=e[r],f+=Math.max(t,Math.min(i,u[1]))-Math.max(t,Math.min(i,u[0]));return f}function pft(n,t,i){for(var r=[{fixed:-1,stretch:0}],f=0,o=n;f<o.length;f+=1){var u=o[f],e=u[0],s=u[1],u=r[r.length-1];r.push({fixed:e-u.stretch,stretch:u.stretch});r.push({fixed:e-u.stretch,stretch:u.stretch+(s-e)})}return r.push({fixed:t+1,stretch:i}),r}function nb(n,t,i,r,u,f,e,o,s,c){var a,v,y,l;this.boxStartIndex=n.length;s?(y=f.top,v=f.bottom,(a=f.collisionPadding)&&(y-=a[1],v+=a[3]),0<(l=v-y)&&(l=Math.max(10,l),this.circleDiameter=l)):(s=f.top*e-o,a=f.bottom*e+o,v=f.left*e-o,y=f.right*e+o,(l=f.collisionPadding)&&(v-=l[0]*e,s-=l[1]*e,y+=l[2]*e,a+=l[3]*e),c&&(o=new h(v,s),f=new h(y,s),l=new h(v,a),e=new h(y,a),c=c*Math.PI/180,o._rotate(c),f._rotate(c),l._rotate(c),e._rotate(c),v=Math.min(o.x,f.x,l.x,e.x),y=Math.max(o.x,f.x,l.x,e.x),s=Math.min(o.y,f.y,l.y,e.y),a=Math.max(o.y,f.y,l.y,e.y)),n.emplaceBack(t.x,t.y,v,s,y,a,i,r,u));this.boxEndIndex=n.length}function tht(n,t){return n<t?-1:t<n?1:0}function iht(n,t){return t.max-n.max}function gs(n,t,i,r){this.p=new h(n,t);this.h=i;this.d=function(n,t){for(var i,r,u=!1,f=1/0,e=0;e<t.length;e++)for(var o=t[e],s=0,h=o.length,c=h-1;s<h;c=s++)i=o[s],r=o[c],i.y>n.y!=r.y>n.y&&n.x<(r.x-i.x)*(n.y-i.y)/(r.y-i.y)+i.x&&(u=!u),f=Math.min(f,grt(n,i,r));return(u?1:-1)*Math.sqrt(f)}(this.p,r);this.max=this.d+this.h*Math.SQRT2}function wft(n,t){return t[1]!==tb?function(n,t,i){var r=0,u=0;switch(t=Math.abs(t),i=Math.abs(i),n){case"top-right":case"top-left":case"top":u=i-7;break;case"bottom-right":case"bottom-left":case"bottom":u=7-i}switch(n){case"top-right":case"bottom-right":case"right":r=-t;break;case"top-left":case"bottom-left":case"left":r=t}return[r,u]}(n,t[0],t[1]):function(n,t){var i=0,r=0,u=(t=t<0?0:t)/Math.sqrt(2);switch(n){case"top-right":case"top-left":r=u-7;break;case"bottom-right":case"bottom-left":r=7-u;break;case"bottom":r=7-t;break;case"top":r=t-7}switch(n){case"top-right":case"bottom-right":i=-u;break;case"top-left":case"bottom-left":i=u;break;case"left":i=t;break;case"right":i=-t}return[i,r]}(n,t[0])}function bg(n){switch(n){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function bft(n,t,i,r,u,f,e,o,s,c,l,a,v,y,p){var k=function(n,t,i,r,u,f,e){for(var d,it,ot,p,l,v,a,c,w,s,b,k,y,o,g=i.layout.get("text-rotate").evaluate(u,{})*Math.PI/180,rt=[],nt=0,ut=n.positionedLines;nt<ut.length;nt+=1)for(var ft=ut[nt],tt=0,et=ft.positionedGlyphs;tt<et.length;tt+=1)o=et[tt],o.rect&&(d=o.rect||{},a=4,it=!0,p=1,l=0,w=(r||e)&&o.vertical,s=o.metrics.advance*o.scale/2,e&&n.verticalizable&&(l=ft.lineOffset/2-(o.imageName?-(24-o.metrics.width*o.scale)/2:24*(o.scale-1))),o.imageName&&(it=(v=f[o.imageName]).sdf,a=1/(p=v.pixelRatio)),ot=r?[o.x+s,o.y]:[0,0],c=r?[0,0]:[o.x+s+t[0],o.y+t[1]-l],b=[0,0],w&&(b=c,c=[0,0]),v=(o.metrics.left-a)*o.scale-s+c[0],l=(-o.metrics.top-a)*o.scale+c[1],a=v+d.w*o.scale/p,c=l+d.h*o.scale/p,p=new h(v,l),l=new h(a,l),v=new h(v,c),a=new h(a,c),w&&(c=new h(-s,s+17),w=-Math.PI/2,s=new h(22-(s=12-s),-(o.imageName?s:0)),b=new(Function.prototype.bind.apply(h,[null].concat(b))),p._rotateAround(w,c)._add(s)._add(b),l._rotateAround(w,c)._add(s)._add(b),v._rotateAround(w,c)._add(s)._add(b),a._rotateAround(w,c)._add(s)._add(b)),g&&(y=Math.sin(g),k=Math.cos(g),p._matMult(y=[k,-y,y,k]),l._matMult(y),v._matMult(y),a._matMult(y)),k=new h(0,0),y=new h(0,0),rt.push({tl:p,tr:l,bl:v,br:a,tex:d,writingMode:n.writingMode,glyphOffset:ot,sectionIndex:o.sectionIndex,isSDF:it,pixelOffsetTL:k,pixelOffsetBR:y,minFontScaleX:0,minFontScaleY:0}));return rt}(i,o,u,f,e,r,n.allowVerticalPlacement),i=n.textSizeData,r=null,w,b;for("source"===i.kind?32640<(r=[128*u.layout.get("text-size").evaluate(e,{})])[0]&&ti(n.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):"composite"===i.kind&&(32640<(r=[128*y.compositeTextSizes[0].evaluate(e,{},p),128*y.compositeTextSizes[1].evaluate(e,{},p)])[0]||32640<r[1])&&ti(n.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),n.addSymbols(n.text,k,r,o,f,e,c,t,s.lineStartIndex,s.lineLength,v,p),w=0,b=l;w<b.length;w+=1)a[b[w]]=n.text.placedSymbolArray.length-1;return 4*k.length}function kft(n){for(var t in n)return n[t];return null}function ib(n,t,i,r,u,f,e,o,s,h,c,l,a){var v=o?Math.min(32640,Math.round(o[0])):0,o=o?Math.min(32640,Math.round(o[1])):0;n.emplaceBack(t,i,Math.round(32*r),Math.round(32*u),f,e,(v<<1)+(s?1:0),o,16*h,16*c,256*l,256*a)}function kg(n,t,i){n.emplaceBack(t.x,t.y,i);n.emplaceBack(t.x,t.y,i);n.emplaceBack(t.x,t.y,i);n.emplaceBack(t.x,t.y,i)}function rht(n){for(var t=0,i=n.sections;t<i.length;t+=1)if(function(n){for(var t=0,i=n;t<i.length;t+=1)if(ort(i[t].charCodeAt(0)))return 1}(i[t].text))return 1}function nh(n){this.layoutVertexArray=new ep;this.indexArray=new ou;this.programConfigurations=n;this.segments=new ct;this.dynamicLayoutVertexArray=new op;this.opacityVertexArray=new sp;this.placedSymbolArray=new hd}function sv(n,t,i){this.layoutVertexArray=new n;this.layoutAttributes=t;this.indexArray=new i;this.segments=new ct;this.collisionVertexArray=new cp}function v(n){var i;this.collisionBoxArray=n.collisionBoxArray;this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.pixelRatio=n.pixelRatio;this.sourceLayerIndex=n.sourceLayerIndex;this.hasPattern=!1;this.hasRTLText=!1;this.sortKeyRanges=[];this.collisionCircleArray=[];this.placementInvProjMatrix=gd([]);this.placementViewportMatrix=gd([]);i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=wg(this.zoom,i["text-size"]);this.iconSizeData=wg(this.zoom,i["icon-size"]);var t=this.layers[0].layout,r=t.get("symbol-sort-key"),i=t.get("symbol-z-order");this.canOverlap=t.get("text-allow-overlap")||t.get("icon-allow-overlap")||t.get("text-ignore-placement")||t.get("icon-ignore-placement");this.sortFeaturesByKey="viewport-y"!==i&&void 0!==r.constantOr(1);this.sortFeaturesByY=("viewport-y"===i||"auto"===i&&!this.sortFeaturesByKey)&&this.canOverlap;"point"===t.get("symbol-placement")&&(this.writingModes=t.get("text-writing-mode").map(function(n){return ci[n]}));this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id});this.sourceID=n.sourceID}function th(n){this.type=n.property.overrides?n.property.overrides.runtimeType:ph;this.defaultValue=n}function fe(n,t,i,r){this.context=n;this.format=i;this.texture=n.gl.createTexture();this.update(t,r)}function cr(n){hv.call(this,n,{});this.implementation=n}function dg(n){cv.call(this,n,fht)}function gg(n){lv.call(this,n,uht)}function bi(n){ih.call(this,n,rb)}function nn(n){var t=this;this._callback=n;this._triggered=!1;"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){t._triggered=!1;t._callback()})}function uet(n,t,i){return i=12756274*Math.PI/256/Math.pow(2,i),[n*i-6378137*Math.PI,t*i-6378137*Math.PI]}function rt(n,t){n&&(t?this.setSouthWest(n).setNorthEast(t):4===n.length?this.setSouthWest([n[0],n[1]]).setNorthEast([n[2],n[3]]):this.setSouthWest(n[0]).setNorthEast(n[1]))}function fet(n){return tn*Math.cos(n*Math.PI/180)}function eet(n){return(180+n)/360}function oet(n){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+n*Math.PI/360)))/360}function set(n,t){return n/fet(t)}function rn(n){return 360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90}function ee(n,t,i){void 0===i&&(i=0);this.x=+n;this.y=+t;this.z=+i}function oe(n,t,i){this.z=n;this.x=t;this.y=i;this.key=av(0,n,n,t,i)}function het(n,t){this.wrap=n;this.canonical=t;this.key=av(n,t.z,t.z,t.x,t.y)}function ut(n,t,i,r,u){this.overscaledZ=n;this.wrap=t;this.canonical=new oe(i,+r,+u);this.key=av(t,n,i,r,u)}function av(n,t,i,r,u){var f=1<<i;return(f*f*(n=(n*=2)<0?-1*n-1:n)+f*u+r).toString(36)+i.toString(36)+t.toString(36)}function fb(n){var t,i;for(this._stringToNumber={},this._numberToString=[],t=0;t<n.length;t++)i=n[t],this._stringToNumber[i]=t,this._numberToString[t]=i}function eb(n,t,i,r,u){this.type="Feature";(this._vectorTileFeature=n)._z=t;n._x=i;n._y=r;this.properties=n.properties;this.id=u}function cet(n,t,i,r,u){return hb(n,function(n,f){return f=t instanceof io?t.get(f):null,f&&f.evaluate?f.evaluate(i,r,u):f})}function aet(n){for(var r=1/0,u=1/0,f=-1/0,e=-1/0,i=0,o=n;i<o.length;i+=1)var t=o[i],r=Math.min(r,t.x),u=Math.min(u,t.y),f=Math.max(f,t.x),e=Math.max(e,t.y);return{minX:r,minY:u,maxX:f,maxY:e}}function sht(n,t){return t-n}var un=se,h,e,fn,on,ob,cb,pv,pb,bn,kn,wb,bb,kb,ch,db,gv,lh,ah,ry,t,u,yh,rr,ott,fk,y,at,oi,ey,htt,ctt,bt,iu,ar,ru,uu,af,be,ke,yf,ait,nd,td,wf,r,tp,li,ip,lc,io,o,vc,b,nr,pc,ro,wc,rp,bc,up,kc,fp,dc,so,gc,eu,nl,ep,tl,op,il,sp,rl,ul,fl,el,ol,hp,sl,cp,hl,ou,cl,au,ll,ei,al,vl,yl,pt,pl,ir,wl,us,bl,le,kl,lp,od,dl,ap,sd,gl,hd,cd,na,ld,ta,ad,ia,vd,yd,ra,pd,lrt,vrt,ow,bd,va,vy,ya,ng,nf,uut,lg,tv,aut,et,ps,ws,uv,vg,ci,yt,fv,ui,ev,re,ue,tb,dft,gft,tt,rb,d,tn,cu,dt;se.prototype.sampleCurveX=function(n){return((this.ax*n+this.bx)*n+this.cx)*n};se.prototype.sampleCurveY=function(n){return((this.ay*n+this.by)*n+this.cy)*n};se.prototype.sampleCurveDerivativeX=function(n){return(3*this.ax*n+2*this.bx)*n+this.cx};se.prototype.solveCurveX=function(n,t){var r,f,i,u,e,o;for(void 0===t&&(t=1e-6),i=n,e=0;e<8;e++){if(u=this.sampleCurveX(i)-n,Math.abs(u)<t)return i;if(o=this.sampleCurveDerivativeX(i),Math.abs(o)<1e-6)break;i-=u/o}if((i=n)<(r=0))return r;if(i>(f=1))return f;for(;r<f;){if(u=this.sampleCurveX(i),Math.abs(u-n)<t)return i;u<n?r=i:f=i;i=.5*(f-r)+r}return i};se.prototype.solve=function(n,t){return this.sampleCurveY(this.solveCurveX(n,t))};h=he;he.prototype={clone:function(){return new he(this.x,this.y)},add:function(n){return this.clone()._add(n)},sub:function(n){return this.clone()._sub(n)},multByPoint:function(n){return this.clone()._multByPoint(n)},divByPoint:function(n){return this.clone()._divByPoint(n)},mult:function(n){return this.clone()._mult(n)},div:function(n){return this.clone()._div(n)},rotate:function(n){return this.clone()._rotate(n)},rotateAround:function(n,t){return this.clone()._rotateAround(n,t)},matMult:function(n){return this.clone()._matMult(n)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(n){return this.x===n.x&&this.y===n.y},dist:function(n){return Math.sqrt(this.distSqr(n))},distSqr:function(n){var t=n.x-this.x,n=n.y-this.y;return t*t+n*n},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(n){return Math.atan2(this.y-n.y,this.x-n.x)},angleWith:function(n){return this.angleWithSep(n.x,n.y)},angleWithSep:function(n,t){return Math.atan2(this.x*t-this.y*n,this.x*n+this.y*t)},_matMult:function(n){var t=n[2]*this.x+n[3]*this.y;return this.x=n[0]*this.x+n[1]*this.y,this.y=t,this},_add:function(n){return this.x+=n.x,this.y+=n.y,this},_sub:function(n){return this.x-=n.x,this.y-=n.y,this},_mult:function(n){return this.x*=n,this.y*=n,this},_div:function(n){return this.x/=n,this.y/=n,this},_multByPoint:function(n){return this.x*=n.x,this.y*=n.y,this},_divByPoint:function(n){return this.x/=n.x,this.y/=n.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var n=this.y;return this.y=this.x,this.x=-n,this},_rotate:function(n){var t=Math.cos(n),i=Math.sin(n),n=i*this.x+t*this.y;return this.x=t*this.x-i*this.y,this.y=n,this},_rotateAround:function(n,t){var i=Math.cos(n),r=Math.sin(n),n=t.y+r*(this.x-t.x)+i*(this.y-t.y);return this.x=t.x+i*(this.x-t.x)-r*(this.y-t.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};he.convert=function(n){return!(n instanceof he)&&Array.isArray(n)?new he(n[0],n[1]):n};e="undefined"!=typeof self?self:{};fn=Math.pow(2,53)-1;on=en(.25,.1,.25,1);ob=1;cb={};pv=null;var ab,vb,rh,uh,au=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now.bind(Date),yet=e.requestAnimationFrame||e.mozRequestAnimationFrame||e.webkitRequestAnimationFrame||e.msRequestAnimationFrame,pet=e.cancelAnimationFrame||e.mozCancelAnimationFrame||e.webkitCancelAnimationFrame||e.msCancelAnimationFrame,ce={now:au,frame:function(n){var t=yet(n);return{cancel:function(){return pet(t)}}},getImageData:function(n,t){void 0===t&&(t=0);var i=e.document.createElement("canvas"),r=i.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return i.width=n.width,i.height=n.height,r.drawImage(n,0,0,n.width,n.height),r.getImageData(-t,-t,n.width+2*t,n.height+2*t)},resolveURL:function(n){return(ab=ab||e.document.createElement("a")).href=n,ab.href},hardwareConcurrency:e.navigator&&e.navigator.hardwareConcurrency||4,get devicePixelRatio(){return e.devicePixelRatio},get prefersReducedMotion(){return!!e.matchMedia&&(vb=null==vb?e.matchMedia("(prefers-reduced-motion: reduce)"):vb).matches}},lt={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},wv={supported:!1,testSupport:function(n){!yb&&uh&&(pn?wn(n):rh=n)}},yb=!1,pn=!1;e.document&&((uh=e.document.createElement("img")).onload=function(){rh&&wn(rh);pn=!(rh=null)},uh.onerror=function(){yb=!0;rh=null},uh.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");pb="01";ki.prototype._createSkuToken=function(){var n=function(){for(var n="",t=0;t<10;t++)n+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",pb,n].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=n.token;this._skuTokenExpiresAt=n.tokenExpiresAt};ki.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt};ki.prototype.transformRequest=function(n,t){return this._transformRequestFn&&this._transformRequestFn(n,t)||{url:n}};ki.prototype.normalizeStyleURL=function(n,t){return dr(n)?(n=vu(n),n.path="/styles/v1"+n.path,this._makeAPIURL(n,this._customAccessToken||t)):n};ki.prototype.normalizeGlyphsURL=function(n,t){return dr(n)?(n=vu(n),n.path="/fonts/v1"+n.path,this._makeAPIURL(n,this._customAccessToken||t)):n};ki.prototype.normalizeSourceURL=function(n,t){return dr(n)?(n=vu(n),n.path="/v4/"+n.authority+".json",n.params.push("secure"),this._makeAPIURL(n,this._customAccessToken||t)):n};ki.prototype.normalizeSpriteURL=function(n,t,i,r){var u=vu(n);return dr(n)?(u.path="/styles/v1"+u.path+"/sprite"+t+i,this._makeAPIURL(u,this._customAccessToken||r)):(u.path+=""+t+i,bv(u))};ki.prototype.normalizeTileURL=function(n,t){if(this._isSkuTokenExpired()&&this._createSkuToken(),n&&!dr(n))return n;var i=vu(n);return i.path=i.path.replace(/(\.(png|jpg)\d*)(?=$)/,(2<=ce.devicePixelRatio||512===t?"@2x":"")+(wv.supported?".webp":"$1")),i.path=i.path.replace(/^.+\/v4\//,"/"),i.path="/v4"+i.path,t=this._customAccessToken||function(){for(var r,n=0,t=i.params;n<t.length;n+=1)if(r=t[n].match(/^access_token=(.*)$/),r)return r[1];return null}()||lt.ACCESS_TOKEN,lt.REQUIRE_ACCESS_TOKEN&&t&&this._skuToken&&i.params.push("sku="+this._skuToken),this._makeAPIURL(i,t)};ki.prototype.canonicalizeTileURL=function(n,t){var i=vu(n);return!i.path.match(/(^\/v4\/)/)||!i.path.match(/\.[\w]+$/)?n:(n="mapbox://tiles/",n+=i.path.replace("/v4/",""),i=i.params,(i=t?i.filter(function(n){return!n.match(/^access_token=/)}):i).length&&(n+="?"+i.join("&")),n)};ki.prototype.canonicalizeTileset=function(n,t){for(var i,e=!!t&&dr(t),r=[],u=0,f=n.tiles||[];u<f.length;u+=1)i=f[u],fh(i)?r.push(this.canonicalizeTileURL(i,e)):r.push(i);return r};ki.prototype._makeAPIURL=function(n,t){var r,u="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",i=vu(lt.API_URL);if(n.protocol=i.protocol,n.authority=i.authority,"http"===n.protocol&&0<=(r=n.params.indexOf("secure"))&&n.params.splice(r,1),"/"!==i.path&&(n.path=""+i.path+n.path),!lt.REQUIRE_ACCESS_TOKEN)return bv(n);if(!(t=t||lt.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+u);if("s"===t[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+u);return n.params=n.params.filter(function(n){return-1===n.indexOf("access_token")}),n.params.push("access_token="+t),bv(n)};bn=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;kn=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;ei=function(n){this.type=n;this.anonId=null;this.eventData={};this.queue=[];this.pendingRequest=null};ei.prototype.getStorageKey=function(n){var t=dn(lt.ACCESS_TOKEN),t=t&&t.u?e.btoa(encodeURIComponent(t.u).replace(/%([0-9A-F]{2})/g,function(n,t){return String.fromCharCode(Number("0x"+t))})):lt.ACCESS_TOKEN||"";return n?"mapbox.eventData."+n+":"+t:"mapbox.eventData:"+t};ei.prototype.fetchEventData=function(){var i=yn("localStorage"),r=this.getStorageKey(),u=this.getStorageKey("uuid"),n,t;if(i)try{n=e.localStorage.getItem(r);n&&(this.eventData=JSON.parse(n));t=e.localStorage.getItem(u);t&&(this.anonId=t)}catch(i){ti("Unable to read from LocalStorage")}};ei.prototype.saveEventData=function(){var n=yn("localStorage"),t=this.getStorageKey(),i=this.getStorageKey("uuid");if(n)try{e.localStorage.setItem(i,this.anonId);1<=Object.keys(this.eventData).length&&e.localStorage.setItem(t,JSON.stringify(this.eventData))}catch(n){ti("Unable to write to LocalStorage")}};ei.prototype.processRequests=function(){};ei.prototype.postEvent=function(n,t,i,r){var f,u=this;lt.EVENTS_URL&&((f=vu(lt.EVENTS_URL)).params.push("access_token="+(r||lt.ACCESS_TOKEN||"")),n={event:this.type,created:new Date(n).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.13.1",skuId:pb,userId:this.anonId},n=t?fi(n,t):n,n={url:bv(f),headers:{"Content-Type":"text/plain"},body:JSON.stringify([n])},this.pendingRequest=ket(n,function(n){u.pendingRequest=null;i(n);u.saveEventData();u.processRequests(r)}))};ei.prototype.queueRequest=function(n,t){this.queue.push(n);this.processRequests(t)};var gr,kv,eh,oh,ir=((oh=ei)&&(hh.__proto__=oh),((hh.prototype=Object.create(oh&&oh.prototype)).constructor=hh).prototype.postMapLoadEvent=function(n,t,i,r){this.skuToken=i;(lt.EVENTS_URL&&r||lt.ACCESS_TOKEN&&Array.isArray(n)&&n.some(function(n){return dr(n)||fh(n)}))&&this.queueRequest({id:t,timestamp:Date.now()},r)},hh.prototype.processRequests=function(n){var t,i,r=this;this.pendingRequest||0===this.queue.length||(i=this.queue.shift(),t=i.id,i=i.timestamp,t&&this.success[t]||(this.anonId||this.fetchEventData(),cn(this.anonId)||(this.anonId=hn()),this.postEvent(i,{skuToken:this.skuToken},function(n){n||t&&(r.success[t]=!0)},n)))},hh),pt=((eh=ei)&&(sh.__proto__=eh),((sh.prototype=Object.create(eh&&eh.prototype)).constructor=sh).prototype.postTurnstileEvent=function(n,t){lt.EVENTS_URL&&lt.ACCESS_TOKEN&&Array.isArray(n)&&n.some(function(n){return dr(n)||fh(n)})&&this.queueRequest(Date.now(),t)},sh.prototype.processRequests=function(n){var u=this,e,o,i;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var t=dn(lt.ACCESS_TOKEN),f=t?t.u:lt.ACCESS_TOKEN,r=f!==this.eventData.tokenU;if(cn(this.anonId)||(this.anonId=hn(),r=!0),i=this.queue.shift(),!(r=!this.eventData.lastSuccess||(e=new Date(this.eventData.lastSuccess),o=new Date(i),t=(i-this.eventData.lastSuccess)/864e5,r||1<=t||t<-1||e.getDate()!==o.getDate())))return this.processRequests();this.postEvent(i,{"enabled.telemetry":!1},function(n){n||(u.eventData.lastSuccess=i,u.eventData.tokenU=f)},n)}},new sh),wet=pt.postTurnstileEvent.bind(pt),le=new ir,bet=le.postMapLoadEvent.bind(le),gn=500,ntt=50;bb=1/0;kb={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(kb);db=((ch=Error)&&(ny.__proto__=ch),((ny.prototype=Object.create(ch&&ch.prototype)).constructor=ny).prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},ny);gv=yv()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===e.location.protocol?e.parent:e).location.href};var ty=function(n,t){if(!(/^file:/.test(i=n.url)||/^file:/.test(gv())&&!/^\w+:/.test(i))){if(e.fetch&&e.Request&&e.AbortController&&e.Request.prototype.hasOwnProperty("signal"))return function(n,t){var o=new e.AbortController,i=new e.Request(n.url,{method:n.method||"GET",body:n.body,credentials:n.credentials,headers:n.headers,referrer:gv(),signal:o.signal}),s=!1,u=!1,h=0<(r=i.url).indexOf("sku=")&&fh(r),r,f;return"json"===n.type&&i.headers.set("Accept","application/json"),r=function(r,o,s){if(!u){if(r&&"SecurityError"!==r.message&&ti(r),o&&s)return f(o);var c=Date.now();e.fetch(i).then(function(i){if(i.ok){var r=h?i.clone():null;return f(i,r,c)}return t(new db(i.statusText,i.status,n.url))}).catch(function(n){20!==n.code&&t(new Error(n.message))})}},f=function(r,f,o){("arrayBuffer"===n.type?r.arrayBuffer():"json"===n.type?r.json():r.text()).then(function(n){var v,h,l,c,a;u||(f&&o&&(v=i,h=f,l=o,dv(),gr&&(c={status:h.status,statusText:h.statusText,headers:new e.Headers},h.headers.forEach(function(n,t){return c.headers.set(t,n)}),(a=lb(h.headers.get("Cache-Control")||""))["no-store"]||(a["max-age"]&&c.headers.set("Expires",new Date(l+1e3*a["max-age"]).toUTCString()),new Date(c.headers.get("Expires")).getTime()-l<42e4||function(n,t){if(void 0===kv)try{new Response(new ReadableStream);kv=!0}catch(n){kv=!1}kv?t(n.body):n.blob().then(t)}(h,function(n){var t=new e.Response(n,c);dv();gr&&gr.then(function(n){return n.put(ttt(v.url),t)}).catch(function(n){return ti(n.message)})})))),s=!0,t(null,n,r.headers.get("Cache-Control"),r.headers.get("Expires")))}).catch(function(n){u||t(new Error(n.message))})},h?function(n,t){if(dv(),!gr)return t(null);var i=ttt(n.url);gr.then(function(n){n.match(i).then(function(r){var u=function(n){if(!n)return!1;var t=new Date(n.headers.get("Expires")||0),n=lb(n.headers.get("Cache-Control")||"");return t>Date.now()&&!n["no-cache"]}(r);n.delete(i);u&&n.put(i,r.clone());t(null,r,u)}).catch(t)}).catch(t)}(i,r):r(null,null),{cancel:function(){u=!0;s||o.abort()}}}(n,t);if(yv()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",n,t,void 0,!0)}var i;return function(n,t){var r,i=new e.XMLHttpRequest;for(r in i.open(n.method||"GET",n.url,!0),"arrayBuffer"===n.type&&(i.responseType="arraybuffer"),n.headers)i.setRequestHeader(r,n.headers[r]);return"json"===n.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===n.credentials,i.onerror=function(){t(new Error(i.statusText))},i.onload=function(){if((200<=i.status&&i.status<300||0===i.status)&&null!==i.response){var r=i.response;if("json"===n.type)try{r=JSON.parse(i.response)}catch(r){return t(r)}t(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else t(new db(i.statusText,i.status,n.url))},i.send(n.body),{cancel:function(){return i.abort()}}}(n,t)},ket=function(n,t){return ty(fi(n,{method:"POST"}),t)},utt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=",nk=[],iy=0;ah=function(n,t){fi(this,t=void 0===t?{}:t);this.type=n};ry=((lh=ah)&&(ik.__proto__=lh),(ik.prototype=Object.create(lh&&lh.prototype)).constructor=ik);nu.prototype.on=function(n,t){return this._listeners=this._listeners||{},ftt(n,t,this._listeners),this};nu.prototype.off=function(n,t){return tk(n,t,this._listeners),tk(n,t,this._oneTimeListeners),this};nu.prototype.once=function(n,t){return this._oneTimeListeners=this._oneTimeListeners||{},ftt(n,t,this._oneTimeListeners),this};nu.prototype.fire=function(n,t){var i=(n="string"==typeof n?new ah(n,t||{}):n).type,r,f,u,e,o;if(this.listens(i)){for(r=0,f=(n.target=this)._listeners&&this._listeners[i]?this._listeners[i].slice():[];r<f.length;r+=1)f[r].call(this,n);for(u=0,e=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];u<e.length;u+=1)o=e[u],tk(i,o,this._oneTimeListeners),o.call(this,n);t=this._eventedParent;t&&(fi(n,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),t.fire(n))}else n instanceof ry&&console.error(n.error);return this};nu.prototype.listens=function(n){return this._listeners&&this._listeners[n]&&0<this._listeners[n].length||this._oneTimeListeners&&this._oneTimeListeners[n]&&0<this._oneTimeListeners[n].length||this._eventedParent&&this._eventedParent.listens(n)};t={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number","default":0,period:360,units:"degrees"},pitch:{type:"number","default":0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},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":!(nu.prototype.setEventedParent=function(n,t){return this._eventedParent=n,this._eventedParentData=t,this})},"*":{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:{}},"default":"mapbox"},volatile:{type:"boolean","default":!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number","default":18},attribution:{type:"string"},buffer:{type:"number","default":128,maximum:512,minimum:0},filter:{type:"*"},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:{},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_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"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","property-type":"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","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},"default":"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"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"]},"property-type":"data-constant"},"line-round-limit":{type:"number","default":1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"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"],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:"number","default":2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"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:{},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-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"],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","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},"function":{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number","default":1,minimum:0},property:{type:"string","default":"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},"default":"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},"default":"rgb"},"default":{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum","default":"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array","default":[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant","default":"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant","default":.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean","default":!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color","default":"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color","default":"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number","default":0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number","default":0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean","default":!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color","default":"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number","default":1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number","default":0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number","default":5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color","default":"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number","default":0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},"default":"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},"default":"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color","default":"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number","default":30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number","default":1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number","default":1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color","default":"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color","default":"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color","default":"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color","default":"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number","default":0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number","default":0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number","default":0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number","default":0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},"default":"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number","default":300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number","default":335,minimum:0,maximum:359,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:"color","default":"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color","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"}},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"}}};u=function(n,t,i,r){this.message=(n?n+": ":"")+i;r&&(this.identifier=r);null!=t&&t.__line__&&(this.line=t.__line__)};rr=((yh=Error)&&(rk.__proto__=yh),(rk.prototype=Object.create(yh&&yh.prototype)).constructor=rk);vh.prototype.concat=function(n){return new vh(this,n)};vh.prototype.get=function(n){if(this.bindings[n])return this.bindings[n];if(this.parent)return this.parent.get(n);throw new Error(n+" not found in scope.");};vh.prototype.has=function(n){return!!this.bindings[n]||!!this.parent&&this.parent.has(n)};var ph={kind:"null"},i={kind:"number"},a={kind:"string"},c={kind:"boolean"},lr={kind:"color"},ve={kind:"object"},l={kind:"value"},uy={kind:"collator"},wh={kind:"formatted"},bh={kind:"resolvedImage"};ott=[ph,i,a,c,lr,wh,ve,di(l),bh];fk=vv(function(n,t){function i(n){return(n=Math.round(n))<0?0:255<n?255:n}function u(n){return i("%"===n[n.length-1]?parseFloat(n)/100*255:parseInt(n))}function r(n){return(n="%"===n[n.length-1]?parseFloat(n)/100:parseFloat(n))<0?0:1<n?1:n}function f(n,t,i){return i<0?i+=1:1<i&&--i,6*i<1?n+(t-n)*i*6:2*i<1?t:3*i<2?n+(t-n)*(2/3-i)*6:n}var e={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{t.parseCSSColor=function(n){var o=n.replace(/ /g,"").toLowerCase(),l,n;if(o in e)return e[o].slice();if("#"===o[0])return 4===o.length?0<=(t=parseInt(o.substr(1),16))&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===o.length&&0<=(t=parseInt(o.substr(1),16))&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;if(l=o.indexOf("("),n=o.indexOf(")"),-1!==l&&n+1===o.length){var t=o.substr(0,l),s=o.substr(l+1,n-(l+1)).split(","),a=1;switch(t){case"rgba":if(4!==s.length)return null;a=r(s.pop());case"rgb":return 3!==s.length?null:[u(s[0]),u(s[1]),u(s[2]),a];case"hsla":if(4!==s.length)return null;a=r(s.pop());case"hsl":if(3!==s.length)return null;var v=(parseFloat(s[0])%360+360)%360/360,c=r(s[1]),h=r(s[2]),c=h<=.5?h*(c+1):h+c-h*c,h=2*h-c;return[i(255*f(h,c,v+1/3)),i(255*f(h,c,v)),i(255*f(h,c,v-1/3)),a];default:return null}}return null}}catch(n){}}).parseCSSColor;y=function(n,t,i,r){void 0===r&&(r=1);this.r=n;this.g=t;this.b=i;this.a=r};y.parse=function(n){if(n){if(n instanceof y)return n;if("string"==typeof n&&(n=fk(n),n))return new y(n[0]/255*n[3],n[1]/255*n[3],n[2]/255*n[3],n[3])}};y.prototype.toString=function(){var n=this.toArray(),t=n[1],i=n[2],r=n[3];return"rgba("+Math.round(n[0])+","+Math.round(t)+","+Math.round(i)+","+r+")"};y.prototype.toArray=function(){var n=this.a;return 0===n?[0,0,0,0]:[255*this.r/n,255*this.g/n,255*this.b/n,n]};y.black=new y(0,0,0,1);y.white=new y(1,1,1,1);y.transparent=new y(0,0,0,0);y.red=new y(1,0,0,1);gh.prototype.compare=function(n,t){return this.collator.compare(n,t)};gh.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale||[]).resolvedOptions().locale};at=function(n){this.sections=n};at.fromString=function(n){return new at([new ek(n,null,null,null,null)])};at.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some(function(n){return 0!==n.text.length||n.image&&0!==n.image.name.length})};at.factory=function(n){return n instanceof at?n:at.fromString(n)};at.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map(function(n){return n.text}).join("")};at.prototype.serialize=function(){for(var t,n,i=["format"],r=0,u=this.sections;r<u.length;r+=1)n=u[r],n.image?i.push(["image",n.image.name]):(i.push(n.text),t={},n.fontStack&&(t["text-font"]=["literal",n.fontStack.split(",")]),n.scale&&(t["font-scale"]=n.scale),n.textColor&&(t["text-color"]=["rgba"].concat(n.textColor.toArray())),i.push(t));return i};oi=function(n){this.name=n.name;this.available=n.available};oi.prototype.toString=function(){return this.name};oi.fromString=function(n){return n?new oi({name:n,available:!1}):null};oi.prototype.serialize=function(){return["image",this.name]};ur.parse=function(n,t){if(2!==n.length)return t.error("'literal' expression requires exactly one argument, but found "+(n.length-1)+" instead.");if(!fy(n[1]))return t.error("invalid value");var i=n[1],n=st(i),t=t.expectedType;return"array"!==n.kind||0!==n.N||!t||"array"!==t.kind||"number"==typeof t.N&&0!==t.N||(n=t),new ur(n,i)};ur.prototype.evaluate=function(){return this.value};ur.prototype.eachChild=function(){};ur.prototype.outputDefined=function(){return!0};ur.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof y?["rgba"].concat(this.value.toArray()):this.value instanceof at?this.value.serialize():this.value};wt.prototype.toJSON=function(){return this.message};ey={string:a,number:i,boolean:c,object:ve};si.parse=function(n,t){var u,r,f,i,e,o;if(n.length<2)return t.error("Expected at least one argument.");if(r=1,f=n[0],"array"===f){if(2<n.length){if(i=n[1],"string"!=typeof i||!(i in ey)||"object"===i)return t.error('The item type argument of "array" must be one of string, number, boolean',1);i=ey[i];r++}else i=l;if(3<n.length){if(null!==n[2]&&("number"!=typeof n[2]||n[2]<0||n[2]!==Math.floor(n[2])))return t.error('The length argument to "array" must be a positive integer literal',2);u=n[2];r++}u=di(i,u)}else u=ey[f];for(e=[];r<n.length;r++){if(o=t.parse(n[r],r,l),!o)return null;e.push(o)}return new si(u,e)};si.prototype.evaluate=function(n){for(var i,t=0;t<this.args.length;t++){if(i=this.args[t].evaluate(n),!kh(this.type,st(i)))return i;if(t===this.args.length-1)throw new wt("Expected value to be of type "+nt(this.type)+", but found "+nt(st(i))+" instead.");}return null};si.prototype.eachChild=function(n){this.args.forEach(n)};si.prototype.outputDefined=function(){return this.args.every(function(n){return n.outputDefined()})};si.prototype.serialize=function(){var t,n=this.type,i=[n.kind];return"array"===n.kind&&("string"!==(t=n.itemType).kind&&"number"!==t.kind&&"boolean"!==t.kind||(i.push(t.kind),("number"==typeof(n=n.N)||1<this.args.length)&&i.push(n))),i.concat(this.args.map(function(n){return n.serialize()}))};tu.parse=function(n,t){var s,r,h,c,v,u,f;if(n.length<2)return t.error("Expected at least one argument.");if(s=n[1],!Array.isArray(s)&&"object"==typeof s)return t.error("First argument must be an image or text section.");for(var e=[],h=!1,o=1;o<=n.length-1;++o)if(r=n[o],h&&"object"==typeof r&&!Array.isArray(r)){if((h=!1,c=null,r["font-scale"]&&!(c=t.parse(r["font-scale"],1,i)))||(v=null,r["text-font"]&&!(v=t.parse(r["text-font"],1,di(a))))||(u=null,r["text-color"]&&!(u=t.parse(r["text-color"],1,lr))))return null;f=e[e.length-1];f.scale=c;f.font=v;f.textColor=u}else{if(f=t.parse(n[o],1,l),!f)return null;if(u=f.type.kind,"string"!==u&&"value"!==u&&"null"!==u&&"resolvedImage"!==u)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");h=!0;e.push({content:f,scale:null,font:null,textColor:null})}return new tu(e)};tu.prototype.evaluate=function(n){return new at(this.sections.map(function(t){var i=t.content.evaluate(n);return st(i)===bh?new ek("",i,null,null,null):new ek(nc(i),null,t.scale?t.scale.evaluate(n):null,t.font?t.font.evaluate(n).join(","):null,t.textColor?t.textColor.evaluate(n):null)}))};tu.prototype.eachChild=function(n){for(var t,i=0,r=this.sections;i<r.length;i+=1)t=r[i],n(t.content),t.scale&&n(t.scale),t.font&&n(t.font),t.textColor&&n(t.textColor)};tu.prototype.outputDefined=function(){return!1};tu.prototype.serialize=function(){for(var n,t,i=["format"],r=0,u=this.sections;r<u.length;r+=1)n=u[r],i.push(n.content.serialize()),t={},n.scale&&(t["font-scale"]=n.scale.serialize()),n.font&&(t["text-font"]=n.font.serialize()),n.textColor&&(t["text-color"]=n.textColor.serialize()),i.push(t);return i};yu.parse=function(n,t){return 2!==n.length?t.error("Expected two arguments."):(n=t.parse(n[1],1,a),n?new yu(n):t.error("No image name provided."))};yu.prototype.evaluate=function(n){var i=this.input.evaluate(n),t=oi.fromString(i);return t&&n.availableImages&&(t.available=-1<n.availableImages.indexOf(i)),t};yu.prototype.eachChild=function(n){n(this.input)};yu.prototype.outputDefined=function(){return!1};yu.prototype.serialize=function(){return["image",this.input.serialize()]};htt={"to-boolean":c,"to-color":lr,"to-number":i,"to-string":a};gi.parse=function(n,t){var i,u;if(n.length<2)return t.error("Expected at least one argument.");if(i=n[0],("to-boolean"===i||"to-string"===i)&&2!==n.length)return t.error("Expected one argument.");for(var i=htt[i],f=[],r=1;r<n.length;r++){if(u=t.parse(n[r],r,l),!u)return null;f.push(u)}return new gi(i,f)};gi.prototype.evaluate=function(n){var t,r,i,u,f,s;if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(n));if("color"===this.type.kind){for(i=0,u=this.args;i<u.length;i+=1){if(r=null,(t=u[i].evaluate(n))instanceof y)return t;if("string"==typeof t){if(f=n.parseColor(t),f)return f}else if(Array.isArray(t)&&!(r=t.length<3||4<t.length?"Invalid rbga value "+JSON.stringify(t)+": expected an array containing either three or four numeric values.":stt(t[0],t[1],t[2],t[3])))return new y(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new wt(r||"Could not parse color from value '"+("string"==typeof t?t:String(JSON.stringify(t)))+"'");}if("number"!==this.type.kind)return"formatted"===this.type.kind?at.fromString(nc(this.args[0].evaluate(n))):"resolvedImage"===this.type.kind?oi.fromString(nc(this.args[0].evaluate(n))):nc(this.args[0].evaluate(n));for(var e=null,o=0,h=this.args;o<h.length;o+=1){if(null===(e=h[o].evaluate(n)))return 0;if(s=Number(e),!isNaN(s))return s}throw new wt("Could not convert "+JSON.stringify(e)+" to number.");};gi.prototype.eachChild=function(n){this.args.forEach(n)};gi.prototype.outputDefined=function(){return this.args.every(function(n){return n.outputDefined()})};gi.prototype.serialize=function(){if("formatted"===this.type.kind)return new tu([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new yu(this.args[0]).serialize();var n=["to-"+this.type.kind];return this.eachChild(function(t){n.push(t.serialize())}),n};ctt=["Unknown","Point","LineString","Polygon"];pu.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null};pu.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?ctt[this.feature.type]:this.feature.type:null};pu.prototype.geometry=function(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null};pu.prototype.canonicalID=function(){return this.canonical};pu.prototype.properties=function(){return this.feature&&this.feature.properties||{}};pu.prototype.parseColor=function(n){return this._parseColorCache[n]||(this._parseColorCache[n]=y.parse(n))};bt=function(n,t,i,r){this.name=n;this.type=t;this._evaluate=i;this.args=r};bt.prototype.evaluate=function(n){return this._evaluate(n,this.args)};bt.prototype.eachChild=function(n){this.args.forEach(n)};bt.prototype.outputDefined=function(){return!1};bt.prototype.serialize=function(){return[this.name].concat(this.args.map(function(n){return n.serialize()}))};bt.parse=function(n,t){var h=n[0],i=bt.definitions[h],f,d,g,w;if(!i)return t.error('Unknown expression "'+h+'". If you wanted a literal array, use ["literal", [...]].',0);for(var tt=Array.isArray(i)?i[0]:i.type,c=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,o=c.filter(function(t){return t=t[0],!Array.isArray(t)||t.length===n.length-1}),e=null,l=0,b=o;l<b.length;l+=1){for(var a=b[l],r=a[0],a=a[1],e=new iu(t.registry,t.path,null,t.scope),u=[],k=!1,s=1;s<n.length;s++){var it=n[s],v=Array.isArray(r)?r[s-1]:r.type,v=e.parse(it,1+u.length,v);if(!v){k=!0;break}u.push(v)}if(!k)if(Array.isArray(r)&&r.length!==u.length)e.error("Expected "+r.length+" arguments, but found "+u.length+" instead.");else{for(f=0;f<u.length;f++)d=Array.isArray(r)?r[f]:r.type,g=u[f],e.concat(f+1).checkSubtype(d,g.type);if(0===e.errors.length)return new bt(h,tt,a,u)}}if(1===o.length)(i=t.errors).push.apply(i,e.errors);else{for(var c=(o.length?o:c).map(function(n){return n=n[0],Array.isArray(n)?"("+n.map(nt).join(", ")+")":"("+nt(n.type)+"...)"}).join(" | "),y=[],p=1;p<n.length;p++){if(w=t.parse(n[p],1+y.length),!w)return null;y.push(nt(w.type))}t.error("Expected arguments of type "+c+", but found ("+y.join(", ")+") instead.")}return null};bt.register=function(n,t){for(var i in bt.definitions=t)n[i]=bt};wu.parse=function(n,t){var i,r,u;return 2!==n.length?t.error("Expected one argument."):(i=n[1],"object"!=typeof i||Array.isArray(i))?t.error("Collator options argument must be an object."):(r=t.parse(void 0!==i["case-sensitive"]&&i["case-sensitive"],1,c),!r)?null:(u=t.parse(void 0!==i["diacritic-sensitive"]&&i["diacritic-sensitive"],1,c),!u)?null:(n=null,i.locale&&!(n=t.parse(i.locale,1,a))?null:new wu(r,u,n))};wu.prototype.evaluate=function(n){return new gh(this.caseSensitive.evaluate(n),this.diacriticSensitive.evaluate(n),this.locale?this.locale.evaluate(n):null)};wu.prototype.eachChild=function(n){n(this.caseSensitive);n(this.diacriticSensitive);this.locale&&n(this.locale)};wu.prototype.outputDefined=function(){return!1};wu.prototype.serialize=function(){var n={};return n["case-sensitive"]=this.caseSensitive.serialize(),n["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(n.locale=this.locale.serialize()),["collator",n]};fr.parse=function(n,t){var i,r,u;if(2!==n.length)return t.error("'within' expression requires exactly one argument, but found "+(n.length-1)+" instead.");if(fy(n[1]))if(i=n[1],"FeatureCollection"===i.type){for(r=0;r<i.features.length;++r)if(u=i.features[r].geometry.type,"Polygon"===u||"MultiPolygon"===u)return new fr(i,i.features[r].geometry)}else if("Feature"===i.type){if(n=i.geometry.type,"Polygon"===n||"MultiPolygon"===n)return new fr(i,i.geometry)}else if("Polygon"===i.type||"MultiPolygon"===i.type)return new fr(i,i);return t.error("'within' expression requires valid geojson object that contains polygon geometry type.")};fr.prototype.evaluate=function(n){if(null!=n.geometry()&&null!=n.canonicalID()){if("Point"===n.geometryType())return function(n,t){var u=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=n.canonicalID(),h,c,f,o,l,e,s;if("Polygon"===t.type){if(h=hk(t.coordinates,i,r),c=ptt(n.geometry(),u,i,r),!oy(u,i))return!1;for(f=0,o=c;f<o.length;f+=1)if(!sk(o[f],h))return!1}if("MultiPolygon"===t.type){if(l=vtt(t.coordinates,i,r),r=ptt(n.geometry(),u,i,r),!oy(u,i))return!1;for(e=0,s=r;e<s.length;e+=1)if(!function(n,t){for(var i=0;i<t.length;i++)if(sk(n,t[i]))return 1}(s[e],l))return!1}return!0}(n,this.geometries);if("LineString"===n.geometryType())return function(n,t){var u=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=n.canonicalID(),h,c,f,o,l,e,s;if("Polygon"===t.type){if(h=hk(t.coordinates,i,r),c=wtt(n.geometry(),u,i,r),!oy(u,i))return!1;for(f=0,o=c;f<o.length;f+=1)if(!att(o[f],h))return!1}if("MultiPolygon"===t.type){if(l=vtt(t.coordinates,i,r),r=wtt(n.geometry(),u,i,r),!oy(u,i))return!1;for(e=0,s=r;e<s.length;e+=1)if(!function(n,t){for(var i=0;i<t.length;i++)if(att(n,t[i]))return 1}(s[e],l))return!1}return!0}(n,this.geometries)}return!1};fr.prototype.eachChild=function(){};fr.prototype.outputDefined=function(){return!0};fr.prototype.serialize=function(){return["within",this.geojson]};bu.parse=function(n,t){return 2!==n.length||"string"!=typeof n[1]?t.error("'var' expression requires exactly one string literal argument."):(n=n[1],t.scope.has(n)?new bu(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))};bu.prototype.evaluate=function(n){return this.boundExpression.evaluate(n)};bu.prototype.eachChild=function(){};bu.prototype.outputDefined=function(){return!1};bu.prototype.serialize=function(){return["var",this.name]};iu=function(n,t,i,r,u){void 0===t&&(t=[]);void 0===r&&(r=new vh);void 0===u&&(u=[]);this.registry=n;this.path=t;this.key=t.map(function(n){return"["+n+"]"}).join("");this.scope=r;this.errors=u;this.expectedType=i};iu.prototype.parse=function(n,t,i,r,u){return void 0===u&&(u={}),(t?this.concat(t,i,r):this)._parse(n,u)};iu.prototype._parse=function(n,t){function e(n,t,i){return"assert"===i?new si(t,[n]):"coerce"===i?new gi(t,[n]):n}var f,i,r,u;if(null!==n&&"string"!=typeof n&&"boolean"!=typeof n&&"number"!=typeof n||(n=["literal",n]),Array.isArray(n)){if(0===n.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');if(f=n[0],"string"!=typeof f)return this.error("Expression name must be a string, but found "+typeof f+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;if(u=this.registry[f],u){if(i=u.parse(n,this),!i)return null;if(this.expectedType)if(r=this.expectedType,u=i.type,"string"!==r.kind&&"number"!==r.kind&&"boolean"!==r.kind&&"object"!==r.kind&&"array"!==r.kind||"value"!==u.kind)if("color"!==r.kind&&"formatted"!==r.kind&&"resolvedImage"!==r.kind||"value"!==u.kind&&"string"!==u.kind){if(this.checkSubtype(r,u))return null}else i=e(i,r,t.typeAnnotation||"coerce");else i=e(i,r,t.typeAnnotation||"assert");if(!(i instanceof ur)&&"resolvedImage"!==i.type.kind&&function t(n){if(n instanceof bu)return t(n.boundExpression);if(n instanceof bt&&"error"===n.name||n instanceof wu||n instanceof fr)return!1;var r=n instanceof gi||n instanceof si,i=!0;return n.eachChild(function(n){i=r?i&&t(n):i&&n instanceof ur}),!!i&&sy(n)&&hy(n,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}(i)){t=new pu;try{i=new ur(i.type,i.evaluate(t))}catch(n){return this.error(n.message),null}}return i}return this.error('Unknown expression "'+f+'". If you wanted a literal array, use ["literal", [...]].',0)}return this.error(void 0===n?"'undefined' value invalid. Use null instead.":"object"==typeof n?'Bare objects invalid. Use ["literal", {...}] instead.':"Expected an array, but found "+typeof n+" instead.")};iu.prototype.concat=function(n,t,i){return n="number"==typeof n?this.path.concat(n):this.path,i=i?this.scope.concat(i):this.scope,new iu(this.registry,n,t||null,i,this.errors)};iu.prototype.error=function(n){for(var r,i=[],t=arguments.length-1;0<t--;)i[t]=arguments[t+1];r=""+this.key+i.map(function(n){return"["+n+"]"}).join("");this.errors.push(new rr(r,n))};iu.prototype.checkSubtype=function(n,t){return t=kh(n,t),t&&this.error(t),t};ar=function(n,t,i){var r,u,f,e;for(this.type=n,this.input=t,this.labels=[],this.outputs=[],r=0,u=i;r<u.length;r+=1)f=u[r],e=f[1],this.labels.push(f[0]),this.outputs.push(e)};ar.parse=function(n,t){var o,u,f,r;if(n.length-1<4)return t.error("Expected at least 4 arguments, but found only "+(n.length-1)+".");if((n.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(o=t.parse(n[1],1,i),!o)return null;for(u=[],f=null,t.expectedType&&"value"!==t.expectedType.kind&&(f=t.expectedType),r=1;r<n.length;r+=2){var s=1===r?-1/0:n[r],c=n[r+1],h=r,e=r+1;if("number"!=typeof s)return t.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(u.length&&u[u.length-1][0]>=s)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',h);if(e=t.parse(c,e,f),!e)return null;f=f||e.type;u.push([s,e])}return new ar(f,o,u)};ar.prototype.evaluate=function(n){var t=this.labels,i=this.outputs,r,u;return 1===t.length?i[0].evaluate(n):(r=this.input.evaluate(n),r<=t[0])?i[0].evaluate(n):(u=t.length,(r>=t[u-1]?i[u-1]:i[cy(t,r)]).evaluate(n))};ar.prototype.eachChild=function(n){n(this.input);for(var t=0,i=this.outputs;t<i.length;t+=1)n(i[t])};ar.prototype.outputDefined=function(){return this.outputs.every(function(n){return n.outputDefined()})};ar.prototype.serialize=function(){for(var t=["step",this.input.serialize()],n=0;n<this.labels.length;n++)0<n&&t.push(this.labels[n]),t.push(this.outputs[n].serialize());return t};var ly=Object.freeze({__proto__:null,number:ht,color:function(n,t,i){return new y(ht(n.r,t.r,i),ht(n.g,t.g,i),ht(n.b,t.b,i),ht(n.a,t.a,i))},array:function(n,t,i){return n.map(function(n,r){return ht(n,t[r],i)})}}),btt=6/29*3*(6/29),det=Math.PI/180,get=180/Math.PI;var ic={forward:ktt,reverse:dtt,interpolate:function(n,t,i){return{l:ht(n.l,t.l,i),a:ht(n.a,t.a,i),b:ht(n.b,t.b,i),alpha:ht(n.alpha,t.alpha,i)}}},rc={forward:function(n){var t=ktt(n),u=t.l,i=t.a,r=t.b,t=Math.atan2(r,i)*get;return{h:t<0?360+t:t,c:Math.sqrt(i*i+r*r),l:u,alpha:n.a}},reverse:function(n){var t=n.h*det,i=n.c;return dtt({l:n.l,a:Math.cos(t)*i,b:Math.sin(t)*i,alpha:n.alpha})},interpolate:function(n,t,i){return{h:(u=n.h,r=t.h,u+i*(180<(r-=u)||r<-180?r-360*Math.round(r/360):r)),c:ht(n.c,t.c,i),l:ht(n.l,t.l,i),alpha:ht(n.alpha,t.alpha,i)};var u,r}},gtt=Object.freeze({__proto__:null,lab:ic,hcl:rc}),kt=function(n,t,i,r,u){var f,e,o,s;for(this.type=n,this.operator=t,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[],f=0,e=u;f<e.length;f+=1)o=e[f],s=o[1],this.labels.push(o[0]),this.outputs.push(s)};kt.interpolationFactor=function(n,t,i,r){var u=0;return"exponential"===n.name?u=yk(t,n.base,i,r):"linear"===n.name?u=yk(t,1,i,r):"cubic-bezier"===n.name&&(n=n.controlPoints,u=new un(n[0],n[1],n[2],n[3]).solve(yk(t,1,i,r))),u};kt.parse=function(n,t){var h=n[0],u=n[1],c=n[2],l=n.slice(3),f,o,r,e;if(!Array.isArray(u)||0===u.length)return t.error("Expected an interpolation type expression.",1);if("linear"===u[0])u={name:"linear"};else if("exponential"===u[0]){if(f=u[1],"number"!=typeof f)return t.error("Exponential interpolation requires a numeric base.",1,1);u={name:"exponential",base:f}}else{if("cubic-bezier"!==u[0])return t.error("Unknown interpolation type "+String(u[0]),1,0);if(f=u.slice(1),4!==f.length||f.some(function(n){return"number"!=typeof n||n<0||1<n}))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);u={name:"cubic-bezier",controlPoints:f}}if(n.length-1<4)return t.error("Expected at least 4 arguments, but found only "+(n.length-1)+".");if((n.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(!(c=t.parse(c,2,i)))return null;for(o=[],r=null,"interpolate-hcl"===h||"interpolate-lab"===h?r=lr:t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType),e=0;e<l.length;e+=2){var a=l[e],y=l[e+1],v=e+3,s=e+4;if("number"!=typeof a)return t.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',v);if(o.length&&o[o.length-1][0]>=a)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',v);if(s=t.parse(y,s,r),!s)return null;r=r||s.type;o.push([a,s])}return"number"===r.kind||"color"===r.kind||"array"===r.kind&&"number"===r.itemType.kind&&"number"==typeof r.N?new kt(r,h,u,c,o):t.error("Type "+nt(r)+" is not interpolatable.")};kt.prototype.evaluate=function(n){var t=this.labels,u=this.outputs,i,r;return 1===t.length?u[0].evaluate(n):(i=this.input.evaluate(n),i<=t[0])?u[0].evaluate(n):(r=t.length,i>=t[r-1])?u[r-1].evaluate(n):(r=cy(t,i),i=kt.interpolationFactor(this.interpolation,i,t[r],t[r+1]),t=u[r].evaluate(n),n=u[r+1].evaluate(n),"interpolate"===this.operator?ly[this.type.kind.toLowerCase()](t,n,i):"interpolate-hcl"===this.operator?rc.reverse(rc.interpolate(rc.forward(t),rc.forward(n),i)):ic.reverse(ic.interpolate(ic.forward(t),ic.forward(n),i)))};kt.prototype.eachChild=function(n){n(this.input);for(var t=0,i=this.outputs;t<i.length;t+=1)n(i[t])};kt.prototype.outputDefined=function(){return this.outputs.every(function(n){return n.outputDefined()})};kt.prototype.serialize=function(){for(var i="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints),t=[this.operator,i,this.input.serialize()],n=0;n<this.labels.length;n++)t.push(this.labels[n],this.outputs[n].serialize());return t};ru=function(n,t){this.type=n;this.args=t};ru.parse=function(n,t){var i,r,f;if(n.length<2)return t.error("Expectected at least one argument.");i=null;r=t.expectedType;r&&"value"!==r.kind&&(i=r);for(var u=[],e=0,o=n.slice(1);e<o.length;e+=1){if(f=t.parse(o[e],1+u.length,i,void 0,{typeAnnotation:"omit"}),!f)return null;i=i||f.type;u.push(f)}return n=r&&u.some(function(n){return kh(r,n.type)}),new ru(n?l:i,u)};ru.prototype.evaluate=function(n){for(var i,t=null,u=0,r=0,f=this.args;r<f.length&&(u++,(t=f[r].evaluate(n))&&t instanceof oi&&!t.available&&(i=i||t.name,t=null,u===this.args.length&&(t=i)),null===t);r+=1);return t};ru.prototype.eachChild=function(n){this.args.forEach(n)};ru.prototype.outputDefined=function(){return this.args.every(function(n){return n.outputDefined()})};ru.prototype.serialize=function(){var n=["coalesce"];return this.eachChild(function(t){n.push(t.serialize())}),n};uu=function(n,t){this.type=t.type;this.bindings=[].concat(n);this.result=t};uu.prototype.evaluate=function(n){return this.result.evaluate(n)};uu.prototype.eachChild=function(n){for(var t=0,i=this.bindings;t<i.length;t+=1)n(i[t][1]);n(this.result)};uu.parse=function(n,t){var u,i,r,f,e;if(n.length<4)return t.error("Expected at least 3 arguments, but found "+(n.length-1)+" instead.");for(u=[],i=1;i<n.length-1;i+=2){if(r=n[i],"string"!=typeof r)return t.error("Expected string, but found "+typeof r+" instead.",i);if(/[^a-zA-Z0-9_]/.test(r))return t.error("Variable names must contain only alphanumeric characters or '_'.",i);if(f=t.parse(n[i+1],i+1),!f)return null;u.push([r,f])}return e=t.parse(n[n.length-1],n.length-1,t.expectedType,u),e?new uu(u,e):null};uu.prototype.outputDefined=function(){return this.result.outputDefined()};uu.prototype.serialize=function(){for(var i,n=["let"],t=0,r=this.bindings;t<r.length;t+=1)i=r[t],n.push(i[0],i[1].serialize());return n.push(this.result.serialize()),n};ef.parse=function(n,t){if(3!==n.length)return t.error("Expected 2 arguments, but found "+(n.length-1)+" instead.");var r=t.parse(n[1],1,i),t=t.parse(n[2],2,di(t.expectedType||l));return r&&t?new ef(t.type.itemType,r,t):null};ef.prototype.evaluate=function(n){var t=this.index.evaluate(n),n=this.input.evaluate(n);if(t<0)throw new wt("Array index out of bounds: "+t+" < 0.");if(t>=n.length)throw new wt("Array index out of bounds: "+t+" > "+(n.length-1)+".");if(t!==Math.floor(t))throw new wt("Array index must be an integer, but found "+t+" instead.");return n[t]};ef.prototype.eachChild=function(n){n(this.index);n(this.input)};ef.prototype.outputDefined=function(){return!1};ef.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};of.parse=function(n,t){if(3!==n.length)return t.error("Expected 2 arguments, but found "+(n.length-1)+" instead.");var r=t.parse(n[1],1,l),n=t.parse(n[2],2,l);return r&&n?uk(r.type,[c,a,i,ph,l])?new of(r,n):t.error("Expected first argument to be of type boolean, string, number or null, but found "+nt(r.type)+" instead"):null};of.prototype.evaluate=function(n){var t=this.needle.evaluate(n),n=this.haystack.evaluate(n);if(!n)return!1;if(!dh(t,["boolean","string","number","null"]))throw new wt("Expected first argument to be of type boolean, string, number or null, but found "+nt(st(t))+" instead.");if(!dh(n,["string","array"]))throw new wt("Expected second argument to be of type array or string, but found "+nt(st(n))+" instead.");return 0<=n.indexOf(t)};of.prototype.eachChild=function(n){n(this.needle);n(this.haystack)};of.prototype.outputDefined=function(){return!0};of.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};ku.parse=function(n,t){if(n.length<=2||5<=n.length)return t.error("Expected 3 or 4 arguments, but found "+(n.length-1)+" instead.");var r=t.parse(n[1],1,l),u=t.parse(n[2],2,l);return!r||!u?null:uk(r.type,[c,a,i,ph,l])?4!==n.length?new ku(r,u):(n=t.parse(n[3],3,i),n?new ku(r,u,n):null):t.error("Expected first argument to be of type boolean, string, number or null, but found "+nt(r.type)+" instead")};ku.prototype.evaluate=function(n){var t=this.needle.evaluate(n),i=this.haystack.evaluate(n);if(!dh(t,["boolean","string","number","null"]))throw new wt("Expected first argument to be of type boolean, string, number or null, but found "+nt(st(t))+" instead.");if(!dh(i,["string","array"]))throw new wt("Expected second argument to be of type array or string, but found "+nt(st(i))+" instead.");return this.fromIndex?(n=this.fromIndex.evaluate(n),i.indexOf(t,n)):i.indexOf(t)};ku.prototype.eachChild=function(n){n(this.needle);n(this.haystack);this.fromIndex&&n(this.fromIndex)};ku.prototype.outputDefined=function(){return!1};ku.prototype.serialize=function(){if(null==this.fromIndex||void 0===this.fromIndex)return["index-of",this.needle.serialize(),this.haystack.serialize()];var n=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),n]};sf.parse=function(n,t){var s,u,e,o,r,c,y,i,h,p;if(n.length<5)return t.error("Expected at least 4 arguments, but found only "+(n.length-1)+".");if(n.length%2!=1)return t.error("Expected an even number of arguments.");t.expectedType&&"value"!==t.expectedType.kind&&(u=t.expectedType);for(var a={},v=[],f=2;f<n.length-1;f+=2){if(e=n[f],o=n[f+1],Array.isArray(e)||(e=[e]),r=t.concat(f),0===e.length)return r.error("Expected at least one branch label.");for(c=0,y=e;c<y.length;c+=1){if(i=y[c],"number"!=typeof i&&"string"!=typeof i)return r.error("Branch labels must be numbers or strings.");if("number"==typeof i&&Math.abs(i)>Number.MAX_SAFE_INTEGER)return r.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof i&&Math.floor(i)!==i)return r.error("Numeric branch labels must be integer values.");if(s){if(r.checkSubtype(s,st(i)))return null}else s=st(i);if(void 0!==a[String(i)])return r.error("Branch labels must be unique.");a[String(i)]=v.length}if(o=t.parse(o,f,u),!o)return null;u=u||o.type;v.push(o)}return(h=t.parse(n[1],1,l),!h)?null:(p=t.parse(n[n.length-1],n.length-1,u),!p||"value"!==h.type.kind&&t.concat(1).checkSubtype(s,h.type)?null:new sf(s,u,h,a,v,p))};sf.prototype.evaluate=function(n){var t=this.input.evaluate(n);return(st(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(n)};sf.prototype.eachChild=function(n){n(this.input);this.outputs.forEach(n);n(this.otherwise)};sf.prototype.outputDefined=function(){return this.outputs.every(function(n){return n.outputDefined()})&&this.otherwise.outputDefined()};sf.prototype.serialize=function(){for(var n,l=this,i=["match",this.input.serialize()],r=[],e={},u=0,o=Object.keys(this.cases).sort();u<o.length;u+=1)n=o[u],void 0===(c=e[this.cases[n]])?(e[this.cases[n]]=r.length,r.push([this.cases[n],[n]])):r[c][1].push(n);for(var s=function(n){return"number"===l.inputType.kind?Number(n):n},f=0,h=r;f<h.length;f+=1){var t=h[f],c=t[0],t=t[1];i.push(1===t.length?s(t[0]):t.map(s));i.push(this.outputs[outputIndex$1].serialize())}return i.push(this.otherwise.serialize()),i};hf.parse=function(n,t){var r,f,i,e,u,o;if(n.length<4)return t.error("Expected at least 3 arguments, but found only "+(n.length-1)+".");if(n.length%2!=0)return t.error("Expected an odd number of arguments.");for(t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType),f=[],i=1;i<n.length-1;i+=2){if((e=t.parse(n[i],i,c),!e)||(u=t.parse(n[i+1],i+1,r),!u))return null;f.push([e,u]);r=r||u.type}return o=t.parse(n[n.length-1],n.length-1,r),o?new hf(r,f,o):null};hf.prototype.evaluate=function(n){for(var r,u,t=0,i=this.branches;t<i.length;t+=1)if(r=i[t],u=r[1],r[0].evaluate(n))return u.evaluate(n);return this.otherwise.evaluate(n)};hf.prototype.eachChild=function(n){for(var r,u,t=0,i=this.branches;t<i.length;t+=1)r=i[t],u=r[1],n(r[0]),n(u);n(this.otherwise)};hf.prototype.outputDefined=function(){return this.branches.every(function(n){return n[1].outputDefined()})&&this.otherwise.outputDefined()};hf.prototype.serialize=function(){var n=["case"];return this.eachChild(function(t){n.push(t.serialize())}),n};du.parse=function(n,t){if(n.length<=2||5<=n.length)return t.error("Expected 3 or 4 arguments, but found "+(n.length-1)+" instead.");var r=t.parse(n[1],1,l),u=t.parse(n[2],2,i);return!r||!u?null:uk(r.type,[di(l),a,l])?4!==n.length?new du(r.type,r,u):(n=t.parse(n[3],3,i),n?new du(r.type,r,u,n):null):t.error("Expected first argument to be of type array or string, but found "+nt(r.type)+" instead")};du.prototype.evaluate=function(n){var t=this.input.evaluate(n),i=this.beginIndex.evaluate(n);if(!dh(t,["string","array"]))throw new wt("Expected first argument to be of type array or string, but found "+nt(st(t))+" instead.");return this.endIndex?(n=this.endIndex.evaluate(n),t.slice(i,n)):t.slice(i)};du.prototype.eachChild=function(n){n(this.input);n(this.beginIndex);this.endIndex&&n(this.endIndex)};du.prototype.outputDefined=function(){return!1};du.prototype.serialize=function(){if(null==this.endIndex||void 0===this.endIndex)return["slice",this.input.serialize(),this.beginIndex.serialize()];var n=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),n]};var ay=ye("==",function(n,t,i){return t===i},tit),vy=ye("!=",function(n,t,i){return t!==i},function(n,t,i,r){return!tit(0,t,i,r)}),dt=ye("<",function(n,t,i){return t<i},function(n,t,i,r){return r.compare(t,i)<0}),pk=ye(">",function(n,t,i){return i<t},function(n,t,i,r){return 0<r.compare(t,i)}),iit=ye("<=",function(n,t,i){return t<=i},function(n,t,i,r){return r.compare(t,i)<=0}),rit=ye(">=",function(n,t,i){return i<=t},function(n,t,i,r){return 0<=r.compare(t,i)});cf.parse=function(n,t){var u,r,f,e,o;return 3!==n.length?t.error("Expected two arguments."):(u=t.parse(n[1],1,i),!u)?null:(r=n[2],"object"!=typeof r||Array.isArray(r))?t.error("NumberFormat options argument must be an object."):(f=null,r.locale&&!(f=t.parse(r.locale,1,a)))?null:(e=null,r.currency&&!(e=t.parse(r.currency,1,a)))?null:(o=null,r["min-fraction-digits"]&&!(o=t.parse(r["min-fraction-digits"],1,i)))?null:(n=null,r["max-fraction-digits"]&&!(n=t.parse(r["max-fraction-digits"],1,i))?null:new cf(u,f,e,o,n))};cf.prototype.evaluate=function(n){return new Intl.NumberFormat(this.locale?this.locale.evaluate(n):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(n):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(n):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(n):void 0}).format(this.number.evaluate(n))};cf.prototype.eachChild=function(n){n(this.number);this.locale&&n(this.locale);this.currency&&n(this.currency);this.minFractionDigits&&n(this.minFractionDigits);this.maxFractionDigits&&n(this.maxFractionDigits)};cf.prototype.outputDefined=function(){return!1};cf.prototype.serialize=function(){var n={};return this.locale&&(n.locale=this.locale.serialize()),this.currency&&(n.currency=this.currency.serialize()),this.minFractionDigits&&(n["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(n["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),n]};lf.parse=function(n,t){return 2!==n.length?t.error("Expected 1 argument, but found "+(n.length-1)+" instead."):(n=t.parse(n[1],1),n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?t.error("Expected argument of type string or array, but found "+nt(n.type)+" instead."):new lf(n):null)};lf.prototype.evaluate=function(n){if((n=this.input.evaluate(n),"string"==typeof n)||Array.isArray(n))return n.length;throw new wt("Expected value to be of type string or array, but found "+nt(st(n))+" instead.");};lf.prototype.eachChild=function(n){n(this.input)};lf.prototype.outputDefined=function(){return!1};lf.prototype.serialize=function(){var n=["length"];return this.eachChild(function(t){n.push(t.serialize())}),n};af={"==":ay,"!=":vy,">":pk,"<":dt,">=":rit,"<=":iit,array:si,at:ef,boolean:si,"case":hf,coalesce:ru,collator:wu,format:tu,image:yu,"in":of,"index-of":ku,interpolate:kt,"interpolate-hcl":kt,"interpolate-lab":kt,length:lf,"let":uu,literal:ur,match:sf,number:si,"number-format":cf,object:si,slice:du,step:ar,string:si,"to-boolean":gi,"to-color":gi,"to-number":gi,"to-string":gi,"var":bu,within:fr};bt.register(af,{error:[{kind:"error"},[a],function(n,t){throw new wt(t[0].evaluate(n));}],"typeof":[a,[l],function(n,t){return nt(st(t[0].evaluate(n)))}],"to-rgba":[di(i,4),[lr],function(n,t){return t[0].evaluate(n).toArray()}],rgb:[lr,[i,i,i],uit],rgba:[lr,[i,i,i,i],uit],has:{type:c,overloads:[[[a],function(n,t){return t[0].evaluate(n)in n.properties()}],[[a,ve],function(n,t){var i=t[1];return t[0].evaluate(n)in i.evaluate(n)}]]},get:{type:l,overloads:[[[a],function(n,t){return wk(t[0].evaluate(n),n.properties())}],[[a,ve],function(n,t){var i=t[1];return wk(t[0].evaluate(n),i.evaluate(n))}]]},"feature-state":[l,[a],function(n,t){return wk(t[0].evaluate(n),n.featureState||{})}],properties:[ve,[],function(n){return n.properties()}],"geometry-type":[a,[],function(n){return n.geometryType()}],id:[l,[],function(n){return n.id()}],zoom:[i,[],function(n){return n.globals.zoom}],"heatmap-density":[i,[],function(n){return n.globals.heatmapDensity||0}],"line-progress":[i,[],function(n){return n.globals.lineProgress||0}],accumulated:[l,[],function(n){return void 0===n.globals.accumulated?null:n.globals.accumulated}],"+":[i,vf(i),function(n,t){for(var r=0,i=0,u=t;i<u.length;i+=1)r+=u[i].evaluate(n);return r}],"*":[i,vf(i),function(n,t){for(var r=1,i=0,u=t;i<u.length;i+=1)r*=u[i].evaluate(n);return r}],"-":{type:i,overloads:[[[i,i],function(n,t){var i=t[1];return t[0].evaluate(n)-i.evaluate(n)}],[[i],function(n,t){return-t[0].evaluate(n)}]]},"/":[i,[i,i],function(n,t){var i=t[1];return t[0].evaluate(n)/i.evaluate(n)}],"%":[i,[i,i],function(n,t){var i=t[1];return t[0].evaluate(n)%i.evaluate(n)}],ln2:[i,[],function(){return Math.LN2}],pi:[i,[],function(){return Math.PI}],e:[i,[],function(){return Math.E}],"^":[i,[i,i],function(n,t){var i=t[1];return Math.pow(t[0].evaluate(n),i.evaluate(n))}],sqrt:[i,[i],function(n,t){return Math.sqrt(t[0].evaluate(n))}],log10:[i,[i],function(n,t){return Math.log(t[0].evaluate(n))/Math.LN10}],ln:[i,[i],function(n,t){return Math.log(t[0].evaluate(n))}],log2:[i,[i],function(n,t){return Math.log(t[0].evaluate(n))/Math.LN2}],sin:[i,[i],function(n,t){return Math.sin(t[0].evaluate(n))}],cos:[i,[i],function(n,t){return Math.cos(t[0].evaluate(n))}],tan:[i,[i],function(n,t){return Math.tan(t[0].evaluate(n))}],asin:[i,[i],function(n,t){return Math.asin(t[0].evaluate(n))}],acos:[i,[i],function(n,t){return Math.acos(t[0].evaluate(n))}],atan:[i,[i],function(n,t){return Math.atan(t[0].evaluate(n))}],min:[i,vf(i),function(n,t){return Math.min.apply(Math,t.map(function(t){return t.evaluate(n)}))}],max:[i,vf(i),function(n,t){return Math.max.apply(Math,t.map(function(t){return t.evaluate(n)}))}],abs:[i,[i],function(n,t){return Math.abs(t[0].evaluate(n))}],round:[i,[i],function(n,t){return n=t[0].evaluate(n),n<0?-Math.round(-n):Math.round(n)}],floor:[i,[i],function(n,t){return Math.floor(t[0].evaluate(n))}],ceil:[i,[i],function(n,t){return Math.ceil(t[0].evaluate(n))}],"filter-==":[c,[a,l],function(n,t){var i=t[0],t=t[1];return n.properties()[i.value]===t.value}],"filter-id-==":[c,[l],function(n,t){return t=t[0],n.id()===t.value}],"filter-type-==":[c,[a],function(n,t){return t=t[0],n.geometryType()===t.value}],"filter-<":[c,[a,l],function(n,t){var i=t[0],t=t[1],i=n.properties()[i.value],t=t.value;return typeof i==typeof t&&i<t}],"filter-id-<":[c,[l],function(n,t){return t=t[0],n=n.id(),t=t.value,typeof n==typeof t&&n<t}],"filter->":[c,[a,l],function(n,t){var i=t[0],t=t[1],i=n.properties()[i.value],t=t.value;return typeof i==typeof t&&t<i}],"filter-id->":[c,[l],function(n,t){return t=t[0],n=n.id(),t=t.value,typeof n==typeof t&&t<n}],"filter-<=":[c,[a,l],function(n,t){var i=t[0],t=t[1],i=n.properties()[i.value],t=t.value;return typeof i==typeof t&&i<=t}],"filter-id-<=":[c,[l],function(n,t){return t=t[0],n=n.id(),t=t.value,typeof n==typeof t&&n<=t}],"filter->=":[c,[a,l],function(n,t){var i=t[0],t=t[1],i=n.properties()[i.value],t=t.value;return typeof i==typeof t&&t<=i}],"filter-id->=":[c,[l],function(n,t){return t=t[0],n=n.id(),t=t.value,typeof n==typeof t&&t<=n}],"filter-has":[c,[l],function(n,t){return t[0].value in n.properties()}],"filter-has-id":[c,[],function(n){return null!==n.id()&&void 0!==n.id()}],"filter-type-in":[c,[di(a)],function(n,t){return 0<=t[0].value.indexOf(n.geometryType())}],"filter-id-in":[c,[di(l)],function(n,t){return 0<=t[0].value.indexOf(n.id())}],"filter-in-small":[c,[a,di(l)],function(n,t){var i=t[0];return 0<=t[1].value.indexOf(n.properties()[i.value])}],"filter-in-large":[c,[a,di(l)],function(n,t){var i=t[0],t=t[1];return function(n,t,i,r){for(;i<=r;){var u=i+r>>1;if(t[u]===n)return!0;t[u]>n?r=u-1:i=1+u}return!1}(n.properties()[i.value],t.value,0,t.value.length-1)}],all:{type:c,overloads:[[[c,c],function(n,t){var i=t[1];return t[0].evaluate(n)&&i.evaluate(n)}],[vf(c),function(n,t){for(var i=0,r=t;i<r.length;i+=1)if(!r[i].evaluate(n))return!1;return!0}]]},any:{type:c,overloads:[[[c,c],function(n,t){var i=t[1];return t[0].evaluate(n)||i.evaluate(n)}],[vf(c),function(n,t){for(var i=0,r=t;i<r.length;i+=1)if(r[i].evaluate(n))return!0;return!1}]]},"!":[c,[c],function(n,t){return!t[0].evaluate(n)}],"is-supported-script":[c,[a],function(n,t){var i=n.globals&&n.globals.isSupportedScript;return!i||i(t[0].evaluate(n))}],upcase:[a,[a],function(n,t){return t[0].evaluate(n).toUpperCase()}],downcase:[a,[a],function(n,t){return t[0].evaluate(n).toLowerCase()}],concat:[a,vf(l),function(n,t){return t.map(function(t){return nc(t.evaluate(n))}).join("")}],"resolved-locale":[a,[uy],function(n,t){return t[0].evaluate(n).resolvedLocale()}]});be=function(n,t){this.expression=n;this._warningHistory={};this._evaluator=new pu;this._defaultValue=t?"color"===(n=t).type&&yy(n.default)?new y(0,0,0,0):"color"===n.type?y.parse(n.default)||null:void 0===n.default?null:n.default:null;this._enumValues=t&&"enum"===t.type?t.values:null};be.prototype.evaluateWithoutErrorHandling=function(n,t,i,r,u,f){return this._evaluator.globals=n,this._evaluator.feature=t,this._evaluator.featureState=i,this._evaluator.canonical=r,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=f,this.expression.evaluate(this._evaluator)};be.prototype.evaluate=function(n,t,i,r,u,f){this._evaluator.globals=n;this._evaluator.feature=t||null;this._evaluator.featureState=i||null;this._evaluator.canonical=r;this._evaluator.availableImages=u||null;this._evaluator.formattedSection=f||null;try{var e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new wt("Expected value to be one of "+Object.keys(this._enumValues).map(function(n){return JSON.stringify(n)}).join(", ")+", but found "+JSON.stringify(e)+" instead.");return e}catch(n){return this._warningHistory[n.message]||(this._warningHistory[n.message]=!0,"undefined"!=typeof console&&console.warn(n.message)),this._defaultValue}};ke=function(n,t){this.kind=n;this._styleExpression=t;this.isStateDependent="constant"!==n&&!tc(t.expression)};ke.prototype.evaluateWithoutErrorHandling=function(n,t,i,r,u,f){return this._styleExpression.evaluateWithoutErrorHandling(n,t,i,r,u,f)};ke.prototype.evaluate=function(n,t,i,r,u,f){return this._styleExpression.evaluate(n,t,i,r,u,f)};yf=function(n,t,i,r){this.kind=n;this.zoomStops=i;this._styleExpression=t;this.isStateDependent="camera"!==n&&!tc(t.expression);this.interpolationType=r};yf.prototype.evaluateWithoutErrorHandling=function(n,t,i,r,u,f){return this._styleExpression.evaluateWithoutErrorHandling(n,t,i,r,u,f)};yf.prototype.evaluate=function(n,t,i,r,u,f){return this._styleExpression.evaluate(n,t,i,r,u,f)};yf.prototype.interpolationFactor=function(n,t,i){return this.interpolationType?kt.interpolationFactor(this.interpolationType,n,t,i):0};fc.deserialize=function(n){return new fc(n._parameters,n._specification)};ait={type:"boolean","default":!(fc.serialize=function(n){return{_parameters:n._parameters,_specification:n._specification}}),transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};nd={promoteId:function(n){var u=n.key,t=n.value,r,i;if("string"===g(t))return ge({key:u,value:t});i=[];for(r in t)i.push.apply(i,ge({key:u+"."+r,value:t[r]}));return i}};td={"*":function(){return[]},array:hit,boolean:function(n){var t=n.value,i=n.key,n=g(t);return"boolean"!==n?[new u(i,t,"boolean expected, "+n+" found")]:[]},number:cit,color:function(n){var i=n.key,t=n.value,n=g(t);return"string"!==n?[new u(i,t,"color expected, "+n+" found")]:null===fk(t)?[new u(i,t,'color expected, "'+t+'" found')]:[]},constants:ett,"enum":by,filter:gk,"function":lit,layer:kit,object:er,source:dit,light:git,string:ge,formatted:function(n){return 0===ge(n).length?[]:de(n)},resolvedImage:function(n){return 0===ge(n).length?[]:de(n)}};pf.source=no(dit);pf.light=no(git);pf.layer=no(kit);pf.filter=no(gk);pf.paintProperty=no(wit);pf.layoutProperty=no(bit);var ec=pf,eot=ec.light,oot=ec.paintProperty,sot=ec.layoutProperty;wf=vr;vr.prototype.insert=function(n,t,i,r,u){this._forEachCell(t,i,r,u,this._insertCell,this.uid++);this.keys.push(n);this.bboxes.push(t);this.bboxes.push(i);this.bboxes.push(r);this.bboxes.push(u)};vr.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer.";};vr.prototype._insertCell=function(n,t,i,r,u,f){this.cells[u].push(f)};vr.prototype.query=function(n,t,i,r,u){var e=this.min,f=this.max;return n<=e&&t<=e&&f<=i&&f<=r&&!u?Array.prototype.slice.call(this.keys):(f=[],this._forEachCell(n,t,i,r,this._queryCell,f,{},u),f)};vr.prototype._queryCell=function(n,t,i,r,u,f,e,o){var l=this.cells[u],s,c;if(null!==l)for(var v=this.keys,h=this.bboxes,a=0;a<l.length;a++)c=l[a],void 0===e[c]&&(s=4*c,(o?o(h[0+s],h[1+s],h[2+s],h[3+s]):n<=h[2+s]&&t<=h[3+s]&&i>=h[0+s]&&r>=h[1+s])?(e[c]=!0,f.push(v[c])):e[c]=!1)};vr.prototype._forEachCell=function(n,t,i,r,u,f,e,o){for(var s,c,l=this._convertToCellCoord(n),a=this._convertToCellCoord(t),v=this._convertToCellCoord(i),y=this._convertToCellCoord(r),h=l;h<=v;h++)for(s=a;s<=y;s++)if(c=this.d*s+h,(!o||o(this._convertFromCellCoord(h),this._convertFromCellCoord(s),this._convertFromCellCoord(h+1),this._convertFromCellCoord(s+1)))&&u.call(this,n,t,i,r,c,f,e,o))return};vr.prototype._convertFromCellCoord=function(n){return(n-this.padding)/this.scale};vr.prototype._convertToCellCoord=function(n){return Math.max(0,Math.min(this.d-1,Math.floor(n*this.scale)+this.padding))};vr.prototype.toArrayBuffer=function(){var n,t,i,f;if(this.arrayBuffer)return this.arrayBuffer;for(var r=this.cells,e=3+this.cells.length+1+1,o=0,u=0;u<this.cells.length;u++)o+=this.cells[u].length;for(n=new Int32Array(e+o+this.keys.length+this.bboxes.length),n[0]=this.extent,n[1]=this.n,n[2]=this.padding,t=e,i=0;i<r.length;i++)f=r[i],n[3+i]=t,n.set(f,t),t+=f.length;return n[3+r.length]=t,n.set(this.keys,t),n[3+r.length+1]=t+=this.keys.length,n.set(this.bboxes,t),t+=this.bboxes.length,n.buffer};var np,irt=e.ImageData,rrt=e.ImageBitmap,oc={};for(np in f("Object",Object),wf.serialize=function(n,t){return n=n.toArrayBuffer(),t&&t.push(n),{buffer:n}},wf.deserialize=function(n){return new wf(n.buffer)},f("Grid",wf),f("Color",y),f("Error",Error),f("ResolvedImage",oi),f("StylePropertyFunction",fc),f("StyleExpression",be,{omit:["_evaluator"]}),f("ZoomDependentExpression",yf),f("ZoomConstantExpression",ke),f("CompoundExpression",bt,{omit:["_evaluate"]}),af)af[np]._classRegistryKey||f("Expression_"+np,af[np]);id.prototype.update=function(n,t){var i=Math.floor(n);return this.first?(this.first=!1,this.lastIntegerZoom=i,this.lastIntegerZoomTime=0,this.lastZoom=n,this.lastFloorZoom=i,!0):(this.lastFloorZoom>i?(this.lastIntegerZoom=i+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<i&&(this.lastIntegerZoom=i,this.lastIntegerZoomTime=t),n!==this.lastZoom&&(this.lastZoom=n,this.lastFloorZoom=i,!0))};r={"Latin-1 Supplement":function(n){return 128<=n&&n<=255},Arabic:function(n){return 1536<=n&&n<=1791},"Arabic Supplement":function(n){return 1872<=n&&n<=1919},"Arabic Extended-A":function(n){return 2208<=n&&n<=2303},"Hangul Jamo":function(n){return 4352<=n&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return 5120<=n&&n<=5759},Khmer:function(n){return 6016<=n&&n<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(n){return 6320<=n&&n<=6399},"General Punctuation":function(n){return 8192<=n&&n<=8303},"Letterlike Symbols":function(n){return 8448<=n&&n<=8527},"Number Forms":function(n){return 8528<=n&&n<=8591},"Miscellaneous Technical":function(n){return 8960<=n&&n<=9215},"Control Pictures":function(n){return 9216<=n&&n<=9279},"Optical Character Recognition":function(n){return 9280<=n&&n<=9311},"Enclosed Alphanumerics":function(n){return 9312<=n&&n<=9471},"Geometric Shapes":function(n){return 9632<=n&&n<=9727},"Miscellaneous Symbols":function(n){return 9728<=n&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return 11008<=n&&n<=11263},"CJK Radicals Supplement":function(n){return 11904<=n&&n<=12031},"Kangxi Radicals":function(n){return 12032<=n&&n<=12255},"Ideographic Description Characters":function(n){return 12272<=n&&n<=12287},"CJK Symbols and Punctuation":function(n){return 12288<=n&&n<=12351},Hiragana:function(n){return 12352<=n&&n<=12447},Katakana:function(n){return 12448<=n&&n<=12543},Bopomofo:function(n){return 12544<=n&&n<=12591},"Hangul Compatibility Jamo":function(n){return 12592<=n&&n<=12687},Kanbun:function(n){return 12688<=n&&n<=12703},"Bopomofo Extended":function(n){return 12704<=n&&n<=12735},"CJK Strokes":function(n){return 12736<=n&&n<=12783},"Katakana Phonetic Extensions":function(n){return 12784<=n&&n<=12799},"Enclosed CJK Letters and Months":function(n){return 12800<=n&&n<=13055},"CJK Compatibility":function(n){return 13056<=n&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return 13312<=n&&n<=19903},"Yijing Hexagram Symbols":function(n){return 19904<=n&&n<=19967},"CJK Unified Ideographs":function(n){return 19968<=n&&n<=40959},"Yi Syllables":function(n){return 40960<=n&&n<=42127},"Yi Radicals":function(n){return 42128<=n&&n<=42191},"Hangul Jamo Extended-A":function(n){return 43360<=n&&n<=43391},"Hangul Syllables":function(n){return 44032<=n&&n<=55215},"Hangul Jamo Extended-B":function(n){return 55216<=n&&n<=55295},"Private Use Area":function(n){return 57344<=n&&n<=63743},"CJK Compatibility Ideographs":function(n){return 63744<=n&&n<=64255},"Arabic Presentation Forms-A":function(n){return 64336<=n&&n<=65023},"Vertical Forms":function(n){return 65040<=n&&n<=65055},"CJK Compatibility Forms":function(n){return 65072<=n&&n<=65103},"Small Form Variants":function(n){return 65104<=n&&n<=65135},"Arabic Presentation Forms-B":function(n){return 65136<=n&&n<=65279},"Halfwidth and Fullwidth Forms":function(n){return 65280<=n&&n<=65519}};var fd=null,ii="unavailable",gu=null;tp=new nu;li={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return"loaded"===ii||null!=li.applyArabicShaping},isLoading:function(){return"loading"===ii},setState:function(n){ii=n.pluginStatus;gu=n.pluginURL},isParsed:function(){return null!=li.applyArabicShaping&&null!=li.processBidirectionalText&&null!=li.processStyledBidirectionalText},getPluginURL:function(){return gu}};w.prototype.isSupportedScript=function(n){return function(n,t){for(var i,u=0,f=n;u<f.length;u+=1)if(i=f[u].charCodeAt(0),!t&&ort(i)||2304<=i&&i<=3583||3840<=i&&i<=4255||r.Khmer(i))return!1;return!0}(n,li.isLoaded())};w.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)};w.prototype.getCrossfadeParameters=function(){var n=this.zoom,t=n-Math.floor(n),i=this.crossFadingFactor();return n>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*t}};to.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind};to.prototype.possiblyEvaluate=function(n,t,i){return this.property.possiblyEvaluate(this,n,t,i)};cc.prototype.transitioned=function(n,t){return new ip(this.property,this.value,t,fi({},n.transition,this.transition),n.now)};cc.prototype.untransitioned=function(){return new ip(this.property,this.value,null,{},0)};fu.prototype.getValue=function(n){return kr(this._values[n].value.value)};fu.prototype.setValue=function(n,t){this._values.hasOwnProperty(n)||(this._values[n]=new cc(this._values[n].property));this._values[n].value=new to(this._values[n].property,null===t?void 0:kr(t))};fu.prototype.getTransition=function(n){return kr(this._values[n].transition)};fu.prototype.setTransition=function(n,t){this._values.hasOwnProperty(n)||(this._values[n]=new cc(this._values[n].property));this._values[n].transition=kr(t)||void 0};fu.prototype.serialize=function(){for(var t,n,i={},r=0,u=Object.keys(this._values);r<u.length;r+=1)t=u[r],n=this.getValue(t),void 0!==n&&(i[t]=n),n=this.getTransition(t),void 0!==n&&(i[t+"-transition"]=n);return i};fu.prototype.transitioned=function(n,t){for(var i,u=new lc(this._properties),r=0,f=Object.keys(this._values);r<f.length;r+=1)i=f[r],u._values[i]=this._values[i].transitioned(n,t._values[i]);return u};fu.prototype.untransitioned=function(){for(var t,i=new lc(this._properties),n=0,r=Object.keys(this._values);n<r.length;n+=1)t=r[n],i._values[t]=this._values[t].untransitioned();return i};ip=function(n,t,i,r,u){this.property=n;this.value=t;this.begin=u+r.delay||0;this.end=this.begin+r.duration||0;n.specification.transition&&(r.delay||r.duration)&&(this.prior=i)};ip.prototype.possiblyEvaluate=function(n,t,i){var f=n.now||0,u=this.value.possiblyEvaluate(n,t,i),e=this.prior,r;return e?f>this.end?(this.prior=null,u):this.value.isDataDriven()?(this.prior=null,u):f<this.begin?e.possiblyEvaluate(n,t,i):(r=(f-this.begin)/(this.end-this.begin),this.property.interpolate(e.possiblyEvaluate(n,t,i),u,function(){if(r<=0)return 0;if(1<=r)return 1;var n=r*r,t=n*r;return 4*(r<.5?t:3*(r-n)+t-.75)}())):u};lc=function(n){this._properties=n;this._values=Object.create(n.defaultTransitioningPropertyValues)};lc.prototype.possiblyEvaluate=function(n,t,i){for(var u,f=new io(this._properties),r=0,e=Object.keys(this._values);r<e.length;r+=1)u=e[r],f._values[u]=this._values[u].possiblyEvaluate(n,t,i);return f};lc.prototype.hasTransition=function(){for(var n=0,t=Object.keys(this._values);n<t.length;n+=1)if(this._values[t[n]].prior)return!0;return!1};ac.prototype.getValue=function(n){return kr(this._values[n].value)};ac.prototype.setValue=function(n,t){this._values[n]=new to(this._values[n].property,null===t?void 0:kr(t))};ac.prototype.serialize=function(){for(var t,i,r={},n=0,u=Object.keys(this._values);n<u.length;n+=1)t=u[n],i=this.getValue(t),void 0!==i&&(r[t]=i);return r};ac.prototype.possiblyEvaluate=function(n,t,i){for(var u,f=new io(this._properties),r=0,e=Object.keys(this._values);r<e.length;r+=1)u=e[r],f._values[u]=this._values[u].possiblyEvaluate(n,t,i);return f};pi.prototype.isConstant=function(){return"constant"===this.value.kind};pi.prototype.constantOr=function(n){return"constant"===this.value.kind?this.value.value:n};pi.prototype.evaluate=function(n,t,i,r){return this.property.evaluate(this.value,this.parameters,n,t,i,r)};io=function(n){this._properties=n;this._values=Object.create(n.defaultPossiblyEvaluatedValues)};io.prototype.get=function(n){return this._values[n]};s.prototype.possiblyEvaluate=function(n,t){return n.expression.evaluate(t)};s.prototype.interpolate=function(n,t,i){var r=ly[this.specification.type];return r?r(n,t,i):n};o=function(n,t){this.specification=n;this.overrides=t};o.prototype.possiblyEvaluate=function(n,t,i,r){return new pi(this,"constant"===n.expression.kind||"camera"===n.expression.kind?{kind:"constant",value:n.expression.evaluate(t,null,{},i,r)}:n.expression,t)};o.prototype.interpolate=function(n,t,i){if("constant"!==n.value.kind||"constant"!==t.value.kind)return n;if(void 0===n.value.value||void 0===t.value.value)return new pi(this,{kind:"constant",value:void 0},n.parameters);var r=ly[this.specification.type];return r?new pi(this,{kind:"constant",value:r(n.value.value,t.value.value,i)},n.parameters):n};o.prototype.evaluate=function(n,t,i,r,u,f){return"constant"===n.kind?n.value:n.evaluate(t,i,r,u,f)};tt=((vc=o)&&(bf.__proto__=vc),((bf.prototype=Object.create(vc&&vc.prototype)).constructor=bf).prototype.possiblyEvaluate=function(n,t,i,r){return void 0===n.value?new pi(this,{kind:"constant",value:void 0},t):"constant"===n.expression.kind?(r=n.expression.evaluate(t,null,{},i,r),r="resolvedImage"===n.property.specification.type&&"string"!=typeof r?r.name:r,r=this._calculate(r,r,r,t),new pi(this,{kind:"constant",value:r},t)):"camera"!==n.expression.kind?new pi(this,n.expression,t):(n=this._calculate(n.expression.evaluate({zoom:t.zoom-1}),n.expression.evaluate({zoom:t.zoom}),n.expression.evaluate({zoom:t.zoom+1}),t),new pi(this,{kind:"constant",value:n},t))},bf.prototype.evaluate=function(n,t,i,r,u,f){return"source"!==n.kind?"composite"===n.kind?this._calculate(n.evaluate({zoom:Math.floor(t.zoom)-1},i,r),n.evaluate({zoom:Math.floor(t.zoom)},i,r),n.evaluate({zoom:Math.floor(t.zoom)+1},i,r),t):n.value:(f=n.evaluate(t,i,r,u,f),this._calculate(f,f,f,t))},bf.prototype._calculate=function(n,t,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:n,to:t}:{from:i,to:t}},bf.prototype.interpolate=function(n){return n},bf);b=function(n){this.specification=n};b.prototype.possiblyEvaluate=function(n,t,i,r){if(void 0!==n.value)return"constant"!==n.expression.kind?this._calculate(n.expression.evaluate(new w(Math.floor(t.zoom-1),t)),n.expression.evaluate(new w(Math.floor(t.zoom),t)),n.expression.evaluate(new w(Math.floor(t.zoom+1),t)),t):(r=n.expression.evaluate(t,null,{},i,r),this._calculate(r,r,r,t))};b.prototype._calculate=function(n,t,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:n,to:t}:{from:i,to:t}};b.prototype.interpolate=function(n){return n};nr=function(n){this.specification=n};nr.prototype.possiblyEvaluate=function(n,t,i,r){return!!n.expression.evaluate(t,null,{},i,r)};nr.prototype.interpolate=function(){return!1};f("DataDrivenProperty",o);f("DataConstantProperty",s);f("CrossFadedDataDrivenProperty",tt);f("CrossFadedProperty",b);f("ColorRampProperty",nr);var yc,yr=((yc=nu)&&(ot.__proto__=yc),((ot.prototype=Object.create(yc&&yc.prototype)).constructor=ot).prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},ot.prototype.getLayoutProperty=function(n){return"visibility"===n?this.visibility:this._unevaluatedLayout.getValue(n)},ot.prototype.setLayoutProperty=function(n,t,i){void 0===i&&(i={});null!=t&&this._validate(sot,"layers."+this.id+".layout."+n,n,t,i)||("visibility"!==n?this._unevaluatedLayout.setValue(n,t):this.visibility=t)},ot.prototype.getPaintProperty=function(n){return sb(n,"-transition")?this._transitionablePaint.getTransition(n.slice(0,-11)):this._transitionablePaint.getValue(n)},ot.prototype.setPaintProperty=function(n,t,i){if(void 0===i&&(i={}),null!=t&&this._validate(oot,"layers."+this.id+".paint."+n,n,t,i))return!1;if(sb(n,"-transition"))return this._transitionablePaint.setTransition(n.slice(0,-11),t||void 0),!1;var r=this._transitionablePaint._values[n],u="cross-faded-data-driven"===r.property.specification["property-type"],i=r.value.isDataDriven(),r=r.value;return this._transitionablePaint.setValue(n,t),this._handleSpecialPaintPropertyUpdate(n),t=this._transitionablePaint._values[n].value,t.isDataDriven()||i||u||this._handleOverridablePaintPropertyUpdate(n,r,t)},ot.prototype._handleSpecialPaintPropertyUpdate=function(){},ot.prototype._handleOverridablePaintPropertyUpdate=function(){return!1},ot.prototype.isHidden=function(n){return!!(this.minzoom&&n<this.minzoom)||!!(this.maxzoom&&n>=this.maxzoom)||"none"===this.visibility},ot.prototype.updateTransitions=function(n){this._transitioningPaint=this._transitionablePaint.transitioned(n,this._transitioningPaint)},ot.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},ot.prototype.recalculate=function(n,t){n.getCrossfadeParameters&&(this._crossfadeParameters=n.getCrossfadeParameters());this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(n,void 0,t));this.paint=this._transitioningPaint.possiblyEvaluate(n,void 0,t)},ot.prototype.serialize=function(){var n={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&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(n.layout=n.layout||{},n.layout.visibility=this.visibility),an(n,function(n,t){return!(void 0===n||"layout"===t&&!Object.keys(n).length||"paint"===t&&!Object.keys(n).length)})},ot.prototype._validate=function(n,i,r,u,f){return(!(f=void 0===f?{}:f)||!1!==f.validate)&&trt(this,n.call(ec,{key:i,layerType:this.type,objectKey:r,value:u,styleSpec:t,style:{glyphs:!0,sprite:!0}}))},ot.prototype.is3D=function(){return!1},ot.prototype.isTileClipped=function(){return!1},ot.prototype.hasOffscreenPass=function(){return!1},ot.prototype.resize=function(){},ot.prototype.isStateDependent=function(){for(var n in this.paint._values)if(n=this.paint.get(n),n instanceof pi&&we(n.property.specification)&&("source"===n.value.kind||"composite"===n.value.kind)&&n.value.isStateDependent)return!0;return!1},ot),cot={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},et=function(n,t){this._structArray=n;this._pos1=t*this.size;this._pos2=this._pos1/2;this._pos4=this._pos1/4;this._pos8=this._pos1/8},k=function(){this.isTransferred=!1;this.capacity=-1;this.resize(0)};k.serialize=function(n,t){return n._trim(),t&&(n.isTransferred=!0,t.push(n.arrayBuffer)),{length:n.length,arrayBuffer:n.arrayBuffer}};k.deserialize=function(n){var t=Object.create(this.prototype);return t.arrayBuffer=n.arrayBuffer,t.length=n.length,t.capacity=n.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t};k.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())};k.prototype.clear=function(){this.length=0};k.prototype.resize=function(n){this.reserve(n);this.length=n};k.prototype.reserve=function(n){n>this.capacity&&(this.capacity=Math.max(n,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement),n=this.uint8,this._refreshViews(),n&&this.uint8.set(n))};k.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout");};ro=((pc=k)&&(uo.__proto__=pc),((uo.prototype=Object.create(pc&&pc.prototype)).constructor=uo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},uo.prototype.emplaceBack=function(n,t){var i=this.length;return this.resize(i+1),this.emplace(i,n,t)},uo.prototype.emplace=function(n,t,i){var r=2*n;return this.int16[0+r]=t,this.int16[1+r]=i,n},uo);ro.prototype.bytesPerElement=4;f("StructArrayLayout2i4",ro);rp=((wc=k)&&(fo.__proto__=wc),((fo.prototype=Object.create(wc&&wc.prototype)).constructor=fo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},fo.prototype.emplaceBack=function(n,t,i,r){var u=this.length;return this.resize(u+1),this.emplace(u,n,t,i,r)},fo.prototype.emplace=function(n,t,i,r,u){var f=4*n;return this.int16[0+f]=t,this.int16[1+f]=i,this.int16[2+f]=r,this.int16[3+f]=u,n},fo);rp.prototype.bytesPerElement=8;f("StructArrayLayout4i8",rp);up=((bc=k)&&(eo.__proto__=bc),((eo.prototype=Object.create(bc&&bc.prototype)).constructor=eo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},eo.prototype.emplaceBack=function(n,t,i,r,u,f){var e=this.length;return this.resize(e+1),this.emplace(e,n,t,i,r,u,f)},eo.prototype.emplace=function(n,t,i,r,u,f,e){var o=6*n;return this.int16[0+o]=t,this.int16[1+o]=i,this.int16[2+o]=r,this.int16[3+o]=u,this.int16[4+o]=f,this.int16[5+o]=e,n},eo);up.prototype.bytesPerElement=12;f("StructArrayLayout2i4i12",up);fp=((kc=k)&&(oo.__proto__=kc),((oo.prototype=Object.create(kc&&kc.prototype)).constructor=oo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},oo.prototype.emplaceBack=function(n,t,i,r,u,f){var e=this.length;return this.resize(e+1),this.emplace(e,n,t,i,r,u,f)},oo.prototype.emplace=function(n,t,i,r,u,f,e){var s=4*n,o=8*n;return this.int16[0+s]=t,this.int16[1+s]=i,this.uint8[4+o]=r,this.uint8[5+o]=u,this.uint8[6+o]=f,this.uint8[7+o]=e,n},oo);fp.prototype.bytesPerElement=8;f("StructArrayLayout2i4ub8",fp);so=((dc=k)&&(ho.__proto__=dc),((ho.prototype=Object.create(dc&&dc.prototype)).constructor=ho).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},ho.prototype.emplaceBack=function(n,t){var i=this.length;return this.resize(i+1),this.emplace(i,n,t)},ho.prototype.emplace=function(n,t,i){var r=2*n;return this.float32[0+r]=t,this.float32[1+r]=i,n},ho);so.prototype.bytesPerElement=8;f("StructArrayLayout2f8",so);eu=((gc=k)&&(co.__proto__=gc),((co.prototype=Object.create(gc&&gc.prototype)).constructor=co).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},co.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s,h){var c=this.length;return this.resize(c+1),this.emplace(c,n,t,i,r,u,f,e,o,s,h)},co.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c){var l=10*n;return this.uint16[0+l]=t,this.uint16[1+l]=i,this.uint16[2+l]=r,this.uint16[3+l]=u,this.uint16[4+l]=f,this.uint16[5+l]=e,this.uint16[6+l]=o,this.uint16[7+l]=s,this.uint16[8+l]=h,this.uint16[9+l]=c,n},co);eu.prototype.bytesPerElement=20;f("StructArrayLayout10ui20",eu);ep=((nl=k)&&(lo.__proto__=nl),((lo.prototype=Object.create(nl&&nl.prototype)).constructor=lo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},lo.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s,h,c,l){var a=this.length;return this.resize(a+1),this.emplace(a,n,t,i,r,u,f,e,o,s,h,c,l)},lo.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c,l,a){var v=12*n;return this.int16[0+v]=t,this.int16[1+v]=i,this.int16[2+v]=r,this.int16[3+v]=u,this.uint16[4+v]=f,this.uint16[5+v]=e,this.uint16[6+v]=o,this.uint16[7+v]=s,this.int16[8+v]=h,this.int16[9+v]=c,this.int16[10+v]=l,this.int16[11+v]=a,n},lo);ep.prototype.bytesPerElement=24;f("StructArrayLayout4i4ui4i24",ep);op=((tl=k)&&(ao.__proto__=tl),((ao.prototype=Object.create(tl&&tl.prototype)).constructor=ao).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},ao.prototype.emplaceBack=function(n,t,i){var r=this.length;return this.resize(r+1),this.emplace(r,n,t,i)},ao.prototype.emplace=function(n,t,i,r){var u=3*n;return this.float32[0+u]=t,this.float32[1+u]=i,this.float32[2+u]=r,n},ao);op.prototype.bytesPerElement=12;f("StructArrayLayout3f12",op);sp=((il=k)&&(vo.__proto__=il),((vo.prototype=Object.create(il&&il.prototype)).constructor=vo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer)},vo.prototype.emplaceBack=function(n){var t=this.length;return this.resize(t+1),this.emplace(t,n)},vo.prototype.emplace=function(n,t){return this.uint32[+n+0]=t,n},vo);sp.prototype.bytesPerElement=4;f("StructArrayLayout1ul4",sp);ul=((rl=k)&&(yo.__proto__=rl),((yo.prototype=Object.create(rl&&rl.prototype)).constructor=yo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},yo.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s){var h=this.length;return this.resize(h+1),this.emplace(h,n,t,i,r,u,f,e,o,s)},yo.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h){var c=10*n,l=5*n;return this.int16[0+c]=t,this.int16[1+c]=i,this.int16[2+c]=r,this.int16[3+c]=u,this.int16[4+c]=f,this.int16[5+c]=e,this.uint32[3+l]=o,this.uint16[8+c]=s,this.uint16[9+c]=h,n},yo);ul.prototype.bytesPerElement=20;f("StructArrayLayout6i1ul2ui20",ul);el=((fl=k)&&(po.__proto__=fl),((po.prototype=Object.create(fl&&fl.prototype)).constructor=po).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},po.prototype.emplaceBack=function(n,t,i,r,u,f){var e=this.length;return this.resize(e+1),this.emplace(e,n,t,i,r,u,f)},po.prototype.emplace=function(n,t,i,r,u,f,e){var o=6*n;return this.int16[0+o]=t,this.int16[1+o]=i,this.int16[2+o]=r,this.int16[3+o]=u,this.int16[4+o]=f,this.int16[5+o]=e,n},po);el.prototype.bytesPerElement=12;f("StructArrayLayout2i2i2i12",el);hp=((ol=k)&&(wo.__proto__=ol),((wo.prototype=Object.create(ol&&ol.prototype)).constructor=wo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},wo.prototype.emplaceBack=function(n,t,i,r,u){var f=this.length;return this.resize(f+1),this.emplace(f,n,t,i,r,u)},wo.prototype.emplace=function(n,t,i,r,u,f){var e=4*n,o=8*n;return this.float32[0+e]=t,this.float32[1+e]=i,this.float32[2+e]=r,this.int16[6+o]=u,this.int16[7+o]=f,n},wo);hp.prototype.bytesPerElement=16;f("StructArrayLayout2f1f2i16",hp);cp=((sl=k)&&(bo.__proto__=sl),((bo.prototype=Object.create(sl&&sl.prototype)).constructor=bo).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},bo.prototype.emplaceBack=function(n,t,i,r){var u=this.length;return this.resize(u+1),this.emplace(u,n,t,i,r)},bo.prototype.emplace=function(n,t,i,r,u){var f=12*n,e=3*n;return this.uint8[0+f]=t,this.uint8[1+f]=i,this.float32[1+e]=r,this.float32[2+e]=u,n},bo);cp.prototype.bytesPerElement=12;f("StructArrayLayout2ub2f12",cp);ou=((hl=k)&&(ko.__proto__=hl),((ko.prototype=Object.create(hl&&hl.prototype)).constructor=ko).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},ko.prototype.emplaceBack=function(n,t,i){var r=this.length;return this.resize(r+1),this.emplace(r,n,t,i)},ko.prototype.emplace=function(n,t,i,r){var u=3*n;return this.uint16[0+u]=t,this.uint16[1+u]=i,this.uint16[2+u]=r,n},ko);ou.prototype.bytesPerElement=6;f("StructArrayLayout3ui6",ou);au=((cl=k)&&(go.__proto__=cl),((go.prototype=Object.create(cl&&cl.prototype)).constructor=go).prototype._refreshViews=function(){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)},go.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w){var b=this.length;return this.resize(b+1),this.emplace(b,n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w)},go.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){var k=24*n,d=12*n,g=48*n;return this.int16[0+k]=t,this.int16[1+k]=i,this.uint16[2+k]=r,this.uint16[3+k]=u,this.uint32[2+d]=f,this.uint32[3+d]=e,this.uint32[4+d]=o,this.uint16[10+k]=s,this.uint16[11+k]=h,this.uint16[12+k]=c,this.float32[7+d]=l,this.float32[8+d]=a,this.uint8[36+g]=v,this.uint8[37+g]=y,this.uint8[38+g]=p,this.uint32[10+d]=w,this.int16[22+k]=b,n},go);au.prototype.bytesPerElement=48;f("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",au);ei=((ll=k)&&(ns.__proto__=ll),((ns.prototype=Object.create(ll&&ll.prototype)).constructor=ns).prototype._refreshViews=function(){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)},ns.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et){var ot=this.length;return this.resize(ot+1),this.emplace(ot,n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et)},ns.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et,ot){var st=34*n,ht=17*n;return this.int16[0+st]=t,this.int16[1+st]=i,this.int16[2+st]=r,this.int16[3+st]=u,this.int16[4+st]=f,this.int16[5+st]=e,this.int16[6+st]=o,this.int16[7+st]=s,this.uint16[8+st]=h,this.uint16[9+st]=c,this.uint16[10+st]=l,this.uint16[11+st]=a,this.uint16[12+st]=v,this.uint16[13+st]=y,this.uint16[14+st]=p,this.uint16[15+st]=w,this.uint16[16+st]=b,this.uint16[17+st]=k,this.uint16[18+st]=d,this.uint16[19+st]=g,this.uint16[20+st]=nt,this.uint16[21+st]=tt,this.uint16[22+st]=it,this.uint32[12+ht]=rt,this.float32[13+ht]=ut,this.float32[14+ht]=ft,this.float32[15+ht]=et,this.float32[16+ht]=ot,n},ns);ei.prototype.bytesPerElement=68;f("StructArrayLayout8i15ui1ul4f68",ei);vl=((al=k)&&(ts.__proto__=al),((ts.prototype=Object.create(al&&al.prototype)).constructor=ts).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},ts.prototype.emplaceBack=function(n){var t=this.length;return this.resize(t+1),this.emplace(t,n)},ts.prototype.emplace=function(n,t){return this.float32[+n+0]=t,n},ts);vl.prototype.bytesPerElement=4;f("StructArrayLayout1f4",vl);pt=((yl=k)&&(is.__proto__=yl),((is.prototype=Object.create(yl&&yl.prototype)).constructor=is).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},is.prototype.emplaceBack=function(n,t,i){var r=this.length;return this.resize(r+1),this.emplace(r,n,t,i)},is.prototype.emplace=function(n,t,i,r){var u=3*n;return this.int16[0+u]=t,this.int16[1+u]=i,this.int16[2+u]=r,n},is);pt.prototype.bytesPerElement=6;f("StructArrayLayout3i6",pt);ir=((pl=k)&&(rs.__proto__=pl),((rs.prototype=Object.create(pl&&pl.prototype)).constructor=rs).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},rs.prototype.emplaceBack=function(n,t,i){var r=this.length;return this.resize(r+1),this.emplace(r,n,t,i)},rs.prototype.emplace=function(n,t,i,r){var u=4*n;return this.uint32[2*n+0]=t,this.uint16[2+u]=i,this.uint16[3+u]=r,n},rs);ir.prototype.bytesPerElement=8;f("StructArrayLayout1ul2ui8",ir);us=((wl=k)&&(fs.__proto__=wl),((fs.prototype=Object.create(wl&&wl.prototype)).constructor=fs).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},fs.prototype.emplaceBack=function(n,t){var i=this.length;return this.resize(i+1),this.emplace(i,n,t)},fs.prototype.emplace=function(n,t,i){var r=2*n;return this.uint16[0+r]=t,this.uint16[1+r]=i,n},fs);us.prototype.bytesPerElement=4;f("StructArrayLayout2ui4",us);le=((bl=k)&&(es.__proto__=bl),((es.prototype=Object.create(bl&&bl.prototype)).constructor=es).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},es.prototype.emplaceBack=function(n){var t=this.length;return this.resize(t+1),this.emplace(t,n)},es.prototype.emplace=function(n,t){return this.uint16[+n+0]=t,n},es);le.prototype.bytesPerElement=2;f("StructArrayLayout1ui2",le);lp=((kl=k)&&(os.__proto__=kl),((os.prototype=Object.create(kl&&kl.prototype)).constructor=os).prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},os.prototype.emplaceBack=function(n,t,i,r){var u=this.length;return this.resize(u+1),this.emplace(u,n,t,i,r)},os.prototype.emplace=function(n,t,i,r,u){var f=4*n;return this.float32[0+f]=t,this.float32[1+f]=i,this.float32[2+f]=r,this.float32[3+f]=u,n},os);lp.prototype.bytesPerElement=16;f("StructArrayLayout4f16",lp);od=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);(i.prototype=Object.create(n&&n.prototype)).constructor=i;var t={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return t.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},t.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},t.x1.get=function(){return this._structArray.int16[this._pos2+2]},t.y1.get=function(){return this._structArray.int16[this._pos2+3]},t.x2.get=function(){return this._structArray.int16[this._pos2+4]},t.y2.get=function(){return this._structArray.int16[this._pos2+5]},t.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},t.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},t.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},t.anchorPoint.get=function(){return new h(this.anchorPointX,this.anchorPointY)},Object.defineProperties(i.prototype,t),i}(et);od.prototype.size=20;ap=((dl=ul)&&(vp.__proto__=dl),((vp.prototype=Object.create(dl&&dl.prototype)).constructor=vp).prototype.get=function(n){return new od(this,n)},vp);f("CollisionBoxArray",ap);sd=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);(i.prototype=Object.create(n&&n.prototype)).constructor=i;var t={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return t.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},t.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},t.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},t.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},t.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},t.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},t.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},t.segment.get=function(){return this._structArray.uint16[this._pos2+10]},t.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},t.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},t.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},t.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},t.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},t.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},t.placedOrientation.set=function(n){this._structArray.uint8[this._pos1+37]=n},t.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},t.hidden.set=function(n){this._structArray.uint8[this._pos1+38]=n},t.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},t.crossTileID.set=function(n){this._structArray.uint32[this._pos4+10]=n},t.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(i.prototype,t),i}(et);sd.prototype.size=48;hd=((gl=au)&&(yp.__proto__=gl),((yp.prototype=Object.create(gl&&gl.prototype)).constructor=yp).prototype.get=function(n){return new sd(this,n)},yp);f("PlacedSymbolArray",hd);cd=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);(i.prototype=Object.create(n&&n.prototype)).constructor=i;var t={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return t.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},t.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},t.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},t.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},t.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},t.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},t.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},t.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},t.key.get=function(){return this._structArray.uint16[this._pos2+8]},t.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},t.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},t.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},t.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},t.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},t.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},t.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},t.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},t.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},t.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},t.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},t.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},t.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},t.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},t.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},t.crossTileID.set=function(n){this._structArray.uint32[this._pos4+12]=n},t.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},t.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},t.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},t.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(i.prototype,t),i}(et);cd.prototype.size=68;ld=((na=ei)&&(pp.__proto__=na),((pp.prototype=Object.create(na&&na.prototype)).constructor=pp).prototype.get=function(n){return new cd(this,n)},pp);f("SymbolInstanceArray",ld);ad=((ta=vl)&&(wp.__proto__=ta),((wp.prototype=Object.create(ta&&ta.prototype)).constructor=wp).prototype.getoffsetX=function(n){return this.float32[+n+0]},wp);f("GlyphOffsetArray",ad);vd=((ia=pt)&&(ss.__proto__=ia),((ss.prototype=Object.create(ia&&ia.prototype)).constructor=ss).prototype.getx=function(n){return this.int16[3*n+0]},ss.prototype.gety=function(n){return this.int16[3*n+1]},ss.prototype.gettileUnitDistanceFromAnchor=function(n){return this.int16[3*n+2]},ss);f("SymbolLineVertexArray",vd);yd=function(n){function t(){n.apply(this,arguments)}n&&(t.__proto__=n);(t.prototype=Object.create(n&&n.prototype)).constructor=t;var i={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return i.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},i.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},i.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(t.prototype,i),t}(et);yd.prototype.size=8;pd=((ra=ir)&&(bp.__proto__=ra),((bp.prototype=Object.create(ra&&ra.prototype)).constructor=bp).prototype.get=function(n){return new yd(this,n)},bp);f("FeatureIndexArray",pd);lrt=vt([{name:"a_pos",components:2,type:"Int16"}],4).members;ct.prototype.prepareSegment=function(n,t,i,r){var u=this.segments[this.segments.length-1];return ct.MAX_VERTEX_ARRAY_LENGTH<n&&ti("Max vertices per segment is "+ct.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+n),(!u||u.vertexLength+n>ct.MAX_VERTEX_ARRAY_LENGTH||u.sortKey!==r)&&(u={vertexOffset:t.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},void 0!==r&&(u.sortKey=r),this.segments.push(u)),u};ct.prototype.get=function(){return this.segments};ct.prototype.destroy=function(){for(var r,i,n=0,t=this.segments;n<t.length;n+=1){i=t[n];for(r in i.vaos)i.vaos[r].destroy()}};ct.simpleSegment=function(n,t,i,r){return new ct([{vertexOffset:n,primitiveOffset:t,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])};ct.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1;f("SegmentVector",ct);var kp=vt([{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"}]),ay=vv(function(n){n.exports=function(n,t){for(var o,s,i,h=n.length-(o=3&n.length),r=t,f=3432918353,e=461845907,u=0;u<h;)i=255&n.charCodeAt(u)|(255&n.charCodeAt(++u))<<8|(255&n.charCodeAt(++u))<<16|(255&n.charCodeAt(++u))<<24,++u,r=27492+(65535&(s=5*(65535&(r=(r^=i=(65535&(i=(i=(65535&i)*f+(((i>>>16)*f&65535)<<16)&4294967295)<<15|i>>>17))*e+(((i>>>16)*e&65535)<<16)&4294967295)<<13|r>>>19))+((5*(r>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(i=0,o){case 3:i^=(255&n.charCodeAt(u+2))<<16;case 2:i^=(255&n.charCodeAt(u+1))<<8;case 1:r^=i=(65535&(i=(i=(65535&(i^=255&n.charCodeAt(u)))*f+(((i>>>16)*f&65535)<<16)&4294967295)<<15|i>>>17))*e+(((i>>>16)*e&65535)<<16)&4294967295}return r^=n.length,r=2246822507*(65535&(r^=r>>>16))+((2246822507*(r>>>16)&65535)<<16)&4294967295,((r=3266489909*(65535&(r^=r>>>13))+((3266489909*(r>>>16)&65535)<<16)&4294967295)^r>>>16)>>>0}}),vy=vv(function(n){n.exports=function(n,t){for(var u,f=n.length,i=t^f,r=0;4<=f;)u=1540483477*(65535&(u=255&n.charCodeAt(r)|(255&n.charCodeAt(++r))<<8|(255&n.charCodeAt(++r))<<16|(255&n.charCodeAt(++r))<<24))+((1540483477*(u>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^1540483477*(65535&(u^=u>>>24))+((1540483477*(u>>>16)&65535)<<16),f-=4,++r;switch(f){case 3:i^=(255&n.charCodeAt(r+2))<<16;case 2:i^=(255&n.charCodeAt(r+1))<<8;case 1:i=1540483477*(65535&(i^=255&n.charCodeAt(r)))+((1540483477*(i>>>16)&65535)<<16)}return((i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16))^i>>>15)>>>0}}),ua=ay,pk=vy;ua.murmur3=ay;ua.murmur2=pk;kf.prototype.add=function(n,t,i,r){this.ids.push(yrt(n));this.positions.push(t,i,r)};kf.prototype.getPositions=function(n){for(var i,u,f=yrt(n),t=0,r=this.ids.length-1;t<r;)i=t+r>>1,this.ids[i]>=f?r=i:t=1+i;for(u=[];this.ids[t]===f;)u.push({index:this.positions[3*t],start:this.positions[3*t+1],end:this.positions[3*t+2]}),t++;return u};kf.serialize=function(n,t){var i=new Float64Array(n.ids),n=new Uint32Array(n.positions);return function n(t,i,r,u){for(;r<u;){for(var o=t[r+u>>1],e=r-1,f=u+1;;){for(;t[++e]<o;);for(;t[--f]>o;);if(f<=e)break;dp(t,e,f);dp(i,3*e,3*f);dp(i,3*e+1,3*f+1);dp(i,3*e+2,3*f+2)}f-r<u-f?(n(t,i,r,f),r=f+1):(n(t,i,f+1,u),u=f)}}(i,n,0,i.length-1),t&&t.push(i.buffer,n.buffer),{ids:i,positions:n}};kf.deserialize=function(n){var t=new kf;return t.ids=n.ids,t.positions=n.positions,t.indexed=!0,t};vrt=Math.pow(2,53)-1;f("FeaturePositionMap",kf);var fa,ea,oa,sa,ha,ca,la,dt=function(n,t){this.gl=n.gl;this.location=t},rit=((la=dt)&&(ew.__proto__=la),((ew.prototype=Object.create(la&&la.prototype)).constructor=ew).prototype.set=function(n){this.current!==n&&(this.current=n,this.gl.uniform1i(this.location,n))},ew),gp=((ca=dt)&&(fw.__proto__=ca),((fw.prototype=Object.create(ca&&ca.prototype)).constructor=fw).prototype.set=function(n){this.current!==n&&(this.current=n,this.gl.uniform1f(this.location,n))},fw),iit=((ha=dt)&&(uw.__proto__=ha),((uw.prototype=Object.create(ha&&ha.prototype)).constructor=uw).prototype.set=function(n){n[0]===this.current[0]&&n[1]===this.current[1]||(this.current=n,this.gl.uniform2f(this.location,n[0],n[1]))},uw),k=((sa=dt)&&(rw.__proto__=sa),((rw.prototype=Object.create(sa&&sa.prototype)).constructor=rw).prototype.set=function(n){n[0]===this.current[0]&&n[1]===this.current[1]&&n[2]===this.current[2]||(this.current=n,this.gl.uniform3f(this.location,n[0],n[1],n[2]))},rw),prt=((oa=dt)&&(iw.__proto__=oa),((iw.prototype=Object.create(oa&&oa.prototype)).constructor=iw).prototype.set=function(n){n[0]===this.current[0]&&n[1]===this.current[1]&&n[2]===this.current[2]&&n[3]===this.current[3]||(this.current=n,this.gl.uniform4f(this.location,n[0],n[1],n[2],n[3]))},iw),wrt=((ea=dt)&&(tw.__proto__=ea),((tw.prototype=Object.create(ea&&ea.prototype)).constructor=tw).prototype.set=function(n){n.r===this.current.r&&n.g===this.current.g&&n.b===this.current.b&&n.a===this.current.a||(this.current=n,this.gl.uniform4f(this.location,n.r,n.g,n.b,n.a))},tw),lot=new Float32Array(16),ul=((fa=dt)&&(nw.__proto__=fa),((nw.prototype=Object.create(fa&&fa.prototype)).constructor=nw).prototype.set=function(n){if(n[12]!==this.current[12]||n[0]!==this.current[0])return this.current=n,void this.gl.uniformMatrix4fv(this.location,!1,n);for(var t=1;t<16;t++)if(n[t]!==this.current[t]){this.current=n;this.gl.uniformMatrix4fv(this.location,!1,n);break}},nw);df.prototype.setUniform=function(n,t,i){n.set(i.constantOr(this.value))};df.prototype.getBinding=function(n,t){return new("color"===this.type?wrt:gp)(n,t)};su.prototype.setConstantPatternPositions=function(n,t){this.pixelRatioFrom=t.pixelRatio;this.pixelRatioTo=n.pixelRatio;this.patternFrom=t.tlbr;this.patternTo=n.tlbr};su.prototype.setUniform=function(n,t,i,r){r="u_pattern_to"===r?this.patternTo:"u_pattern_from"===r?this.patternFrom:"u_pixel_ratio_to"===r?this.pixelRatioTo:"u_pixel_ratio_from"===r?this.pixelRatioFrom:null;r&&n.set(r)};su.prototype.getBinding=function(n,t,i){return new("u_pattern"===i.substr(0,9)?prt:gp)(n,t)};vi.prototype.populatePaintArray=function(n,t,i,r,u){var f=this.paintVertexArray.length,u=this.expression.evaluate(new w(0),t,{},r,[],u);this.paintVertexArray.resize(n);this._setPaintValue(f,n,u)};vi.prototype.updatePaintArray=function(n,t,i,r){r=this.expression.evaluate({zoom:0},i,r);this._setPaintValue(n,t,r)};vi.prototype._setPaintValue=function(n,t,i){var f,r,u;if("color"===this.type)for(f=wd(i),r=n;r<t;r++)this.paintVertexArray.emplace(r,f[0],f[1]);else{for(u=n;u<t;u++)this.paintVertexArray.emplace(u,i);this.maxValue=Math.max(this.maxValue,Math.abs(i))}};vi.prototype.upload=function(n){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=n.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))};vi.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};gt.prototype.populatePaintArray=function(n,t,i,r,u){var f=this.expression.evaluate(new w(this.zoom),t,{},r,[],u),r=this.expression.evaluate(new w(this.zoom+1),t,{},r,[],u),u=this.paintVertexArray.length;this.paintVertexArray.resize(n);this._setPaintValue(u,n,f,r)};gt.prototype.updatePaintArray=function(n,t,i,r){var u=this.expression.evaluate({zoom:this.zoom},i,r),r=this.expression.evaluate({zoom:this.zoom+1},i,r);this._setPaintValue(n,t,u,r)};gt.prototype._setPaintValue=function(n,t,i,r){var u;if("color"===this.type)for(var e=wd(i),o=wd(r),f=n;f<t;f++)this.paintVertexArray.emplace(f,e[0],e[1],o[0],o[1]);else{for(u=n;u<t;u++)this.paintVertexArray.emplace(u,i,r);this.maxValue=Math.max(this.maxValue,Math.abs(i),Math.abs(r))}};gt.prototype.upload=function(n){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=n.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))};gt.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};gt.prototype.setUniform=function(n,t){t=this.useIntegerZoom?Math.floor(t.zoom):t.zoom;t=uf(this.expression.interpolationFactor(t,this.zoom,this.zoom+1),0,1);n.set(t)};gt.prototype.getBinding=function(n,t){return new gp(n,t)};wi.prototype.populatePaintArray=function(n,t,i){var r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(n);this.zoomOutPaintVertexArray.resize(n);this._setPaintValues(r,n,t.patterns&&t.patterns[this.layerId],i)};wi.prototype.updatePaintArray=function(n,t,i,r,u){this._setPaintValues(n,t,i.patterns&&i.patterns[this.layerId],u)};wi.prototype._setPaintValues=function(n,t,i,r){var o;if(r&&i){var f=r[i.min],u=r[i.mid],e=r[i.max];if(f&&u&&e)for(o=n;o<t;o++)this.zoomInPaintVertexArray.emplace(o,u.tl[0],u.tl[1],u.br[0],u.br[1],f.tl[0],f.tl[1],f.br[0],f.br[1],u.pixelRatio,f.pixelRatio),this.zoomOutPaintVertexArray.emplace(o,u.tl[0],u.tl[1],u.br[0],u.br[1],e.tl[0],e.tl[1],e.br[0],e.br[1],u.pixelRatio,e.pixelRatio)}};wi.prototype.upload=function(n){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=n.createVertexBuffer(this.zoomInPaintVertexArray,kp.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=n.createVertexBuffer(this.zoomOutPaintVertexArray,kp.members,this.expression.isStateDependent))};wi.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy();this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};hi.prototype.getMaxValue=function(n){return n=this.binders[n],n instanceof vi||n instanceof gt?n.maxValue:0};hi.prototype.populatePaintArrays=function(n,t,i,r,u){for(var f in this.binders)f=this.binders[f],(f instanceof vi||f instanceof gt||f instanceof wi)&&f.populatePaintArray(n,t,i,r,u)};hi.prototype.setConstantPatternPositions=function(n,t){for(var i in this.binders)i=this.binders[i],i instanceof su&&i.setConstantPatternPositions(n,t)};hi.prototype.updatePaintArrays=function(n,t,i,r,u){var s,l=!1,e,h,c,o,a,v,f;for(s in n)for(e=0,h=t.getPositions(s);e<h.length;e+=1){o=h[e];a=i.feature(o.index);for(c in this.binders)f=this.binders[c],(f instanceof vi||f instanceof gt||f instanceof wi)&&!0===f.expression.isStateDependent&&(v=r.paint.get(c),f.expression=v.value,f.updatePaintArray(o.start,o.end,a,n[s],u),l=!0)}return l};hi.prototype.defines=function(){var i,t=[],n;for(i in this.binders)n=this.binders[i],(n instanceof df||n instanceof su)&&t.push.apply(t,n.uniformNames.map(function(n){return"#define HAS_UNIFORM_"+n}));return t};hi.prototype.getBinderAttributes=function(){var u,r=[],n,t,i;for(u in this.binders)if(n=this.binders[u],n instanceof vi||n instanceof gt)for(t=0;t<n.paintVertexAttributes.length;t++)r.push(n.paintVertexAttributes[t].name);else if(n instanceof wi)for(i=0;i<kp.members.length;i++)r.push(kp.members[i].name);return r};hi.prototype.getBinderUniforms=function(){var r,u=[],n,t,i;for(r in this.binders)if(n=this.binders[r],n instanceof df||n instanceof su||n instanceof gt)for(t=0,i=n.uniformNames;t<i.length;t+=1)u.push(i[t]);return u};hi.prototype.getPaintVertexBuffers=function(){return this._buffers};hi.prototype.getUniforms=function(n,t){var f,o=[],i,u,e,s,r;for(f in this.binders)if(i=this.binders[f],i instanceof df||i instanceof su||i instanceof gt)for(u=0,e=i.uniformNames;u<e.length;u+=1)r=e[u],t[r]&&(s=i.getBinding(n,t[r],r),o.push({name:r,property:f,binding:s}));return o};hi.prototype.setUniforms=function(n,t,i,r){for(var u=0,f=t;u<f.length;u+=1){var e=f[u],s=e.name,o=e.property;this.binders[o].setUniform(e.binding,r,i.get(o),s)}};hi.prototype.updatePaintBuffers=function(n){var i,t;for(i in this._buffers=[],this.binders)t=this.binders[i],n&&t instanceof wi?(i=2===n.fromScale?t.zoomInPaintVertexBuffer:t.zoomOutPaintVertexBuffer)&&this._buffers.push(i):(t instanceof vi||t instanceof gt)&&t.paintVertexBuffer&&this._buffers.push(t.paintVertexBuffer)};hi.prototype.upload=function(n){for(var t in this.binders)t=this.binders[t],(t instanceof vi||t instanceof gt||t instanceof wi)&&t.upload(n);this.updatePaintBuffers()};hi.prototype.destroy=function(){for(var n in this.binders)n=this.binders[n],(n instanceof vi||n instanceof gt||n instanceof wi)&&n.destroy()};tr.prototype.populatePaintArrays=function(n,t,i,r,u,f){for(var e in this.programConfigurations)this.programConfigurations[e].populatePaintArrays(n,t,r,u,f);void 0!==t.id&&this._featureMap.add(t.id,i,this._bufferOffset,n);this._bufferOffset=n;this.needsUpload=!0};tr.prototype.updatePaintArrays=function(n,t,i,r){for(var e,u=0,f=i;u<f.length;u+=1)e=f[u],this.needsUpload=this.programConfigurations[e.id].updatePaintArrays(n,this._featureMap,t,e,r)||this.needsUpload};tr.prototype.get=function(n){return this.programConfigurations[n]};tr.prototype.upload=function(n){if(this.needsUpload){for(var t in this.programConfigurations)this.programConfigurations[t].upload(n);this.needsUpload=!1}};tr.prototype.destroy=function(){for(var n in this.programConfigurations)this.programConfigurations[n].destroy()};f("ConstantBinder",df);f("CrossFadedConstantBinder",su);f("SourceExpressionBinder",vi);f("CrossFadedCompositeBinder",wi);f("CompositeExpressionBinder",gt);f("ProgramConfiguration",hi,{omit:["_buffers"]});f("ProgramConfigurationSet",tr);ow=Math.pow(2,14)-1;bd=-ow-1;pr.prototype.populate=function(n,t,i){var y=this.layers[0],h=[],u=null,f,c,o,a;for("circle"===y.type&&(u=y.layout.get("circle-sort-key")),f=0,c=n;f<c.length;f+=1){var r=c[f],e=r.feature,k=r.id,d=r.index,g=r.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,l=ne(e,p);this.layers[0]._featureFilter.filter(new w(this.zoom),l,i)&&(r=u?u.evaluate(l,{},i):void 0,r={id:k,properties:e.properties,type:e.type,sourceLayerIndex:g,index:d,geometry:p?l.geometry:gf(e),patterns:{},sortKey:r},h.push(r))}for(u&&h.sort(function(n,t){return n.sortKey-t.sortKey}),o=0,a=h;o<a.length;o+=1){var s=a[o],b=s.geometry,v=s.index,nt=s.sourceLayerIndex,tt=n[v].feature;this.addFeature(s,b,v,i);t.featureIndex.insert(tt,b,v,nt,this.index)}};pr.prototype.update=function(n,t,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers,i)};pr.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};pr.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};pr.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,lrt),this.indexBuffer=n.createIndexBuffer(this.indexArray));this.programConfigurations.upload(n);this.uploaded=!0};pr.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())};pr.prototype.addFeature=function(n,t,i,r){for(var s,c,o=0,h=t;o<h.length;o+=1)for(s=0,c=h[o];s<c.length;s+=1){var l,u=c[s],f=u.x,e=u.y;f<0||8192<=f||e<0||8192<=e||(u=(l=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,n.sortKey)).vertexLength,sw(this.layoutVertexArray,f,e,-1,-1),sw(this.layoutVertexArray,f,e,1,-1),sw(this.layoutVertexArray,f,e,1,1),sw(this.layoutVertexArray,f,e,-1,1),this.indexArray.emplaceBack(u,u+1,u+2),this.indexArray.emplaceBack(u,u+3,u+2),l.vertexLength+=4,l.primitiveLength+=2)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i,{},r)};f("CircleBucket",pr,{omit:["layers"]});var au=new ai({"circle-sort-key":new o(t.layout_circle["circle-sort-key"])}),aot={paint:new ai({"circle-radius":new o(t.paint_circle["circle-radius"]),"circle-color":new o(t.paint_circle["circle-color"]),"circle-blur":new o(t.paint_circle["circle-blur"]),"circle-opacity":new o(t.paint_circle["circle-opacity"]),"circle-translate":new s(t.paint_circle["circle-translate"]),"circle-translate-anchor":new s(t.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new s(t.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new s(t.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new o(t.paint_circle["circle-stroke-width"]),"circle-stroke-color":new o(t.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new o(t.paint_circle["circle-stroke-opacity"])}),layout:au},yi="undefined"!=typeof Float32Array?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=arguments,i=0,n=arguments.length;n--;)i+=t[n]*t[n];return Math.sqrt(i)});ei=tut;pt=new yi(3);yi!=Float32Array&&(pt[0]=0,pt[1]=0,pt[2]=0);et=new yi(4);yi!=Float32Array&&(et[0]=0,et[1]=0,et[2]=0,et[3]=0);vy=(ir=new yi(2),yi!=Float32Array&&(ir[0]=0,ir[1]=0),(va=yr)&&(cs.__proto__=va),((cs.prototype=Object.create(va&&va.prototype)).constructor=cs).prototype.createBucket=function(n){return new pr(n)},cs.prototype.queryRadius=function(n){return aa("circle-radius",this,n)+aa("circle-stroke-width",this,n)+hw(this.paint.get("circle-translate"))},cs.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e,o){for(var c,v,p,n=cw(n,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),f.angle,e),i=this.paint.get("circle-radius").evaluate(t,i)+this.paint.get("circle-stroke-width").evaluate(t,i),l="map"===this.paint.get("circle-pitch-alignment"),b=l?n:(p=o,n.map(function(n){return iut(n,p)})),k=l?i*e:i,a=0,w=r;a<w.length;a+=1)for(c=0,v=w[a];c<v.length;c+=1){var s=v[c],y=l?s:iut(s,o),h=k,s=lw([],[s.x,s.y,0,1],o);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?h*=s[3]/f.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(h*=f.cameraToCenterDistance/s[3]),s=h,hs(h=b,y=y)||dd(y,h,s))return!0}return!1},cs);ng=((ya=pr)&&(tg.__proto__=ya),(tg.prototype=Object.create(ya&&ya.prototype)).constructor=tg);f("HeatmapBucket",ng,{omit:["layers"]});nf=function(n,t){ig(this,n,1,t)};nf.prototype.resize=function(n){rut(this,n,1)};nf.prototype.clone=function(){return new nf({width:this.width,height:this.height},new Uint8Array(this.data))};nf.copy=function(n,t,i,r,u){rg(n,t,i,r,u,1)};ri.prototype.resize=function(n){rut(this,n,4)};ri.prototype.replace=function(n,t){t?this.data.set(n):this.data=n instanceof Uint8ClampedArray?new Uint8Array(n.buffer):n};ri.prototype.clone=function(){return new ri({width:this.width,height:this.height},new Uint8Array(this.data))};ri.copy=function(n,t,i,r,u){rg(n,t,i,r,u,4)};f("AlphaImage",nf);f("RGBAImage",ri);uut={paint:new ai({"heatmap-radius":new o(t.paint_heatmap["heatmap-radius"]),"heatmap-weight":new o(t.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new s(t.paint_heatmap["heatmap-intensity"]),"heatmap-color":new nr(t.paint_heatmap["heatmap-color"]),"heatmap-opacity":new s(t.paint_heatmap["heatmap-opacity"])})};var pa,wa,ay=((wa=yr)&&(wr.__proto__=wa),((wr.prototype=Object.create(wa&&wa.prototype)).constructor=wr).prototype.createBucket=function(n){return new ng(n)},wr.prototype._handleSpecialPaintPropertyUpdate=function(n){"heatmap-color"===n&&this._updateColorRamp()},wr.prototype._updateColorRamp=function(){this.colorRamp=fut({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp});this.colorRampTexture=null},wr.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},wr.prototype.queryRadius=function(){return 0},wr.prototype.queryIntersectsFeature=function(){return!1},wr.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},wr),vot={paint:new ai({"hillshade-illumination-direction":new s(t.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new s(t.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new s(t.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new s(t.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new s(t.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new s(t.paint_hillshade["hillshade-accent-color"])})},pk=((pa=yr)&&(aw.__proto__=pa),((aw.prototype=Object.create(pa&&pa.prototype)).constructor=aw).prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},aw),yot=vt([{name:"a_pos",components:2,type:"Int16"}],4).members,ug=vw,dt=vw;vw.deviation=function(n,t,i,r){var h=t&&t.length,f=Math.abs(og(n,0,h?t[0]*i:n.length,i)),s,e,u;if(h)for(u=0,s=t.length;u<s;u++)f-=Math.abs(og(n,t[u]*i,u<s-1?t[u+1]*i:n.length,i));for(e=0,u=0;u<r.length;u+=3){var o=r[u]*i,c=r[u+1]*i,l=r[u+2]*i;e+=Math.abs((n[o]-n[l])*(n[1+c]-n[1+o])-(n[o]-n[c])*(n[1+l]-n[1+o]))}return 0===f&&0===e?0:Math.abs((e-f)/f)};vw.flatten=function(n){for(var i,r,f=n[0][0].length,u={vertices:[],holes:[],dimensions:f},e=0,t=0;t<n.length;t++){for(i=0;i<n[t].length;i++)for(r=0;r<f;r++)u.vertices.push(n[t][i][r]);0<t&&u.holes.push(e+=n[t-1].length)}return u};ug.default=dt;sr.prototype.populate=function(n,t,i){var e,l;this.hasPattern=hg("fill",this.layers,t);for(var o=this.layers[0].layout.get("fill-sort-key"),s=[],h=0,v=n;h<v.length;h+=1){var r=v[h],f=r.feature,k=r.id,d=r.index,g=r.sourceLayerIndex,y=this.layers[0]._featureFilter.needGeometry,c=ne(f,y);this.layers[0]._featureFilter.filter(new w(this.zoom),c,i)&&(r=o?o.evaluate(c,{},i,t.availableImages):void 0,r={id:k,properties:f.properties,type:f.type,sourceLayerIndex:g,index:d,geometry:y?c.geometry:gf(f),patterns:{},sortKey:r},s.push(r))}for(o&&s.sort(function(n,t){return n.sortKey-t.sortKey}),e=0,l=s;e<l.length;e+=1){var p,u=l[e],b=u.geometry,a=u.index,nt=u.sourceLayerIndex;this.hasPattern?(p=cg("fill",this.layers,u,this.zoom,t),this.patternFeatures.push(p)):this.addFeature(u,b,a,i,{});t.featureIndex.insert(n[a].feature,b,a,nt,this.index)}};sr.prototype.update=function(n,t,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers,i)};sr.prototype.addFeatures=function(n,t,i){for(var u,r=0,f=this.patternFeatures;r<f.length;r+=1)u=f[r],this.addFeature(u,u.geometry,u.index,t,i)};sr.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};sr.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};sr.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,yot),this.indexBuffer=n.createIndexBuffer(this.indexArray),this.indexBuffer2=n.createIndexBuffer(this.indexArray2));this.programConfigurations.upload(n);this.uploaded=!0};sr.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())};sr.prototype.addFeature=function(n,t,i,r,u){for(var f,a,c,e,s,h,l=0,v=sg(t,500);l<v.length;l+=1){for(var y=v[l],p=0,w=0,g=y;w<g.length;w+=1)p+=g[w].length;for(var b=this.segments.prepareSegment(p,this.layoutVertexArray,this.indexArray),k=b.vertexLength,o=[],nt=[],d=0,tt=y;d<tt.length;d+=1)if(f=tt[d],0!==f.length){for(f!==y[0]&&nt.push(o.length/2),a=this.segments2.prepareSegment(f.length,this.layoutVertexArray,this.indexArray2),c=a.vertexLength,this.layoutVertexArray.emplaceBack(f[0].x,f[0].y),this.indexArray2.emplaceBack(c+f.length-1,c),o.push(f[0].x),o.push(f[0].y),e=1;e<f.length;e++)this.layoutVertexArray.emplaceBack(f[e].x,f[e].y),this.indexArray2.emplaceBack(c+e-1,c+e),o.push(f[e].x),o.push(f[e].y);a.vertexLength+=f.length;a.primitiveLength+=f.length}for(s=ug(o,nt),h=0;h<s.length;h+=3)this.indexArray.emplaceBack(k+s[h],k+s[h+1],k+s[h+2]);b.vertexLength+=p;b.primitiveLength+=s.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i,u,r)};f("FillBucket",sr,{omit:["layers","patternFeatures"]});var as,au=new ai({"fill-sort-key":new o(t.layout_fill["fill-sort-key"])}),kot={paint:new ai({"fill-antialias":new s(t.paint_fill["fill-antialias"]),"fill-opacity":new o(t.paint_fill["fill-opacity"]),"fill-color":new o(t.paint_fill["fill-color"]),"fill-outline-color":new o(t.paint_fill["fill-outline-color"]),"fill-translate":new s(t.paint_fill["fill-translate"]),"fill-translate-anchor":new s(t.paint_fill["fill-translate-anchor"]),"fill-pattern":new tt(t.paint_fill["fill-pattern"])}),layout:au},pt=((as=yr)&&(rf.__proto__=as),((rf.prototype=Object.create(as&&as.prototype)).constructor=rf).prototype.recalculate=function(n,t){as.prototype.recalculate.call(this,n,t);t=this.paint._values["fill-outline-color"];"constant"===t.value.kind&&void 0===t.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},rf.prototype.createBucket=function(n){return new sr(n)},rf.prototype.queryRadius=function(){return hw(this.paint.get("fill-translate"))},rf.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e){return drt(cw(n,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),f.angle,e),r)},rf.prototype.isTileClipped=function(){return!0},rf),dot=vt([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,cut=vs;vs.types=["Unknown","Point","LineString","Polygon"];vs.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var n,f,s=t.readVarint()+t.pos,i=1,r=0,e=0,o=0,u=[];t.pos<s;)if(r<=0&&(i=7&(f=t.readVarint()),r=f>>3),r--,1===i||2===i)e+=t.readSVarint(),o+=t.readSVarint(),1===i&&(n&&u.push(n),n=[]),n.push(new h(e,o));else{if(7!==i)throw new Error("unknown command "+i);n&&n.push(n[0].clone())}return n&&u.push(n),u};vs.prototype.bbox=function(){var n=this._pbf;n.pos=this._geometry;for(var h,c=n.readVarint()+n.pos,t=1,u=0,i=0,r=0,f=1/0,e=-1/0,o=1/0,s=-1/0;n.pos<c;)if(u<=0&&(t=7&(h=n.readVarint()),u=h>>3),u--,1===t||2===t)(i+=n.readSVarint())<f&&(f=i),e<i&&(e=i),(r+=n.readSVarint())<o&&(o=r),s<r&&(s=r);else if(7!==t)throw new Error("unknown command "+t);return[f,o,e,s]};vs.prototype.toGeoJSON=function(n,t,i){function e(n){for(var i,t=0;t<n.length;t++)i=n[t],n[t]=[360*(i.x+h)/s-180,360/Math.PI*Math.atan(Math.exp((180-360*(i.y+c)/s)*Math.PI/180))-90]}var f,s=this.extent*Math.pow(2,i),h=this.extent*n,c=this.extent*t,r=this.loadGeometry(),t=vs.types[this.type],o,u;switch(this.type){case 1:for(o=[],u=0;u<r.length;u++)o[u]=r[u][0];e(r=o);break;case 2:for(u=0;u<r.length;u++)e(r[u]);break;case 3:for(r=function(n){var e=n.length,t,f,r,i,u;if(e<=1)return[n];for(r=[],i=0;i<e;i++)u=function(n){for(var i,r,u=0,t=0,f=n.length,e=f-1;t<f;e=t++)u+=((r=n[e]).x-(i=n[t]).x)*(i.y+r.y);return u}(n[i]),0!==u&&((f=void 0===f?u<0:f)===u<0?(t&&r.push(t),t=[n[i]]):t.push(n[i]));return t&&r.push(t),r}(r),u=0;u<r.length;u++)for(f=0;f<r[u].length;f++)e(r[u][f])}return 1===r.length?r=r[0]:t="Multi"+t,t={type:"Feature",geometry:{type:t,coordinates:r},properties:this.properties},"id"in this&&(t.id=this.id),t};lg=lut;lut.prototype.feature=function(n){if(n<0||n>=this._features.length)throw new Error("feature index out of bounds");return this._pbf.pos=this._features[n],n=this._pbf.readVarint()+this._pbf.pos,new cut(this._pbf,n,this.extent,this._keys,this._values)};var ys={VectorTile:function(n,t){this.layers=n.readFields(tst,{},t)},VectorTileFeature:cut,VectorTileLayer:lg},ist=ys.VectorTileFeature.types,ag=Math.pow(2,13);hr.prototype.populate=function(n,t,i){var f,e;for(this.features=[],this.hasPattern=hg("fill-extrusion",this.layers,t),f=0,e=n;f<e.length;f+=1){var r=e[f],u=r.feature,c=r.id,o=r.index,s=r.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,r=ne(u,h);this.layers[0]._featureFilter.filter(new w(this.zoom),r,i)&&(r={id:c,sourceLayerIndex:s,index:o,geometry:h?r.geometry:gf(u),properties:u.properties,type:u.type,patterns:{}},this.hasPattern?this.features.push(cg("fill-extrusion",this.layers,r,this.zoom,t)):this.addFeature(r,r.geometry,o,i,{}),t.featureIndex.insert(u,r.geometry,o,s,this.index,!0))}};hr.prototype.addFeatures=function(n,t,i){for(var u,r=0,f=this.features;r<f.length;r+=1)u=f[r],this.addFeature(u,u.geometry,u.index,t,i)};hr.prototype.update=function(n,t,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers,i)};hr.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};hr.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};hr.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,dot),this.indexBuffer=n.createIndexBuffer(this.indexArray));this.programConfigurations.upload(n);this.uploaded=!0};hr.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())};hr.prototype.addFeature=function(n,t,i,r,u){for(var b,l,c,a,o,s,f,h,p,tt,w,v,y,k=0,it=sg(t,500);k<it.length;k+=1){for(var d=it[k],g=0,rt=0,ot=d;rt<ot.length;rt+=1)g+=ot[rt].length;for(var e=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),ut=0,st=d;ut<st.length;ut+=1)if(l=st[ut],0!==l.length&&!((b=l).every(function(n){return n.x<0})||b.every(function(n){return 8192<n.x})||b.every(function(n){return n.y<0})||b.every(function(n){return 8192<n.y})))for(c=0,a=0;a<l.length;a++)h=l[a],1<=a&&(o=l[a-1],f=o,(s=h).x===f.x&&(s.x<0||8192<s.x)||s.y===f.y&&(s.y<0||8192<s.y)||(e.vertexLength+4>ct.MAX_VERTEX_ARRAY_LENGTH&&(e=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)),f=h.sub(o)._perp()._unit(),32768<c+(s=o.dist(h))&&(c=0),nv(this.layoutVertexArray,h.x,h.y,f.x,f.y,0,0,c),nv(this.layoutVertexArray,h.x,h.y,f.x,f.y,0,1,c),nv(this.layoutVertexArray,o.x,o.y,f.x,f.y,0,0,c+=s),nv(this.layoutVertexArray,o.x,o.y,f.x,f.y,0,1,c),f=e.vertexLength,this.indexArray.emplaceBack(f,f+2,f+1),this.indexArray.emplaceBack(f+1,f+2,f+3),e.vertexLength+=4,e.primitiveLength+=2));if(e.vertexLength+g>ct.MAX_VERTEX_ARRAY_LENGTH&&(e=this.segments.prepareSegment(g,this.layoutVertexArray,this.indexArray)),"Polygon"===ist[n.type]){for(var nt=[],ht=[],ft=e.vertexLength,et=0,lt=d;et<lt.length;et+=1)if(p=lt[et],0!==p.length)for(p!==d[0]&&ht.push(nt.length/2),tt=0;tt<p.length;tt++)w=p[tt],nv(this.layoutVertexArray,w.x,w.y,0,0,1,1,0),nt.push(w.x),nt.push(w.y);for(v=ug(nt,ht),y=0;y<v.length;y+=3)this.indexArray.emplaceBack(ft+v[y],ft+v[y+2],ft+v[y+1]);e.primitiveLength+=v.length/3;e.vertexLength+=g}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i,u,r)};f("FillExtrusionBucket",hr,{omit:["layers","features"]});aut={paint:new ai({"fill-extrusion-opacity":new s(t["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new o(t["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new s(t["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new s(t["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new tt(t["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new o(t["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new o(t["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new s(t["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})};et=((tv=yr)&&(te.__proto__=tv),((te.prototype=Object.create(tv&&tv.prototype)).constructor=te).prototype.createBucket=function(n){return new hr(n)},te.prototype.queryRadius=function(){return hw(this.paint.get("fill-extrusion-translate"))},te.prototype.is3D=function(){return!0},te.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e,o){var l=cw(n,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),f.angle,e),s=this.paint.get("fill-extrusion-height").evaluate(t,i),c=this.paint.get("fill-extrusion-base").evaluate(t,i),i=function(n){for(var t,r=[],i=0,u=l;i<u.length;i+=1)t=u[i],t=[t.x,t.y,0,1],lw(t,t,n),r.push(new h(t[0]/t[3],t[1]/t[3]));return r}(o),o=function(n){for(var v=[],y=[],g=n[8]*c,nt=n[9]*c,tt=n[10]*c,it=n[11]*c,rt=n[8]*s,ut=n[9]*s,ft=n[10]*s,et=n[11]*s,o=0,p=r;o<p.length;o+=1){for(var w=[],b=[],l=0,k=p[o];l<k.length;l+=1){var i=k[l],u=i.x,t=i.y,d=n[0]*u+n[4]*t+n[12],e=n[1]*u+n[5]*t+n[13],a=n[2]*u+n[6]*t+n[14],f=n[3]*u+n[7]*t+n[15],ot=a+tt,i=f+it,u=d+rt,t=e+ut,a=a+ft,f=f+et,e=new h((d+g)/i,(e+nt)/i);e.z=ot/i;w.push(e);t=new h(u/f,t/f);t.z=a/f;b.push(t)}v.push(w);y.push(b)}return[v,y]}(o);return function(n,t,i){var f=1/0,e,u;for(drt(i,t)&&(f=vut(i,t[0])),e=0;e<t.length;e++)for(var o=t[e],s=n[e],r=0;r<o.length-1;r++)u=o[r],u=[u,o[r+1],s[r+1],s[r],u],krt(i,u)&&(f=Math.min(f,vut(i,u)));return f!==1/0&&f}(o[0],o[1],i)},te);var rst=vt([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,ust=vt([{name:"a_uv_x",components:1,type:"Float32"},{name:"a_split_index",components:1,type:"Float32"}]).members,fst=ys.VectorTileFeature.types,est=Math.cos(Math.PI/180*37.5),yut=Math.pow(2,14)/.5;ni.prototype.populate=function(n,t,i){var e,l;this.hasPattern=hg("line",this.layers,t);for(var o=this.layers[0].layout.get("line-sort-key"),s=[],h=0,v=n;h<v.length;h+=1){var r=v[h],f=r.feature,k=r.id,d=r.index,g=r.sourceLayerIndex,y=this.layers[0]._featureFilter.needGeometry,c=ne(f,y);this.layers[0]._featureFilter.filter(new w(this.zoom),c,i)&&(r=o?o.evaluate(c,{},i):void 0,r={id:k,properties:f.properties,type:f.type,sourceLayerIndex:g,index:d,geometry:y?c.geometry:gf(f),patterns:{},sortKey:r},s.push(r))}for(o&&s.sort(function(n,t){return n.sortKey-t.sortKey}),e=0,l=s;e<l.length;e+=1){var p,u=l[e],b=u.geometry,a=u.index,nt=u.sourceLayerIndex;this.hasPattern?(p=cg("line",this.layers,u,this.zoom,t),this.patternFeatures.push(p)):this.addFeature(u,b,a,i,{});t.featureIndex.insert(n[a].feature,b,a,nt,this.index)}};ni.prototype.update=function(n,t,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers,i)};ni.prototype.addFeatures=function(n,t,i){for(var u,r=0,f=this.patternFeatures;r<f.length;r+=1)u=f[r],this.addFeature(u,u.geometry,u.index,t,i)};ni.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};ni.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};ni.prototype.upload=function(n){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=n.createVertexBuffer(this.layoutVertexArray2,ust)),this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,rst),this.indexBuffer=n.createIndexBuffer(this.indexArray));this.programConfigurations.upload(n);this.uploaded=!0};ni.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())};ni.prototype.lineFeatureClips=function(n){if(n.properties&&n.properties.hasOwnProperty("mapbox_clip_start")&&n.properties.hasOwnProperty("mapbox_clip_end"))return{start:+n.properties.mapbox_clip_start,end:+n.properties.mapbox_clip_end}};ni.prototype.addFeature=function(n,t,i,r,u){var f=this.layers[0].layout,s=f.get("line-join").evaluate(n,{}),h=f.get("line-cap"),c=f.get("line-miter-limit"),l=f.get("line-round-limit"),e,o;for(this.lineClips=this.lineFeatureClips(n),e=0,o=t;e<o.length;e+=1)this.addLine(o[e],n,s,h,c,l);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i,u,r)};ni.prototype.addLine=function(n,t,i,r,u,f){var nt,tt,a,k,d,ut,o,ot,et,st,b;if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){for(this.lineClipsArray.push(this.lineClips),nt=0;nt<n.length-1;nt++)this.totalDistance+=n[nt].dist(n[nt+1]);this.updateScaledDistance();this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}for(tt="Polygon"===fst[t.type],a=n.length;2<=a&&n[a-1].equals(n[a-2]);)a--;for(k=0;k<a-1&&n[k].equals(n[k+1]);)k++;if(!(a<(tt?3:2))){"bevel"===i&&(u=1.05);var ft=this.overscaling<=16?240/this.overscaling:0,l=this.segments.prepareSegment(10*a,this.layoutVertexArray,this.indexArray),v=void 0,w=void 0,h=void 0,s=void 0;for(this.e1=this.e2=-1,tt&&(s=n[k].sub(e=n[a-2])._unit()._perp()),d=k;d<a;d++)if(!(w=d===a-1?tt?n[k+1]:void 0:n[d+1])||!n[d].equals(w)){s&&(h=s);e&&(v=e);var e=n[d],s=w?w.sub(e)._unit()._perp():h,c=(h=h||s).add(s);0===c.x&&0===c.y||c._unit();var it=h.x*s.x+h.y*s.y,y=c.x*s.x+c.y*s.y,p=0!=y?1/y:1/0,ht=2*Math.sqrt(2-2*y),y=y<est&&v&&w,rt=0<h.x*s.y-h.y*s.x;if(y&&k<d&&2*ft<(ut=e.dist(v))&&(o=e.sub(e.sub(v)._mult(ft/ut)._round()),this.updateDistance(v,o),this.addCurrentVertex(o,h,0,0,l),v=o),ut=v&&w,o=ut?i:tt?"butt":r,ut&&"round"===o&&(p<f?o="miter":p<=2&&(o="fakeround")),"bevel"===(o="miter"===o&&u<p?"bevel":o)&&(2<p&&(o="flipbevel"),p<u&&(o="miter")),v&&this.updateDistance(v,e),"miter"===o)c._mult(p),this.addCurrentVertex(e,c,0,0,l);else if("flipbevel"===o)100<p?c=s.mult(-1):(g=p*h.add(s).mag()/h.sub(s).mag(),c._perp()._mult(g*(rt?-1:1))),this.addCurrentVertex(e,c,0,0,l),this.addCurrentVertex(e,c.mult(-1),0,0,l);else if("bevel"===o||"fakeround"===o){var g=-Math.sqrt(p*p-1),p=rt?g:0,g=rt?0:g;if(v&&this.addCurrentVertex(e,h,p,g,l),"fakeround"===o)for(ot=Math.round(180*ht/Math.PI/20),et=1;et<ot;et++)b=et/ot,.5!==b&&(b+=b*(st=b-.5)*(b-1)*((1.0904+it*(it*(3.55645-1.43519*it)-3.2452))*st*st+(.848013+it*(.215638*it-1.06021)))),b=s.sub(h)._mult(b)._add(h)._unit()._mult(rt?-1:1),this.addHalfVertex(e,b.x,b.y,!1,rt,0,l);w&&this.addCurrentVertex(e,s,-p,-g,l)}else"butt"===o?this.addCurrentVertex(e,c,0,0,l):"square"===o?this.addCurrentVertex(e,c,c=v?1:-1,c,l):"round"===o&&(v&&(this.addCurrentVertex(e,h,0,0,l),this.addCurrentVertex(e,h,1,1,l,!0)),w&&(this.addCurrentVertex(e,s,-1,-1,l,!0),this.addCurrentVertex(e,s,0,0,l)));y&&d<a-1&&2*ft<(y=e.dist(w))&&(y=e.add(w.sub(e)._mult(ft/y)._round()),this.updateDistance(e,y),this.addCurrentVertex(y,s,0,0,l),e=y)}}};ni.prototype.addCurrentVertex=function(n,t,i,r,u,f){var e=t.y*r-t.x,o=-t.y-t.x*r;this.addHalfVertex(n,t.x+t.y*i,t.y-t.x*i,f=void 0===f?!1:f,!1,i,u);this.addHalfVertex(n,e,o,f,!0,-r,u);this.distance>yut/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(n,t,i,r,u,f))};ni.prototype.addHalfVertex=function(n,t,i,r,u,f,e){var o=.5*(this.lineClips?this.scaledDistance*(yut-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((n.x<<1)+(r?1:0),(n.y<<1)+(u?1:0),Math.round(63*t)+128,Math.round(63*i)+128,1+(0===f?0:f<0?-1:1)|(63&o)<<2,o>>6);this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);o=e.vertexLength++;0<=this.e1&&0<=this.e2&&(this.indexArray.emplaceBack(this.e1,this.e2,o),e.primitiveLength++);u?this.e2=o:this.e1=o};ni.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance};ni.prototype.updateDistance=function(n,t){this.distance+=n.dist(t);this.updateScaledDistance()};f("LineBucket",ni,{omit:["layers","patternFeatures"]});var ie,ir=new ai({"line-cap":new s(t.layout_line["line-cap"]),"line-join":new o(t.layout_line["line-join"]),"line-miter-limit":new s(t.layout_line["line-miter-limit"]),"line-round-limit":new s(t.layout_line["line-round-limit"]),"line-sort-key":new o(t.layout_line["line-sort-key"])}),put={paint:new ai({"line-opacity":new o(t.paint_line["line-opacity"]),"line-color":new o(t.paint_line["line-color"]),"line-translate":new s(t.paint_line["line-translate"]),"line-translate-anchor":new s(t.paint_line["line-translate-anchor"]),"line-width":new o(t.paint_line["line-width"]),"line-gap-width":new o(t.paint_line["line-gap-width"]),"line-offset":new o(t.paint_line["line-offset"]),"line-blur":new o(t.paint_line["line-blur"]),"line-dasharray":new b(t.paint_line["line-dasharray"]),"line-pattern":new tt(t.paint_line["line-pattern"]),"line-gradient":new nr(t.paint_line["line-gradient"])}),layout:ir},wut=((ie=o)&&(rv.__proto__=ie),((rv.prototype=Object.create(ie&&ie.prototype)).constructor=rv).prototype.possiblyEvaluate=function(n,t){return t=new w(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),ie.prototype.possiblyEvaluate.call(this,n,t)},rv.prototype.evaluate=function(n,t,i,r){return t=fi({},t,{zoom:Math.floor(t.zoom)}),ie.prototype.evaluate.call(this,n,t,i,r)},new rv(put.paint.properties["line-width"].specification));wut.useIntegerZoom=!0;dt=((ps=yr)&&(br.__proto__=ps),((br.prototype=Object.create(ps&&ps.prototype)).constructor=br).prototype._handleSpecialPaintPropertyUpdate=function(n){"line-gradient"===n&&(this.stepInterpolant=this._transitionablePaint._values["line-gradient"].value.expression._styleExpression.expression instanceof ar,this.gradientVersion=(this.gradientVersion+1)%fn)},br.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},br.prototype.recalculate=function(n,t){ps.prototype.recalculate.call(this,n,t);this.paint._values["line-floorwidth"]=wut.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,n)},br.prototype.createBucket=function(n){return new ni(n)},br.prototype.queryRadius=function(n){var t=n,n=but(aa("line-width",this,t),aa("line-gap-width",this,t)),t=aa("line-offset",this,t);return n/2+Math.abs(t)+hw(this.paint.get("line-translate"))},br.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e){return n=cw(n,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),f.angle,e),f=e/2*but(this.paint.get("line-width").evaluate(t,i),this.paint.get("line-gap-width").evaluate(t,i)),i=this.paint.get("line-offset").evaluate(t,i),function(n,t,i){for(var u,f,r=0;r<t.length;r++){if(u=t[r],3<=n.length)for(f=0;f<u.length;f++)if(hs(n,u[f]))return!0;if(function(n,t,i){var r,u;if(1<n.length){if(kd(n,t))return 1;for(r=0;r<t.length;r++)if(dd(t[r],n,i))return 1}for(u=0;u<n.length;u++)if(dd(n[u],t,i))return 1}(n,u,i))return!0}return!1}(n,r=i?function(n,t){for(var s=[],c=new h(0,0),e=0;e<n.length;e++){for(var r=n[e],l=[],i=0;i<r.length;i++){var o=r[i],f=r[i+1],u=0===i?c:o.sub(r[i-1])._unit()._perp(),f=i===r.length-1?c:f.sub(o)._unit()._perp(),u=u._add(f)._unit();u._mult(1/(u.x*f.x+u.y*f.y));l.push(u._mult(t)._add(o))}s.push(l)}return s}(r,i*e):r,f)},br.prototype.isTileClipped=function(){return!0},br);var ost=vt([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),sst=vt([{name:"a_projected_pos",components:3,type:"Float32"}],4),hst=(vt([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),vt([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),kut=(vt([{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"}]),vt([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),au=vt([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);vt([{name:"triangle",components:3,type:"Uint16"}]);vt([{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"}]);vt([{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]);vt([{type:"Float32",name:"offsetX"}]);vt([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);ws={"!":"︕","#":"＃",$:"＄","%":"％","&":"＆","(":"︵",")":"︶","*":"＊","+":"＋",",":"︐","-":"︲",".":"・","/":"／",":":"︓",";":"︔","<":"︿","=":"＝",">":"﹀","?":"︖","@":"＠","[":"﹇","\\":"＼","]":"﹈","^":"＾",_:"︳","`":"｀","{":"︷","|":"―","}":"︸","~":"～","¢":"￠","£":"￡","¥":"￥","¦":"￤","¬":"￢","¯":"￣","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"￦","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","！":"︕","（":"︵","）":"︶","，":"︐","－":"︲","．":"・","：":"︓","；":"︔","＜":"︿","＞":"﹀","？":"︖","［":"﹇","］":"﹈","＿":"︳","｛":"︷","｜":"―","｝":"︸","｟":"︵","｠":"︶","｡":"︒","｢":"﹁","｣":"﹂"};uv=p;p.Varint=0;p.Fixed64=1;p.Bytes=2;p.Fixed32=5;vg="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");p.prototype={destroy:function(){this.buf=null},readFields:function(n,t,i){for(i=i||this.length;this.pos<i;){var r=this.readVarint(),u=r>>3,f=this.pos;this.type=7&r;n(u,t,this);this.pos===f&&this.skip(r)}return t},readMessage:function(n,t){return this.readFields(n,t,this.readVarint()+this.pos)},readFixed32:function(){var n=bw(this.buf,this.pos);return this.pos+=4,n},readSFixed32:function(){var n=tft(this.buf,this.pos);return this.pos+=4,n},readFixed64:function(){var n=bw(this.buf,this.pos)+4294967296*bw(this.buf,this.pos+4);return this.pos+=8,n},readSFixed64:function(){var n=bw(this.buf,this.pos)+4294967296*tft(this.buf,this.pos+4);return this.pos+=8,n},readFloat:function(){var n=dut(this.buf,this.pos,!0,23,4);return this.pos+=4,n},readDouble:function(){var n=dut(this.buf,this.pos,!0,52,8);return this.pos+=8,n},readVarint:function(n){var t,r=this.buf,i=127&(t=r[this.pos++]);return t<128?i:(i|=(127&(t=r[this.pos++]))<<7,t<128?i:(i|=(127&(t=r[this.pos++]))<<14,t<128?i:(i|=(127&(t=r[this.pos++]))<<21,t<128?i:function(n,t,i){var r,u=i.buf,f=(112&(r=u[i.pos++]))>>4;if(r<128||(f|=(127&(r=u[i.pos++]))<<3,r<128)||(f|=(127&(r=u[i.pos++]))<<10,r<128)||(f|=(127&(r=u[i.pos++]))<<17,r<128)||(f|=(127&(r=u[i.pos++]))<<24,r<128)||(f|=(1&(r=u[i.pos++]))<<31,r<128))return bs(n,f,t);throw new Error("Expected varint not more than 10 bytes");}(i|=(15&r[this.pos])<<28,n,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var n=this.readVarint();return n%2==1?(n+1)/-2:n/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var i,n=this.readVarint()+this.pos,t=this.pos;return 12<=(this.pos=n)-t&&vg?(i=this.buf,vg.decode(i.subarray(t,n))):function(n,i){for(var h="",u=t;u<i;){var o,s,c,f=n[u],r=null,e=239<f?4:223<f?3:191<f?2:1;if(i<u+e)break;1===e?f<128&&(r=f):2===e?128==(192&(o=n[u+1]))&&(r=(31&f)<<6|63&o)<=127&&(r=null):3===e?(s=n[u+2],128==(192&(o=n[u+1]))&&128==(192&s)&&((r=(15&f)<<12|(63&o)<<6|63&s)<=2047||55296<=r&&r<=57343)&&(r=null)):4===e&&(s=n[u+2],c=n[u+3],128==(192&(o=n[u+1]))&&128==(192&s)&&128==(192&c)&&((r=(15&f)<<18|(63&o)<<12|(63&s)<<6|63&c)<=65535||1114112<=r)&&(r=null));null===r?(r=65533,e=1):65535<r&&(r-=65536,h+=String.fromCharCode(r>>>10&1023|55296),r=56320|1023&r);h+=String.fromCharCode(r);u+=e}return h}(this.buf,n)},readBytes:function(){var n=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,n);return this.pos=n,t},readPackedVarint:function(n,t){if(this.type!==p.Bytes)return n.push(this.readVarint(t));var i=hu(this);for(n=n||[];this.pos<i;)n.push(this.readVarint(t));return n},readPackedSVarint:function(n){if(this.type!==p.Bytes)return n.push(this.readSVarint());var t=hu(this);for(n=n||[];this.pos<t;)n.push(this.readSVarint());return n},readPackedBoolean:function(n){if(this.type!==p.Bytes)return n.push(this.readBoolean());var t=hu(this);for(n=n||[];this.pos<t;)n.push(this.readBoolean());return n},readPackedFloat:function(n){if(this.type!==p.Bytes)return n.push(this.readFloat());var t=hu(this);for(n=n||[];this.pos<t;)n.push(this.readFloat());return n},readPackedDouble:function(n){if(this.type!==p.Bytes)return n.push(this.readDouble());var t=hu(this);for(n=n||[];this.pos<t;)n.push(this.readDouble());return n},readPackedFixed32:function(n){if(this.type!==p.Bytes)return n.push(this.readFixed32());var t=hu(this);for(n=n||[];this.pos<t;)n.push(this.readFixed32());return n},readPackedSFixed32:function(n){if(this.type!==p.Bytes)return n.push(this.readSFixed32());var t=hu(this);for(n=n||[];this.pos<t;)n.push(this.readSFixed32());return n},readPackedFixed64:function(n){if(this.type!==p.Bytes)return n.push(this.readFixed64());var t=hu(this);for(n=n||[];this.pos<t;)n.push(this.readFixed64());return n},readPackedSFixed64:function(n){if(this.type!==p.Bytes)return n.push(this.readSFixed64());var t=hu(this);for(n=n||[];this.pos<t;)n.push(this.readSFixed64());return n},skip:function(n){if(n&=7,n===p.Varint)for(;127<this.buf[this.pos++];);else if(n===p.Bytes)this.pos=this.readVarint()+this.pos;else if(n===p.Fixed32)this.pos+=4;else{if(n!==p.Fixed64)throw new Error("Unimplemented type: "+n);this.pos+=8}},writeTag:function(n,t){this.writeVarint(n<<3|t)},realloc:function(n){for(var i,t=this.length||16;t<this.pos+n;)t*=2;t!==this.length&&((i=new Uint8Array(t)).set(this.buf),this.buf=i,this.length=t)},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(n){this.realloc(4);ks(this.buf,n,this.pos);this.pos+=4},writeSFixed32:function(n){this.realloc(4);ks(this.buf,n,this.pos);this.pos+=4},writeFixed64:function(n){this.realloc(8);ks(this.buf,-1&n,this.pos);ks(this.buf,Math.floor(n*(1/4294967296)),this.pos+4);this.pos+=8},writeSFixed64:function(n){this.realloc(8);ks(this.buf,-1&n,this.pos);ks(this.buf,Math.floor(n*(1/4294967296)),this.pos+4);this.pos+=8},writeVarint:function(n){268435455<(n=+n||0)||n<0?function(t){var u,i,r;if(0<=n?(r=n%4294967296|0,u=n/4294967296|0):(u=~(-n/4294967296),4294967295^(r=~(-n%4294967296))?r=r+1|0:u=u+1|(r=0)),0x10000000000000000<=n||n<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10);i=r;(r=t).buf[r.pos++]=127&i|128;i>>>=7;r.buf[r.pos++]=127&i|128;i>>>=7;r.buf[r.pos++]=127&i|128;i>>>=7;r.buf[r.pos++]=127&i|128;r.buf[r.pos]=127&(i>>>=7);u=(7&(i=u))<<4;(t=t).buf[t.pos++]|=u|((i>>>=3)?128:0);i&&(t.buf[t.pos++]=127&i|((i>>>=7)?128:0),i&&(t.buf[t.pos++]=127&i|((i>>>=7)?128:0),i&&(t.buf[t.pos++]=127&i|((i>>>=7)?128:0),i&&(t.buf[t.pos++]=127&i|((i>>>=7)?128:0),i&&(t.buf[t.pos++]=127&i)))))}(this):(this.realloc(4),this.buf[this.pos++]=127&n|(127<n?128:0),n<=127||(this.buf[this.pos++]=127&(n>>>=7)|(127<n?128:0),n<=127||(this.buf[this.pos++]=127&(n>>>=7)|(127<n?128:0),n<=127||(this.buf[this.pos++]=n>>>7&127))))},writeSVarint:function(n){this.writeVarint(n<0?2*-n-1:2*n)},writeBoolean:function(n){this.writeVarint(Boolean(n))},writeString:function(n){n=String(n);this.realloc(4*n.length);this.pos++;var t=this.pos;this.pos=function(n,t,i){for(var r,u,f=0;f<t.length;f++){if(55295<(r=t.charCodeAt(f))&&r<57344){if(!u){56319<r||f+1===t.length?(n[i++]=239,n[i++]=191,n[i++]=189):u=r;continue}if(r<56320){n[i++]=239;n[i++]=191;n[i++]=189;u=r;continue}r=u-55296<<10|r-56320|65536;u=null}else u&&(n[i++]=239,n[i++]=191,n[i++]=189,u=null);r<128?n[i++]=r:(r<2048?n[i++]=r>>6|192:(r<65536?n[i++]=r>>12|224:(n[i++]=r>>18|240,n[i++]=r>>12&63|128),n[i++]=r>>6&63|128),n[i++]=63&r|128)}return i}(this.buf,n,this.pos);n=this.pos-t;128<=n&&nft(t,n,this);this.pos=t-1;this.writeVarint(n);this.pos+=n},writeFloat:function(n){this.realloc(4);gut(this.buf,n,this.pos,!0,23,4);this.pos+=4},writeDouble:function(n){this.realloc(8);gut(this.buf,n,this.pos,!0,52,8);this.pos+=8},writeBytes:function(n){var i=n.length,t;for(this.writeVarint(i),this.realloc(i),t=0;t<i;t++)this.buf[this.pos++]=n[t]},writeRawMessage:function(n,t){this.pos++;var i=this.pos;n(t,this);t=this.pos-i;128<=t&&nft(i,t,this);this.pos=i-1;this.writeVarint(t);this.pos+=t},writeMessage:function(n,t,i){this.writeTag(n,p.Bytes);this.writeRawMessage(t,i)},writePackedVarint:function(n,t){t.length&&this.writeMessage(n,cst,t)},writePackedSVarint:function(n,t){t.length&&this.writeMessage(n,lst,t)},writePackedBoolean:function(n,t){t.length&&this.writeMessage(n,yst,t)},writePackedFloat:function(n,t){t.length&&this.writeMessage(n,ast,t)},writePackedDouble:function(n,t){t.length&&this.writeMessage(n,vst,t)},writePackedFixed32:function(n,t){t.length&&this.writeMessage(n,pst,t)},writePackedSFixed32:function(n,t){t.length&&this.writeMessage(n,wst,t)},writePackedFixed64:function(n,t){t.length&&this.writeMessage(n,bst,t)},writePackedSFixed64:function(n,t){t.length&&this.writeMessage(n,kst,t)},writeBytesField:function(n,t){this.writeTag(n,p.Bytes);this.writeBytes(t)},writeFixed32Field:function(n,t){this.writeTag(n,p.Fixed32);this.writeFixed32(t)},writeSFixed32Field:function(n,t){this.writeTag(n,p.Fixed32);this.writeSFixed32(t)},writeFixed64Field:function(n,t){this.writeTag(n,p.Fixed64);this.writeFixed64(t)},writeSFixed64Field:function(n,t){this.writeTag(n,p.Fixed64);this.writeSFixed64(t)},writeVarintField:function(n,t){this.writeTag(n,p.Varint);this.writeVarint(t)},writeSVarintField:function(n,t){this.writeTag(n,p.Varint);this.writeSVarint(t)},writeStringField:function(n,t){this.writeTag(n,p.Bytes);this.writeString(t)},writeFloatField:function(n,t){this.writeTag(n,p.Fixed32);this.writeFloat(t)},writeDoubleField:function(n,t){this.writeTag(n,p.Fixed64);this.writeDouble(t)},writeBooleanField:function(n,t){this.writeVarintField(n,Boolean(t))}};tt={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};tt.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]};tt.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]};tt.tlbr.get=function(){return this.tl.concat(this.br)};tt.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]};Object.defineProperties(kw.prototype,tt);nr=function(n,t){var h={},c={},l,a,u,i,v,y;this.haveRenderCallbacks=[];u=[];this.addImages(n,h,u);this.addImages(t,c,u);u=ift(u);i=new ri({width:u.w||1,height:u.h||1});for(l in n)v=n[l],y=h[l].paddedRect,ri.copy(v.data,i,{x:0,y:0},{x:y.x+1,y:y.y+1},v.data);for(a in t){var r=t[a],f=c[a].paddedRect,e=f.x+1,o=f.y+1,s=r.data.width,f=r.data.height;ri.copy(r.data,i,{x:0,y:0},{x:e,y:o},r.data);ri.copy(r.data,i,{x:0,y:f-1},{x:e,y:o-1},{width:s,height:1});ri.copy(r.data,i,{x:0,y:0},{x:e,y:o+f},{width:s,height:1});ri.copy(r.data,i,{x:s-1,y:0},{x:e-1,y:o},{width:1,height:f});ri.copy(r.data,i,{x:0,y:0},{x:e+s,y:o},{width:1,height:f})}this.image=i;this.iconPositions=h;this.patternPositions=c};nr.prototype.addImages=function(n,t,i){var u,r,f;for(u in n)r=n[u],f={x:0,y:0,w:r.data.width+2,h:r.data.height+2},i.push(f),t[u]=new kw(f,r),r.hasRenderCallback&&this.haveRenderCallbacks.push(u)};nr.prototype.patchUpdatedImages=function(n,t){for(var i in n.dispatchRenderCallbacks(this.haveRenderCallbacks),n.updatedImages)this.patchUpdatedImage(this.iconPositions[i],n.getImage(i),t),this.patchUpdatedImage(this.patternPositions[i],n.getImage(i),t)};nr.prototype.patchUpdatedImage=function(n,t,i){n&&t&&n.version!==t.version&&(n.version=t.version,n=n.tl,i.update(t.data,void 0,{x:n[0],y:n[1]}))};f("ImagePosition",kw);f("ImageAtlas",nr);ci={horizontal:1,vertical:2,horizontalOnly:3};ds.forText=function(n,t){var i=new ds;return i.scale=n||1,i.fontStack=t,i};ds.forImage=function(n){var t=new ds;return t.imageName=n,t};yt=function(){this.text="";this.sectionIndex=[];this.sections=[];this.imageSectionID=null};yt.fromFeature=function(n,t){for(var u,i=new yt,r=0;r<n.sections.length;r++)u=n.sections[r],u.image?i.addImageSection(u):i.addTextSection(u,t);return i};yt.prototype.length=function(){return this.text.length};yt.prototype.getSection=function(n){return this.sections[this.sectionIndex[n]]};yt.prototype.getSectionIndex=function(n){return this.sectionIndex[n]};yt.prototype.getCharCode=function(n){return this.text.charCodeAt(n)};yt.prototype.verticalizePunctuation=function(){this.text=function(n){for(var r,u,i="",t=0;t<n.length;t++)r=n.charCodeAt(t+1)||null,u=n.charCodeAt(t-1)||null,i+=r&&ert(r)&&!ws[n[t+1]]||u&&ert(u)&&!ws[n[t-1]]||!ws[n[t]]?n[t]:ws[n[t]];return i}(this.text)};yt.prototype.trim=function(){for(var r,t,n=0,i=0;i<this.text.length&&fv[this.text.charCodeAt(i)];i++)n++;for(r=this.text.length,t=this.text.length-1;0<=t&&n<=t&&fv[this.text.charCodeAt(t)];t--)r--;this.text=this.text.substring(n,r);this.sectionIndex=this.sectionIndex.slice(n,r)};yt.prototype.substring=function(n,t){var i=new yt;return i.text=this.text.substring(n,t),i.sectionIndex=this.sectionIndex.slice(n,t),i.sections=this.sections,i};yt.prototype.toString=function(){return this.text};yt.prototype.getMaxScale=function(){var n=this;return this.sectionIndex.reduce(function(t,i){return Math.max(t,n.sections[i].scale)},0)};yt.prototype.addTextSection=function(n,t){this.text+=n.text;this.sections.push(ds.forText(n.scale,n.fontStack||t));for(var r=this.sections.length-1,i=0;i<n.text.length;++i)this.sectionIndex.push(r)};yt.prototype.addImageSection=function(n){var t=n.image?n.image.name:"";0!==t.length?(n=this.getNextImageSectionCharCode())?(this.text+=String.fromCharCode(n),this.sections.push(ds.forImage(t)),this.sectionIndex.push(this.sections.length-1)):ti("Reached maximum number of images 6401"):ti("Can't add FormattedSection with an empty image.")};yt.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?63743<=this.imageSectionID?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};fv={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0};ui={};ui[10]=!0;ui[32]=!0;ui[38]=!0;ui[40]=!0;ui[41]=!0;ui[43]=!0;ui[45]=!0;ui[47]=!0;ui[173]=!0;ui[183]=!0;ui[8203]=!0;ui[8208]=!0;ui[8211]=!0;ui[8231]=!0;re=((ev=h)&&(ov.__proto__=ev),((ov.prototype=Object.create(ev&&ev.prototype)).constructor=ov).prototype.clone=function(){return new ov(this.x,this.y,this.angle,this.segment)},ov);f("Anchor",re);ir=Object.freeze({__proto__:null,getSizeData:wg,evaluateSizeForFeature:oft,evaluateSizeForZoom:sft,SIZE_PACK_FACTOR:128});ue=function(n,t){if(void 0===t&&(t=tht),this.data=n=void 0===n?[]:n,this.length=this.data.length,this.compare=t,0<this.length)for(var i=(this.length>>1)-1;0<=i;i--)this._down(i)};ue.prototype.push=function(n){this.data.push(n);this.length++;this._up(this.length-1)};ue.prototype.pop=function(){if(0!==this.length){var n=this.data[0],t=this.data.pop();return this.length--,0<this.length&&(this.data[0]=t,this._down(0)),n}};ue.prototype.peek=function(){return this.data[0]};ue.prototype._up=function(n){for(var i,r,t=this.data,f=this.compare,u=t[n];0<n;){if(i=n-1>>1,r=t[i],0<=f(u,r))break;t[n]=r;n=i}t[n]=u};ue.prototype._down=function(n){for(var t=this.data,f=this.compare,o=this.length>>1,e=t[n];n<o;){var i=1+(n<<1),r=t[i],u=i+1;if(u<this.length&&f(t[u],r)<0&&(r=t[i=u]),0<=f(r,e))break;t[n]=r;n=i}t[n]=e};tb=Number.POSITIVE_INFINITY;dft=ys.VectorTileFeature.types;gft=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];nh.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length};nh.prototype.upload=function(n,t,i,r){this.isEmpty()||(i&&(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,ost.members),this.indexBuffer=n.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=n.createVertexBuffer(this.dynamicLayoutVertexArray,sst.members,!0),this.opacityVertexBuffer=n.createVertexBuffer(this.opacityVertexArray,gft,!0),this.opacityVertexBuffer.itemSize=1),(i||r)&&this.programConfigurations.upload(n))};nh.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())};f("SymbolBuffers",nh);sv.prototype.upload=function(n){this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes);this.indexBuffer=n.createIndexBuffer(this.indexArray);this.collisionVertexBuffer=n.createVertexBuffer(this.collisionVertexArray,hst.members,!0)};sv.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())};f("CollisionBuffers",sv);v.prototype.createArrays=function(){this.text=new nh(new tr(this.layers,this.zoom,function(n){return/^text/.test(n)}));this.icon=new nh(new tr(this.layers,this.zoom,function(n){return/^icon/.test(n)}));this.glyphOffsetArray=new ad;this.lineVertexArray=new vd;this.symbolInstances=new ld};v.prototype.calculateGlyphDependencies=function(n,t,i,r,u){for(var e,f=0;f<n.length;f++)t[n.charCodeAt(f)]=!0,(i||r)&&u&&(e=ws[n.charAt(f)])&&(t[e.charCodeAt(0)]=!0)};v.prototype.populate=function(n,t,i){var o=this.layers[0],f=o.layout,y=f.get("text-font"),c=f.get("text-field"),p=f.get("icon-image"),d=("constant"!==c.value.kind||c.value.value instanceof at&&!c.value.value.isEmpty()||0<c.value.value.toString().length)&&("constant"!==y.value.kind||0<y.value.value.length),g="constant"!==p.value.kind||!!p.value.value||0<Object.keys(p.parameters).length,st=f.get("symbol-sort-key"),e,u,s,ft,et,a,k,ot,v,h;if(this.features=[],d||g){for(var nt=t.iconDependencies,tt=t.glyphDependencies,it=t.availableImages,ht=new w(this.zoom),b=0,rt=n;b<rt.length;b+=1){var r=rt[b],l=r.feature,ct=r.id,lt=r.index,vt=r.sourceLayerIndex,ut=o._featureFilter.needGeometry,r=ne(l,ut);if(o._featureFilter.filter(ht,r,i)&&(ut||(r.geometry=gf(l)),e=void 0,d&&(u=o.getValueAndResolveTokens("text-field",r,i,it),rht(u=at.factory(u))&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===ii||this.hasRTLText&&li.isParsed())&&(e=function(n,t,i){return n.sections.forEach(function(n){n.text=function(n,i){return i=t.layout.get("text-transform").evaluate(i,{}),"uppercase"===i?n=n.toLocaleUpperCase():"lowercase"===i&&(n=n.toLocaleLowerCase()),n=li.applyArabicShaping?li.applyArabicShaping(n):n}(n.text,i)}),n}(u,o,r))),u=void 0,(g&&(u=(s=o.getValueAndResolveTokens("icon-image",r,i,it))instanceof oi?s:oi.fromString(s)),e||u)&&(s=this.sortFeaturesByKey?st.evaluate(r,{},i):void 0,this.features.push({id:ct,text:e,icon:u,index:lt,sourceLayerIndex:vt,geometry:r.geometry,properties:l.properties,type:dft[l.type],sortKey:s}),u&&(nt[u.name]=!0),e)))for(ft=y.evaluate(r,{},i).join(","),et="map"===f.get("text-rotation-alignment")&&"point"!==f.get("symbol-placement"),this.allowVerticalPlacement=this.writingModes&&0<=this.writingModes.indexOf(ci.vertical),a=0,k=e.sections;a<k.length;a+=1)h=k[a],h.image?nt[h.image.name]=!0:(ot=rd(e.toString()),v=tt[v=h.fontStack||ft]=tt[v]||{},this.calculateGlyphDependencies(h.text,v,et,this.allowVerticalPlacement,ot))}"line"===f.get("symbol-placement")&&(this.features=function(n){function v(i){t.push(n[i]);c++}function y(n,i,r){var f=u[n];return delete u[n],u[i]=f,t[f].geometry[0].pop(),t[f].geometry[0]=t[f].geometry[0].concat(r[0]),f}function p(n,i,r){var u=f[i];return delete f[i],f[n]=u,t[u].geometry[0].shift(),t[u].geometry[0]=r[0].concat(t[u].geometry[0]),u}function l(n,t,i){return t=i?t[0][t[0].length-1]:t[0][0],n+":"+t.x+":"+t.y}for(var f={},u={},t=[],c=0,o=0;o<n.length;o++){var i,r,a,e=n[o],s=e.geometry,h=e.text?e.text.toString():null;h?(i=l(h,s),r=l(h,s,!0),i in u&&r in f&&u[i]!==f[r]?(a=p(i,r,s),e=y(i,r,t[a].geometry),delete f[i],delete u[r],u[l(h,t[e].geometry,!0)]=e,t[a].geometry=null):i in u?y(i,r,s):r in f?p(i,r,s):(v(o),f[i]=c-1,u[r]=c-1)):v(o)}return t.filter(function(n){return n.geometry})}(this.features));this.sortFeaturesByKey&&this.features.sort(function(n,t){return n.sortKey-t.sortKey})}};v.prototype.update=function(n,t,i){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(n,t,this.layers,i),this.icon.programConfigurations.updatePaintArrays(n,t,this.layers,i))};v.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText};v.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload};v.prototype.upload=function(n){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(n),this.iconCollisionBox.upload(n));this.text.upload(n,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload);this.icon.upload(n,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload);this.uploaded=!0};v.prototype.destroyDebugData=function(){this.textCollisionBox.destroy();this.iconCollisionBox.destroy()};v.prototype.destroy=function(){this.text.destroy();this.icon.destroy();this.hasDebugData()&&this.destroyDebugData()};v.prototype.addToLineVertexArray=function(n,t){var o=this.lineVertexArray.length,i,u,f;if(void 0!==n.segment){for(var s=n.dist(t[n.segment+1]),h=n.dist(t[n.segment]),e={},r=n.segment+1;r<t.length;r++)e[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:s},r<t.length-1&&(s+=t[r+1].dist(t[r]));for(i=n.segment||0;0<=i;i--)e[i]={x:t[i].x,y:t[i].y,tileUnitDistanceFromAnchor:h},0<i&&(h+=t[i-1].dist(t[i]));for(u=0;u<t.length;u++)f=e[u],this.lineVertexArray.emplaceBack(f.x,f.y,f.tileUnitDistanceFromAnchor)}return{lineStartIndex:o,lineLength:this.lineVertexArray.length-o}};v.prototype.addSymbols=function(n,t,i,r,u,f,e,o,s,h,c,l){for(var it=n.indexArray,y=n.layoutVertexArray,b=n.segments.prepareSegment(4*t.length,y,it,this.canOverlap?f.sortKey:void 0),rt=this.glyphOffsetArray.length,lt=b.vertexLength,at=this.allowVerticalPlacement&&e===ci.vertical?Math.PI/2:0,ut=f.text&&f.text.sections,w=0;w<t.length;w++){var a=t[w],ft=a.tl,et=a.tr,ot=a.bl,st=a.br,v=a.tex,k=a.pixelOffsetTL,d=a.pixelOffsetBR,g=a.minFontScaleX,nt=a.minFontScaleY,ht=a.glyphOffset,tt=a.isSDF,ct=a.sectionIndex,p=b.vertexLength,a=ht[1];ib(y,o.x,o.y,ft.x,a+ft.y,v.x,v.y,i,tt,k.x,k.y,g,nt);ib(y,o.x,o.y,et.x,a+et.y,v.x+v.w,v.y,i,tt,d.x,k.y,g,nt);ib(y,o.x,o.y,ot.x,a+ot.y,v.x,v.y+v.h,i,tt,k.x,d.y,g,nt);ib(y,o.x,o.y,st.x,a+st.y,v.x+v.w,v.y+v.h,i,tt,d.x,d.y,g,nt);kg(n.dynamicLayoutVertexArray,o,at);it.emplaceBack(p,p+1,p+2);it.emplaceBack(p+1,p+2,p+3);b.vertexLength+=4;b.primitiveLength+=2;this.glyphOffsetArray.emplaceBack(ht[0]);w!==t.length-1&&ct===t[w+1].sectionIndex||n.programConfigurations.populatePaintArrays(y.length,f,f.index,{},l,ut&&ut[ct])}n.placedSymbolArray.emplaceBack(o.x,o.y,rt,this.glyphOffsetArray.length-rt,lt,s,h,o.segment,i?i[0]:0,i?i[1]:0,r[0],r[1],e,0,!1,0,c)};v.prototype._addCollisionDebugVertex=function(n,t,i,r,u,f){return t.emplaceBack(0,0),n.emplaceBack(i.x,i.y,r,u,Math.round(f.x),Math.round(f.y))};v.prototype.addCollisionDebugVertices=function(n,t,i,r,u,f,e){var a=u.segments.prepareSegment(4,u.layoutVertexArray,u.indexArray),o=a.vertexLength,s=u.layoutVertexArray,c=u.collisionVertexArray,l=e.anchorX,e=e.anchorY;this._addCollisionDebugVertex(s,c,f,l,e,new h(n,t));this._addCollisionDebugVertex(s,c,f,l,e,new h(i,t));this._addCollisionDebugVertex(s,c,f,l,e,new h(i,r));this._addCollisionDebugVertex(s,c,f,l,e,new h(n,r));a.vertexLength+=4;u=u.indexArray;u.emplaceBack(o,o+1);u.emplaceBack(o+1,o+2);u.emplaceBack(o+2,o+3);u.emplaceBack(o+3,o);a.primitiveLength+=4};v.prototype.addDebugCollisionBoxes=function(n,t,i,r){for(var u,f=n;f<t;f++)u=this.collisionBoxArray.get(f),this.addCollisionDebugVertices(u.x1,u.y1,u.x2,u.y2,r?this.textCollisionBox:this.iconCollisionBox,u.anchorPoint,i)};v.prototype.generateCollisionDebugBuffers=function(){var t,n;for(this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new sv(el,kut.members,us),this.iconCollisionBox=new sv(el,kut.members,us),t=0;t<this.symbolInstances.length;t++)n=this.symbolInstances.get(t),this.addDebugCollisionBoxes(n.textBoxStartIndex,n.textBoxEndIndex,n,!0),this.addDebugCollisionBoxes(n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n,!0),this.addDebugCollisionBoxes(n.iconBoxStartIndex,n.iconBoxEndIndex,n,!1),this.addDebugCollisionBoxes(n.verticalIconBoxStartIndex,n.verticalIconBoxEndIndex,n,!1)};v.prototype._deserializeCollisionBoxesForSymbol=function(n,t,i,r,u,f,e,o,s){for(var c,p,l,w,a,b,v,h={},y=t;y<i;y++){c=n.get(y);h.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY};h.textFeatureIndex=c.featureIndex;break}for(p=r;p<u;p++){l=n.get(p);h.verticalTextBox={x1:l.x1,y1:l.y1,x2:l.x2,y2:l.y2,anchorPointX:l.anchorPointX,anchorPointY:l.anchorPointY};h.verticalTextFeatureIndex=l.featureIndex;break}for(w=f;w<e;w++){a=n.get(w);h.iconBox={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,anchorPointX:a.anchorPointX,anchorPointY:a.anchorPointY};h.iconFeatureIndex=a.featureIndex;break}for(b=o;b<s;b++){v=n.get(b);h.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY};h.verticalIconFeatureIndex=v.featureIndex;break}return h};v.prototype.deserializeCollisionBoxes=function(n){var i,t;for(this.collisionArrays=[],i=0;i<this.symbolInstances.length;i++)t=this.symbolInstances.get(i),this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(n,t.textBoxStartIndex,t.textBoxEndIndex,t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t.iconBoxStartIndex,t.iconBoxEndIndex,t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex))};v.prototype.hasTextData=function(){return 0<this.text.segments.get().length};v.prototype.hasIconData=function(){return 0<this.icon.segments.get().length};v.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox};v.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&0<this.textCollisionBox.segments.get().length};v.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&0<this.iconCollisionBox.segments.get().length};v.prototype.addIndicesForPlacedSymbol=function(n,t){for(var t=n.placedSymbolArray.get(t),r=t.vertexStartIndex+4*t.numGlyphs,i=t.vertexStartIndex;i<r;i+=4)n.indexArray.emplaceBack(i,i+1,i+2),n.indexArray.emplaceBack(i+1,i+2,i+3)};v.prototype.getSortedSymbolIndexes=function(n){var i;if(this.sortedAngle===n&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(n),o=Math.cos(n),r=[],u=[],f=[],t=0;t<this.symbolInstances.length;++t)f.push(t),i=this.symbolInstances.get(t),r.push(0|Math.round(e*i.anchorX+o*i.anchorY)),u.push(i.featureIndex);return f.sort(function(n,t){return r[n]-r[t]||u[t]-u[n]}),f};v.prototype.addToSortKeyRanges=function(n,t){var i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===t?i.symbolInstanceEnd=n+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:n,symbolInstanceEnd:n+1})};v.prototype.sortFeatures=function(n){var u=this,i,r,t;if(this.sortFeaturesByY&&this.sortedAngle!==n&&!(1<this.text.segments.get().length||1<this.icon.segments.get().length)){for(this.symbolInstanceIndexes=this.getSortedSymbolIndexes(n),this.sortedAngle=n,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[],i=0,r=this.symbolInstanceIndexes;i<r.length;i+=1)t=this.symbolInstances.get(r[i]),this.featureSortOrder.push(t.featureIndex),[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex].forEach(function(n,t,i){0<=n&&i.indexOf(n)===t&&u.addIndicesForPlacedSymbol(u.text,n)}),0<=t.verticalPlacedTextSymbolIndex&&this.addIndicesForPlacedSymbol(this.text,t.verticalPlacedTextSymbolIndex),0<=t.placedIconSymbolIndex&&this.addIndicesForPlacedSymbol(this.icon,t.placedIconSymbolIndex),0<=t.verticalPlacedIconSymbolIndex&&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)}};f("SymbolBucket",v,{omit:["layers","collisionBoxArray","features","compareText"]});v.MAX_GLYPHS=65535;v.addDynamicAttributes=kg;tt=new ai({"symbol-placement":new s(t.layout_symbol["symbol-placement"]),"symbol-spacing":new s(t.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new s(t.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new o(t.layout_symbol["symbol-sort-key"]),"symbol-z-order":new s(t.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new s(t.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new s(t.layout_symbol["icon-ignore-placement"]),"icon-optional":new s(t.layout_symbol["icon-optional"]),"icon-rotation-alignment":new s(t.layout_symbol["icon-rotation-alignment"]),"icon-size":new o(t.layout_symbol["icon-size"]),"icon-text-fit":new s(t.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new s(t.layout_symbol["icon-text-fit-padding"]),"icon-image":new o(t.layout_symbol["icon-image"]),"icon-rotate":new o(t.layout_symbol["icon-rotate"]),"icon-padding":new s(t.layout_symbol["icon-padding"]),"icon-keep-upright":new s(t.layout_symbol["icon-keep-upright"]),"icon-offset":new o(t.layout_symbol["icon-offset"]),"icon-anchor":new o(t.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new s(t.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new s(t.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new s(t.layout_symbol["text-rotation-alignment"]),"text-field":new o(t.layout_symbol["text-field"]),"text-font":new o(t.layout_symbol["text-font"]),"text-size":new o(t.layout_symbol["text-size"]),"text-max-width":new o(t.layout_symbol["text-max-width"]),"text-line-height":new s(t.layout_symbol["text-line-height"]),"text-letter-spacing":new o(t.layout_symbol["text-letter-spacing"]),"text-justify":new o(t.layout_symbol["text-justify"]),"text-radial-offset":new o(t.layout_symbol["text-radial-offset"]),"text-variable-anchor":new s(t.layout_symbol["text-variable-anchor"]),"text-anchor":new o(t.layout_symbol["text-anchor"]),"text-max-angle":new s(t.layout_symbol["text-max-angle"]),"text-writing-mode":new s(t.layout_symbol["text-writing-mode"]),"text-rotate":new o(t.layout_symbol["text-rotate"]),"text-padding":new s(t.layout_symbol["text-padding"]),"text-keep-upright":new s(t.layout_symbol["text-keep-upright"]),"text-transform":new o(t.layout_symbol["text-transform"]),"text-offset":new o(t.layout_symbol["text-offset"]),"text-allow-overlap":new s(t.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new s(t.layout_symbol["text-ignore-placement"]),"text-optional":new s(t.layout_symbol["text-optional"])});rb={paint:new ai({"icon-opacity":new o(t.paint_symbol["icon-opacity"]),"icon-color":new o(t.paint_symbol["icon-color"]),"icon-halo-color":new o(t.paint_symbol["icon-halo-color"]),"icon-halo-width":new o(t.paint_symbol["icon-halo-width"]),"icon-halo-blur":new o(t.paint_symbol["icon-halo-blur"]),"icon-translate":new s(t.paint_symbol["icon-translate"]),"icon-translate-anchor":new s(t.paint_symbol["icon-translate-anchor"]),"text-opacity":new o(t.paint_symbol["text-opacity"]),"text-color":new o(t.paint_symbol["text-color"],{runtimeType:lr,getOverride:function(n){return n.textColor},hasOverride:function(n){return!!n.textColor}}),"text-halo-color":new o(t.paint_symbol["text-halo-color"]),"text-halo-width":new o(t.paint_symbol["text-halo-width"]),"text-halo-blur":new o(t.paint_symbol["text-halo-blur"]),"text-translate":new s(t.paint_symbol["text-translate"]),"text-translate-anchor":new s(t.paint_symbol["text-translate-anchor"])}),layout:tt};th.prototype.evaluate=function(n){if(n.formattedSection){var t=this.defaultValue.property.overrides;if(t&&t.hasOverride(n.formattedSection))return t.getOverride(n.formattedSection)}return n.feature&&n.featureState?this.defaultValue.evaluate(n.feature,n.featureState):this.defaultValue.property.specification.default};th.prototype.eachChild=function(n){this.defaultValue.isConstant()||n(this.defaultValue.value._styleExpression.expression)};th.prototype.outputDefined=function(){return!1};th.prototype.serialize=function(){return null};f("FormatSectionOverride",th,{omit:["defaultValue"]});var hv,cv,lv,ih,o=((ih=yr)&&(bi.__proto__=ih),((bi.prototype=Object.create(ih&&ih.prototype)).constructor=bi).prototype.recalculate=function(n,t){var u;if(ih.prototype.recalculate.call(this,n,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement"))if(t=this.layout.get("text-writing-mode"),t){for(var i=[],r=0,f=t;r<f.length;r+=1)u=f[r],i.indexOf(u)<0&&i.push(u);this.layout._values["text-writing-mode"]=i}else this.layout._values["text-writing-mode"]=["horizontal"];this._setPaintOverrides()},bi.prototype.getValueAndResolveTokens=function(n,t,i,r){var u,r=this.layout.get(n).evaluate(t,{},i,r),n=this._unevaluatedLayout._values[n];return n.isDataDriven()||py(n.value)||!r?r:(u=t.properties,r.replace(/{([^{}]+)}/g,function(n,t){return t in u?String(u[t]):""}))},bi.prototype.createBucket=function(n){return new v(n)},bi.prototype.queryRadius=function(){return 0},bi.prototype.queryIntersectsFeature=function(){return!1},bi.prototype._setPaintOverrides=function(){for(var n,t,r,i=0,u=rb.paint.overridableProperties;i<u.length;i+=1)r=u[i],bi.hasPaintOverride(this.layout,r)&&(n=this.paint.get(r),t=new th(n),t=new be(t,n.property.specification),t="constant"===n.value.kind||"source"===n.value.kind?new ke("source",t):new yf("composite",t,n.value.zoomStops,n.value._interpolationType),this.paint._values[r]=new pi(n.property,t,n.parameters))},bi.prototype._handleOverridablePaintPropertyUpdate=function(n,t,i){return!(!this.layout||t.isDataDriven()||i.isDataDriven())&&bi.hasPaintOverride(this.layout,n)},bi.hasPaintOverride=function(n,t){function i(n){for(var t=0,i=n;t<i.length;t+=1)if(f.overrides&&f.overrides.hasOverride(i[t]))return u=!0,0}var r,n=n.get("text-field"),f=rb.paint.properties[t],u=!1;return"constant"===n.value.kind&&n.value.value instanceof at?i(n.value.value.sections):"source"===n.value.kind&&(r=function(n){u||(n instanceof ur&&st(n.value)===wh?i(n.value.sections):n instanceof tu?i(n.sections):n.eachChild(r))},(n=n.value)._styleExpression&&r(n._styleExpression.expression)),u},bi),uht={paint:new ai({"background-color":new s(t.paint_background["background-color"]),"background-pattern":new b(t.paint_background["background-pattern"]),"background-opacity":new s(t.paint_background["background-opacity"])})},tt=((lv=yr)&&(gg.__proto__=lv),(gg.prototype=Object.create(lv&&lv.prototype)).constructor=gg),fht={paint:new ai({"raster-opacity":new s(t.paint_raster["raster-opacity"]),"raster-hue-rotate":new s(t.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new s(t.paint_raster["raster-brightness-min"]),"raster-brightness-max":new s(t.paint_raster["raster-brightness-max"]),"raster-saturation":new s(t.paint_raster["raster-saturation"]),"raster-contrast":new s(t.paint_raster["raster-contrast"]),"raster-resampling":new s(t.paint_raster["raster-resampling"]),"raster-fade-duration":new s(t.paint_raster["raster-fade-duration"])})},b=((cv=yr)&&(dg.__proto__=cv),(dg.prototype=Object.create(cv&&cv.prototype)).constructor=dg),eht=((hv=yr)&&(cr.__proto__=hv),((cr.prototype=Object.create(hv&&hv.prototype)).constructor=cr).prototype.is3D=function(){return"3d"===this.implementation.renderingMode},cr.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},cr.prototype.recalculate=function(){},cr.prototype.updateTransitions=function(){},cr.prototype.hasTransition=function(){},cr.prototype.serialize=function(){},cr.prototype.onAdd=function(n){this.implementation.onAdd&&this.implementation.onAdd(n,n.painter.context.gl)},cr.prototype.onRemove=function(n){this.implementation.onRemove&&this.implementation.onRemove(n,n.painter.context.gl)},cr),oht={circle:vy,heatmap:ay,hillshade:pk,fill:pt,"fill-extrusion":et,line:dt,symbol:o,background:tt,raster:b},net=e.HTMLImageElement,tet=e.HTMLCanvasElement,iet=e.HTMLVideoElement,ret=e.ImageData,ub=e.ImageBitmap;fe.prototype.update=function(n,t,i){var f=n.width,e=n.height,u=!(this.size&&this.size[0]===f&&this.size[1]===e||i),o=this.context,r=o.gl;this.useMipmap=Boolean(t&&t.useMipmap);r.bindTexture(r.TEXTURE_2D,this.texture);o.pixelStoreUnpackFlipY.set(!1);o.pixelStoreUnpack.set(1);o.pixelStoreUnpackPremultiplyAlpha.set(this.format===r.RGBA&&(!t||!1!==t.premultiply));u?(this.size=[f,e],n instanceof net||n instanceof tet||n instanceof iet||n instanceof ret||ub&&n instanceof ub?r.texImage2D(r.TEXTURE_2D,0,this.format,this.format,r.UNSIGNED_BYTE,n):r.texImage2D(r.TEXTURE_2D,0,this.format,f,e,0,this.format,r.UNSIGNED_BYTE,n.data)):(i=(u=i||{x:0,y:0}).x,u=u.y,n instanceof net||n instanceof tet||n instanceof iet||n instanceof ret||ub&&n instanceof ub?r.texSubImage2D(r.TEXTURE_2D,0,i,u,r.RGBA,r.UNSIGNED_BYTE,n):r.texSubImage2D(r.TEXTURE_2D,0,i,u,f,e,r.RGBA,r.UNSIGNED_BYTE,n.data));this.useMipmap&&this.isSizePowerOfTwo()&&r.generateMipmap(r.TEXTURE_2D)};fe.prototype.bind=function(n,t,i){var r=this.context.gl;r.bindTexture(r.TEXTURE_2D,this.texture);i!==r.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=r.LINEAR);n!==this.filter&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,n),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,i||n),this.filter=n);t!==this.wrap&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,t),this.wrap=t)};fe.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0};fe.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture);this.texture=null};nn.prototype.trigger=function(){var n=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){n._triggered=!1;n._callback()},0))};nn.prototype.remove=function(){delete this._channel;this._callback=function(){}};pt=function(n,t,i){this.target=n;this.parent=t;this.mapId=i;this.callbacks={};this.tasks={};this.taskQueue=[];this.cancelCallbacks={};ln(["receive","process"],this);this.invoker=new nn(this.process);this.target.addEventListener("message",this.receive,!1);this.globalScope=yv()?n:e};pt.prototype.send=function(n,t,i,r,u){var e=this,f,o;return void 0===u&&(u=!1),f=Math.round(1e18*Math.random()).toString(36).substring(0,10),i&&(this.callbacks[f]=i),o=vn(this.globalScope)?void 0:[],this.target.postMessage({id:f,type:n,hasCallback:!!i,targetMapId:r,mustQueue:u,sourceMapId:this.mapId,data:sc(t,o)},o),{cancel:function(){i&&delete e.callbacks[f];e.target.postMessage({id:f,type:"<cancel>",targetMapId:r,sourceMapId:e.mapId})}}};pt.prototype.receive=function(n){var t=n.data,i=t.id;!i||t.targetMapId&&this.mapId!==t.targetMapId||("<cancel>"===t.type?(delete this.tasks[i],n=this.cancelCallbacks[i],delete this.cancelCallbacks[i],n&&n()):yv()||t.mustQueue?(this.tasks[i]=t,this.taskQueue.push(i),this.invoker.trigger()):this.processTask(i,t))};pt.prototype.process=function(){var n,t;this.taskQueue.length&&(n=this.taskQueue.shift(),t=this.tasks[n],delete this.tasks[n],this.taskQueue.length&&this.invoker.trigger(),t&&this.processTask(n,t))};pt.prototype.processTask=function(n,t){var u,o,f,e,i,r,s=this;"<response>"===t.type?(i=this.callbacks[n],delete this.callbacks[n],i&&(t.error?i(hc(t.error)):i(null,hc(t.data)))):(u=!1,o=vn(this.globalScope)?void 0:[],f=t.hasCallback?function(t,i){u=!0;delete s.cancelCallbacks[n];s.target.postMessage({id:n,type:"<response>",sourceMapId:s.mapId,error:t?sc(t):null,data:sc(i,o)},o)}:function(){u=!0},r=null,e=hc(t.data),this.parent[t.type]?r=this.parent[t.type](t.sourceMapId,e,f):this.parent.getWorkerSource?(i=t.type.split("."),r=this.parent.getWorkerSource(t.sourceMapId,i[0],e.source)[i[1]](e,f)):f(new Error("Could not find function "+t.type)),!u&&r&&r.cancel&&(this.cancelCallbacks[n]=r.cancel))};pt.prototype.remove=function(){this.invoker.remove();this.target.removeEventListener("message",this.receive,!1)};rt.prototype.setNorthEast=function(n){return this._ne=n instanceof d?new d(n.lng,n.lat):d.convert(n),this};rt.prototype.setSouthWest=function(n){return this._sw=n instanceof d?new d(n.lng,n.lat):d.convert(n),this};rt.prototype.extend=function(n){var i,t,r=this._sw,u=this._ne;if(n instanceof d)t=i=n;else{if(!(n instanceof rt))return Array.isArray(n)?4===n.length||n.every(Array.isArray)?this.extend(rt.convert(n)):this.extend(d.convert(n)):this;if(t=n._ne,!(i=n._sw)||!t)return this}return r||u?(r.lng=Math.min(i.lng,r.lng),r.lat=Math.min(i.lat,r.lat),u.lng=Math.max(t.lng,u.lng),u.lat=Math.max(t.lat,u.lat)):(this._sw=new d(i.lng,i.lat),this._ne=new d(t.lng,t.lat)),this};rt.prototype.getCenter=function(){return new d((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)};rt.prototype.getSouthWest=function(){return this._sw};rt.prototype.getNorthEast=function(){return this._ne};rt.prototype.getNorthWest=function(){return new d(this.getWest(),this.getNorth())};rt.prototype.getSouthEast=function(){return new d(this.getEast(),this.getSouth())};rt.prototype.getWest=function(){return this._sw.lng};rt.prototype.getSouth=function(){return this._sw.lat};rt.prototype.getEast=function(){return this._ne.lng};rt.prototype.getNorth=function(){return this._ne.lat};rt.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]};rt.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"};rt.prototype.isEmpty=function(){return!(this._sw&&this._ne)};rt.prototype.contains=function(n){var t=d.convert(n),i=t.lng,n=t.lat,t=this._sw.lng<=i&&i<=this._ne.lng;return this._sw.lng>this._ne.lng&&(t=this._sw.lng>=i&&i>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&t};rt.convert=function(n){return!n||n instanceof rt?n:new rt(n)};d=function(n,t){if(isNaN(n)||isNaN(t))throw new Error("Invalid LngLat object: ("+n+", "+t+")");if(this.lng=+n,this.lat=+t,90<this.lat||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90");};d.prototype.wrap=function(){return new d(sn(this.lng,-180,180),this.lat)};d.prototype.toArray=function(){return[this.lng,this.lat]};d.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"};d.prototype.distanceTo=function(n){var t=Math.PI/180,i=this.lat*t,r=n.lat*t,t=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((n.lng-this.lng)*t);return 6371008.8*Math.acos(Math.min(t,1))};d.prototype.toBounds=function(n){var t=360*(n=void 0===n?0:n)/40075017,n=t/Math.cos(Math.PI/180*this.lat);return new rt(new d(this.lng-n,this.lat-t),new d(this.lng+n,this.lat+t))};d.convert=function(n){if(n instanceof d)return n;if(Array.isArray(n)&&(2===n.length||3===n.length))return new d(Number(n[0]),Number(n[1]));if(!Array.isArray(n)&&"object"==typeof n&&null!==n)return new d(Number("lng"in n?n.lng:n.lon),Number(n.lat));throw new 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>]");};tn=2*Math.PI*6371008.8;ee.fromLngLat=function(n,t){return void 0===t&&(t=0),n=d.convert(n),new ee(eet(n.lng),oet(n.lat),set(t,n.lat))};ee.prototype.toLngLat=function(){return new d(360*this.x-180,rn(this.y))};ee.prototype.toAltitude=function(){return this.z*fet(rn(this.y))};ee.prototype.meterInMercatorCoordinateUnits=function(){return 1/tn*(n=rn(this.y),1/Math.cos(n*Math.PI/180));var n};oe.prototype.equals=function(n){return this.z===n.z&&this.x===n.x&&this.y===n.y};oe.prototype.url=function(n,t){var f,r,u=(r=this.y,i=this.z,u=uet(256*(f=this.x),256*(r=Math.pow(2,i)-r-1),i),i=uet(256*(f+1),256*(1+r),i),u[0]+","+u[1]+","+i[0]+","+i[1]),i=function(n,t,i){for(var u,f="",r=n;0<r;r--)f+=(t&(u=1<<r-1)?1:0)+(i&u?2:0);return f}(this.z,this.x,this.y);return n[(this.x+this.y)%n.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===t?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",i).replace("{bbox-epsg-3857}",u)};oe.prototype.getTilePoint=function(n){var t=Math.pow(2,this.z);return new h(8192*(n.x*t-this.x),8192*(n.y*t-this.y))};oe.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};ut.prototype.equals=function(n){return this.overscaledZ===n.overscaledZ&&this.wrap===n.wrap&&this.canonical.equals(n.canonical)};ut.prototype.scaledTo=function(n){var t=this.canonical.z-n;return n>this.canonical.z?new ut(n,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new ut(n,this.wrap,n,this.canonical.x>>t,this.canonical.y>>t)};ut.prototype.calculateScaledKey=function(n,t){var i=this.canonical.z-n;return n>this.canonical.z?av(this.wrap*+t,n,this.canonical.z,this.canonical.x,this.canonical.y):av(this.wrap*+t,n,n,this.canonical.x>>i,this.canonical.y>>i)};ut.prototype.isChildOf=function(n){if(n.wrap!==this.wrap)return!1;var t=this.canonical.z-n.canonical.z;return 0===n.overscaledZ||n.overscaledZ<this.overscaledZ&&n.canonical.x===this.canonical.x>>t&&n.canonical.y===this.canonical.y>>t};ut.prototype.children=function(n){if(this.overscaledZ>=n)return[new ut(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var t=this.canonical.z+1,i=2*this.canonical.x,n=2*this.canonical.y;return[new ut(t,this.wrap,t,i,n),new ut(t,this.wrap,t,1+i,n),new ut(t,this.wrap,t,i,1+n),new ut(t,this.wrap,t,1+i,1+n)]};ut.prototype.isLessThan=function(n){return this.wrap<n.wrap||!(this.wrap>n.wrap)&&(this.overscaledZ<n.overscaledZ||!(this.overscaledZ>n.overscaledZ)&&(this.canonical.x<n.canonical.x||!(this.canonical.x>n.canonical.x)&&this.canonical.y<n.canonical.y))};ut.prototype.wrapped=function(){return new ut(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)};ut.prototype.unwrapTo=function(n){return new ut(this.overscaledZ,n,this.canonical.z,this.canonical.x,this.canonical.y)};ut.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)};ut.prototype.toUnwrapped=function(){return new het(this.wrap,this.canonical)};ut.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y};ut.prototype.getTilePoint=function(n){return this.canonical.getTilePoint(new ee(n.x-this.wrap,n.y))};f("CanonicalTileID",oe);f("OverscaledTileID",ut,{omit:["posMatrix"]});et=function(n,t,i){var r,u;if(this.uid=n,t.height!==t.width)throw new RangeError("DEM tiles must be square");if(i&&"mapbox"!==i&&"terrarium"!==i)return ti('"'+i+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');for(this.stride=t.height,r=this.dim=t.height-2,this.data=new Uint32Array(t.data.buffer),this.encoding=i||"mapbox",u=0;u<r;u++)this.data[this._idx(-1,u)]=this.data[this._idx(0,u)],this.data[this._idx(r,u)]=this.data[this._idx(r-1,u)],this.data[this._idx(u,-1)]=this.data[this._idx(u,0)],this.data[this._idx(u,r)]=this.data[this._idx(u,r-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)];this.data[this._idx(r,-1)]=this.data[this._idx(r-1,0)];this.data[this._idx(-1,r)]=this.data[this._idx(0,r-1)];this.data[this._idx(r,r)]=this.data[this._idx(r-1,r-1)]};et.prototype.get=function(n,t){var i=new Uint8Array(this.data.buffer),t=4*this._idx(n,t);return("terrarium"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(i[t],i[1+t],i[2+t])};et.prototype.getUnpackVector=function(){return"terrarium"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]};et.prototype._idx=function(n,t){if(n<-1||n>=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(n+1)};et.prototype._unpackMapbox=function(n,t,i){return(65536*n+256*t+i)/10-1e4};et.prototype._unpackTerrarium=function(n,t,i){return 256*n+t+i/256-32768};et.prototype.getPixels=function(){return new ri({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))};et.prototype.backfillBorder=function(n,t,i){var r;if(this.dim!==n.dim)throw new Error("dem dimension mismatch");var f=t*this.dim,e=t*this.dim+this.dim,o=i*this.dim,s=i*this.dim+this.dim;switch(t){case-1:f=e-1;break;case 1:e=f+1}switch(i){case-1:o=s-1;break;case 1:s=o+1}for(var h=-t*this.dim,c=-i*this.dim,u=o;u<s;u++)for(r=f;r<e;r++)this.data[this._idx(r,u)]=n.data[this._idx(r+h,u+c)]};f("DEMData",et);fb.prototype.encode=function(n){return this._stringToNumber[n]};fb.prototype.decode=function(n){return this._numberToString[n]};dt={geometry:{configurable:!0}};dt.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry};dt.geometry.set=function(n){this._geometry=n};eb.prototype.toJSON=function(){var n,t={geometry:this.geometry};for(n in this)"_geometry"!==n&&"_vectorTileFeature"!==n&&(t[n]=this[n]);return t};Object.defineProperties(eb.prototype,dt);o=function(){this.state={};this.stateChanges={};this.deletedStates={}};o.prototype.updateState=function(n,t,i){var r=String(t),u,f,e;if(this.stateChanges[n]=this.stateChanges[n]||{},this.stateChanges[n][r]=this.stateChanges[n][r]||{},fi(this.stateChanges[n][r],i),null===this.deletedStates[n])for(u in this.deletedStates[n]={},this.state[n])u!==r&&(this.deletedStates[n][u]=null);else if(this.deletedStates[n]&&null===this.deletedStates[n][r])for(f in this.deletedStates[n][r]={},this.state[n][r])i[f]||(this.deletedStates[n][r][f]=null);else for(e in i)this.deletedStates[n]&&this.deletedStates[n][r]&&null===this.deletedStates[n][r][e]&&delete this.deletedStates[n][r][e]};o.prototype.removeFeatureState=function(n,t,i){if(null!==this.deletedStates[n]){var r=String(t);if(this.deletedStates[n]=this.deletedStates[n]||{},i&&void 0!==t)null!==this.deletedStates[n][r]&&(this.deletedStates[n][r]=this.deletedStates[n][r]||{},this.deletedStates[n][r][i]=null);else if(void 0!==t)if(this.stateChanges[n]&&this.stateChanges[n][r])for(i in this.deletedStates[n][r]={},this.stateChanges[n][r])this.deletedStates[n][r][i]=null;else this.deletedStates[n][r]=null;else this.deletedStates[n]=null}};o.prototype.getState=function(n,t){var i=String(t),r=fi({},(this.state[n]||{})[i],(this.stateChanges[n]||{})[i]),u,t;if(null===this.deletedStates[n])return{};if(this.deletedStates[n]){if(t=this.deletedStates[n][t],null===t)return{};for(u in t)delete r[u]}return r};o.prototype.initializeTileState=function(n,t){n.setFeatureState(this.state,t)};o.prototype.coalesceChanges=function(n,t){var r,i,e={},u,h,o,c,f,s,l,a;for(r in this.stateChanges){this.state[r]=this.state[r]||{};h={};for(u in this.stateChanges[r])this.state[r][u]||(this.state[r][u]={}),fi(this.state[r][u],this.stateChanges[r][u]),h[u]=this.state[r][u];e[r]=h}for(i in this.deletedStates){if(this.state[i]=this.state[i]||{},o={},null===this.deletedStates[i])for(c in this.state[i])o[c]={},this.state[i][c]={};else for(f in this.deletedStates[i]){if(null===this.deletedStates[i][f])this.state[i][f]={};else for(s=0,l=Object.keys(this.deletedStates[i][f]);s<l.length;s+=1)delete this.state[i][f][l[s]];o[f]=this.state[i][f]}e[i]=e[i]||{};fi(e[i],o)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(e).length)for(a in n)n[a].setFeatureState(e,t)};tt=function(n,t){this.tileID=n;this.x=n.canonical.x;this.y=n.canonical.y;this.z=n.canonical.z;this.grid=new wf(8192,16,0);this.grid3D=new wf(8192,16,0);this.featureIndexArray=new pd;this.promoteId=t};tt.prototype.insert=function(n,t,i,r,u,f){var a=this.featureIndexArray.length,c,s,o;for(this.featureIndexArray.emplaceBack(i,r,u),c=f?this.grid3D:this.grid,s=0;s<t.length;s++){for(var l=t[s],e=[1/0,1/0,-1/0,-1/0],h=0;h<l.length;h++)o=l[h],e[0]=Math.min(e[0],o.x),e[1]=Math.min(e[1],o.y),e[2]=Math.max(e[2],o.x),e[3]=Math.max(e[3],o.y);e[0]<8192&&e[1]<8192&&0<=e[2]&&0<=e[3]&&c.insert(a,e[0],e[1],e[2],e[3])}};tt.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new ys.VectorTile(new uv(this.rawTileData)).layers,this.sourceLayerCoder=new fb(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers};tt.prototype.query=function(n,t,i,r){var s=this,w,a,o;this.loadVTLayers();for(var c=n.params||{},v=8192/n.tileSize/n.scale,b=ky(c.filter),y=n.queryGeometry,u=n.queryPadding*v,f=aet(y),e=this.grid.query(f.minX-u,f.minY-u,f.maxX+u,f.maxY+u),f=aet(n.cameraQueryGeometry),l=0,p=this.grid3D.query(f.minX-u,f.minY-u,f.maxX+u,f.maxY+u,function(t,i,r,f){return function(n,t,i,r,u){for(var f,l,s,a,e,o=0,c=n;o<c.length;o+=1)if(f=c[o],t<=f.x&&i<=f.y&&r>=f.x&&u>=f.y)return!0;if(l=[new h(t,i),new h(t,u),new h(r,u),new h(r,i)],2<n.length)for(s=0,a=l;s<a.length;s+=1)if(hs(n,a[s]))return!0;for(e=0;e<n.length-1;e++)if(function(n,t,i){var u=i[0],r=i[2];if(!(n.x<u.x&&t.x<u.x||n.x>r.x&&t.x>r.x||n.y<u.y&&t.y<u.y||n.y>r.y&&t.y>r.y))return r=lu(n,t,i[0]),r!==lu(n,t,i[1])||r!==lu(n,t,i[2])||r!==lu(n,t,i[3])}(n[e],n[e+1],l))return!0;return!1}(n.cameraQueryGeometry,t-u,i-u,r+u,f+u)});l<p.length;l+=1)e.push(p[l]);for(e.sort(sht),a={},o=0;o<e.length;o++)!function(u){var f,u=e[u];u!==w&&(w=u,u=s.featureIndexArray.get(u),f=null,s.loadMatchingFeature(a,u.bucketIndex,u.sourceLayerIndex,u.featureIndex,b,c.layers,c.availableImages,t,i,r,function(t,i,r){return f=f||gf(t),i.queryIntersectsFeature(y,t,r,f,s.z,n.transform,v,n.pixelPosMatrix)}))}(o);return a};tt.prototype.loadMatchingFeature=function(n,t,i,r,u,f,e,o,s,h,c){var d=this.bucketLayerIDs[t],t,l,b,k,v,y,a,p;if(!f||function(n,t){for(var i=0;i<n.length;i++)if(0<=t.indexOf(n[i]))return 1}(f,d)){if(t=this.sourceLayerCoder.decode(i),l=this.vtLayers[t].feature(r),u.needGeometry){if(i=ne(l,!0),!u.filter(new w(this.tileID.overscaledZ),i,this.tileID.canonical))return}else if(!u.filter(new w(this.tileID.overscaledZ),l))return;for(b=this.getId(l,t),k=0;k<d.length;k++)p=d[k],f&&f.indexOf(p)<0||(v=o[p])&&(y={},void 0!==b&&h&&(y=h.getState(v.sourceLayer||"_geojsonTileLayer",b)),(a=fi({},s[p])).paint=cet(a.paint,v.paint,l,y,e),a.layout=cet(a.layout,v.layout,l,y,e),(v=!c||c(l,v,y))&&((y=new eb(l,this.z,this.x,this.y,b)).layer=a,(a=void 0===(a=n[p])?n[p]=[]:a).push({featureIndex:r,feature:y,intersectionZ:v})))}};tt.prototype.lookupSymbolFeatures=function(n,t,i,r,u,f,e,o){var h={};this.loadVTLayers();for(var l=ky(u),s=0,c=n;s<c.length;s+=1)this.loadMatchingFeature(h,i,r,c[s],l,f,e,o,t);return h};tt.prototype.hasLayer=function(n){for(var i,u,t=0,r=this.bucketLayerIDs;t<r.length;t+=1)for(i=0,u=r[t];i<u.length;i+=1)if(n===u[i])return!0;return!1};tt.prototype.getId=function(n,t){var i=n.id;return this.promoteId&&"boolean"==typeof(i=n.properties["string"==typeof this.promoteId?this.promoteId:this.promoteId[t]])?Number(i):i};f("FeatureIndex",tt,{omit:["rawTileData","sourceLayerCoder"]});b=function(n,t){this.tileID=n;this.uid=ob++;this.uses=0;this.tileSize=t;this.buckets={};this.expirationTime=null;this.queryPadding=0;this.hasSymbolBuckets=!1;this.hasRTLText=!1;this.dependencies={};this.expiredRequestCount=0;this.state="loading"};b.prototype.registerFadeDuration=function(n){n+=this.timeAdded;n<ce.now()||this.fadeEndTime&&n<this.fadeEndTime||(this.fadeEndTime=n)};b.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state};b.prototype.loadVectorData=function(n,t,i){var r,u,f,e;if(this.hasData()&&this.unloadVectorData(),this.state="loaded",n){for(r in n.featureIndex&&(this.latestFeatureIndex=n.featureIndex,n.rawTileData?(this.latestRawTileData=n.rawTileData,this.latestFeatureIndex.rawTileData=n.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=n.collisionBoxArray,this.buckets=function(n,t){var r={},i,u;if(!t)return r;for(i=0,u=n;i<u.length;i+=1)!function(){var n=u[i],f=n.layerIds.map(function(n){return t.getLayer(n)}).filter(Boolean),e,o;if(0!==f.length)for(n.layers=f,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map(function(n){return f.filter(function(t){return t.id===n})[0]})),e=0,o=f;e<o.length;e+=1)r[o[e].id]=n}();return r}(n.buckets,t.style),this.hasSymbolBuckets=!1,this.buckets)if(r=this.buckets[r],r instanceof v){if(this.hasSymbolBuckets=!0,!i)break;r.justReloaded=!0}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(u in this.buckets)if(u=this.buckets[u],u instanceof v&&u.hasRTLText){this.hasRTLText=!0;li.isLoading()||li.isLoaded()||"deferred"!==ii||hrt();break}for(f in this.queryPadding=0,this.buckets)e=this.buckets[f],this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(f).queryRadius(e));n.imageAtlas&&(this.imageAtlas=n.imageAtlas);n.glyphAtlasImage&&(this.glyphAtlasImage=n.glyphAtlasImage)}else this.collisionBoxArray=new ap};b.prototype.unloadVectorData=function(){for(var n in this.buckets)this.buckets[n].destroy();this.buckets={};this.imageAtlasTexture&&this.imageAtlasTexture.destroy();this.imageAtlas&&(this.imageAtlas=null);this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy();this.latestFeatureIndex=null;this.state="unloaded"};b.prototype.getBucket=function(n){return this.buckets[n.id]};b.prototype.upload=function(n){var t,i;for(t in this.buckets)t=this.buckets[t],t.uploadPending()&&t.upload(n);i=n.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new fe(n,this.imageAtlas.image,i.RGBA),this.imageAtlas.uploaded=!0);this.glyphAtlasImage&&(this.glyphAtlasTexture=new fe(n,this.glyphAtlasImage,i.ALPHA),this.glyphAtlasImage=null)};b.prototype.prepare=function(n){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(n,this.imageAtlasTexture)};b.prototype.queryRenderedFeatures=function(n,t,i,r,u,f,e,o,s,h){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:u,scale:f,tileSize:this.tileSize,pixelPosMatrix:h,transform:o,params:e,queryPadding:this.queryPadding*s},n,t,i):{}};b.prototype.querySourceFeatures=function(n,t){var u=this.latestFeatureIndex,r,i;if(u&&u.rawTileData){var s=u.loadVTLayers(),h=t?t.sourceLayer:"",f=s._geojsonTileLayer||s[h];if(f)for(var e=ky(t&&t.filter),t=this.tileID.canonical,c=t.z,l=t.x,a=t.y,v={z:c,x:l,y:a},o=0;o<f.length;o++){if(r=f.feature(o),e.needGeometry){if(i=ne(r,!0),!e.filter(new w(this.tileID.overscaledZ),i,this.tileID.canonical))continue}else if(!e.filter(new w(this.tileID.overscaledZ),r))continue;i=u.getId(r,h);i=new eb(r,c,l,a,i);i.tile=v;n.push(i)}}};b.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state};b.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length};b.prototype.setExpiryData=function(n){var t,r,i=this.expirationTime;n.cacheControl?(t=lb(n.cacheControl))["max-age"]&&(this.expirationTime=Date.now()+1e3*t["max-age"]):n.expires&&(this.expirationTime=new Date(n.expires).getTime());this.expirationTime&&(t=Date.now(),n=!1,this.expirationTime>t?n=!1:i&&!(this.expirationTime<i)&&(r=this.expirationTime-i)?this.expirationTime=t+Math.max(r,3e4):n=!0,n?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0)};b.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)};b.prototype.setFeatureState=function(n,t){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(n).length){var u,f,i,r,e=this.latestFeatureIndex.loadVTLayers();for(u in this.buckets)t.style.hasLayer(u)&&(r=e[i=(f=this.buckets[u]).layers[0].sourceLayer||"_geojsonTileLayer"],i=n[i],r&&i&&0!==Object.keys(i).length&&(f.update(i,r,this.imageAtlas&&this.imageAtlas.patternPositions||{}),(r=t&&t.style&&t.style.getLayer(u))&&(this.queryPadding=Math.max(this.queryPadding,r.queryRadius(f)))))}};b.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil};b.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<ce.now()};b.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0};b.prototype.setHoldDuration=function(n){this.symbolFadeHoldUntil=ce.now()+n};b.prototype.setDependencies=function(n,t){for(var r={},i=0,u=t;i<u.length;i+=1)r[u[i]]=!0;this.dependencies[n]=r};b.prototype.hasDependency=function(n,t){for(var f,r,e,i=0,u=n;i<u.length;i+=1)if(f=this.dependencies[u[i]],f)for(r=0,e=t;r<e.length;r+=1)if(f[e[r]])return!0;return!1};cu=e.performance;dt=function(n){this._marks={start:[n.url,"start"].join("#"),end:[n.url,"end"].join("#"),measure:n.url.toString()};cu.mark(this._marks.start)};dt.prototype.finish=function(){cu.mark(this._marks.end);var n=cu.getEntriesByName(this._marks.measure);return 0===n.length&&(cu.measure(this._marks.measure,this._marks.start,this._marks.end),n=cu.getEntriesByName(this._marks.measure),cu.clearMarks(this._marks.start),cu.clearMarks(this._marks.end),cu.clearMeasures(this._marks.measure)),n};n.Actor=pt;n.AlphaImage=nf;n.CanonicalTileID=oe;n.CollisionBoxArray=ap;n.Color=y;n.DEMData=et;n.DataConstantProperty=s;n.DictionaryCoder=fb;n.EXTENT=8192;n.ErrorEvent=ry;n.EvaluationParameters=w;n.Event=ah;n.Evented=nu;n.FeatureIndex=tt;n.FillBucket=sr;n.FillExtrusionBucket=hr;n.ImageAtlas=nr;n.ImagePosition=kw;n.LineBucket=ni;n.LngLat=d;n.LngLatBounds=rt;n.MercatorCoordinate=ee;n.ONE_EM=24;n.OverscaledTileID=ut;n.Point=h;n.Point$1=h;n.Properties=ai;n.Protobuf=uv;n.RGBAImage=ri;n.RequestManager=ki;n.RequestPerformance=dt;n.ResourceType=kb;n.SegmentVector=ct;n.SourceFeatureState=o;n.StructArrayLayout1ui2=le;n.StructArrayLayout2f1f2i16=hp;n.StructArrayLayout2i4=ro;n.StructArrayLayout3ui6=ou;n.StructArrayLayout4i8=rp;n.SymbolBucket=v;n.Texture=fe;n.Tile=b;n.Transitionable=fu;n.Uniform1f=gp;n.Uniform1i=rit;n.Uniform2f=iit;n.Uniform3f=k;n.Uniform4f=prt;n.UniformColor=wrt;n.UniformMatrix4f=ul;n.UnwrappedTileID=het;n.ValidationError=u;n.WritingMode=ci;n.ZoomHistory=id;n.add=function(n,t,i){return n[0]=t[0]+i[0],n[1]=t[1]+i[1],n[2]=t[2]+i[2],n};n.addDynamicAttributes=kg;n.asyncAll=function(n,t,i){if(!n.length)return i(null,[]);var f=n.length,r=new Array(n.length),u=null;n.forEach(function(n,e){t(n,function(n,t){n&&(u=n);r[e]=t;0==--f&&i(u,r)})})};n.bezier=en;n.bindAll=ln;n.browser=ce;n.cacheEntryPossiblyAdded=function(n){++bb>ntt&&(n.getActor().send("enforceCacheSizeLimit",gn),bb=0)};n.clamp=uf;n.clearTileCache=function(n){var t=e.caches.delete("mapbox-tiles");n&&t.catch(n).then(function(){return n()})};n.clipLine=vft;n.clone=function(n){var t=new yi(16);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t};n.clone$1=kr;n.clone$2=function(n){var t=new yi(3);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t};n.collisionCircleLayout=au;n.config=lt;n.create=function(){var n=new yi(16);return yi!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0),n[0]=1,n[5]=1,n[10]=1,n[15]=1,n};n.create$1=function(){var n=new yi(9);return yi!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1,n};n.create$2=function(){var n=new yi(4);return yi!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n};n.createCommonjsModule=vv;n.createExpression=wy;n.createLayout=vt;n.createStyleLayer=function(n){return new("custom"===n.type?eht:oht[n.type])(n)};n.cross=function(n,t,i){var r=t[0],u=t[1],f=t[2],e=i[0],t=i[1],i=i[2];return n[0]=u*i-f*t,n[1]=f*e-r*i,n[2]=r*t-u*e,n};n.deepEqual=function n(t,i){var r,u;if(Array.isArray(t)){if(!Array.isArray(i)||t.length!==i.length)return!1;for(r=0;r<t.length;r++)if(!n(t[r],i[r]))return!1;return!0}if("object"!=typeof t||null===t||null===i)return t===i;if("object"!=typeof i||Object.keys(t).length!==Object.keys(i).length)return!1;for(u in t)if(!n(t[u],i[u]))return!1;return!0};n.dot=function(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]};n.dot$1=function(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]};n.ease=on;n.emitValidationErrors=trt;n.endsWith=sb;n.enforceCacheSizeLimit=function(n){dv();gr&&gr.then(function(t){t.keys().then(function(i){for(var r=0;r<i.length-n;r++)t.delete(i[r])})})};n.evaluateSizeForFeature=oft;n.evaluateSizeForZoom=sft;n.evaluateVariableOffset=wft;n.evented=tp;n.extend=fi;n.featureFilter=ky;n.filterObject=an;n.fromRotation=function(n,t){var i=Math.sin(t),t=Math.cos(t);return n[0]=t,n[1]=i,n[2]=0,n[3]=-i,n[4]=t,n[5]=0,n[6]=0,n[7]=0,n[8]=1,n};n.getAnchorAlignment=pg;n.getAnchorJustification=bg;n.getArrayBuffer=gb;n.getImage=rtt;n.getJSON=function(n,t){return ty(fi(n,{type:"json"}),t)};n.getRTLTextPluginStatus=hot;n.getReferrer=gv;n.getVideo=function(n,t){var i=e.document.createElement("video"),r;for(i.muted=!0,i.onloadstart=function(){t(null,i)},r=0;r<n.length;r++){var f=e.document.createElement("source"),o=n[r],u=void 0;(u=e.document.createElement("a")).href=o;u.protocol===e.document.location.protocol&&u.host===e.document.location.host||(i.crossOrigin="Anonymous");f.src=n[r];i.appendChild(f)}return{cancel:function(){}}};n.identity=gd;n.invert=function(n,t){var i=t[0],r=t[1],u=t[2],f=t[3],e=t[4],o=t[5],s=t[6],h=t[7],c=t[8],l=t[9],a=t[10],v=t[11],y=t[12],p=t[13],w=t[14],b=t[15],k=i*o-r*e,d=i*s-u*e,g=i*h-f*e,nt=r*s-u*o,tt=r*h-f*o,it=u*h-f*s,rt=c*p-l*y,ut=c*w-a*y,ft=c*b-v*y,et=l*w-a*p,ot=l*b-v*p,st=a*b-v*w,t=k*st-d*ot+g*et+nt*ft-tt*ut+it*rt;return t?(n[0]=(o*st-s*ot+h*et)*(t=1/t),n[1]=(u*ot-r*st-f*et)*t,n[2]=(p*it-w*tt+b*nt)*t,n[3]=(a*tt-l*it-v*nt)*t,n[4]=(s*ft-e*st-h*ut)*t,n[5]=(i*st-u*ft+f*ut)*t,n[6]=(w*g-y*it-b*d)*t,n[7]=(c*it-a*g+v*d)*t,n[8]=(e*ot-o*ft+h*rt)*t,n[9]=(r*ft-i*ot-f*rt)*t,n[10]=(y*tt-p*g+b*k)*t,n[11]=(l*g-c*tt-v*k)*t,n[12]=(o*ut-e*et-s*rt)*t,n[13]=(i*et-r*ut+u*rt)*t,n[14]=(p*d-y*nt-w*k)*t,n[15]=(c*nt-l*d+a*k)*t,n):null};n.isChar=r;n.isMapboxURL=dr;n.keysDifference=function(n,t){var i,r=[];for(i in n)i in t||r.push(i);return r};n.makeRequest=ty;n.mapObject=hb;n.mercatorXfromLng=eet;n.mercatorYfromLat=oet;n.mercatorZfromAltitude=set;n.mul=ei;n.multiply=tut;n.mvt=ys;n.nextPowerOfTwo=function(n){return n<=1?1:Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))};n.normalize=function(n,t){var r=t[0],u=t[1],i=t[2],i=r*r+u*u+i*i;return 0<i&&(i=1/Math.sqrt(i)),n[0]=t[0]*i,n[1]=t[1]*i,n[2]=t[2]*i,n};n.number=ht;n.offscreenCanvasSupported=itt;n.ortho=function(n,t,i,r,u,f,e){var o=1/(t-i),s=1/(r-u),h=1/(f-e);return n[0]=-2*o,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=-2*s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=2*h,n[11]=0,n[12]=(t+i)*o,n[13]=(u+r)*s,n[14]=(e+f)*h,n[15]=1,n};n.parseGlyphPBF=function(n){return new uv(n).readFields(dst,[])};n.pbf=uv;n.performSymbolLayout=function(n,t,i,u,f,e,o){n.createArrays();n.tilePixelRatio=16/n.overscaling;n.compareText={};n.iconsNeedLinear=!1;var a,y,s=n.layers[0].layout,l=n.layers[0]._unevaluatedLayout._values,c={};"composite"===n.textSizeData.kind&&(y=(a=n.textSizeData).maxZoom,c.compositeTextSizes=[l["text-size"].possiblyEvaluate(new w(a.minZoom),o),l["text-size"].possiblyEvaluate(new w(y),o)]);"composite"===n.iconSizeData.kind&&(y=(a=n.iconSizeData).maxZoom,c.compositeIconSizes=[l["icon-size"].possiblyEvaluate(new w(a.minZoom),o),l["icon-size"].possiblyEvaluate(new w(y),o)]);c.layoutTextSize=l["text-size"].possiblyEvaluate(new w(n.zoom+1),o);c.layoutIconSize=l["icon-size"].possiblyEvaluate(new w(n.zoom+1),o);c.textMaxSize=l["text-size"].possiblyEvaluate(new w(18));for(var p=24*s.get("text-line-height"),b="map"===s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement"),g=s.get("text-keep-upright"),nt=s.get("text-size"),tt=function(){var e=d[k],at=s.get("text-font").evaluate(e,{},o).join(","),vt=nt.evaluate(e,{},o),et=c.layoutTextSize.evaluate(e,{},o),ni=c.layoutIconSize.evaluate(e,{},o),l={horizontal:{},vertical:void 0},it=e.text,rt=[0,0],gt,lt,ut,ot,ft,w;if(it){var wt=it.toString(),ot=24*s.get("text-letter-spacing").evaluate(e,{},o),yt=function(){for(var n,t=0,i=wt;t<i.length;t+=1)if(n=i[t].charCodeAt(0),r.Arabic(n)||r["Arabic Supplement"](n)||r["Arabic Extended-A"](n)||r["Arabic Presentation Forms-A"](n)||r["Arabic Presentation Forms-B"](n))return;return 1}()?ot:0,st=s.get("text-anchor").evaluate(e,{},o),y=s.get("text-variable-anchor");y||(ft=s.get("text-radial-offset").evaluate(e,{},o),rt=ft?wft(st,[24*ft,tb]):s.get("text-offset").evaluate(e,{},o).map(function(n){return 24*n}));var a=b?"center":s.get("text-justify").evaluate(e,{},o),ct=s.get("symbol-placement"),pt="point"===ct?24*s.get("text-max-width").evaluate(e,{},o):0,tt=function(){n.allowVerticalPlacement&&rd(wt)&&(l.vertical=dw(it,t,i,f,at,pt,p,st,"left",yt,rt,ci.vertical,!0,ct,et,vt))};if(!b&&y){for(var kt="auto"===a?y.map(bg):[a],dt=!1,bt=0;bt<kt.length;bt++)lt=kt[bt],l.horizontal[lt]||(dt?l.horizontal[lt]=l.horizontal[0]:(gt=dw(it,t,i,f,at,pt,p,"center",lt,yt,rt,ci.horizontal,!1,ct,et,vt))&&(dt=1===(l.horizontal[lt]=gt).positionedLines.length));tt()}else"auto"===a&&(a=bg(st)),ut=dw(it,t,i,f,at,pt,p,st,a,yt,rt,ci.horizontal,!1,ct,et,vt),ut&&(l.horizontal[a]=ut),tt(),rd(wt)&&b&&g&&(l.vertical=dw(it,t,i,f,at,pt,p,st,a,yt,rt,ci.vertical,!1,ct,et,vt))}ot=void 0;ft=!1;e.icon&&e.icon.name&&(w=u[e.icon.name])&&(y=f[e.icon.name],ut=s.get("icon-offset").evaluate(e,{},o),tt=pg(s.get("icon-anchor").evaluate(e,{},o)),a=ut[0]-y.displaySize[0]*tt.horizontalAlign,tt=ut[1]-y.displaySize[1]*tt.verticalAlign,ot={image:y,top:tt,bottom:tt+y.displaySize[1],left:a,right:a+y.displaySize[0]},ft=w.sdf,void 0===n.sdfIcons?n.sdfIcons=w.sdf:n.sdfIcons!==w.sdf&&ti("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),w.pixelRatio===n.pixelRatio&&0===s.get("icon-rotate").constantOr(1)||(n.iconsNeedLinear=!0));w=kft(l.horizontal)||l.vertical;n.iconsInText=!!w&&w.iconsInText;(w||ot)&&function(n,t,i,r,u,f,e,o,s,c,l){function d(o,h){h.x<0||8192<=h.x||h.y<0||8192<=h.y||function(n,t,i,r,u,f,e,s,h,c,l,a,y,p,w,b,k,d,g,nt,tt,it,rt,ut){var st,at,ht,ct,dt,lt=n.addToLineVertexArray(t,o),ri=0,ui=0,fi=0,ei=0,gt=-1,ni=-1,ft={},oi=ua(""),ii=0,si=0,si=void 0===e._unevaluatedLayout.getValue("text-radial-offset")?(ii=(at=e.layout.get("text-offset").evaluate(nt,{},rt).map(function(n){return 24*n}))[0],at[1]):(ii=24*e.layout.get("text-radial-offset").evaluate(nt,{},rt),tb),et,vt,yt;for(dt in n.allowVerticalPlacement&&i.vertical&&(at=e.layout.get("text-rotate").evaluate(nt,{},rt)+90,ht=new nb(s,t,h,c,l,i.vertical,a,y,p,at),f&&(st=new nb(s,t,h,c,l,f,b,k,p,at))),r&&(kt=yft(r,bt=e.layout.get("icon-rotate").evaluate(nt,{}),it,pt="none"!==e.layout.get("icon-text-fit")),wt=f?yft(f,bt,it,pt):void 0,ct=new nb(s,t,h,c,l,r,b,k,!1,bt),ri=4*kt.length,ot=null,"source"===(pt=n.iconSizeData).kind?32640<(ot=[128*e.layout.get("icon-size").evaluate(nt,{})])[0]&&ti(n.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):"composite"===pt.kind&&(32640<(ot=[128*tt.compositeIconSizes[0].evaluate(nt,{},rt),128*tt.compositeIconSizes[1].evaluate(nt,{},rt)])[0]||32640<ot[1])&&ti(n.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'),n.addSymbols(n.icon,kt,ot,g,d,nt,!1,t,lt.lineStartIndex,lt.lineLength,-1,rt),gt=n.icon.placedSymbolArray.length-1,wt&&(ui=4*wt.length,n.addSymbols(n.icon,wt,ot,g,d,nt,ci.vertical,t,lt.lineStartIndex,lt.lineLength,-1,rt),ni=n.icon.placedSymbolArray.length-1)),i.horizontal)if(vt=i.horizontal[dt],et||(oi=ua(vt.text),yt=e.layout.get("text-rotate").evaluate(nt,{},rt),et=new nb(s,t,h,c,l,vt,a,y,p,yt)),yt=1===vt.positionedLines.length,fi+=bft(n,t,vt,u,e,p,nt,w,lt,i.vertical?ci.horizontal:ci.horizontalOnly,yt?Object.keys(i.horizontal):[dt],ft,gt,tt,rt),yt)break;i.vertical&&(ei+=bft(n,t,i.vertical,u,e,p,nt,w,lt,ci.vertical,["vertical"],ft,ni,tt,rt));var r=et?et.boxStartIndex:n.collisionBoxArray.length,b=et?et.boxEndIndex:n.collisionBoxArray.length,k=ht?ht.boxStartIndex:n.collisionBoxArray.length,bt=ht?ht.boxEndIndex:n.collisionBoxArray.length,pt=ct?ct.boxStartIndex:n.collisionBoxArray.length,kt=ct?ct.boxEndIndex:n.collisionBoxArray.length,wt=st?st.boxStartIndex:n.collisionBoxArray.length,ot=st?st.boxEndIndex:n.collisionBoxArray.length,g=-1,d=function(n,t){return n&&n.circleDiameter?Math.max(n.circleDiameter,t):t},d=-1<(g=d(st,g=d(ct,g=d(ht,g=d(et,g)))))?1:0;d&&(g*=ut/24);n.glyphOffsetArray.length>=v.MAX_GLYPHS&&ti("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");void 0!==nt.sortKey&&n.addToSortKeyRanges(n.symbolInstances.length,nt.sortKey);n.symbolInstances.emplaceBack(t.x,t.y,0<=ft.right?ft.right:-1,0<=ft.center?ft.center:-1,0<=ft.left?ft.left:-1,ft.vertical||-1,gt,ni,oi,r,b,k,bt,pt,kt,wt,ot,h,fi,ei,ri,ui,d,0,a,ii,si,g)}(n,h,i,r,u,si,n.layers[0],n.collisionBoxArray,t.index,t.sourceLayerIndex,n.index,bi,di,nr,s,ki,gi,tr,vt,t,f,c,l,e)}var k=f.textMaxSize.evaluate(t,{}),b,y,vi,p,g,pt,nt,wt,tt,bt,it,rt,kt,gt,ut,ni,wi,ft,et,ii,ri,ui,ot,fi,st,ct,ei,lt,oi,at;void 0===k&&(k=e);var si,a=n.layers[0].layout,vt=a.get("icon-offset").evaluate(t,{},l),w=kft(i.horizontal),yt=e/24,bi=n.tilePixelRatio*yt,hi=n.tilePixelRatio*k/24,ki=n.tilePixelRatio*o,li=n.tilePixelRatio*a.get("symbol-spacing"),di=a.get("text-padding")*n.tilePixelRatio,gi=a.get("icon-padding")*n.tilePixelRatio,ai=a.get("text-max-angle")/180*Math.PI,nr="map"===a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement"),tr="map"===a.get("icon-rotation-alignment")&&"point"!==a.get("symbol-placement"),k=a.get("symbol-placement"),ir=li/2,o=a.get("icon-text-fit");if(r&&"none"!==o&&(n.allowVerticalPlacement&&i.vertical&&(si=eft(r,i.vertical,o,a.get("icon-text-fit-padding"),vt,yt)),w&&(r=eft(r,w,o,a.get("icon-text-fit-padding"),vt,yt))),"line"===k)for(rt=0,kt=vft(t.geometry,0,0,8192,8192);rt<kt.length;rt+=1)for(var yi=kt[rt],dt=0,pi=(b=yi,y=li,vi=ai,p=i.vertical||w,g=r,pt=24,nt=hi,wt=n.overscaling,tt=8192,it=bt=void 0,bt=lft(p,pt,nt),it=aft(p,g),p=it*nt,g=0===b[0].x||b[0].x===tt||0===b[0].y||b[0].y===tt,y-p<y/4&&(y=p+y/4),function o(n,t,i,r,u,f,e,s,h){for(var d=f/2,g=cft(n),a=0,v=t-i,w=[],l=0;l<n.length-1;l++){for(var y=n[l],p=n[l+1],b=y.dist(p),nt=p.angleTo(y);v+i<a+b;){var c=((v+=i)-a)/b,k=ht(y.x,p.x,c),c=ht(y.y,p.y,c);0<=k&&k<h&&0<=c&&c<h&&0<=v-d&&v+d<=g&&((c=new re(k,c,nt,l))._round(),r&&!hft(n,c,f,r,u)||w.push(c))}a+=b}return(s||w.length||e)?w:o(n,a/2,i,r,u,f,e,!0,h)}(b,g?y/2*wt%y:(it/2+2*pt)*nt*wt%y,y,bt,vi,p,g,!1,tt));dt<pi.length;dt+=1)gt=pi[dt],w&&function(n,t,i,r){if(n=n.compareText,t in n){for(var f=n[t],u=f.length-1;0<=u;u--)if(r.dist(f[u])<i)return 1}else n[t]=[];return n[t].push(r),0}(n,w.text,ir,gt)||d(yi,gt);else if("line-center"===k)for(ut=0,ni=t.geometry;ut<ni.length;ut+=1)ft=ni[ut],1<ft.length&&(wi=function(n,t,i,r,u,f){for(var a=lft(i,u,f),y=aft(i,r)*f,h=0,v=cft(n)/2,o=0;o<n.length-1;o++){var e=n[o],s=n[o+1],c=e.dist(s);if(v<h+c){var l=(v-h)/c,p=ht(e.x,s.x,l),l=ht(e.y,s.y,l),e=new re(p,l,s.angleTo(e),o);return e._round(),!a||hft(n,e,y,a,t)?e:void 0}h+=c}}(ft,ai,i.vertical||w,r,24,hi))&&d(ft,wi);else if("Polygon"===t.type)for(et=0,ii=sg(t.geometry,0);et<ii.length;et+=1)ri=ii[et],ui=function(n,t,i){var f,p,w,s,b,u;void 0===t&&(t=1);void 0===i&&(i=!1);for(var c=1/0,l=1/0,a=-1/0,v=-1/0,k=n[0],o=0;o<k.length;o++)f=k[o],(!o||f.x<c)&&(c=f.x),(!o||f.y<l)&&(l=f.y),(!o||f.x>a)&&(a=f.x),(!o||f.y>v)&&(v=f.y);var y=Math.min(a-c,v-l),r=y/2,e=new ue([],iht);if(0===y)return new h(c,l);for(p=c;p<a;p+=y)for(w=l;w<v;w+=y)e.push(new gs(p+r,w+r,r,n));for(s=function(n){for(var r=0,o=0,s=0,u=n[0],f=0,h=u.length,c=h-1;f<h;c=f++){var t=u[f],i=u[c],e=t.x*i.y-i.x*t.y;o+=(t.x+i.x)*e;s+=(t.y+i.y)*e;r+=3*e}return new gs(o/r,s/r,0,n)}(n),b=e.length;e.length;)u=e.pop(),(u.d>s.d||!s.d)&&(s=u,i&&console.log("found best %d after %d probes",Math.round(1e4*u.d)/1e4,b)),u.max-s.d<=t||(e.push(new gs(u.p.x-(r=u.h/2),u.p.y-r,r,n)),e.push(new gs(u.p.x+r,u.p.y-r,r,n)),e.push(new gs(u.p.x-r,u.p.y+r,r,n)),e.push(new gs(u.p.x+r,u.p.y+r,r,n)),b+=4);return i&&(console.log("num probes: "+b),console.log("best distance: "+s.d)),s.p}(ri,16),d(ri[0],new re(ui.x,ui.y,0));else if("LineString"===t.type)for(ot=0,fi=t.geometry;ot<fi.length;ot+=1)st=fi[ot],d(st,new re(st[0].x,st[0].y,0));else if("Point"===t.type)for(ct=0,ei=t.geometry;ct<ei.length;ct+=1)for(lt=0,oi=ei[ct];lt<oi.length;lt+=1)at=oi[lt],d([at],new re(at.x,at.y,0))}(n,e,l,ot,u,c,et,ni,rt,ft,o)},k=0,d=n.features;k<d.length;k+=1)tt();e&&n.generateCollisionDebugBuffers()};n.perspective=function(n,t,i,r,u){var t=1/Math.tan(t/2);return n[0]=t/i,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=t,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=u&&u!==1/0?(n[10]=(u+r)*(t=1/(r-u)),n[14]=2*u*r*t):(n[10]=-1,n[14]=-2*r),n};n.pick=function(n,t){for(var r,u={},i=0;i<t.length;i++)r=t[i],r in n&&(u[r]=n[r]);return u};n.plugin=li;n.polygonIntersectsPolygon=krt;n.postMapLoadEvent=bet;n.postTurnstileEvent=wet;n.potpack=ift;n.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"];n.register=f;n.registerForPluginStateChange=function(n){return n({pluginStatus:ii,pluginURL:gu}),tp.on("pluginStateChange",n),n};n.renderColorRamp=fut;n.rotate=function(n,t,i){var r=t[0],u=t[1],f=t[2],e=t[3],t=Math.sin(i),i=Math.cos(i);return n[0]=r*i+f*t,n[1]=u*i+e*t,n[2]=r*-t+f*i,n[3]=u*-t+e*i,n};n.rotateX=function(n,t,i){var r=Math.sin(i),u=Math.cos(i),f=t[4],e=t[5],o=t[6],s=t[7],h=t[8],c=t[9],l=t[10],i=t[11];return t!==n&&(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[4]=f*u+h*r,n[5]=e*u+c*r,n[6]=o*u+l*r,n[7]=s*u+i*r,n[8]=h*u-f*r,n[9]=c*u-e*r,n[10]=l*u-o*r,n[11]=i*u-s*r,n};n.rotateZ=function(n,t,i){var r=Math.sin(i),u=Math.cos(i),f=t[0],e=t[1],o=t[2],s=t[3],h=t[4],c=t[5],l=t[6],i=t[7];return t!==n&&(n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[0]=f*u+h*r,n[1]=e*u+c*r,n[2]=o*u+l*r,n[3]=s*u+i*r,n[4]=h*u-f*r,n[5]=c*u-e*r,n[6]=l*u-o*r,n[7]=i*u-s*r,n};n.scale=function(n,t,i){var r=i[0],u=i[1],i=i[2];return n[0]=t[0]*r,n[1]=t[1]*r,n[2]=t[2]*r,n[3]=t[3]*r,n[4]=t[4]*u,n[5]=t[5]*u,n[6]=t[6]*u,n[7]=t[7]*u,n[8]=t[8]*i,n[9]=t[9]*i,n[10]=t[10]*i,n[11]=t[11]*i,n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n};n.scale$1=function(n,t,i){return n[0]=t[0]*i,n[1]=t[1]*i,n[2]=t[2]*i,n[3]=t[3]*i,n};n.scale$2=function(n,t,i){return n[0]=t[0]*i,n[1]=t[1]*i,n[2]=t[2]*i,n};n.setCacheLimits=function(n,t){gn=n;ntt=t};n.setRTLTextPlugin=function(n,t,i){if(void 0===i&&(i=!1),"deferred"===ii||"loading"===ii||"loaded"===ii)throw new Error("setRTLTextPlugin cannot be called multiple times.");gu=ce.resolveURL(n);ii="deferred";fd=t;ed();i||hrt()};n.sphericalToCartesian=function(n){var i=n[0],t=n[1],n=n[2];return t+=90,t*=Math.PI/180,n*=Math.PI/180,{x:i*Math.cos(t)*Math.sin(n),y:i*Math.sin(t)*Math.sin(n),z:i*Math.cos(n)}};n.sqrLen=function(n){var t=n[0],n=n[1];return t*t+n*n};n.styleSpec=t;n.sub=function(n,t,i){return n[0]=t[0]-i[0],n[1]=t[1]-i[1],n[2]=t[2]-i[2],n};n.symbolSize=ir;n.transformMat3=function(n,t,i){var r=t[0],u=t[1],t=t[2];return n[0]=r*i[0]+u*i[3]+t*i[6],n[1]=r*i[1]+u*i[4]+t*i[7],n[2]=r*i[2]+u*i[5]+t*i[8],n};n.transformMat4=lw;n.translate=function(n,t,i){var e,o,s,h,c,l,a,v,y,p,w,r=i[0],u=i[1],f=i[2];return t===n?(n[12]=t[0]*r+t[4]*u+t[8]*f+t[12],n[13]=t[1]*r+t[5]*u+t[9]*f+t[13],n[14]=t[2]*r+t[6]*u+t[10]*f+t[14],n[15]=t[3]*r+t[7]*u+t[11]*f+t[15]):(e=t[1],o=t[2],s=t[3],h=t[4],c=t[5],l=t[6],a=t[7],v=t[8],y=t[9],p=t[10],w=t[11],n[0]=i=t[0],n[1]=e,n[2]=o,n[3]=s,n[4]=h,n[5]=c,n[6]=l,n[7]=a,n[8]=v,n[9]=y,n[10]=p,n[11]=w,n[12]=i*r+h*u+v*f+t[12],n[13]=e*r+c*u+y*f+t[13],n[14]=o*r+l*u+p*f+t[14],n[15]=s*r+a*u+w*f+t[15]),n};n.triggerPluginCompletionEvent=srt;n.uniqueId=vet;n.validateCustomStyleLayer=function(n){var t=[],i=n.id;return void 0===i&&t.push({message:"layers."+i+': missing required property "id"'}),void 0===n.render&&t.push({message:"layers."+i+': missing required method "render"'}),n.renderingMode&&"2d"!==n.renderingMode&&"3d"!==n.renderingMode&&t.push({message:"layers."+i+': property "renderingMode" must be either "2d" or "3d"'}),t};n.validateLight=eot;n.validateStyle=ec;n.values=function(n){var t,i=[];for(t in n)i.push(n[t]);return i};n.vectorTile=ys;n.version="1.13.1";n.warnOnce=ti;n.webpSupported=wv;n.window=e;n.wrap=sn}),e(0,function(n){function pi(t){for(var r="",i=0,u=n.refProperties;i<u.length;i+=1)r+="/"+function t(n){var r=typeof n;if("number"==r||"boolean"==r||"string"==r||null==n)return JSON.stringify(n);if(Array.isArray(n)){for(var e="[",u=0,o=n;u<o.length;u+=1)e+=t(o[u])+",";return e+"]"}for(var f=Object.keys(n).sort(),s="{",i=0;i<f.length;i++)s+=JSON.stringify(f[i])+":"+t(n[f[i]])+",";return s+"}"}(t[u[i]]);return r}function p(n){this.keyCache={};n&&this.replace(n)}function vt(t){var u,f={},p=[],e,o,w,s,i,h,c,l,a,v,y,r;for(u in t){o=t[u];w=f[u]={};for(e in o)i=o[+e],i&&0!==i.bitmap.width&&0!==i.bitmap.height&&(s={x:0,y:0,w:i.bitmap.width+2,h:i.bitmap.height+2},p.push(s),w[e]={rect:s,metrics:i.metrics})}c=n.potpack(p);l=new n.AlphaImage({width:c.w||1,height:c.h||1});for(h in t){v=t[h];for(a in v)r=v[+a],r&&0!==r.bitmap.width&&0!==r.bitmap.height&&(y=f[h][a].rect,n.AlphaImage.copy(r.bitmap,l,{x:0,y:0},{x:y.x+1,y:y.y+1},r.bitmap))}this.image=l;this.positions=f}function yt(t){this.tileID=new n.OverscaledTileID(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}function w(t,i,r){for(var e=new n.EvaluationParameters(i),u=0,f=t;u<f.length;u+=1)f[u].recalculate(e,r)}function wi(t,i){var r=n.getArrayBuffer(t.request,function(t,r,u,f){t?i(t):r&&i(null,{vectorTile:new n.vectorTile.VectorTile(new n.pbf(r)),rawData:r,cacheControl:u,expires:f})});return function(){r.cancel();i()}}function f(n,t,i,r){this.actor=n;this.layerIndex=t;this.availableImages=i;this.loadVectorData=r||wi;this.loading={};this.loaded={}}function l(){this.loaded={}}function pt(n,t){if(0!==n.length){wt(n[0],t);for(var i=1;i<n.length;i++)wt(n[i],!t)}}function wt(n,t){for(var u=0,i=0,f=n.length,r=f-1;i<f;r=i++)u+=(n[i][0]-n[r][0])*(n[r][1]+n[i][1]);0<=u!=!!t&&n.reverse()}function k(t){this._feature=t;this.extent=n.EXTENT;this.type=t.type;this.properties=t.tags;"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))}function kt(n,t){this.options=t||{};this.features=n;this.length=n.length}function a(n,t){this.id="number"==typeof n.id?n.id:void 0;this.type=n.type;this.rawGeometry=1===n.type?[n.geometry]:n.geometry;this.properties=n.tags;this.extent=t||4096}function nt(t){var i=new n.pbf;return function(n,t){for(var i in n.layers)t.writeMessage(3,bi,n.layers[i])}(t,i),i.finish()}function bi(n,t){var r,i,u,f;for(t.writeVarintField(15,n.version||1),t.writeStringField(1,n.name||""),t.writeVarintField(5,n.extent||4096),r={keys:[],values:[],keycache:{},valuecache:{}},i=0;i<n.length;i++)r.feature=n.feature(i),t.writeMessage(2,ki,r);for(u=r.keys,i=0;i<u.length;i++)t.writeStringField(3,u[i]);for(f=r.values,i=0;i<f.length;i++)t.writeMessage(4,nr,f[i])}function ki(n,t){var i=n.feature;void 0!==i.id&&t.writeVarintField(1,i.id);t.writeMessage(2,di,n);t.writeVarintField(3,i.type);t.writeMessage(4,gi,i)}function di(n,t){var u,e=n.feature,o=n.keys,s=n.values,h=n.keycache,c=n.valuecache,r;for(u in e.properties){r=h[u];void 0===r&&(o.push(u),h[u]=r=o.length-1);t.writeVarint(r);var f=e.properties[u],i=typeof f,r=i+":"+(f="string"!=i&&"boolean"!=i&&"number"!=i?JSON.stringify(f):f),i=c[r];void 0===i&&(s.push(f),c[r]=i=s.length-1);t.writeVarint(i)}}function dt(n,t){return(t<<3)+(7&n)}function gt(n){return n<<1^n>>31}function gi(n,t){for(var i,e,o,r,s,h,c=n.loadGeometry(),u=n.type,l=0,a=0,v=c.length,f=0;f<v;f++){for(i=c[f],e=1,1===u&&(e=i.length),t.writeVarint(dt(1,e)),o=3===u?i.length-1:i.length,r=0;r<o;r++)1===r&&1!==u&&t.writeVarint(dt(2,o-1)),s=i[r].x-l,h=i[r].y-a,t.writeVarint(gt(s)),t.writeVarint(gt(h)),l+=s,a+=h;3===u&&t.writeVarint(15)}}function nr(n,t){var i=typeof n;"string"==i?t.writeStringField(1,n):"boolean"==i?t.writeBooleanField(7,n):"number"==i&&(n%1!=0?t.writeDoubleField(3,n):n<0?t.writeSVarintField(6,n):t.writeVarintField(5,n))}function s(n,t,i,r){tt(n,i,r);tt(t,2*i,2*r);tt(t,2*i+1,2*r+1)}function tt(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function ni(n,t,i,r){return i=n-i,r=t-r,i*i+r*r}function tr(n){return n[0]}function ir(n){return n[1]}function v(n,t,i,r,u){void 0===t&&(t=tr);void 0===i&&(i=ir);void 0===r&&(r=64);void 0===u&&(u=Float64Array);this.nodeSize=r;for(var h=(this.points=n).length<65536?Uint16Array:Uint32Array,e=this.ids=new h(n.length),o=this.coords=new u(2*n.length),f=0;f<n.length;f++)o[2*(e[f]=f)]=t(n[f]),o[2*f+1]=i(n[f]);!function n(t,i,r,u,f,e){var o;f-u<=r||(function n(t,i,r,u,f,e){for(var h,v,l,c;u<f;){600<f-u&&(h=f-u+1,v=r-u+1,c=Math.log(h),l=.5*Math.exp(2*c/3),c=.5*Math.sqrt(c*l*(h-l)/h)*(v-h/2<0?-1:1),n(t,i,r,Math.max(u,Math.floor(r-v*l/h+c)),Math.min(f,Math.floor(r+(h-v)*l/h+c)),e));var y=i[2*r+e],a=u,o=f;for(s(t,i,u,r),i[2*f+e]>y&&s(t,i,u,f);a<o;){for(s(t,i,a,o),a++,o--;i[2*a+e]<y;)a++;for(;i[2*o+e]>y;)o--}i[2*u+e]===y?s(t,i,u,o):s(t,i,++o,f);o<=r&&(u=o+1);r<=o&&(f=o-1)}}(t,i,o=u+f>>1,u,f,e%2),n(t,i,r,u,o-1,e+1),n(t,i,r,1+o,f,e+1))}(e,o,r,0,e.length-1,0)}function i(n){this.options=h(Object.create(ti),n);this.trees=new Array(this.options.maxZoom+1)}function ii(n){return{type:"Feature",id:n.id,properties:ri(n),geometry:{type:"Point",coordinates:[360*(n.x-.5),(n=(180-360*n.y)*Math.PI/180,360*Math.atan(Math.exp(n))/Math.PI-90)]}}}function ri(n){var t=n.numPoints,i=1e4<=t?Math.round(t/1e3)+"k":1e3<=t?Math.round(t/100)/10+"k":t;return h(h({},n.properties),{cluster:!0,cluster_id:n.id,point_count:t,point_count_abbreviated:i})}function it(n){return n/360+.5}function rt(n){return n=Math.sin(n*Math.PI/180),n=.5-.25*Math.log((1+n)/(1-n))/Math.PI,n<0?0:1<n?1:n}function h(n,t){for(var i in t)n[i]=t[i];return n}function ui(n){return n.x}function fi(n){return n.y}function c(n,t,i,r){return r={id:void 0===n?null:n,type:t,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0},function(n){var i=n.geometry,r=n.type,t,u;if("Point"===r||"MultiPoint"===r||"LineString"===r)ut(n,i);else if("Polygon"===r||"MultiLineString"===r)for(t=0;t<i.length;t++)ut(n,i[t]);else if("MultiPolygon"===r)for(t=0;t<i.length;t++)for(u=0;u<i[t].length;u++)ut(n,i[t][u])}(r),r}function ut(n,t){for(var i=0;i<t.length;i+=3)n.minX=Math.min(n.minX,t[i]),n.minY=Math.min(n.minY,t[i+1]),n.maxX=Math.max(n.maxX,t[i]),n.maxY=Math.max(n.maxY,t[i+1])}function ft(n,t,i,r){var u,l;if(t.geometry){var f=t.geometry.coordinates,o=t.geometry.type,s=Math.pow(i.tolerance/((1<<i.maxZoom)*i.extent),2),e=[],h=t.id;if(i.promoteId?h=t.properties[i.promoteId]:i.generateId&&(h=r||0),"Point"===o)ei(f,e);else if("MultiPoint"===o)for(u=0;u<f.length;u++)ei(f[u],e);else if("LineString"===o)et(f,e,s,!1);else if("MultiLineString"===o){if(i.lineMetrics){for(u=0;u<f.length;u++)et(f[u],e=[],s,!1),n.push(c(h,"LineString",e,t.properties));return}ot(f,e,s,!1)}else if("Polygon"===o)ot(f,e,s,!0);else{if("MultiPolygon"!==o){if("GeometryCollection"!==o)throw new Error("Input data is not a valid GeoJSON object.");for(u=0;u<t.geometry.geometries.length;u++)ft(n,{id:h,geometry:t.geometry.geometries[u],properties:t.properties},i,r);return}for(u=0;u<f.length;u++)l=[],ot(f[u],l,s,!0),e.push(l)}n.push(c(h,o,e,t.properties))}}function ei(n,t){t.push(oi(n[0]));t.push(si(n[1]));t.push(0)}function et(n,t,i,r){for(var o,s,f,e,c,h=0,u=0;u<n.length;u++)f=oi(n[u][0]),e=si(n[u][1]),t.push(f),t.push(e),t.push(0),0<u&&(h+=r?(o*e-f*s)/2:Math.sqrt(Math.pow(f-o,2)+Math.pow(e-s,2))),o=f,s=e;c=t.length-3;t[2]=1,function n(t,i,r,u){for(var f,o,v,y,h,c,p,w,l,e,a=u,k=r-i>>1,b=r-i,d=t[i],g=t[i+1],nt=t[r],tt=t[r+1],s=i+3;s<r;s+=3)f=(v=t[s],y=t[s+1],f=e=l=void 0,f=(w=tt)-(c=g),0==(e=(p=nt)-(h=d))&&0===f||(1<(l=((v-h)*e+(y-c)*f)/(e*e+f*f))?(h=p,c=w):0<l&&(h+=e*l,c+=f*l)),(e=v-h)*e+(f=y-c)*f),a<f?(o=s,a=f):f!==a||(f=Math.abs(s-k))<b&&(o=s,b=f);u<a&&(3<o-i&&n(t,i,o,u),t[o+2]=a,3<r-o&&n(t,o,r,u))}(t,0,c,i);t[2+c]=1;t.size=Math.abs(h);t.start=0;t.end=t.size}function ot(n,t,i,r){for(var f,u=0;u<n.length;u++)f=[],et(n[u],f,i,r),t.push(f)}function oi(n){return n/360+.5}function si(n){return n=Math.sin(n*Math.PI/180),n=.5-.25*Math.log((1+n)/(1-n))/Math.PI,n<0?0:1<n?1:n}function u(n,t,i,r,u,f,e,o){var v,p,h,a,w;if(r/=t,f>=(i/=t)&&e<r)return n;if(e<i||r<=f)return null;for(v=[],p=0;p<n.length;p++){var l=n[p],y=l.geometry,s=l.type,b=0===u?l.minX:l.minY,k=0===u?l.maxX:l.maxY;if(i<=b&&k<r)v.push(l);else if(!(k<i||r<=b)){if(h=[],"Point"===s||"MultiPoint"===s)!function(n,t,i,r,u){for(var e,f=0;f<n.length;f+=3)e=n[f+u],i<=e&&e<=r&&(t.push(n[f]),t.push(n[f+1]),t.push(n[f+2]))}(y,h,i,r,u);else if("LineString"===s)hi(y,h,i,r,u,!1,o.lineMetrics);else if("MultiLineString"===s)st(y,h,i,r,u,!1);else if("Polygon"===s)st(y,h,i,r,u,!0);else if("MultiPolygon"===s)for(a=0;a<y.length;a++)w=[],st(y[a],w,i,r,u,!0),w.length&&h.push(w);if(h.length)if(o.lineMetrics&&"LineString"===s)for(a=0;a<h.length;a++)v.push(c(l.id,s,h[a],l.tags));else"LineString"!==s&&"MultiLineString"!==s||(1===h.length?(s="LineString",h=h[0]):s="MultiLineString"),"Point"!==s&&"MultiPoint"!==s||(s=3===h.length?"Point":"MultiPoint"),v.push(c(l.id,s,h,l.tags))}}return v.length?v:null}function hi(n,t,i,r,u,f,e){for(var w,c,o=ci(n),b=0===u?rr:ur,k=n.start,l=0;l<n.length-3;l+=3){var s=n[l],h=n[l+1],nt=n[l+2],v=n[l+3],y=n[l+4],p=0===u?s:h,d=0===u?v:y,g=!1;e&&(w=Math.sqrt(Math.pow(s-v,2)+Math.pow(h-y,2)));p<i?i<d&&(c=b(o,s,h,v,y,i),e&&(o.start=k+w*c)):r<p?d<r&&(c=b(o,s,h,v,y,r),e&&(o.start=k+w*c)):ht(o,s,h,nt);d<i&&i<=p&&(c=b(o,s,h,v,y,i),g=!0);r<d&&p<=r&&(c=b(o,s,h,v,y,r),g=!0);!f&&g&&(e&&(o.end=k+w*c),t.push(o),o=ci(n));e&&(k+=w)}var a=n.length-3,s=n[a],h=n[1+a],nt=n[2+a];(p=0===u?s:h)>=i&&p<=r&&ht(o,s,h,nt);a=o.length-3;f&&3<=a&&(o[a]!==o[0]||o[1+a]!==o[1])&&ht(o,o[0],o[1],o[2]);o.length&&t.push(o)}function ci(n){var t=[];return t.size=n.size,t.start=n.start,t.end=n.end,t}function st(n,t,i,r,u,f){for(var e=0;e<n.length;e++)hi(n[e],t,i,r,u,f,!1)}function ht(n,t,i,r){n.push(t);n.push(i);n.push(r)}function rr(n,t,i,r,u,f){return t=(f-t)/(r-t),n.push(f),n.push(i+(u-i)*t),n.push(1),t}function ur(n,t,i,r,u,f){return i=(f-i)/(u-i),n.push(t+(r-t)*i),n.push(f),n.push(1),i}function li(n,t){for(var i,u,f,r,h,o,s=[],e=0;e<n.length;e++){if(i=n[e],u=i.type,"Point"===u||"MultiPoint"===u||"LineString"===u)f=ct(i.geometry,t);else if("MultiLineString"===u||"Polygon"===u)for(f=[],r=0;r<i.geometry.length;r++)f.push(ct(i.geometry[r],t));else if("MultiPolygon"===u)for(f=[],r=0;r<i.geometry.length;r++){for(h=[],o=0;o<i.geometry[r].length;o++)h.push(ct(i.geometry[r][o],t));f.push(h)}s.push(c(i.id,u,f,i.tags))}return s}function ct(n,t){var r=[],i;for(r.size=n.size,void 0!==n.start&&(r.start=n.start,r.end=n.end),i=0;i<n.length;i+=3)r.push(n[i]+t,n[i+1],n[i+2]);return r}function ai(n,t){var o,f;if(n.transformed)return n;for(var i,s=1<<n.z,h=n.x,c=n.y,e=0;e<n.features.length;e++){var u=n.features[e],r=u.geometry,l=u.type;if(u.geometry=[],1===l)for(i=0;i<r.length;i+=2)u.geometry.push(vi(r[i],r[i+1],t,s,h,c));else for(i=0;i<r.length;i++){for(o=[],f=0;f<r[i].length;f+=2)o.push(vi(r[i][f],r[i][f+1],t,s,h,c));u.geometry.push(o)}}return n.transformed=!0,n}function vi(n,t,i,r,u,f){return[Math.round(i*(n*r-u)),Math.round(i*(t*r-f))]}function fr(n,t,i,r,u){for(var l=t===u.maxZoom?0:u.tolerance/((1<<t)*u.extent),f={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:i,y:r,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},e=0;e<n.length;e++){f.numFeatures++,function(n,t,i,r){var f=t.geometry,e=t.type,o=[],u,h,c,s,l;if("Point"===e||"MultiPoint"===e)for(u=0;u<f.length;u+=3)o.push(f[u]),o.push(f[u+1]),n.numPoints++,n.numSimplified++;else if("LineString"===e)lt(o,f,n,i,!1,!1);else if("MultiLineString"===e||"Polygon"===e)for(u=0;u<f.length;u++)lt(o,f[u],n,i,"Polygon"===e,0===u);else if("MultiPolygon"===e)for(h=0;h<f.length;h++)for(c=f[h],u=0;u<c.length;u++)lt(o,c[u],n,i,!0,0===u);if(o.length){if(s=t.tags||null,"LineString"===e&&r.lineMetrics){for(l in s={},t.tags)s[l]=t.tags[l];s.mapbox_clip_start=f.start/f.size;s.mapbox_clip_end=f.end/f.size}r={geometry:o,type:"Polygon"===e||"MultiPolygon"===e?3:"LineString"===e||"MultiLineString"===e?2:1,tags:s};null!==t.id&&(r.id=t.id);n.features.push(r)}}(f,n[e],l,u);var o=n[e].minX,s=n[e].minY,h=n[e].maxX,c=n[e].maxY;o<f.minX&&(f.minX=o);s<f.minY&&(f.minY=s);h>f.maxX&&(f.maxX=h);c>f.maxY&&(f.maxY=c)}return f}function lt(n,t,i,r,u,f){var s=r*r,o,e;if(0<r&&t.size<(u?s:r))i.numPoints+=t.length/3;else{for(o=[],e=0;e<t.length;e+=3)(0===r||t[e+2]>s)&&(i.numSimplified++,o.push(t[e]),o.push(t[e+1])),i.numPoints++;u&&function(n,t){for(var e,o,f=0,i=0,r=n.length,u=r-2;i<r;u=i,i+=2)f+=(n[i]-n[u])*(n[i+1]+n[u+1]);if(0<f===t)for(i=0,r=n.length;i<r/2;i+=2)e=n[i],o=n[i+1],n[i]=n[r-2-i],n[i+1]=n[r-1-i],n[r-2-i]=e,n[r-1-i]=o}(o,f);n.push(o)}}function y(n,t){var s=(t=this.options=function(n,t){for(var i in t)n[i]=t[i];return n}(Object.create(this.options),t)).debug,o,f,i,r,e;if(s&&console.time("preprocess data"),t.maxZoom<0||24<t.maxZoom)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");e=function(n,t){var r=[],i;if("FeatureCollection"===n.type)for(i=0;i<n.features.length;i++)ft(r,n.features[i],t,i);else ft(r,"Feature"===n.type?n:{geometry:n},t);return r}(n,t);this.tiles={};this.tileCoords=[];s&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",t.indexMaxZoom,t.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0);o=e;i=(f=t).buffer/f.extent;n=u(r=o,1,-1-i,i,0,-1,2,f);t=u(o,1,1-i,2+i,0,-1,2,f);(n||t)&&(r=u(o,1,-i,1+i,0,-1,2,f)||[],n&&(r=li(n,1).concat(r)),t&&(r=r.concat(li(t,-1))));(e=r).length&&this.splitTile(e,0,0,0);s&&(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)))}function at(n,t,i){return 32*((1<<n)*i+t)+n}function er(n,t){var i=n.tileID.canonical;if(!this._geoJSONIndex||(n=this._geoJSONIndex.getTile(i.z,i.x,i.y),!n))return t(null,null);i=new d(n.features);n=o(i);t(null,{vectorTile:i,rawData:(n=0!==n.byteOffset||n.byteLength!==n.buffer.byteLength?new Uint8Array(n):n).buffer})}function r(n,t,i,r){e.call(this,n,t,i,er);r&&(this.loadGeoJSON=r)}var b,bt,d,g,o,ti,e,yi,t;return p.prototype.replace=function(n){this._layerConfigs={};this._layers={};this.update(n,[])},p.prototype.update=function(t,i){for(var r,h,f,c,e,o,l,a,v,y,u,w=this,s=0,p=t;s<p.length;s+=1)r=p[s],this._layerConfigs[r.id]=r,h=this._layers[r.id]=n.createStyleLayer(r),h._featureFilter=n.featureFilter(h.filter),this.keyCache[r.id]&&delete this.keyCache[r.id];for(f=0,c=i;f<c.length;f+=1)e=c[f],delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];for(this.familiesBySource={},o=0,l=function(n,t){for(var u,e,f,r={},i=0;i<n.length;i++)u=t&&t[n[i].id]||pi(n[i]),t&&(t[n[i].id]=u),(r[u]||(r[u]=[])).push(n[i]);f=[];for(e in r)f.push(r[e]);return f}(n.values(this._layerConfigs),this.keyCache);o<l.length;o+=1)y=l[o].map(function(n){return w._layers[n.id]}),u=y[0],"none"!==u.visibility&&(a=u.source||"",((v=(v=this.familiesBySource[a])||(this.familiesBySource[a]={}))[u=u.sourceLayer||"_geojsonTileLayer"]||(v[u]=[])).push(y))},n.register("GlyphAtlas",vt),yt.prototype.parse=function(t,i,r,u,f){function g(){var o,i,u,t;if(e)return f(e);if(h&&c&&p){i=new vt(h);u=new n.ImageAtlas(c,p);for(o in b)t=b[o],t instanceof n.SymbolBucket?(w(t.layers,this.zoom,r),n.performSymbolLayout(t,h,i.positions,c,u.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):t.hasPattern&&(t instanceof n.LineBucket||t instanceof n.FillBucket||t instanceof n.FillExtrusionBucket)&&(w(t.layers,this.zoom,r),t.addFeatures(a,this.tileID.canonical,u.patternPositions));this.status="done";f(null,{buckets:n.values(b).filter(function(n){return!n.isEmpty()}),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:i.image,imageAtlas:u,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?c:null,glyphPositions:this.returnDependencies?i.positions:null})}}var nt=this,rt,s,v,tt,ot,d,it,y,o;this.status="parsing";this.data=t;this.collisionBoxArray=new n.CollisionBoxArray;rt=new n.DictionaryCoder(Object.keys(t.layers).sort());s=new n.FeatureIndex(this.tileID,this.promoteId);s.bucketLayerIDs=[];var e,h,c,p,l,b={},a={featureIndex:s,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},ut=i.familiesBySource[this.source];for(l in ut)if(v=t.layers[l],v){1===v.version&&n.warnOnce('Vector tile source "'+this.source+'" layer "'+l+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var ft=rt.encode(l),et=[],k=0;k<v.length;k++)tt=v.feature(k),ot=s.getId(tt,l),et.push({feature:tt,id:ot,index:k,sourceLayerIndex:ft});for(d=0,it=ut[l];d<it.length;d+=1)y=it[d],o=y[0],o.minzoom&&this.zoom<Math.floor(o.minzoom)||o.maxzoom&&this.zoom>=o.maxzoom||"none"!==o.visibility&&(w(y,this.zoom,r),(b[o.id]=o.createBucket({index:s.bucketLayerIDs.length,layers:y,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ft,sourceID:this.source})).populate(et,a,this.tileID.canonical),s.bucketLayerIDs.push(y.map(function(n){return n.id})))}i=n.mapObject(a.glyphDependencies,function(n){return Object.keys(n).map(Number)});Object.keys(i).length?u.send("getGlyphs",{uid:this.uid,stacks:i},function(n,t){e||(e=n,h=t,g.call(nt))}):h={};i=Object.keys(a.iconDependencies);i.length?u.send("getImages",{icons:i,source:this.source,tileID:this.tileID,type:"icons"},function(n,t){e||(e=n,c=t,g.call(nt))}):c={};i=Object.keys(a.patternDependencies);i.length?u.send("getImages",{icons:i,source:this.source,tileID:this.tileID,type:"patterns"},function(n,t){e||(e=n,p=t,g.call(nt))}):p={};g.call(this)},f.prototype.loadTile=function(t,i){var r=this,f=t.uid,e,u;this.loading||(this.loading={});e=!!(t&&t.request&&t.request.collectResourceTiming)&&new n.RequestPerformance(t.request);u=this.loading[f]=new yt(t);u.abort=this.loadVectorData(t,function(t,o){var c,s,h;if(delete r.loading[f],t||!o)return u.status="done",r.loaded[f]=u,i(t);c=o.rawData;s={};o.expires&&(s.expires=o.expires);o.cacheControl&&(s.cacheControl=o.cacheControl);h={};e&&(t=e.finish())&&(h.resourceTiming=JSON.parse(JSON.stringify(t)));u.vectorTile=o.vectorTile;u.parse(o.vectorTile,r.layerIndex,r.availableImages,r.actor,function(t,r){return t||!r?i(t):void i(null,n.extend({rawTileData:c.slice(0)},r,s,h))});r.loaded=r.loaded||{};r.loaded[f]=u})},f.prototype.reloadTile=function(n,t){var i,e=this,r=this.loaded,u=n.uid,f=this;r&&r[u]&&((i=r[u]).showCollisionBoxes=n.showCollisionBoxes,n=function(n,r){var u=i.reloadCallback;u&&(delete i.reloadCallback,i.parse(i.vectorTile,f.layerIndex,e.availableImages,f.actor,u));t(n,r)},"parsing"===i.status?i.reloadCallback=n:"done"===i.status&&(i.vectorTile?i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor,n):n()))},f.prototype.abortTile=function(n,t){var i=this.loading,n=n.uid;i&&i[n]&&i[n].abort&&(i[n].abort(),delete i[n]);t()},f.prototype.removeTile=function(n,t){var i=this.loaded,n=n.uid;i&&i[n]&&delete i[n];t()},b=n.window.ImageBitmap,l.prototype.loadTile=function(t,i){var r=t.uid,u=t.encoding,t=t.rawImageData,t=b&&t instanceof b?this.getImageData(t):t,u=new n.DEMData(r,t,u);this.loaded=this.loaded||{};i(null,this.loaded[r]=u)},l.prototype.getImageData=function(t){return this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height),t=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2),this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new n.RGBAImage({width:t.width,height:t.height},t.data)},l.prototype.removeTile=function(n){var t=this.loaded,n=n.uid;t&&t[n]&&delete t[n]},bt=n.vectorTile.VectorTileFeature.prototype.toGeoJSON,k.prototype.loadGeometry=function(){var i,f;if(1===this._feature.type){for(var e=[],t=0,o=this._feature.geometry;t<o.length;t+=1)i=o[t],e.push([new n.Point$1(i[0],i[1])]);return e}for(var s=[],r=0,h=this._feature.geometry;r<h.length;r+=1){for(var c=[],u=0,l=h[r];u<l.length;u+=1)f=l[u],c.push(new n.Point$1(f[0],f[1]));s.push(c)}return s},k.prototype.toGeoJSON=function(n,t,i){return bt.call(this,n,t,i)},d=function(t){this.layers={_geojsonTileLayer:this};this.name="_geojsonTileLayer";this.extent=n.EXTENT;this.length=t.length;this._features=t},d.prototype.feature=function(n){return new k(this._features[n])},t=n.vectorTile.VectorTileFeature,g=kt,kt.prototype.feature=function(n){return new a(this.features[n],this.options.extent)},a.prototype.loadGeometry=function(){var u=this.rawGeometry,t;for(this.geometry=[],t=0;t<u.length;t++){for(var r=u[t],f=[],i=0;i<r.length;i++)f.push(new n.Point$1(r[i][0],r[i][1]));this.geometry.push(f)}return this.geometry},a.prototype.bbox=function(){var r,n;this.geometry||this.loadGeometry();for(var u=this.geometry,f=1/0,e=-1/0,o=1/0,s=-1/0,i=0;i<u.length;i++)for(r=u[i],n=0;n<r.length;n++)var t=r[n],f=Math.min(f,t.x),e=Math.max(e,t.x),o=Math.min(o,t.y),s=Math.max(s,t.y);return[f,o,e,s]},a.prototype.toGeoJSON=t.prototype.toGeoJSON,o=nt,t=g,o.fromVectorTileJs=nt,o.fromGeojsonVt=function(n,t){t=t||{};var i,r={};for(i in n)r[i]=new g(n[i].features,t),r[i].name=i,r[i].version=t.version,r[i].extent=t.extent;return nt({layers:r})},o.GeoJSONWrapper=t,v.prototype.range=function(n,t,i,r){return function(n,t,i,r,u,f,e){for(var h,c,l,s,w,o=[0,n.length-1,0],a=[];o.length;){var p=o.pop(),v=o.pop(),y=o.pop();if(v-y<=e)for(c=y;c<=v;c++)s=t[2*c+1],(h=t[2*c])>=i&&h<=u&&r<=s&&s<=f&&a.push(n[c]);else l=Math.floor((y+v)/2),s=t[2*l+1],(h=t[2*l])>=i&&h<=u&&r<=s&&s<=f&&a.push(n[l]),w=(p+1)%2,(0===p?i<=h:r<=s)&&(o.push(y),o.push(l-1),o.push(w)),(0===p?h<=u:s<=f)&&(o.push(l+1),o.push(v),o.push(w))}return a}(this.ids,this.coords,n,t,i,r,this.nodeSize)},ti={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!(v.prototype.within=function(n,t,i){return function(n,t,i,r,u,f){for(var o,p,e=[0,n.length-1,0],l=[],w=u*u;e.length;){var a=e.pop(),h=e.pop(),c=e.pop();if(h-c<=f)for(o=c;o<=h;o++)ni(t[2*o],t[2*o+1],i,r)<=w&&l.push(n[o]);else{var s=Math.floor((c+h)/2),v=t[2*s],y=t[2*s+1];ni(v,y,i,r)<=w&&l.push(n[s]);p=(a+1)%2;(0===a?i-u<=v:r-u<=y)&&(e.push(c),e.push(s-1),e.push(p));(0===a?v<=i+u:y<=r+u)&&(e.push(s+1),e.push(h),e.push(p))}}return l}(this.ids,this.coords,n,t,i,this.nodeSize)}),generateId:!1,reduce:null,map:function(n){return n}},i.prototype.load=function(n){var t=this.options,f=t.log,a=t.minZoom,s=t.maxZoom,h=t.nodeSize,e,c,o,r,u,l,i;for(f&&console.time("total time"),t="prepare "+n.length+" points",f&&console.time(t),this.points=n,i=[],r=0;r<n.length;r++)n[r].geometry&&i.push((e=n[r],c=r,o=void 0,o=e.geometry.coordinates,e=o[1],{x:it(o[0]),y:rt(e),zoom:1/0,index:c,parentId:-1}));for(this.trees[s+1]=new v(i,ui,fi,h,Float32Array),f&&console.timeEnd(t),u=s;a<=u;u--)l=+Date.now(),i=this._cluster(i,u),this.trees[u]=new v(i,ui,fi,h,Float32Array),f&&console.log("z%d: %d clusters in %dms",u,i.length,+Date.now()-l);return f&&console.timeEnd("total time"),this},i.prototype.getClusters=function(n,t){var i=((n[0]+180)%360+360)%360-180,f=Math.max(-90,Math.min(90,n[1])),r=180===n[2]?180:((n[2]+180)%360+360)%360-180,e=Math.max(-90,Math.min(90,n[3])),s,n,u;if(360<=n[2]-n[0])i=-180,r=180;else if(r<i)return s=this.getClusters([i,f,180,e],t),n=this.getClusters([-180,f,r,e],t),s.concat(n);for(var h=this.trees[this._limitZoom(t)],c=[],o=0,l=h.range(it(i),rt(e),it(r),rt(f));o<l.length;o+=1)u=h.points[l[o]],c.push(u.numPoints?ii(u):this.points[u.index]);return c},i.prototype.getChildren=function(n){var t=this._getOriginId(n),u=this._getOriginZoom(n),f="No cluster with the specified id.",r=this.trees[u],i;if(!r)throw new Error(f);if(t=r.points[t],!t)throw new Error(f);for(var u=this.options.radius/(this.options.extent*Math.pow(2,u-1)),e=[],o=0,s=r.within(t.x,t.y,u);o<s.length;o+=1)i=r.points[s[o]],i.parentId===n&&e.push(i.numPoints?ii(i):this.points[i.index]);if(0===e.length)throw new Error(f);return e},i.prototype.getLeaves=function(n,t,i){var r=[];return this._appendLeaves(r,n,t=t||10,i=i||0,0),r},i.prototype.getTile=function(n,t,i){var f=this.trees[this._limitZoom(n)],r=Math.pow(2,n),u=this.options,e=u.radius/u.extent,o=(i-e)/r,n=(i+1+e)/r,u={features:[]};return this._addTileFeatures(f.range((t-e)/r,o,(t+1+e)/r,n),f.points,t,i,r,u),0===t&&this._addTileFeatures(f.range(1-e/r,o,1,n),f.points,r,i,r,u),t===r-1&&this._addTileFeatures(f.range(0,o,e/r,n),f.points,-1,i,r,u),u.features.length?u:null},i.prototype.getClusterExpansionZoom=function(n){for(var i,t=this._getOriginZoom(n)-1;t<=this.options.maxZoom;){if(i=this.getChildren(n),t++,1!==i.length)break;n=i[0].properties.cluster_id}return t},i.prototype._appendLeaves=function(n,t,i,r,u){for(var s,f,e=0,o=this.getChildren(t);e<o.length;e+=1)if(s=o[e],f=s.properties,f&&f.cluster?u+f.point_count<=r?u+=f.point_count:u=this._appendLeaves(n,f.cluster_id,i,r,u):u<r?u++:n.push(s),n.length===i)break;return u},i.prototype._addTileFeatures=function(n,t,i,r,u,f){for(var s=0,h=n;s<h.length;s+=1){var e=t[h[s]],c=e.numPoints,l={type:1,geometry:[[Math.round(this.options.extent*(e.x*u-i)),Math.round(this.options.extent*(e.y*u-r))]],tags:c?ri(e):this.points[e.index].properties},o=void 0;c?o=e.id:this.options.generateId?o=e.index:this.points[e.index].id&&(o=this.points[e.index].id);void 0!==o&&(l.id=o);f.features.push(l)}},i.prototype._limitZoom=function(n){return Math.max(this.options.minZoom,Math.min(+n,this.options.maxZoom+1))},i.prototype._cluster=function(n,t){for(var i,p,d,r,c,g,l,f=[],e=this.options,a=e.reduce,ut=e.minPoints,ft=e.radius/(e.extent*Math.pow(2,t)),o=0;o<n.length;o++)if(i=n[o],!(i.zoom<=t)){i.zoom=t;for(var s=this.trees[t+1],v=s.within(i.x,i.y,ft),h=i.numPoints||1,u=h,y=0,nt=v;y<nt.length;y+=1)p=s.points[nt[y]],p.zoom>t&&(u+=p.numPoints||1);if(ut<=u){for(var tt=i.x*h,it=i.y*h,w=a&&1<h?this._map(i,!0):null,b=(o<<5)+(t+1)+this.points.length,k=0,rt=v;k<rt.length;k+=1)r=s.points[rt[k]],r.zoom<=t||(r.zoom=t,d=r.numPoints||1,tt+=r.x*d,it+=r.y*d,r.parentId=b,a&&a(w=w||this._map(i,!0),this._map(r)));i.parentId=b;f.push({x:tt/u,y:it/u,zoom:1/0,id:b,parentId:-1,numPoints:u,properties:w})}else if(f.push(i),1<u)for(c=0,g=v;c<g.length;c+=1)l=s.points[g[c]],l.zoom<=t||(l.zoom=t,f.push(l))}return f},i.prototype._getOriginId=function(n){return n-this.points.length>>5},i.prototype._getOriginZoom=function(n){return(n-this.points.length)%32},y.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!(i.prototype._map=function(n,t){if(n.numPoints)return t?h({},n.properties):n.properties;var i=this.points[n.index].properties,n=this.options.map(i);return t&&n===i?h({},n):n}),promoteId:null,generateId:!1,debug:0},y.prototype.splitTile=function(n,t,i,r,f,e,o){for(var l,c=[n,t,i,r],h=this.options,p=h.debug;c.length;){r=c.pop();i=c.pop();t=c.pop();n=c.pop();var d,g,nt,v,b,k,tt,a,y=1<<t,w=at(t,i,r),s=this.tiles[w];if(!s&&(1<p&&console.time("creation"),s=this.tiles[w]=fr(n,t,i,r,h),this.tileCoords.push({z:t,x:i,y:r}),p)&&(1<p&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,r,s.numFeatures,s.numPoints,s.numSimplified),console.timeEnd("creation")),this.stats[a="z"+t]=(this.stats[a]||0)+1,this.total++),s.source=n,f){if(t===h.maxZoom||t===f)continue;if(l=1<<f-t,i!==Math.floor(e/l)||r!==Math.floor(o/l))continue}else if(t===h.indexMaxZoom||s.numPoints<=h.indexMaxPoints)continue;s.source=null;0!==n.length&&(1<p&&console.time("clipping"),b=.5-(v=.5*h.buffer/h.extent),k=1+v,tt=d=g=nt=null,a=u(n,y,i-v,i+(w=.5+v),0,s.minX,s.maxX,h),l=u(n,y,i+b,i+k,0,s.minX,s.maxX,h),n=null,a&&(tt=u(a,y,r-v,r+w,1,s.minY,s.maxY,h),d=u(a,y,r+b,r+k,1,s.minY,s.maxY,h),a=null),l&&(g=u(l,y,r-v,r+w,1,s.minY,s.maxY,h),nt=u(l,y,r+b,r+k,1,s.minY,s.maxY,h),l=null),1<p&&console.timeEnd("clipping"),c.push(tt||[],t+1,2*i,2*r),c.push(d||[],t+1,2*i,2*r+1),c.push(g||[],t+1,2*i+1,2*r),c.push(nt||[],t+1,2*i+1,2*r+1))}},y.prototype.getTile=function(n,t,i){var r=this.options,h=r.extent,s=r.debug;if(n<0||24<n)return null;if(r=1<<n,r=at(n,t=(t%r+r)%r,i),this.tiles[r])return ai(this.tiles[r],h);1<s&&console.log("drilling down to z%d-%d-%d",n,t,i);for(var u,f=n,e=t,o=i;!u&&0<f;)f--,e=Math.floor(e/2),o=Math.floor(o/2),u=this.tiles[at(f,e,o)];return u&&u.source?(1<s&&console.log("found parent tile z%d-%d-%d",f,e,o),1<s&&console.time("drilling down"),this.splitTile(u.source,f,e,o,n,t,i),1<s&&console.timeEnd("drilling down"),this.tiles[r]?ai(this.tiles[r],h):null):null},yi=((e=f)&&(r.__proto__=e),((r.prototype=Object.create(e&&e.prototype)).constructor=r).prototype.loadData=function(n,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});this._pendingCallback=t;this._pendingLoadDataParams=n;this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var r,t,u,f=this;this._pendingCallback&&this._pendingLoadDataParams&&(r=this._pendingCallback,t=this._pendingLoadDataParams,delete this._pendingCallback,delete this._pendingLoadDataParams,u=!!(t&&t.request&&t.request.collectResourceTiming)&&new n.RequestPerformance(t.request),this.loadGeoJSON(t,function(e,o){var s,h;if(e||!o)return r(e);if("object"!=typeof o)return r(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."));!function e(n,t){var i,r=n&&n.type;if("FeatureCollection"===r)for(i=0;i<n.features.length;i++)e(n.features[i],t);else if("GeometryCollection"===r)for(i=0;i<n.geometries.length;i++)e(n.geometries[i],t);else if("Feature"===r)e(n.geometry,t);else if("Polygon"===r)pt(n.coordinates,t);else if("MultiPolygon"===r)for(i=0;i<n.coordinates.length;i++)pt(n.coordinates[i],t);return n}(o,!0);try{if(t.filter){if(s=n.createExpression(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1}),"error"===s.result)throw new Error(s.value.map(function(n){return n.key+": "+n.message}).join(", "));o={type:"FeatureCollection",features:o.features.filter(function(n){return s.value.evaluate({zoom:0},n)})}}f._geoJSONIndex=t.cluster?new i(function(){var i=t.superclusterOptions,e=t.clusterProperties;if(!e||!i)return i;for(var l={},a={},o={accumulated:null,zoom:0},r={properties:null},s=Object.keys(e),h=0,v=s;h<v.length;h+=1){var u=v[h],c=e[u],f=c[0],c=n.createExpression(c[1]),f=n.createExpression("string"==typeof f?[f,["accumulated"],["get",u]]:f);l[u]=c.value;a[u]=f.value}return i.map=function(n){var i;r.properties=n;for(var u={},t=0,f=s;t<f.length;t+=1)i=f[t],u[i]=l[i].evaluate(o,r);return u},i.reduce=function(n,t){var i,f,u;for(r.properties=t,i=0,f=s;i<f.length;i+=1)u=f[i],o.accumulated=n[u],n[u]=a[u].evaluate(o,r)},i}()).load(o.features):new y(o,t.geojsonVtOptions)}catch(e){return r(e)}f.loaded={};h={};u&&(o=u.finish())&&(h.resourceTiming={},h.resourceTiming[t.source]=JSON.parse(JSON.stringify(o)));r(null,h)}))},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(n,t){var i=this.loaded;return i&&i[n.uid]?e.prototype.reloadTile.call(this,n,t):this.loadTile(n,t)},r.prototype.loadGeoJSON=function(t,i){if(t.request)n.getJSON(t.request,i);else{if("string"!=typeof t.data)return i(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."));try{return i(null,JSON.parse(t.data))}catch(r){return i(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(n,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});t()},r.prototype.getClusterExpansionZoom=function(n,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(n.clusterId))}catch(n){t(n)}},r.prototype.getClusterChildren=function(n,t){try{t(null,this._geoJSONIndex.getChildren(n.clusterId))}catch(n){t(n)}},r.prototype.getClusterLeaves=function(n,t){try{t(null,this._geoJSONIndex.getLeaves(n.clusterId,n.limit,n.offset))}catch(n){t(n)}},r),t=function(t){var i=this;this.self=t;this.actor=new n.Actor(t,this);this.layerIndexes={};this.availableImages={};this.workerSourceTypes={vector:f,geojson:yi};this.workerSources={};this.demWorkerSources={};this.self.registerWorkerSource=function(n,t){if(i.workerSourceTypes[n])throw new Error('Worker source with name "'+n+'" already registered.');i.workerSourceTypes[n]=t};this.self.registerRTLTextPlugin=function(t){if(n.plugin.isParsed())throw new Error("RTL text plugin already registered.");n.plugin.applyArabicShaping=t.applyArabicShaping;n.plugin.processBidirectionalText=t.processBidirectionalText;n.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText}},t.prototype.setReferrer=function(n,t){this.referrer=t},t.prototype.setImages=function(n,t,i){var u,f,r;for(u in this.availableImages[n]=t,this.workerSources[n]){r=this.workerSources[n][u];for(f in r)r[f].availableImages=t}i()},t.prototype.setLayers=function(n,t,i){this.getLayerIndex(n).replace(t);i()},t.prototype.updateLayers=function(n,t,i){this.getLayerIndex(n).update(t.layers,t.removedIds);i()},t.prototype.loadTile=function(n,t,i){this.getWorkerSource(n,t.type,t.source).loadTile(t,i)},t.prototype.loadDEMTile=function(n,t,i){this.getDEMWorkerSource(n,t.source).loadTile(t,i)},t.prototype.reloadTile=function(n,t,i){this.getWorkerSource(n,t.type,t.source).reloadTile(t,i)},t.prototype.abortTile=function(n,t,i){this.getWorkerSource(n,t.type,t.source).abortTile(t,i)},t.prototype.removeTile=function(n,t,i){this.getWorkerSource(n,t.type,t.source).removeTile(t,i)},t.prototype.removeDEMTile=function(n,t){this.getDEMWorkerSource(n,t.source).removeTile(t)},t.prototype.removeSource=function(n,t,i){var r;this.workerSources[n]&&this.workerSources[n][t.type]&&this.workerSources[n][t.type][t.source]&&(r=this.workerSources[n][t.type][t.source],delete this.workerSources[n][t.type][t.source],void 0!==r.removeSource?r.removeSource(t,i):i())},t.prototype.loadWorkerSource=function(n,t,i){try{this.self.importScripts(t.url);i()}catch(n){i(n.toString())}},t.prototype.syncRTLPluginState=function(t,i,r){try{n.plugin.setState(i);var f,u=n.plugin.getPluginURL();n.plugin.isLoaded()&&!n.plugin.isParsed()&&null!=u&&(this.self.importScripts(u),r((f=n.plugin.isParsed())?void 0:new Error("RTL Text Plugin failed to import scripts from "+u),f))}catch(t){r(t.toString())}},t.prototype.getAvailableImages=function(n){return this.availableImages[n]||[]},t.prototype.getLayerIndex=function(n){return this.layerIndexes[n]||(this.layerIndexes[n]=new p)},t.prototype.getWorkerSource=function(n,t,i){var r=this;return this.workerSources[n]||(this.workerSources[n]={}),this.workerSources[n][t]||(this.workerSources[n][t]={}),this.workerSources[n][t][i]||(this.workerSources[n][t][i]=new this.workerSourceTypes[t]({send:function(t,i,u){r.actor.send(t,i,u,n)}},this.getLayerIndex(n),this.getAvailableImages(n))),this.workerSources[n][t][i]},t.prototype.getDEMWorkerSource=function(n,t){return this.demWorkerSources[n]||(this.demWorkerSources[n]={}),this.demWorkerSources[n][t]||(this.demWorkerSources[n][t]=new l),this.demWorkerSources[n][t]},t.prototype.enforceCacheSizeLimit=function(t,i){n.enforceCacheSizeLimit(i)},"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new t(self)),t}),e(0,function(n){function dc(n){if(!ei)return n[0];for(var t=0;t<n.length;t++)if(n[t]in ei)return n[t];return n[0]}function yh(t){t.preventDefault();t.stopPropagation();n.window.removeEventListener("click",yh,!0)}function w(){br.call(this);this.images={};this.updatedImages={};this.callbackDispatchedThisFrame={};this.loaded=!1;this.requestors=[];this.patterns={};this.atlasImage=new n.RGBAImage({width:1,height:1});this.dirty=!0}function wh(n,t,i,r,u,f){this.fontSize=n||24;this.buffer=void 0===t?3:t;this.cutoff=r||.25;this.fontFamily=u||"sans-serif";this.fontWeight=f||"normal";this.radius=i||8;i=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas");this.canvas.width=this.canvas.height=i;this.ctx=this.canvas.getContext("2d");this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily;this.ctx.textBaseline="middle";this.ctx.fillStyle="black";this.gridOuter=new Float64Array(i*i);this.gridInner=new Float64Array(i*i);this.f=new Float64Array(i);this.d=new Float64Array(i);this.z=new Float64Array(i+1);this.v=new Int16Array(i);this.middle=Math.round(i/2*(0<=navigator.userAgent.indexOf("Gecko/")?1.2:1))}function il(n,t,i,r,u,f,e){for(var s,o=0;o<t;o++){for(s=0;s<i;s++)r[s]=n[s*t+o];for(rl(r,u,f,e,i),s=0;s<i;s++)n[s*t+o]=u[s]}for(s=0;s<i;s++){for(o=0;o<t;o++)r[o]=n[s*t+o];for(rl(r,u,f,e,t),o=0;o<t;o++)n[s*t+o]=Math.sqrt(u[o])}}function rl(n,t,i,r,u){var e,f,o;for(r[i[0]=0]=-kr,r[1]=+kr,e=1,f=0;e<u;e++){for(o=(n[e]+e*e-(n[i[f]]+i[f]*i[f]))/(2*e-2*i[f]);o<=r[f];)f--,o=(n[e]+e*e-(n[i[f]]+i[f]*i[f]))/(2*e-2*i[f]);i[++f]=e;r[f]=o;r[f+1]=+kr}for(f=e=0;e<u;e++){for(;r[f+1]<e;)f++;t[e]=(e-i[f])*(e-i[f])+n[i[f]]}}function ri(n,t){this.requestManager=n;this.localIdeographFontFamily=t;this.entries={}}function oi(n,t){this.width=n;this.height=t;this.nextRow=0;this.data=new Uint8Array(this.width*this.height);this.dashEntry={}}function ui(t){gr.call(this);this._transitionable=new n.Transitionable(ul);this.setLight(t);this._transitioning=this._transitionable.untransitioned()}function di(t,i){var u,r,f;for(this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n.uniqueId(),u=this.workerPool.acquire(this.id),r=0;r<u.length;r++)f=new di.Actor(u[r],i,this.id),f.name="Worker "+r,this.actors.push(f)}function el(t,i,r){function u(u,f){if(u)return r(u);f&&(u=n.pick(n.extend(f,t),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]),f.vector_layers&&(u.vectorLayers=f.vector_layers,u.vectorLayerIds=u.vectorLayers.map(function(n){return n.id})),u.tiles=i.canonicalizeTileset(u,t.url),r(null,u))}return t.url?n.getJSON(i.transformRequest(i.normalizeSourceURL(t.url),n.ResourceType.Source),u):n.browser.frame(function(){return u(null,t)})}function cs(t,i,r){this.bounds=n.LngLatBounds.convert(this.validateBounds(t));this.minzoom=i||0;this.maxzoom=r||24}function yt(t,i,r,u){nu.call(this,t,i,r,u);i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some(function(n){return!Array.isArray(n)||2!==n.length||n.some(function(n){return"number"!=typeof n})})||this.fire(new n.ErrorEvent(new n.ValidationError("sources."+t,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new n.ErrorEvent(new n.ValidationError("sources."+t,null,'missing required property "coordinates"')));i.animate&&"boolean"!=typeof i.animate&&this.fire(new n.ErrorEvent(new n.ValidationError("sources."+t,null,'optional "animate" property must be a boolean value')));i.canvas?"string"==typeof i.canvas||i.canvas instanceof n.window.HTMLCanvasElement||this.fire(new n.ErrorEvent(new n.ValidationError("sources."+t,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 n.ErrorEvent(new n.ValidationError("sources."+t,null,'missing required property "canvas"')));this.options=i;this.animate=void 0===i.animate||i.animate}function lt(n,t,i,r){tu.call(this,n,t,i,r);this.roundZoom=!0;this.type="video";this.options=t}function et(n,t,i,r){iu.call(this);this.id=n;this.dispatcher=i;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}function tt(t,i,r,u){ru.call(this);this.id=t;this.type="geojson";this.minzoom=0;this.maxzoom=18;this.tileSize=512;this.isTileClipped=!0;this.reparseOverscaled=!0;this._removed=!1;this._loaded=!1;this.actor=r.getActor();this.setEventedParent(u);this._data=i.data;this._options=n.extend({},i);this._collectResourceTiming=i.collectResourceTiming;this._resourceTiming=[];void 0!==i.maxzoom&&(this.maxzoom=i.maxzoom);i.type&&(this.type=i.type);i.attribution&&(this.attribution=i.attribution);this.promoteId=i.promoteId;u=n.EXTENT/this.tileSize;this.workerOptions=n.extend({source:this.id,cluster:i.cluster||!1,geojsonVtOptions:{buffer:(void 0!==i.buffer?i.buffer:128)*u,tolerance:(void 0!==i.tolerance?i.tolerance:.375)*u,extent:n.EXTENT,maxZoom:this.maxzoom,lineMetrics:i.lineMetrics||!1,generateId:i.generateId||!1},superclusterOptions:{maxZoom:void 0!==i.clusterMaxZoom?Math.min(i.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,i.clusterMinPoints||2),extent:n.EXTENT,radius:(i.clusterRadius||50)*u,log:!1,generateId:i.generateId||!1},clusterProperties:i.clusterProperties,filter:i.filter},i.workerOptions)}function hi(t,i,r,u){uu.call(this,t,i,r,u);this.type="raster-dem";this.maxzoom=22;this._options=n.extend({type:"raster-dem"},i);this.encoding=i.encoding||"mapbox"}function ot(t,i,r,u){fu.call(this);this.id=t;this.dispatcher=r;this.setEventedParent(u);this.type="raster";this.minzoom=0;this.maxzoom=22;this.roundZoom=!0;this.scheme="xyz";this.tileSize=512;this._loaded=!1;this._options=n.extend({type:"raster"},i);n.extend(this,n.pick(i,["url","scheme","tileSize"]))}function rt(t,i,r,u){if(eu.call(this),this.id=t,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,n.extend(this,n.pick(i,["url","scheme","tileSize","promoteId"])),this._options=n.extend({type:"vector"},i),this._collectResourceTiming=i.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(u)}function oy(t,i,r,u,f,e){var c=function(n,t,i){var u,e,f,r;if(n){for(u=0,e=n;u<e.length;u+=1)if(f=t[e[u]],f&&f.source===i&&"fill-extrusion"===f.type)return!0}else for(r in t)if(r=t[r],r.source===i&&"fill-extrusion"===r.type)return!0;return!1}(f&&f.layers,i,t.id),a=e.maxPitchScaleFactor(),c=t.tilesIn(u,a,c),o,w,h;c.sort(hl);for(var s,v,y=[],l=0,p=c;l<p.length;l+=1)o=p[l],y.push({wrappedTileID:o.tileID.wrapped().key,queryResults:o.tile.queryRenderedFeatures(i,r,t._state,o.queryGeometry,o.cameraQueryGeometry,o.scale,f,e,a,(s=t.transform,v=o.tileID,o=void 0,o=n.identity([]),n.translate(o,o,[1,1,0]),n.scale(o,o,[.5*s.width,.5*s.height,1]),n.multiply(o,o,s.calculatePosMatrix(v.toUnwrapped()))))});h=function(){for(var i,r={},e={},u=0,o=y;u<o.length;u+=1){var n,t=o[u],s=t.queryResults,t=t.wrappedTileID,h=e[t]=e[t]||{};for(n in s)for(var a=s[n],c=h[n]=h[n]||{},v=r[n]=r[n]||[],f=0,l=a;f<l.length;f+=1)i=l[f],c[i.featureIndex]||(c[i.featureIndex]=!0,v.push(i))}return r}();for(w in h)h[w].forEach(function(n){var i=n.feature,n=t.getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source;i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]);i.state=n});return h}function hl(n,t){return n=n.tileID,t=t.tileID,n.overscaledZ-t.overscaledZ||n.canonical.y-t.canonical.y||n.wrap-t.wrap||n.canonical.x-t.canonical.x}function pt(n,t){this.max=n;this.onRemove=t;this.reset()}function as(n,t,i){var r=(this.context=n).gl;this.buffer=r.createBuffer();this.dynamicDraw=Boolean(i);this.context.unbindVAO();n.bindElementBuffer.set(this.buffer);r.bufferData(r.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW);this.dynamicDraw||delete t.arrayBuffer}function gi(n,t,i,r){this.length=t.length;this.attributes=i;this.itemSize=t.bytesPerElement;this.dynamicDraw=r;r=(this.context=n).gl;this.buffer=r.createBuffer();n.bindVertexBuffer.set(this.buffer);r.bufferData(r.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW);this.dynamicDraw||delete t.arrayBuffer}function ll(n,t,i,r){this.context=n;this.width=t;this.height=i;i=this.framebuffer=n.gl.createFramebuffer();this.colorAttachment=new kp(n,i);r&&(this.depthAttachment=new dp(n,i))}function vs(){su.apply(this,arguments)}function te(){hu.apply(this,arguments)}function ys(n,t){cu.call(this,n);this.context=n;this.parent=t}function ie(){lu.apply(this,arguments)}function re(){au.apply(this,arguments)}function ue(){vu.apply(this,arguments)}function fe(n){yu.call(this,n);this.vao=n.extVertexArrayObject}function ee(){pu.apply(this,arguments)}function oe(){wu.apply(this,arguments)}function se(){bu.apply(this,arguments)}function he(){ku.apply(this,arguments)}function ce(){du.apply(this,arguments)}function le(){gu.apply(this,arguments)}function ae(){nf.apply(this,arguments)}function ve(){tf.apply(this,arguments)}function ye(){rf.apply(this,arguments)}function pe(){uf.apply(this,arguments)}function we(){ff.apply(this,arguments)}function be(){ef.apply(this,arguments)}function ke(){of.apply(this,arguments)}function de(){sf.apply(this,arguments)}function ge(){hf.apply(this,arguments)}function no(){cf.apply(this,arguments)}function to(){lf.apply(this,arguments)}function io(){af.apply(this,arguments)}function ro(){vf.apply(this,arguments)}function uo(){yf.apply(this,arguments)}function fo(){pf.apply(this,arguments)}function eo(){wf.apply(this,arguments)}function oo(){bf.apply(this,arguments)}function so(){kf.apply(this,arguments)}function ho(){df.apply(this,arguments)}function co(){gf.apply(this,arguments)}function lo(){ne.apply(this,arguments)}function o(n,t,i){this.func=n;this.mask=t;this.range=i}function b(n,t,i,r,u,f){this.test=n;this.ref=t;this.mask=i;this.fail=r;this.depthFail=u;this.pass=f}function g(n,t,i){this.blendFunction=n;this.blendColor=t;this.mask=i}function st(n){this.gl=n;this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object");this.clearColor=new sy(this);this.clearDepth=new hy(this);this.clearStencil=new cy(this);this.colorMask=new ly(this);this.depthMask=new ay(this);this.stencilMask=new vy(this);this.stencilFunc=new yy(this);this.stencilOp=new py(this);this.stencilTest=new wy(this);this.depthRange=new by(this);this.depthTest=new ky(this);this.depthFunc=new dy(this);this.blend=new gy(this);this.blendFunc=new np(this);this.blendColor=new tp(this);this.blendEquation=new ip(this);this.cullFace=new rp(this);this.cullFaceSide=new up(this);this.frontFace=new fp(this);this.program=new ep(this);this.activeTexture=new op(this);this.viewport=new sp(this);this.bindFramebuffer=new hp(this);this.bindRenderbuffer=new cp(this);this.bindTexture=new lp(this);this.bindVertexBuffer=new ap(this);this.bindElementBuffer=new vp(this);this.bindVertexArrayOES=this.extVertexArrayObject&&new yp(this);this.pixelStoreUnpack=new pp(this);this.pixelStoreUnpackPremultiplyAlpha=new wp(this);this.pixelStoreUnpackFlipY=new bp(this);this.extTextureFilterAnisotropic=n.getExtension("EXT_texture_filter_anisotropic")||n.getExtension("MOZ_EXT_texture_filter_anisotropic")||n.getExtension("WEBKIT_EXT_texture_filter_anisotropic");this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=n.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT));this.extTextureHalfFloat=n.getExtension("OES_texture_half_float");this.extTextureHalfFloat&&(n.getExtension("OES_texture_half_float_linear"),this.extRenderToTextureHalfFloat=n.getExtension("EXT_color_buffer_half_float"));this.extTimerQuery=n.getExtension("EXT_disjoint_timer_query");this.maxTextureSize=n.getParameter(n.MAX_TEXTURE_SIZE)}function u(t,i,r){var u=this;ao.call(this);this.id=t;this.dispatcher=r;this.on("data",function(n){"source"===n.dataType&&"metadata"===n.sourceDataType&&(u._sourceLoaded=!0);u._sourceLoaded&&!u._paused&&"source"===n.dataType&&"content"===n.sourceDataType&&(u.reload(),u.transform&&u.update(u.transform))});this.on("error",function(){u._sourceErrored=!0});this._source=function(t,u){if(u=new kh[i.type](t,i,r,u),u.id!==t)throw new Error("Expected Source id to be "+t+" instead of "+u.id);return n.bindAll(["load","abort","unload","serialize","prepare"],u),u}(t,this);this._tiles={};this._cache=new pt(0,this._unloadTile.bind(this));this._timers={};this._cacheTimers={};this._maxTileCacheSize=null;this._loadedParentTiles={};this._coveredTiles={};this._state=new n.SourceFeatureState}function al(n,t){var i=Math.abs(2*n.wrap)-(n.wrap<0),r=Math.abs(2*t.wrap)-(t.wrap<0);return n.overscaledZ-t.overscaledZ||r-i||t.canonical.y-n.canonical.y||t.canonical.x-n.canonical.x}function vl(n){return"raster"===n||"image"===n||"video"===n}function gp(){return new n.window.Worker(fy.workerUrl)}function yl(){return ws=ws||new dt}function pl(t){var u,r,i;for(t=t.slice(),u=Object.create(null),r=0;r<t.length;r++)u[t[r].id]=t[r];for(i=0;i<t.length;i++)"ref"in t[i]&&(t[i]=function(t,i){var r,u={};for(r in t)"ref"!==r&&(u[r]=t[r]);return n.refProperties.forEach(function(n){n in i&&(u[n]=i[n])}),u}(t[i],u[t[i].ref]));return t}function wl(n,t,i){i.push({command:s.addSource,args:[n,t[n]]})}function bl(n,t,i){t.push({command:s.removeSource,args:[n]});i[n]=!0}function ks(t,i,r,u,f,e){for(var o in i=i||{},t=t||{})t.hasOwnProperty(o)&&(n.deepEqual(t[o],i[o])||r.push({command:e,args:[u,o,i[o],f]}));for(o in i)i.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(n.deepEqual(t[o],i[o])||r.push({command:e,args:[u,o,i[o],f]}))}function kl(n){return n.id}function dl(n,t){return n[t.id]=t,n}function dh(n,t){this.reset(n,t)}function d(n,t,i){var u=this.boxCells=[],f=this.circleCells=[],r;for(this.xCellCount=Math.ceil(n/i),this.yCellCount=Math.ceil(t/i),r=0;r<this.xCellCount*this.yCellCount;r++)u.push([]),f.push([]);this.circleKeys=[];this.boxKeys=[];this.bboxes=[];this.circles=[];this.width=n;this.height=t;this.xScale=this.xCellCount/n;this.yScale=this.yCellCount/t;this.boxUid=0;this.circleUid=0}function gh(t,i,r,u,f){var e=n.create();return i?(n.scale(e,e,[1/f,1/f,1]),r||n.rotateZ(e,e,u.angle)):n.multiply(e,u.labelPlaneMatrix,t),e}function gl(t,i,r,u,f){return i?(t=n.clone(t),n.scale(t,t,[f,f,1]),r||n.rotateZ(t,t,-u.angle),t):u.glCoordMatrix}function at(t,i){return t=[t.x,t.y,0,1],fa(t,t,i),i=t[3],{point:new n.Point(t[0]/i,t[1]/i),signedDistanceFromCamera:i}}function nc(n,t){return.5+n/t*.5}function na(n,t,i,r,u,f,e,o,s,h,c){var a=o.glyphStartIndex+o.numGlyphs,v=o.lineStartIndex,y=o.lineStartIndex+o.lineLength,l=t.getoffsetX(o.glyphStartIndex),a=t.getoffsetX(a-1),l=ds(n*l,i,r,u,f,e,o.segment,v,y,s,h,c);return l?(c=ds(n*a,i,r,u,f,e,o.segment,v,y,s,h,c),c?{first:l,last:c}:null):null}function ta(t,i,r,u){return t===n.WritingMode.horizontal&&Math.abs(r.y-i.y)>Math.abs(r.x-i.x)*u?{useVertical:!0}:(t===n.WritingMode.vertical?i.y<r.y:i.x>r.x)?{needsFlipping:!0}:null}function ia(t,i,r,u,f,e,o,s,h,c,l,a,v,y){var b=i/24,nt=t.lineOffsetX*b,tt=t.lineOffsetY*b,k,d,g,it,rt;if(1<t.numGlyphs){var ut=t.glyphStartIndex+t.numGlyphs,ft=t.lineStartIndex,et=t.lineStartIndex+t.lineLength,w=na(b,s,nt,tt,r,l,a,t,h,e,v);if(!w)return{notEnoughRoom:!0};if(i=at(w.first.point,o).point,o=at(w.last.point,o).point,u&&!r&&(o=ta(t.writingMode,i,o,y),o))return o;for(k=[w.first],d=t.glyphStartIndex+1;d<ut-1;d++)k.push(ds(b*s.getoffsetX(d),nt,tt,r,l,a,t.segment,ft,et,h,e,v));k.push(w.last)}else{if(u&&!r){var w=at(a,f).point,u=t.lineStartIndex+t.segment+1,p=new n.Point(h.getx(u),h.gety(u)),u=at(p,f),p=0<u.signedDistanceFromCamera?u.point:ra(a,p,w,1,f),p=ta(t.writingMode,w,p,y);if(p)return p}if(p=ds(b*s.getoffsetX(t.glyphStartIndex),nt,tt,r,l,a,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,h,e,v),!p)return{notEnoughRoom:!0};k=[p]}for(g=0,it=k;g<it.length;g+=1)rt=it[g],n.addDynamicAttributes(c,rt.point,rt.angle);return{}}function ra(n,t,i,r,u){return u=at(n.add(n.sub(t)._unit()),u).point,u=i.sub(u),i.add(u._mult(r/u.mag()))}function ds(t,i,r,u,f,e,o,s,h,c,l,a){var t=u?t-i:t+i,w=0<t?1:-1,i=0,tt,k,p;u&&(w*=-1,i=Math.PI);w<0&&(i+=Math.PI);for(var y=0<w?s+o:s+o+1,v=f,p=f,b=0,d=0,g=Math.abs(t),nt=[];b+d<=g;){if((y+=w)<s||h<=y)return null;p=v;nt.push(v);void 0===(v=a[y])&&(v=0<(k=at(tt=new n.Point(c.getx(y),c.gety(y)),l)).signedDistanceFromCamera?a[y]=k.point:(k=y-w,ra(0===b?e:new n.Point(c.getx(k),c.gety(k)),tt,p,g-b+1,l)));b+=d;d=p.dist(v)}return f=(g-b)/d,t=v.sub(p),f=t.mult(f)._add(p),f._add(t._unit()._perp()._mult(r*w)),i+=Math.atan2(v.y-p.y,v.x-p.x),nt.push(f),{point:f,angle:i,path:nt}}function ir(n,t){for(var r,i=0;i<n;i++)r=t.length,t.resize(r+4),t.float32.set(ua,3*r)}function fa(n,t,i){var r=t[0],t=t[1];return n[0]=i[0]*r+i[4]*t+i[12],n[1]=i[1]*r+i[5]*t+i[13],n[3]=i[3]*r+i[7]*t+i[15],n}function gt(n,t,i){void 0===t&&(t=new d(n.width+200,n.height+200,25));void 0===i&&(i=new d(n.width+200,n.height+200,25));this.transform=n;this.grid=t;this.ignoredGrid=i;this.pitchfactor=Math.cos(n._pitch)*n.cameraToCenterDistance;this.screenRightBoundary=n.width+100;this.screenBottomBoundary=n.height+100;this.gridRightBoundary=n.width+200;this.gridBottomBoundary=n.height+200}function ht(t,i,r){return i*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}function tc(n,t,i,r){this.opacity=n?Math.max(0,Math.min(1,n.opacity+(n.placed?t:-t))):r&&i?1:0;this.placed=i}function rr(n,t,i,r,u){this.text=new tc(n?n.text:null,t,i,u);this.icon=new tc(n?n.icon:null,t,r,u)}function ea(n,t,i){this.text=n;this.icon=t;this.skipFade=i}function nw(){this.invProjMatrix=n.create();this.viewportMatrix=n.create();this.circles=[]}function tw(n,t,i,r,u){this.bucketInstanceId=n;this.featureIndex=t;this.sourceLayerIndex=i;this.bucketIndex=r;this.tileID=u}function oa(n){this.crossSourceCollisions=n;this.maxGroupID=0;this.collisionGroups={}}function sa(t,i,r,u,f){var e=n.getAnchorAlignment(t),i=-(e.horizontalAlign-.5)*i,r=-(e.verticalAlign-.5)*r,u=n.evaluateVariableOffset(t,u);return new n.Point(i+u[0]*f,r+u[1]*f)}function ic(t,i,r,u,f,e){var o=t.x1,s=t.x2,h=t.y1,c=t.y2,l=t.anchorPointX,t=t.anchorPointY,r=new n.Point(i,r);return u&&r._rotate(f?e:-e),{x1:o+r.x,y1:h+r.y,x2:s+r.x,y2:c+r.y,anchorPointX:l,anchorPointY:t}}function ut(n,t,i,r){this.transform=n.clone();this.collisionIndex=new gt(this.transform);this.placements={};this.opacities={};this.variableOffsets={};this.stale=!1;this.commitTime=0;this.fadeDuration=t;this.retainedQueryData={};this.collisionGroups=new oa(i);this.collisionCircleArrays={};(this.prevPlacement=r)&&(r.prevPlacement=void 0);this.placedOrientations={}}function gs(n,t,i,r,u){n.emplaceBack(t?1:0,i?1:0,r||0,u||0);n.emplaceBack(t?1:0,i?1:0,r||0,u||0);n.emplaceBack(t?1:0,i?1:0,r||0,u||0);n.emplaceBack(t?1:0,i?1:0,r||0,u||0)}function ha(n){if(0===n.opacity&&!n.placed)return 0;if(1===n.opacity&&n.placed)return 4294967295;var t=n.placed?1:0,n=Math.floor(127*n.opacity);return n*iw+t*rw+n*uw+t*fw+n*ew+t*ow+n*sw+t}function ca(n){this._sortAcrossTiles="viewport-y"!==n.layout.get("symbol-z-order")&&void 0!==n.layout.get("symbol-sort-key").constantOr(1);this._currentTileIndex=0;this._currentPartIndex=0;this._seenCrossTileIDs={};this._bucketParts=[]}function nh(n,t,i,r,u,f,e){this.placement=new ut(n,u,f,e);this._currentPlacementIndex=t.length-1;this._forceFullPlacement=i;this._showCollisionBoxes=r;this._done=!1}function rc(n,t,i){var r,u,f;for(this.tileID=n,this.indexedSymbolInstances={},this.bucketInstanceId=i,r=0;r<t.length;r++)u=t.get(r),f=u.key,this.indexedSymbolInstances[f]||(this.indexedSymbolInstances[f]=[]),this.indexedSymbolInstances[f].push({crossTileID:u.crossTileID,coord:this.getScaledCoordinates(u,n)})}function aa(){this.maxCrossTileID=0}function yo(){this.indexes={};this.usedCrossTileIDs={};this.lng=0}function th(){this.layerIndexes={};this.crossTileIDs=new aa;this.maxBucketInstanceId=0;this.bucketsInCurrentPlacement={}}function ih(t,i){return n.emitValidationErrors(t,i&&i.filter(function(n){return"source.canvas"!==n.identifier}))}function i(t,r){var u=this,f;void 0===r&&(r={});po.call(this);this.map=t;this.dispatcher=new di(yl(),this);this.imageManager=new ey;this.imageManager.setEventedParent(this);this.glyphManager=new ri(t._requestManager,r.localIdeographFontFamily);this.lineAtlas=new oi(256,512);this.crossTileSymbolIndex=new th;this._layers={};this._serializedLayers={};this._order=[];this.sourceCaches={};this.zoomHistory=new n.ZoomHistory;this._loaded=!1;this._availableImages=[];this._resetUpdates();this.dispatcher.broadcast("setReferrer",n.getReferrer());f=this;this._rtlTextPluginCallback=i.registerForPluginStateChange(function(t){f.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:t.pluginStatus,pluginURL:t.pluginURL},function(t,i){if(n.triggerPluginCompletionEvent(t),i&&i.every(function(n){return n}))for(var r in f.sourceCaches)f.sourceCaches[r].reload()})});this.on("data",function(n){var i,t;if("source"===n.dataType&&"metadata"===n.sourceDataType&&(n=u.sourceCaches[n.sourceId],n&&(i=n.getSource(),i&&i.vectorLayerIds)))for(t in u._layers)t=u._layers[t],t.source===i.id&&u._validateLayer(t)})}function l(n,t){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,e=t.match(/attribute ([\w]+) ([\w]+)/g),i=n.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),u=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),i=u?u.concat(i):i,f={};return{fragmentSource:n=n.replace(r,function(n,t,i,r,u){return f[u]=!0,"define"===t?"\n#ifndef HAS_UNIFORM_u_"+u+"\nvarying "+i+" "+r+" "+u+";\n#else\nuniform "+i+" "+r+" u_"+u+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+u+"\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n"}),vertexSource:t=t.replace(r,function(n,t,i,r,u){var o="float"===r?"vec2":"vec4",e=u.match(/color/)?"color":o;return f[u]?"define"===t?"\n#ifndef HAS_UNIFORM_u_"+u+"\nuniform lowp float u_"+u+"_t;\nattribute "+i+" "+o+" a_"+u+";\nvarying "+i+" "+r+" "+u+";\n#else\nuniform "+i+" "+r+" u_"+u+";\n#endif\n":"vec4"==e?"\n#ifndef HAS_UNIFORM_u_"+u+"\n    "+u+" = a_"+u+";\n#else\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+u+"\n    "+u+" = unpack_mix_"+e+"(a_"+u+", u_"+u+"_t);\n#else\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n":"define"===t?"\n#ifndef HAS_UNIFORM_u_"+u+"\nuniform lowp float u_"+u+"_t;\nattribute "+i+" "+o+" a_"+u+";\n#else\nuniform "+i+" "+r+" u_"+u+";\n#endif\n":"vec4"==e?"\n#ifndef HAS_UNIFORM_u_"+u+"\n    "+i+" "+r+" "+u+" = a_"+u+";\n#else\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+u+"\n    "+i+" "+r+" "+u+" = unpack_mix_"+e+"(a_"+u+", u_"+u+"_t);\n#else\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n"}),staticAttributes:e,staticUniforms:i}}function rh(){this.boundProgram=null;this.boundLayoutVertexBuffer=null;this.boundPaintVertexBuffers=[];this.boundIndexBuffer=null;this.boundVertexOffset=null;this.boundDynamicVertexBuffer=null;this.vao=null}function ya(n){for(var i,r=[],t=0;t<n.length;t++)null!==n[t]&&(i=n[t].split(" "),r.push(i.pop()));return r}function pa(n,t,i,r,u,f){var e=n.gl,p,h,s,v,k,c;this.program=e.createProgram();for(var w=ya(i.staticAttributes),o=r?r.getBinderAttributes():[],l=w.concat(o),w=i.staticUniforms?ya(i.staticUniforms):[],o=r?r.getBinderUniforms():[],a=[],y=0,b=w.concat(o);y<b.length;y+=1)p=b[y],a.indexOf(p)<0&&a.push(p);if(o=r?r.defines():[],f&&o.push("#define OVERDRAW_INSPECTOR;"),f=o.concat(fc.fragmentSource,i.fragmentSource).join("\n"),o=o.concat(fc.vertexSource,i.vertexSource).join("\n"),i=e.createShader(e.FRAGMENT_SHADER),e.isContextLost())this.failedToCreate=!0;else if(e.shaderSource(i,f),e.compileShader(i),e.attachShader(this.program,i),f=e.createShader(e.VERTEX_SHADER),e.isContextLost())this.failedToCreate=!0;else{for(e.shaderSource(f,o),e.compileShader(f),e.attachShader(this.program,f),this.attributes={},h={},this.numAttributes=l.length,s=0;s<this.numAttributes;s++)l[s]&&(e.bindAttribLocation(this.program,s,l[s]),this.attributes[l[s]]=s);for(e.linkProgram(this.program),e.deleteShader(f),e.deleteShader(i),v=0;v<a.length;v++)c=a[v],!c||h[c]||(k=e.getUniformLocation(this.program,c))&&(h[c]=k);this.fixedUniforms=u(n,h);this.binderUniforms=r?r.getUniforms(n,h):[]}}function wa(n,t,i){var u=1/ht(i,1,t.transform.tileZoom),r=Math.pow(2,i.tileID.overscaledZ),t=i.tileSize*Math.pow(2,t.transform.tileZoom)/r,r=t*(i.tileID.canonical.x+i.tileID.wrap*r),t=t*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[u,n.fromScale,n.toScale],u_fade:n.t,u_pixel_coord_upper:[r>>16,t>>16],u_pixel_coord_lower:[65535&r,65535&t]}}function ba(n,t,i){return{u_matrix:n,u_color:t,u_overlay:0,u_overlay_scale:i=void 0===i?1:i}}function ka(n){return{u_matrix:n}}function ec(t,i,r){var u=t.transform;return{u_matrix:iv(t,i,r),u_ratio:1/ht(i,1,u.zoom),u_device_pixel_ratio:n.browser.devicePixelRatio,u_units_to_pixels:[1/u.pixelsToGLUnits[0],1/u.pixelsToGLUnits[1]]}}function tv(n,t){return 1/ht(n,1,t.tileZoom)}function iv(n,t,i){return n.translatePosMatrix(t.tileID.posMatrix,t,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}function rb(n,t,i,r,u){return{u_matrix:n,u_tl_parent:t,u_scale_parent:i,u_buffer_scale:1,u_fade_t:r.mix,u_opacity:r.opacity*u.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:u.paint.get("raster-brightness-min"),u_brightness_high:u.paint.get("raster-brightness-max"),u_saturation_factor:0<(r=u.paint.get("raster-saturation"))?1-1/(1.001-r):-r,u_contrast_factor:0<(r=u.paint.get("raster-contrast"))?1/(1-r):1+r,u_spin_weights:function(n){n*=Math.PI/180;var t=Math.sin(n),n=Math.cos(n);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}(u.paint.get("raster-hue-rotate"))}}function fv(t,i,r,u,f,e,s){for(var kt,v,d,et,g,nt,yt,pt,tt=t.context,wt=tt.gl,ii=t.useProgram("collisionBox"),it=[],rt=0,bt=0,lt=0;lt<u.length;lt++){var l,w,h,ut,c=u[lt],a=i.getTile(c),k=a.getBucket(r);k&&(l=c.posMatrix,0===f[0]&&0===f[1]||(l=t.translatePosMatrix(c.posMatrix,a,f,e)),w=s?k.textCollisionBox:k.iconCollisionBox,0<(c=k.collisionCircleArray).length&&(h=n.create(),ut=l,n.mul(h,k.placementInvProjMatrix,t.transform.glCoordMatrix),n.mul(h,h,k.placementViewportMatrix),it.push({circleArray:c,circleOffset:bt,transform:ut,invTransform:h}),bt=rt+=c.length/4),w&&ii.draw(tt,wt.LINES,o.disabled,b.disabled,t.colorModeForRenderPass(),y.disabled,(ut=l,h=t.transform,l=c=void 0,c=ht(a=a,1,h.zoom),l=Math.pow(2,h.zoom-a.tileID.overscaledZ),a=a.tileID.overscaleFactor(),{u_matrix:ut,u_camera_to_center_distance:h.cameraToCenterDistance,u_pixels_to_tile_units:c,u_extrude_scale:[h.pixelsToGLUnits[0]/(c*l),h.pixelsToGLUnits[1]/(c*l)],u_overscale_factor:a}),r.id,w.layoutVertexBuffer,w.indexBuffer,w.segments,null,t.transform.zoom,null,null,w.collisionVertexBuffer))}if(s&&it.length){kt=t.useProgram("collisionCircle");v=new n.StructArrayLayout2f1f2i16;v.resize(4*rt);v._trim();for(var ft=0,at=0,dt=it;at<dt.length;at+=1)for(d=dt[at],et=0;et<d.circleArray.length/4;et++){var p=4*et,ot=d.circleArray[0+p],st=d.circleArray[1+p],ct=d.circleArray[2+p],p=d.circleArray[3+p];v.emplace(ft++,ot,st,ct,p,0);v.emplace(ft++,ot,st,ct,p,1);v.emplace(ft++,ot,st,ct,p,2);v.emplace(ft++,ot,st,ct,p,3)}(!uh||uh.length<2*rt)&&(uh=function(){var u=2*rt,i=new n.StructArrayLayout3ui6,t,r;for(i.resize(u),i._trim(),t=0;t<u;t++)r=6*t,i.uint16[0+r]=4*t+0,i.uint16[1+r]=4*t+1,i.uint16[2+r]=4*t+2,i.uint16[3+r]=4*t+2,i.uint16[4+r]=4*t+3,i.uint16[5+r]=4*t+0;return i}());for(var gt=tt.createIndexBuffer(uh,!0),ni=tt.createVertexBuffer(v,n.collisionCircleLayout.members,!0),vt=0,ti=it;vt<ti.length;vt+=1)g=ti[vt],nt=(yt=g.transform,pt=g.invTransform,nt=t.transform,{u_matrix:yt,u_inv_matrix:pt,u_camera_to_center_distance:nt.cameraToCenterDistance,u_viewport_size:[nt.width,nt.height]}),kt.draw(tt,wt.TRIANGLES,o.disabled,b.disabled,t.colorModeForRenderPass(),y.disabled,nt,r.id,ni,gt,n.SegmentVector.simpleSegment(0,2*g.circleOffset,g.circleArray.length,g.circleArray.length/2),null,t.transform.zoom,null,null,null);ni.destroy();gt.destroy()}}function fb(t,i,r,u,f,e,o,s,h,c,l){var ot=t.text.placedSymbolArray,d=t.text.dynamicLayoutVertexArray,p=t.icon.dynamicLayoutVertexArray,st={},ut,g,nt,w,tt,a,v,ft,b,k,rt,et;for(d.clear(),tt=0;tt<ot.length;tt++)if(a=ot.get(tt),v=a.hidden||!a.crossTileID||t.allowVerticalPlacement&&!a.placedOrientation?null:u[a.crossTileID],v){var ht=new n.Point(a.anchorX,a.anchorY),ct=at(ht,r?s:o),it=nc(e.cameraToCenterDistance,ct.signedDistanceFromCamera),y=f.evaluateSizeForFeature(t.textSizeData,c,a)*it/n.ONE_EM;r&&(y*=t.tilePixelRatio/h);for(var v=(ut=v.anchor,g=v.width,nt=v.height,w=v.textOffset,it=v.textBoxScale,v=y,y=void 0,y=n.getAnchorAlignment(ut),g=-(y.horizontalAlign-.5)*g,nt=-(y.verticalAlign-.5)*nt,w=n.evaluateVariableOffset(ut,w),new n.Point((g/it+w[0])*v,(nt/it+w[1])*v)),lt=r?at(ht.add(v),o).point:ct.point.add(i?v.rotate(-e.angle):v),vt=t.allowVerticalPlacement&&a.placedOrientation===n.WritingMode.vertical?Math.PI/2:0,yt=0;yt<a.numGlyphs;yt++)n.addDynamicAttributes(d,lt,vt);l&&0<=a.associatedIconIndex&&(st[a.associatedIconIndex]={shiftedAnchor:lt,angle:vt})}else ir(a.numGlyphs,d);if(l){for(p.clear(),ft=t.icon.placedSymbolArray,b=0;b<ft.length;b++)if(k=ft.get(b),k.hidden)ir(k.numGlyphs,p);else if(rt=st[b],rt)for(et=0;et<k.numGlyphs;et++)n.addDynamicAttributes(p,rt.shiftedAnchor,rt.angle);else ir(k.numGlyphs,p);t.icon.dynamicLayoutVertexBuffer.updateData(p)}t.text.dynamicLayoutVertexBuffer.updateData(d)}function ov(t,i,r,u,f,e,s,h,c,l,a,v){for(var nt,ui,vt,fi,yt,pt,y,wt=t.context,b=wt.gl,ei=t.transform,et="map"===h,k="map"===c,bt=et&&"point"!==r.layout.get("symbol-placement"),kt=et&&!k&&!bt,ai=void 0!==r.layout.get("symbol-sort-key").constantOr(1),vi=!1,oi=t.depthModeForSublayer(0,o.ReadOnly),si=r.layout.get("text-variable-anchor"),ot=[],dt=0,hi=u;dt<hi.length;dt+=1){var d=hi[dt],w=i.getTile(d),p=w.getBucket(r);if(p&&(nt=f?p.text:p.icon,nt&&nt.segments.get().length)){var g=nt.programConfigurations.get(r.id),rt=f||p.sdfIcons,it=f?p.textSizeData:p.iconSizeData,ut=k||0!==ei.pitch,gt=t.useProgram((lt=rt,ct=f,p.iconsInText&&ct?"symbolTextAndIcon":lt?"symbolSDF":"symbolIcon"),g),ni=n.evaluateSizeForZoom(it,ei.zoom),ft=void 0,st=[0,0],ti=void 0,ii=void 0,ct=null,lt=void 0;f?(ti=w.glyphAtlasTexture,ii=b.LINEAR,ft=w.glyphAtlasTexture.size,p.iconsInText&&(st=w.imageAtlasTexture.size,ct=w.imageAtlasTexture,lt=ut||t.options.rotating||t.options.zooming||"composite"===it.kind||"camera"===it.kind?b.LINEAR:b.NEAREST)):(tt=1!==r.layout.get("icon-size").constantOr(0)||p.iconsNeedLinear,ti=w.imageAtlasTexture,ii=rt||t.options.rotating||t.options.zooming||tt||ut?b.LINEAR:b.NEAREST,ft=w.imageAtlasTexture.size);var g=ht(w,1,t.transform.zoom),tt=gh(d.posMatrix,k,et,t.transform,g),ut=gl(d.posMatrix,k,et,t.transform,g),g=si&&p.hasTextData(),g="none"!==r.layout.get("icon-text-fit")&&g&&p.hasIconData();bt&&function(t,i,r,u,f,e,o,s){var k=u?t.textSizeData:t.iconSizeData,tt=n.evaluateSizeForZoom(k,r.transform.zoom),it=[512/r.width+1,512/r.height+1],y=(u?t.text:t.icon).dynamicLayoutVertexArray,c,a,v,l,p,h;y.clear();for(var d=t.lineVertexArray,g=(u?t.text:t.icon).placedSymbolArray,nt=r.transform.width/r.transform.height,w=!1,b=0;b<g.length;b++)h=g.get(b),h.hidden||h.writingMode===n.WritingMode.vertical&&!w?ir(h.numGlyphs,y):(w=!1,v=[h.anchorX,h.anchorY,0,1],n.transformMat4(v,v,i),a=it,l=void 0,l=(c=v)[0]/c[3],c=c[1]/c[3],l>=-a[0]&&l<=a[0]&&c>=-a[1]&&c<=a[1]?(p=nc(r.transform.cameraToCenterDistance,v[3]),l=n.evaluateSizeForFeature(k,tt,h),c=o?l/p:l*p,v=at(a=new n.Point(h.anchorX,h.anchorY),f).point,w=(p=ia(h,c,!(l={}),s,i,f,e,t.glyphOffsetArray,d,y,v,a,l,nt)).useVertical,(p.notEnoughRoom||w||p.needsFlipping&&ia(h,c,!0,s,i,f,e,t.glyphOffsetArray,d,y,v,a,l,nt).notEnoughRoom)&&ir(h.numGlyphs,y)):ir(h.numGlyphs,y));(u?t.text:t.icon).dynamicLayoutVertexBuffer.updateData(y)}(p,d.posMatrix,t,f,tt,ut,k,l);var d=t.translatePosMatrix(d.posMatrix,w,e,s),g=bt||f&&si||g?ev:tt,tt=t.translatePosMatrix(ut,w,e,s,!0),ut=rt&&0!==r.paint.get(f?"text-halo-width":"icon-halo-width").constantOr(1),ci={program:gt,buffers:nt,uniformValues:rt?p.iconsInText?(w=it.kind,gt=ft,st=st,n.extend(uv(w,ni,kt,k,t,d,g,tt,!0,gt,!0),{u_texsize_icon:st,u_texture_icon:1})):uv(it.kind,ni,kt,k,t,d,g,tt,f,ft,!0):rv(it.kind,ni,kt,k,t,d,g,tt,f,ft),atlasTexture:ti,atlasTextureIcon:ct,atlasInterpolation:ii,atlasInterpolationIcon:lt,isSDF:rt,hasHalo:ut};if(ai&&p.canOverlap)for(var vi=!0,ri=0,li=nt.segments.get();ri<li.length;ri+=1)ui=li[ri],ot.push({segments:new n.SegmentVector([ui]),sortKey:ui.sortKey,state:ci});else ot.push({segments:nt.segments,sortKey:0,state:ci})}}for(vi&&ot.sort(function(n,t){return n.sortKey-t.sortKey}),vt=0,fi=ot;vt<fi.length;vt+=1)pt=fi[vt],y=pt.state,wt.activeTexture.set(b.TEXTURE0),y.atlasTexture.bind(y.atlasInterpolation,b.CLAMP_TO_EDGE),y.atlasTextureIcon&&(wt.activeTexture.set(b.TEXTURE1),y.atlasTextureIcon&&y.atlasTextureIcon.bind(y.atlasInterpolationIcon,b.CLAMP_TO_EDGE)),y.isSDF&&(yt=y.uniformValues,y.hasHalo&&(yt.u_is_halo=1,sv(y.buffers,pt.segments,r,t,y.program,oi,a,v,yt)),yt.u_is_halo=0),sv(y.buffers,pt.segments,r,t,y.program,oi,a,v,y.uniformValues)}function sv(n,t,i,r,u,f,e,o,s){var h=r.context;u.draw(h,h.gl.TRIANGLES,f,e,o,y.disabled,s,i.id,n.layoutVertexBuffer,n.indexBuffer,t,i.paint,r.transform.zoom,n.programConfigurations.get(i.id),n.dynamicLayoutVertexBuffer,n.opacityVertexBuffer)}function hv(t,i,r,u,f,e,o){for(var l,w,ut,a,tt,it,p,s,k,h,b,c=t.context.gl,d=r.paint.get("fill-pattern"),v=d&&d.constantOr(1),g=r.getCrossfadeParameters(),ft=o?(b=v&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",c.LINES):(b=v?"fillPattern":"fill",c.TRIANGLES),nt=0,rt=u;nt<rt.length;nt+=1)k=rt[nt],h=i.getTile(k),v&&!h.patternsLoaded()||(l=h.getBucket(r))&&(w=l.programConfigurations.get(r.id),ut=t.useProgram(b,w),v&&(t.context.activeTexture.set(c.TEXTURE0),h.imageAtlasTexture.bind(c.LINEAR,c.CLAMP_TO_EDGE),w.updatePaintBuffers(g)),(s=d.constantOr(null))&&h.imageAtlas&&(p=(a=h.imageAtlas).patternPositions[s.to.toString()],a=a.patternPositions[s.from.toString()],p&&a&&w.setConstantPatternPositions(p,a)),s=t.translatePosMatrix(k.posMatrix,h,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor")),s=o?(tt=l.indexBuffer2,it=l.segments2,p=[c.drawingBufferWidth,c.drawingBufferHeight],"fillOutlinePattern"===b&&v?(a=p,n.extend(nv(s,t,g,h),{u_world:a})):{u_matrix:s,u_world:p}):(tt=l.indexBuffer,it=l.segments,v?nv(s,t,g,h):ga(s)),ut.draw(t.context,ft,f,t.stencilModeForClipping(k),e,y.disabled,s,r.id,l.layoutVertexBuffer,tt,it,r.paint,t.transform.zoom,w))}function oc(t,i,r,u,f,e,o){for(var b=t.context,k=b.gl,nt=r.paint.get("fill-extrusion-pattern"),d=nt.constantOr(1),tt=r.getCrossfadeParameters(),it=r.paint.get("fill-extrusion-opacity"),g=0,rt=u;g<rt.length;g+=1){var l,ut,c,a,v,h,p=rt[g],s=i.getTile(p),w=s.getBucket(r);w&&(l=w.programConfigurations.get(r.id),ut=t.useProgram(d?"fillExtrusionPattern":"fillExtrusion",l),d&&(t.context.activeTexture.set(k.TEXTURE0),s.imageAtlasTexture.bind(k.LINEAR,k.CLAMP_TO_EDGE),l.updatePaintBuffers(tt)),(h=nt.constantOr(null))&&s.imageAtlas&&(c=(v=s.imageAtlas).patternPositions[h.to.toString()],a=v.patternPositions[h.from.toString()],c&&a&&l.setConstantPatternPositions(c,a)),v=t.translatePosMatrix(p.posMatrix,s,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),h=r.paint.get("fill-extrusion-vertical-gradient"),h=d?(c=t,a=p,p=tt,s=s,n.extend(da(v,c,h,it),wa(p,c,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})):da(v,t,h,it),ut.draw(b,b.gl.TRIANGLES,f,e,o,y.backCCW,h,r.id,w.layoutVertexBuffer,w.indexBuffer,w.segments,r.paint,t.transform.zoom,l))}}function cv(n,t,i,r){fh(n,0,t+i/2,n.transform.width,i,r)}function lv(n,t,i,r){fh(n,t-i/2,0,i,n.transform.height,r)}function fh(t,i,r,u,f,e){var o=t.context,t=o.gl;t.enable(t.SCISSOR_TEST);t.scissor(i*n.browser.devicePixelRatio,r*n.browser.devicePixelRatio,u*n.browser.devicePixelRatio,f*n.browser.devicePixelRatio);o.clear({color:e});t.disable(t.SCISSOR_TEST)}function lb(t,i,r){var e=t.context,u=e.gl,s=r.posMatrix,h=t.useProgram("debug"),c=o.disabled,l=b.disabled,a=t.colorModeForRenderPass();e.activeTexture.set(u.TEXTURE0);t.emptyTexture.bind(u.LINEAR,u.CLAMP_TO_EDGE);h.draw(e,u.LINE_STRIP,c,l,a,y.disabled,ba(s,n.Color.red),"$debug",t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);var f=i.getTileByID(r.key).latestRawTileData,a=Math.floor((f&&f.byteLength||0)/1024),f=i.getTile(r).tileSize,i=512/Math.min(f,512)*(r.overscaledZ/t.transform.zoom)*.5,f=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(f+=" => "+r.overscaledZ),function(n,t){n.initDebugOverlayCanvas();var r=n.debugOverlayCanvas,u=n.context.gl,i=n.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.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);n.debugOverlayTexture.update(r);n.debugOverlayTexture.bind(u.LINEAR,u.CLAMP_TO_EDGE)}(t,f+" "+a+"kb");h.draw(e,u.TRIANGLES,c,l,g.alphaBlended,y.disabled,ba(s,n.Color.transparent,i),"$debug",t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments)}function a(n,t){this.context=new st(n);this.transform=t;this._tileTextures={};this.setup();this.numSublayers=tr.maxUnderzooming+tr.maxOverzooming+1;this.depthEpsilon=1/Math.pow(2,16);this.crossTileSymbolIndex=new th;this.gpuTimers={}}function hc(n,t){this.points=n;this.planes=t}function fr(t,i){this.min=t;this.max=i;this.center=n.scale$2([],n.add([],this.min,this.max),.5)}function ci(n,t,i,r){if(void 0===n&&(n=0),void 0===t&&(t=0),void 0===i&&(i=0),void 0===r&&(r=0),isNaN(n)||n<0||isNaN(t)||t<0||isNaN(i)||i<0||isNaN(r)||r<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=n;this.bottom=t;this.left=i;this.right=r}function h(t,i,r,u,f){this.tileSize=512;this.maxValidLatitude=85.051129;this._renderWorldCopies=void 0===f||f;this._minZoom=t||0;this._maxZoom=i||22;this._minPitch=null==r?0:r;this._maxPitch=null==u?60:u;this.setMaxBounds();this.width=0;this.height=0;this._center=new n.LngLat(0,0);this.zoom=0;this.angle=0;this._fov=.64350110879328437;this._pitch=0;this._unmodified=!0;this._edgeInsets=new ci;this._posMatrixCache={};this._alignedPosMatrixCache={}}function li(t){var f,r,i,u;this._hashName=t&&encodeURIComponent(t);n.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this);this._updateHash=(f=this._updateHashUnthrottled.bind(this),r=!1,i=null,u=function(){i=null;r&&(f(),i=setTimeout(u,300),r=!1)},function(){return r=!0,i||u(),i})}function wo(n){this._map=n;this.clear()}function eh(n,t){(!n.duration||n.duration<t.duration)&&(n.duration=t.duration,n.easing=t.easing)}function oh(t,i,r){var u=r.maxSpeed,f=r.linearity,e=r.deceleration,u=n.clamp(t*f/(i/1e3),-u,u),f=Math.abs(u)/(e*f);return{easing:r.easing,duration:1e3*f,amount:u*(f/2)}}function nt(n,t){this._map=n;this._clickTolerance=t.clickTolerance}function ni(n){this._map=n}function wt(n,t){this._map=n;this._el=n.getCanvasContainer();this._container=n.getContainer();this._clickTolerance=t.clickTolerance||1}function cc(n,t){for(var r={},i=0;i<n.length;i++)r[n[i].identifier]=t[i];return r}function bo(n){this.reset();this.numTouches=n.numTouches}function ai(n){this.singleTap=new bo(n);this.numTaps=n.numTaps;this.reset()}function ti(){this._zoomIn=new ai({numTouches:1,numTaps:2});this._zoomOut=new ai({numTouches:2,numTaps:1});this.reset()}function bt(n){this._minTouches=1;this._clickTolerance=n.clickTolerance||1;this.reset()}function or(){ko.apply(this,arguments)}function sr(){go.apply(this,arguments)}function hr(){er.apply(this,arguments)}function hh(n,t,i){for(var r=0;r<n.length;r++)if(n[r].identifier===i)return t[r]}function pv(n,t){return Math.log(n/t)/Math.LN2}function lr(){cr.apply(this,arguments)}function bv(n,t){return 180*n.angleWith(t)/Math.PI}function vi(){ar.apply(this,arguments)}function lc(n){return Math.abs(n.y)>Math.abs(n.x)}function fi(){var n=gv;this._panStep=n.panStep;this._bearingStep=n.bearingStep;this._pitchStep=n.pitchStep;this._rotationDisabled=!1}function yi(){vr.apply(this,arguments)}function kb(n){return n*(2-n)}function ft(t,i){this._map=t;this._el=t.getCanvasContainer();this._handler=i;this._delta=0;this._defaultZoomRate=.01;this._wheelZoomRate=1/450;n.bindAll(["_onTimeout"],this)}function ns(n,t){this._clickZoom=n;this._tapZoom=t}function pi(){this.reset()}function ii(){this._tap=new ai({numTouches:1,numTaps:1});this.reset()}function ts(n,t,i){this._el=n;this._mousePan=t;this._touchPan=i}function is(n,t,i){this._pitchWithRotate=n.pitchWithRotate;this._mouseRotate=t;this._mousePitch=i}function wi(n,t,i,r){this._el=n;this._touchZoom=t;this._touchRotate=i;this._tapDragZoom=r;this._rotationDisabled=!1;this._enabled=!0}function ch(n){return n.zoom||n.drag||n.pitch||n.rotate}function ac(){rs.apply(this,arguments)}function vc(n){return n.panDelta&&n.panDelta.mag()||n.zoomDelta||n.bearingDelta||n.pitchDelta}function k(i,r){var u,e,f,o;for(this._map=i,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new wo(i),this._bearingSnap=r.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(r),n.bindAll(["handleEvent","handleWindowEvent"],this),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],[n.window.document,"mousemove",{capture:!0}],[n.window.document,"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],[n.window,"blur",void 0]],u=0,e=this._listeners;u<e.length;u+=1)f=e[u],o=f[0],t.addEventListener(o,f[1],o===n.window.document?this.handleWindowEvent:this.handleEvent,f[2])}function kt(t){this.options=t=void 0===t?{}:t;n.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)}function e(t,i){us.call(this);this._moving=!1;this._zooming=!1;this.transform=t;this._bearingSnap=i.bearingSnap;n.bindAll(["_renderFrameCallback"],this)}function bi(){n.bindAll(["_updateLogo"],this);n.bindAll(["_updateCompact"],this)}function fs(){this._queue=[];this._id=0;this._cleared=!1;this._currentlyRunning=!1}function pc(n){n.parentNode&&n.parentNode.removeChild(n)}function iy(t,i,r){var f,e,o,u;for(t=new n.LngLat(t.lng,t.lat),i&&(f=new n.LngLat(t.lng-360,t.lat),e=new n.LngLat(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(i),r.locationPoint(f).distSqr(i)<o?t=f:r.locationPoint(e).distSqr(i)<o&&(t=e));180<Math.abs(t.lng-r.center.lng);){if(u=r.locationPoint(t),0<=u.x&&0<=u.y&&u.x<=r.width&&u.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}function ry(n,t,i){var r,u=n.classList;for(r in lh)u.remove("mapboxgl-"+i+"-anchor-"+r);u.add("mapboxgl-"+i+"-anchor-"+t)}function it(t){es.call(this);this.options=n.extend({},tk,t);n.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}function c(i,r){var e,u,s,c,a,y,p,h,v,f,l,o;if(os.call(this),(i instanceof n.window.HTMLElement||r)&&(i=n.extend({element:i},r)),n.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=i&&i.anchor||"center",this._color=i&&i.color||"#3FB1CE",this._scale=i&&i.scale||1,this._draggable=i&&i.draggable||!1,this._clickTolerance=i&&i.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=i&&i.rotation||0,this._rotationAlignment=i&&i.rotationAlignment||"auto",this._pitchAlignment=i&&i.pitchAlignment&&"auto"!==i.pitchAlignment?i.pitchAlignment:this._rotationAlignment,i&&i.element)this._element=i.element,this._offset=n.Point.convert(i&&i.offset||[0,0]);else{for(this._defaultMarker=!0,this._element=t.create("div"),this._element.setAttribute("aria-label","Map marker"),e=t.createNS("http://www.w3.org/2000/svg","svg"),e.setAttributeNS(null,"display","block"),e.setAttributeNS(null,"height","41px"),e.setAttributeNS(null,"width","27px"),e.setAttributeNS(null,"viewBox","0 0 27 41"),u=t.createNS("http://www.w3.org/2000/svg","g"),u.setAttributeNS(null,"stroke","none"),u.setAttributeNS(null,"stroke-width","1"),u.setAttributeNS(null,"fill","none"),u.setAttributeNS(null,"fill-rule","evenodd"),s=t.createNS("http://www.w3.org/2000/svg","g"),s.setAttributeNS(null,"fill-rule","nonzero"),c=t.createNS("http://www.w3.org/2000/svg","g"),c.setAttributeNS(null,"transform","translate(3.0, 29.0)"),c.setAttributeNS(null,"fill","#000000"),a=0,y=[{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"}];a<y.length;a+=1)p=y[a],h=t.createNS("http://www.w3.org/2000/svg","ellipse"),h.setAttributeNS(null,"opacity","0.04"),h.setAttributeNS(null,"cx","10.5"),h.setAttributeNS(null,"cy","5.80029008"),h.setAttributeNS(null,"rx",p.rx),h.setAttributeNS(null,"ry",p.ry),c.appendChild(h);v=t.createNS("http://www.w3.org/2000/svg","g");v.setAttributeNS(null,"fill",this._color);f=t.createNS("http://www.w3.org/2000/svg","path");f.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");v.appendChild(f);l=t.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"opacity","0.25");l.setAttributeNS(null,"fill","#000000");o=t.createNS("http://www.w3.org/2000/svg","path");o.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");l.appendChild(o);r=t.createNS("http://www.w3.org/2000/svg","g");r.setAttributeNS(null,"transform","translate(6.0, 7.0)");r.setAttributeNS(null,"fill","#FFFFFF");u=t.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"transform","translate(8.0, 8.0)");f=t.createNS("http://www.w3.org/2000/svg","circle");f.setAttributeNS(null,"fill","#000000");f.setAttributeNS(null,"opacity","0.25");f.setAttributeNS(null,"cx","5.5");f.setAttributeNS(null,"cy","5.5");f.setAttributeNS(null,"r","5.4999962");o=t.createNS("http://www.w3.org/2000/svg","circle");o.setAttributeNS(null,"fill","#FFFFFF");o.setAttributeNS(null,"cx","5.5");o.setAttributeNS(null,"cy","5.5");o.setAttributeNS(null,"r","5.4999962");u.appendChild(f);u.appendChild(o);s.appendChild(c);s.appendChild(v);s.appendChild(l);s.appendChild(r);s.appendChild(u);e.appendChild(s);e.setAttributeNS(null,"height",41*this._scale+"px");e.setAttributeNS(null,"width",27*this._scale+"px");this._element.appendChild(e);this._offset=n.Point.convert(i&&i.offset||[0,-14])}this._element.classList.add("mapboxgl-marker");this._element.addEventListener("dragstart",function(n){n.preventDefault()});this._element.addEventListener("mousedown",function(n){n.preventDefault()});ry(this._element,this._anchor,"marker");this._popup=null}function uy(n,t,i){var r=i&&i.maxWidth||100,u=n._container.clientHeight/2,f=n.unproject([0,u]),u=n.unproject([r,u]),f=f.distanceTo(u);i&&"imperial"===i.unit?5280<(u=3.2808*f)?ss(t,r,u/5280,n._getUIString("ScaleControl.Miles")):ss(t,r,u,n._getUIString("ScaleControl.Feet")):i&&"nautical"===i.unit?ss(t,r,f/1852,n._getUIString("ScaleControl.NauticalMiles")):1e3<=f?ss(t,r,f/1e3,n._getUIString("ScaleControl.Kilometers")):ss(t,r,f,n._getUIString("ScaleControl.Meters"))}function ss(n,t,i,r){var f,e,u=(f=i,(e=Math.pow(10,(""+Math.floor(f)).length-1))*(u=10<=(u=f/e)?10:5<=u?5:3<=u?3:2<=u?2:1<=u?1:(f=u,e=Math.pow(10,Math.ceil(-Math.log(f)/Math.LN10)),Math.round(f*e)/e)));n.style.width=t*(u/i)+"px";n.innerHTML=u+"&nbsp;"+r}function v(t){hs.call(this);this.options=n.extend(Object.create(rk),t);n.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}var kc=n.createCommonjsModule(function(n){function t(n){return!r(n)}function r(n){return"undefined"==typeof window||"undefined"==typeof document?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if("Worker"in window&&"Blob"in window&&"URL"in window){var n,t,i=new Blob([""],{type:"text/javascript"}),i=URL.createObjectURL(i);try{t=new Worker(i);n=!0}catch(t){n=!1}return t&&t.terminate(),URL.revokeObjectURL(i),n}}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var t=document.createElement("canvas"),n;return t.width=t.height=1,n=t.getContext("2d"),n?(n=n.getImageData(0,0,1,1),n&&n.width===t.width):void 0}()?(void 0===i[r=n&&n.failIfMajorPerformanceCaveat]&&(i[r]=function(){var u,n=(u=r,n=document.createElement("canvas"),(i=Object.create(t.webGLContextAttributes)).failIfMajorPerformanceCaveat=u,n.probablySupportsContext?n.probablySupportsContext("webgl",i)||n.probablySupportsContext("experimental-webgl",i):n.supportsContext?n.supportsContext("webgl",i)||n.supportsContext("experimental-webgl",i):n.getContext("webgl",i)||n.getContext("experimental-webgl",i)),i;return n?(i=n.createShader(n.VERTEX_SHADER),!(!i||n.isContextLost())&&(n.shaderSource(i,"void main() {}"),n.compileShader(i),!0===n.getShaderParameter(i,n.COMPILE_STATUS))):!1}()),i[r]?void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var r}n.exports?n.exports=t:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=t,window.mapboxgl.notSupportedReason=r);var i={};t.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),t={create:function(t,i,r){return t=n.window.document.createElement(t),void 0!==i&&(t.className=i),r&&r.appendChild(t),t},createNS:function(t,i){return n.window.document.createElementNS(t,i)}},ei=n.window.document&&n.window.document.documentElement.style,gc,pr=dc(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]),nl,wr,ki,dr,gr,ul,fl,cl,r,y,ao,tr,ps,dt,ws,bs,s,ua,vo,la,va,ev,sc,av,p,cr,wv,ar,kv,vr,dv,gv,rs,ny,us,nr,ty,f,ct,lh;t.disableDrag=function(){ei&&pr&&(gc=ei[pr],ei[pr]="none")};t.enableDrag=function(){ei&&pr&&(ei[pr]=gc)};nl=dc(["transform","WebkitTransform"]);wr=!(t.setTransform=function(n,t){n.style[nl]=t});try{ki=Object.defineProperty({},"passive",{get:function(){wr=!0}});n.window.addEventListener("test",ki,ki);n.window.removeEventListener("test",ki,ki)}catch(n){wr=!1}t.addEventListener=function(n,t,i,r){n.addEventListener(t,i,"passive"in(r=void 0===r?{}:r)&&wr?r:r.capture)};t.removeEventListener=function(n,t,i,r){n.removeEventListener(t,i,"passive"in(r=void 0===r?{}:r)&&wr?r:r.capture)};t.suppressClick=function(){n.window.addEventListener("click",yh,!0);n.window.setTimeout(function(){n.window.removeEventListener("click",yh,!0)},0)};t.mousePos=function(t,i){var r=t.getBoundingClientRect();return new n.Point(i.clientX-r.left-t.clientLeft,i.clientY-r.top-t.clientTop)};t.touchPos=function(t,i){for(var u=t.getBoundingClientRect(),f=[],r=0;r<i.length;r++)f.push(new n.Point(i[r].clientX-u.left-t.clientLeft,i[r].clientY-u.top-t.clientTop));return f};t.mouseButton=function(t){return void 0!==n.window.InstallTrigger&&2===t.button&&t.ctrlKey&&0<=n.window.navigator.platform.toUpperCase().indexOf("MAC")?0:t.button};t.remove=function(n){n.parentNode&&n.parentNode.removeChild(n)};var br,ey=((br=n.Evented)&&(w.__proto__=br),((w.prototype=Object.create(br&&br.prototype)).constructor=w).prototype.isLoaded=function(){return this.loaded},w.prototype.setLoaded=function(n){var t,i,r;if(this.loaded!==n&&(this.loaded=n)){for(t=0,i=this.requestors;t<i.length;t+=1)r=i[t],this._notify(r.ids,r.callback);this.requestors=[]}},w.prototype.getImage=function(n){return this.images[n]},w.prototype.addImage=function(n,t){this._validate(n,t)&&(this.images[n]=t)},w.prototype._validate=function(t,i){var r=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new n.ErrorEvent(new Error('Image "'+t+'" has invalid "stretchX" value'))),r=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new n.ErrorEvent(new Error('Image "'+t+'" has invalid "stretchY" value'))),r=!1),this._validateContent(i.content,i)||(this.fire(new n.ErrorEvent(new Error('Image "'+t+'" has invalid "content" value'))),r=!1),r},w.prototype._validateStretch=function(n,t){var i;if(!n)return!0;for(var u=0,r=0,f=n;r<f.length;r+=1){if(i=f[r],i[0]<u||i[1]<i[0]||t<i[1])return!1;u=i[1]}return!0},w.prototype._validateContent=function(n,t){return!(n&&(4!==n.length||n[0]<0||t.data.width<n[0]||n[1]<0||t.data.height<n[1]||n[2]<0||t.data.width<n[2]||n[3]<0||t.data.height<n[3]||n[2]<n[0]||n[3]<n[1]))},w.prototype.updateImage=function(n,t){t.version=this.images[n].version+1;this.images[n]=t;this.updatedImages[n]=!0},w.prototype.removeImage=function(n){var t=this.images[n];delete this.images[n];delete this.patterns[n];t.userImage&&t.userImage.onRemove&&t.userImage.onRemove()},w.prototype.listImages=function(){return Object.keys(this.images)},w.prototype.getImages=function(n,t){var u=!0,i,r;if(!this.isLoaded())for(i=0,r=n;i<r.length;i+=1)this.images[r[i]]||(u=!1);this.isLoaded()||u?this._notify(n,t):this.requestors.push({ids:n,callback:t})},w.prototype._notify=function(t,i){for(var u,r,e={},f=0,o=t;f<o.length;f+=1)u=o[f],this.images[u]||this.fire(new n.Event("styleimagemissing",{id:u})),r=this.images[u],r?e[u]={data:r.data.clone(),pixelRatio:r.pixelRatio,sdf:r.sdf,version:r.version,stretchX:r.stretchX,stretchY:r.stretchY,content:r.content,hasRenderCallback:Boolean(r.userImage&&r.userImage.render)}:n.warnOnce('Image "'+u+'" 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.');i(null,e)},w.prototype.getPixelSize=function(){var n=this.atlasImage;return{width:n.width,height:n.height}},w.prototype.getPattern=function(t){var i=this.patterns[t],r=this.getImage(t);return r?i&&i.position.version===r.version?i.position:(i?i.position.version=r.version:(i={w:r.data.width+2,h:r.data.height+2,x:0,y:0},r=new n.ImagePosition(i,r),this.patterns[t]={bin:i,position:r}),this._updatePatternAtlas(),this.patterns[t].position):null},w.prototype.bind=function(t){var i=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new n.Texture(t,this.atlasImage,i.RGBA);this.atlasTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE)},w.prototype._updatePatternAtlas=function(){var h,c=[];for(h in this.patterns)c.push(this.patterns[h].bin);var o,s=n.potpack(c),l=s.w,s=s.h,r=this.atlasImage;for(o in r.resize({width:l||1,height:s||1}),this.patterns){var t=this.patterns[o].bin,u=t.x+1,f=t.y+1,i=this.images[o].data,e=i.width,t=i.height;n.RGBAImage.copy(i,r,{x:0,y:0},{x:u,y:f},{width:e,height:t});n.RGBAImage.copy(i,r,{x:0,y:t-1},{x:u,y:f-1},{width:e,height:1});n.RGBAImage.copy(i,r,{x:0,y:0},{x:u,y:f+t},{width:e,height:1});n.RGBAImage.copy(i,r,{x:e-1,y:0},{x:u-1,y:f},{width:1,height:t});n.RGBAImage.copy(i,r,{x:0,y:0},{x:u+e,y:f},{width:1,height:t})}this.dirty=!0},w.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},w.prototype.dispatchRenderCallbacks=function(n){for(var e,t,f,i,r=0,u=n;r<u.length;r+=1)i=u[r],this.callbackDispatchedThisFrame[i]||(this.callbackDispatchedThisFrame[i]=!0,f=this.images[i],t=void 0,(t=(e=f).userImage)&&t.render&&t.render()&&(e.data.replace(new Uint8Array(t.data.buffer)),1)&&this.updateImage(i,f))},w),ph=wh,tl=wh,kr=1e20;wh.prototype.draw=function(n){var i;this.ctx.clearRect(0,0,this.size,this.size);this.ctx.fillText(n,this.buffer,this.middle);for(var u=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),t=0;t<this.size*this.size;t++)i=u.data[4*t+3]/255,this.gridOuter[t]=1==i?0:0==i?kr:Math.pow(Math.max(0,.5-i),2),this.gridInner[t]=1==i?kr:0==i?0:Math.pow(Math.max(0,i-.5),2);for(il(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),il(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),t=0;t<this.size*this.size;t++)r[t]=Math.max(0,Math.min(255,Math.round(255-255*((this.gridOuter[t]-this.gridInner[t])/this.radius+this.cutoff))));return r};ph.default=tl;ri.prototype.setURL=function(n){this.url=n};ri.prototype.getGlyphs=function(t,i){var f,r=this,o=[],u,e;for(f in t)for(u=0,e=t[f];u<e.length;u+=1)o.push({stack:f,id:e[u]});n.asyncAll(o,function(n,t){var f=n.stack,u=n.id,i=r.entries[f],n=(i=i||(r.entries[f]={glyphs:{},requests:{},ranges:{}})).glyphs[u],o,e;if(void 0===n){if(n=r._tinySDF(i,f,u))return i.glyphs[u]=n,void t(null,{stack:f,id:u,glyph:n});e=Math.floor(u/256);65535<256*e?t(new Error("glyphs > 65535 not supported")):i.ranges[e]?t(null,{stack:f,id:u,glyph:n}):((o=i.requests[e])||(o=i.requests[e]=[],ri.loadGlyphRange(f,e,r.url,r.requestManager,function(n,t){var u,f,s;if(t){for(u in t)r._doesCharSupportLocalGlyph(+u)||(i.glyphs[+u]=t[+u]);i.ranges[e]=!0}for(f=0,s=o;f<s.length;f+=1)s[f](n,t);delete i.requests[e]})),o.push(function(n,i){n?t(n):i&&t(null,{stack:f,id:u,glyph:i[u]||null})}))}else t(null,{stack:f,id:u,glyph:n})},function(n,t){if(n)i(n);else if(t){for(var u={},f=0,e=t;f<e.length;f+=1){var r=e[f],o=r.stack,s=r.id,r=r.glyph;(u[o]||(u[o]={}))[s]=r&&{id:r.id,bitmap:r.bitmap.clone(),metrics:r.metrics}}i(null,u)}})};ri.prototype._doesCharSupportLocalGlyph=function(t){return!!this.localIdeographFontFamily&&(n.isChar["CJK Unified Ideographs"](t)||n.isChar["Hangul Syllables"](t)||n.isChar.Hiragana(t)||n.isChar.Katakana(t))};ri.prototype._tinySDF=function(t,i,r){var e=this.localIdeographFontFamily,u,f;if(e&&this._doesCharSupportLocalGlyph(r))return f=t.tinySDF,f||(u="400",/bold/i.test(i)?u="900":/medium/i.test(i)?u="500":/light/i.test(i)&&(u="200"),f=t.tinySDF=new ri.TinySDF(24,3,8,.25,e,u)),{id:r,bitmap:new n.AlphaImage({width:30,height:30},f.draw(String.fromCharCode(r))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}};ri.loadGlyphRange=function(t,i,r,u,f){var e=256*i,i=255+e,i=u.transformRequest(u.normalizeGlyphsURL(r).replace("{fontstack}",t).replace("{range}",e+"-"+i),n.ResourceType.Glyphs);n.getArrayBuffer(i,function(t,i){var u;if(t)f(t);else if(i){for(var e={},r=0,o=n.parseGlyphPBF(i);r<o.length;r+=1)u=o[r],e[u.id]=u;f(null,e)}})};ri.TinySDF=ph;dr=function(){this.specification=n.styleSpec.light.position};dr.prototype.possiblyEvaluate=function(t,i){return n.sphericalToCartesian(t.expression.evaluate(i))};dr.prototype.interpolate=function(t,i,r){return{x:n.number(t.x,i.x,r),y:n.number(t.y,i.y,r),z:n.number(t.z,i.z,r)}};ul=new n.Properties({anchor:new n.DataConstantProperty(n.styleSpec.light.anchor),position:new dr,color:new n.DataConstantProperty(n.styleSpec.light.color),intensity:new n.DataConstantProperty(n.styleSpec.light.intensity)});fl=((gr=n.Evented)&&(ui.__proto__=gr),((ui.prototype=Object.create(gr&&gr.prototype)).constructor=ui).prototype.getLight=function(){return this._transitionable.serialize()},ui.prototype.setLight=function(t,i){var r,u;if(!this._validate(n.validateLight,t,i=void 0===i?{}:i))for(r in t)u=t[r],n.endsWith(r,"-transition")?this._transitionable.setTransition(r.slice(0,-11),u):this._transitionable.setValue(r,u)},ui.prototype.updateTransitions=function(n){this._transitioning=this._transitionable.transitioned(n,this._transitioning)},ui.prototype.hasTransition=function(){return this._transitioning.hasTransition()},ui.prototype.recalculate=function(n){this.properties=this._transitioning.possiblyEvaluate(n)},ui.prototype._validate=function(t,i,r){return(!r||!1!==r.validate)&&n.emitValidationErrors(this,t.call(n.validateStyle,n.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:n.styleSpec})))},ui);oi.prototype.getDash=function(n,t){var i=n.join(",")+String(t);return this.dashEntry[i]||(this.dashEntry[i]=this.addDash(n,t)),this.dashEntry[i]};oi.prototype.getDashRanges=function(n,t,i){var u=[],s=n.length%2==1?-n[n.length-1]*i:0,h=n[0]*i,f=!0,e,r,o;for(u.push({left:s,right:h,isDash:f,zeroLength:0===n[0]}),e=n[0],r=1;r<n.length;r++)o=n[r],u.push({left:e*i,right:(e+=o)*i,isDash:f=!f,zeroLength:0===o});return u};oi.prototype.addRoundDash=function(n,t,i){for(var e=t/2,u=-i;u<=i;u++)for(var a=this.width*(this.nextRow+i+u),c=0,f=n[c],r=0;r<this.width;r++){1<r/f.right&&(f=n[++c]);var o=Math.abs(r-f.left),s=Math.abs(r-f.right),h=Math.min(o,s),l=void 0,o=u/i*(1+e);l=f.isDash?(s=e-Math.abs(o),Math.sqrt(h*h+s*s)):e-Math.sqrt(h*h+o*o);this.data[a+r]=Math.max(0,Math.min(255,l+128))}};oi.prototype.addRegularDash=function(n){for(var u,f,e,o,t=n.length-1;0<=t;--t)u=n[t],f=n[t+1],u.zeroLength?n.splice(t,1):f&&f.isDash===u.isDash&&(f.left=u.left,n.splice(t,1));e=n[0];o=n[n.length-1];e.isDash===o.isDash&&(e.left=o.left-this.width,o.right=e.right+this.width);for(var c=this.width*this.nextRow,h=0,r=n[h],i=0;i<this.width;i++){1<i/r.right&&(r=n[++h]);var l=Math.abs(i-r.left),s=Math.abs(i-r.right),s=Math.min(l,s);this.data[c+i]=Math.max(0,Math.min(255,(r.isDash?s:-s)+128))}};oi.prototype.addDash=function(t,i){var r=i?7:0,s=2*r+1,e,o,u,f;if(this.nextRow+s>this.height)return n.warnOnce("LineAtlas out of space"),null;for(u=0,f=0;f<t.length;f++)u+=t[f];return 0!==u&&(e=this.width/u,o=this.getDashRanges(t,this.width,e),i?this.addRoundDash(o,e,r):this.addRegularDash(o)),r={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:u},this.nextRow+=s,this.dirty=!0,r};oi.prototype.bind=function(n){n=n.gl;this.texture?(n.bindTexture(n.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,n.texSubImage2D(n.TEXTURE_2D,0,0,0,this.width,this.height,n.ALPHA,n.UNSIGNED_BYTE,this.data))):(this.texture=n.createTexture(),n.bindTexture(n.TEXTURE_2D,this.texture),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.REPEAT),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.REPEAT),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),n.texImage2D(n.TEXTURE_2D,0,n.ALPHA,this.width,this.height,0,n.ALPHA,n.UNSIGNED_BYTE,this.data))};di.prototype.broadcast=function(t,i,r){n.asyncAll(this.actors,function(n,r){n.send(t,i,r)},r=r||function(){})};di.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]};di.prototype.remove=function(){this.actors.forEach(function(n){n.remove()});this.actors=[];this.workerPool.release(this.id)};di.Actor=n.Actor;cs.prototype.validateBounds=function(n){return Array.isArray(n)&&4===n.length?[Math.max(-180,n[0]),Math.max(-90,n[1]),Math.min(180,n[2]),Math.min(90,n[3])]:[-180,-90,180,90]};cs.prototype.contains=function(t){var i=Math.pow(2,t.z),r=Math.floor(n.mercatorXfromLng(this.bounds.getWest())*i),u=Math.floor(n.mercatorYfromLat(this.bounds.getNorth())*i),f=Math.ceil(n.mercatorXfromLng(this.bounds.getEast())*i),i=Math.ceil(n.mercatorYfromLat(this.bounds.getSouth())*i);return t.x>=r&&t.x<f&&t.y>=u&&t.y<i};var nu,tu,iu,ru,uu,fu,eu,ol=((eu=n.Evented)&&(rt.__proto__=eu),((rt.prototype=Object.create(eu&&eu.prototype)).constructor=rt).prototype.load=function(){var t=this;this._loaded=!1;this.fire(new n.Event("dataloading",{dataType:"source"}));this._tileJSONRequest=el(this._options,this.map._requestManager,function(i,r){t._tileJSONRequest=null;t._loaded=!0;i?t.fire(new n.ErrorEvent(i)):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new cs(r.bounds,t.minzoom,t.maxzoom)),n.postTurnstileEvent(r.tiles,t.map._requestManager._customAccessToken),n.postMapLoadEvent(r.tiles,t.map._getMapId(),t.map._requestManager._skuToken,t.map._requestManager._customAccessToken),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"content"})))})},rt.prototype.loaded=function(){return this._loaded},rt.prototype.hasTile=function(n){return!this.tileBounds||this.tileBounds.contains(n.canonical)},rt.prototype.onAdd=function(n){this.map=n;this.load()},rt.prototype.setSourceProperty=function(n){this._tileJSONRequest&&this._tileJSONRequest.cancel();n();this.map.style.sourceCaches[this.id].clearTiles();this.load()},rt.prototype.setTiles=function(n){var t=this;return this.setSourceProperty(function(){t._options.tiles=n}),this},rt.prototype.setUrl=function(n){var t=this;return this.setSourceProperty(function(){t.url=n;t._options.url=n}),this},rt.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},rt.prototype.serialize=function(){return n.extend({},this._options)},rt.prototype.loadTile=function(t,i){function u(r,u){return delete t.request,t.aborted?i(null):r&&404!==r.status?i(r):(u&&u.resourceTiming&&(t.resourceTiming=u.resourceTiming),this.map._refreshExpiredTiles&&u&&t.setExpiryData(u),t.loadVectorData(u,this.map.painter),n.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(r,n.ResourceType.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:n.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;t.actor&&"expired"!==t.state?"loading"===t.state?t.reloadCallback=i:t.request=t.actor.send("reloadTile",r,u.bind(this)):(t.actor=this.dispatcher.getActor(),t.request=t.actor.send("loadTile",r,u.bind(this)))},rt.prototype.abortTile=function(n){n.request&&(n.request.cancel(),delete n.request);n.actor&&n.actor.send("abortTile",{uid:n.uid,type:this.type,source:this.id},void 0)},rt.prototype.unloadTile=function(n){n.unloadVectorData();n.actor&&n.actor.send("removeTile",{uid:n.uid,type:this.type,source:this.id},void 0)},rt.prototype.hasTransition=function(){return!1},rt),bh=((fu=n.Evented)&&(ot.__proto__=fu),((ot.prototype=Object.create(fu&&fu.prototype)).constructor=ot).prototype.load=function(){var t=this;this._loaded=!1;this.fire(new n.Event("dataloading",{dataType:"source"}));this._tileJSONRequest=el(this._options,this.map._requestManager,function(i,r){t._tileJSONRequest=null;t._loaded=!0;i?t.fire(new n.ErrorEvent(i)):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new cs(r.bounds,t.minzoom,t.maxzoom)),n.postTurnstileEvent(r.tiles),n.postMapLoadEvent(r.tiles,t.map._getMapId(),t.map._requestManager._skuToken),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"content"})))})},ot.prototype.loaded=function(){return this._loaded},ot.prototype.onAdd=function(n){this.map=n;this.load()},ot.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},ot.prototype.serialize=function(){return n.extend({},this._options)},ot.prototype.hasTile=function(n){return!this.tileBounds||this.tileBounds.contains(n.canonical)},ot.prototype.loadTile=function(t,i){var r=this,u=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);t.request=n.getImage(this.map._requestManager.transformRequest(u,n.ResourceType.Tile),function(u,f){var e;delete t.request;t.aborted?(t.state="unloaded",i(null)):u?(t.state="errored",i(u)):f&&(r.map._refreshExpiredTiles&&t.setExpiryData(f),delete f.cacheControl,delete f.expires,u=(e=r.map.painter.context).gl,t.texture=r.map.painter.getTileTexture(f.width),t.texture?t.texture.update(f,{useMipmap:!0}):(t.texture=new n.Texture(e,f,u.RGBA,{useMipmap:!0}),t.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),e.extTextureFilterAnisotropic&&u.texParameterf(u.TEXTURE_2D,e.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.extTextureFilterAnisotropicMax)),t.state="loaded",n.cacheEntryPossiblyAdded(r.dispatcher),i(null))})},ot.prototype.abortTile=function(n,t){n.request&&(n.request.cancel(),delete n.request);t()},ot.prototype.unloadTile=function(n,t){n.texture&&this.map.painter.saveTileTexture(n.texture);t()},ot.prototype.hasTransition=function(){return!1},ot),sl=((uu=bh)&&(hi.__proto__=uu),((hi.prototype=Object.create(uu&&uu.prototype)).constructor=hi).prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},hi.prototype.loadTile=function(t,i){var r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);t.request=n.getImage(this.map._requestManager.transformRequest(r,n.ResourceType.Tile),function(r,u){delete t.request;t.aborted?(t.state="unloaded",i(null)):r?(t.state="errored",i(r)):u&&(this.map._refreshExpiredTiles&&t.setExpiryData(u),delete u.cacheControl,delete u.expires,u=n.window.ImageBitmap&&u instanceof n.window.ImageBitmap&&n.offscreenCanvasSupported()?u:n.browser.getImageData(u,1),u={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:u,encoding:this.encoding},t.actor&&"expired"!==t.state||(t.actor=this.dispatcher.getActor(),t.actor.send("loadDEMTile",u,function(n,r){n&&(t.state="errored",i(n));r&&(t.dem=r,t.needsHillshadePrepare=!0,t.state="loaded",i(null))}.bind(this))))}.bind(this));t.neighboringTiles=this._getNeighboringTiles(t.tileID)},hi.prototype._getNeighboringTiles=function(t){var i=t.canonical,u=Math.pow(2,i.z),f=(i.x-1+u)%u,e=0===i.x?t.wrap-1:t.wrap,o=(i.x+1+u)%u,s=i.x+1===u?t.wrap+1:t.wrap,r={};return r[new n.OverscaledTileID(t.overscaledZ,e,i.z,f,i.y).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,s,i.z,o,i.y).key]={backfilled:!1},0<i.y&&(r[new n.OverscaledTileID(t.overscaledZ,e,i.z,f,i.y-1).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,s,i.z,o,i.y-1).key]={backfilled:!1}),i.y+1<u&&(r[new n.OverscaledTileID(t.overscaledZ,e,i.z,f,i.y+1).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,t.wrap,i.z,i.x,i.y+1).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,s,i.z,o,i.y+1).key]={backfilled:!1}),r},hi.prototype.unloadTile=function(n){n.demTexture&&this.map.painter.saveTileTexture(n.demTexture);n.fbo&&(n.fbo.destroy(),delete n.fbo);n.dem&&delete n.dem;delete n.neighboringTiles;n.state="unloaded";n.actor&&n.actor.send("removeDEMTile",{uid:n.uid,source:this.id})},hi),f=((ru=n.Evented)&&(tt.__proto__=ru),((tt.prototype=Object.create(ru&&ru.prototype)).constructor=tt).prototype.load=function(){var t=this;this.fire(new n.Event("dataloading",{dataType:"source"}));this._updateWorkerData(function(i){i?t.fire(new n.ErrorEvent(i)):(i={dataType:"source",sourceDataType:"metadata"},t._collectResourceTiming&&t._resourceTiming&&0<t._resourceTiming.length&&(i.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(new n.Event("data",i)))})},tt.prototype.onAdd=function(n){this.map=n;this.load()},tt.prototype.setData=function(t){var i=this;return this._data=t,this.fire(new n.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(t){t?i.fire(new n.ErrorEvent(t)):(t={dataType:"source",sourceDataType:"content"},i._collectResourceTiming&&i._resourceTiming&&0<i._resourceTiming.length&&(t.resourceTiming=i._resourceTiming,i._resourceTiming=[]),i.fire(new n.Event("data",t)))}),this},tt.prototype.getClusterExpansionZoom=function(n,t){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:n,source:this.id},t),this},tt.prototype.getClusterChildren=function(n,t){return this.actor.send("geojson.getClusterChildren",{clusterId:n,source:this.id},t),this},tt.prototype.getClusterLeaves=function(n,t,i,r){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:n,limit:t,offset:i},r),this},tt.prototype._updateWorkerData=function(t){var i=this,r,u;this._loaded=!1;r=n.extend({},this.workerOptions);u=this._data;"string"==typeof u?(r.request=this.map._requestManager.transformRequest(n.browser.resolveURL(u),n.ResourceType.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(u);this.actor.send(this.type+".loadData",r,function(n,u){i._removed||u&&u.abandoned||(i._loaded=!0,u&&u.resourceTiming&&u.resourceTiming[i.id]&&(i._resourceTiming=u.resourceTiming[i.id].slice(0)),i.actor.send(i.type+".coalesce",{source:r.source},null),t(n))})},tt.prototype.loaded=function(){return this._loaded},tt.prototype.loadTile=function(t,i){var u=this,r=t.actor?"reloadTile":"loadTile";t.actor=this.actor;t.request=this.actor.send(r,{type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:n.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},function(n,f){return delete t.request,t.unloadVectorData(),t.aborted?i(null):n?i(n):(t.loadVectorData(f,u.map.painter,"reloadTile"==r),i(null))})},tt.prototype.abortTile=function(n){n.request&&(n.request.cancel(),delete n.request);n.aborted=!0},tt.prototype.unloadTile=function(n){n.unloadVectorData();this.actor.send("removeTile",{uid:n.uid,type:this.type,source:this.id})},tt.prototype.onRemove=function(){this._removed=!0;this.actor.send("removeSource",{type:this.type,source:this.id})},tt.prototype.serialize=function(){return n.extend({},this._options,{type:this.type,data:this._data})},tt.prototype.hasTransition=function(){return!1},tt),ls=n.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),ou=((iu=n.Evented)&&(et.__proto__=iu),((et.prototype=Object.create(iu&&iu.prototype)).constructor=et).prototype.load=function(t,i){var r=this;this._loaded=!1;this.fire(new n.Event("dataloading",{dataType:"source"}));this.url=this.options.url;n.getImage(this.map._requestManager.transformRequest(this.url,n.ResourceType.Image),function(u,f){r._loaded=!0;u?r.fire(new n.ErrorEvent(u)):f&&(r.image=f,t&&(r.coordinates=t),i&&i(),r._finishLoading())})},et.prototype.loaded=function(){return this._loaded},et.prototype.updateImage=function(n){var t=this;return this.image&&n.url&&(this.options.url=n.url,this.load(n.coordinates,function(){t.texture=null})),this},et.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})))},et.prototype.onAdd=function(n){this.map=n;this.load()},et.prototype.setCoordinates=function(t){var r=this,i=(this.coordinates=t).map(n.MercatorCoordinate.fromLngLat);return this.tileID=function(){for(var r=1/0,u=1/0,f=-1/0,e=-1/0,o=0,h=i;o<h.length;o+=1)var t=h[o],r=Math.min(r,t.x),u=Math.min(u,t.y),f=Math.max(f,t.x),e=Math.max(e,t.y);var s=Math.max(f-r,e-u),c=Math.max(0,Math.floor(-Math.log(s)/Math.LN2)),s=Math.pow(2,c);return new n.CanonicalTileID(c,Math.floor((r+f)/2*s),Math.floor((u+e)/2*s))}(),this.minzoom=this.maxzoom=this.tileID.z,t=i.map(function(n){return r.tileID.getTilePoint(n)._round()}),this._boundsArray=new n.StructArrayLayout4i8,this._boundsArray.emplaceBack(t[0].x,t[0].y,0,0),this._boundsArray.emplaceBack(t[1].x,t[1].y,n.EXTENT,0),this._boundsArray.emplaceBack(t[3].x,t[3].y,0,n.EXTENT),this._boundsArray.emplaceBack(t[2].x,t[2].y,n.EXTENT,n.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new n.Event("data",{dataType:"source",sourceDataType:"content"})),this},et.prototype.prepare=function(){var u,t,i,r;if(0!==Object.keys(this.tiles).length&&this.image){t=this.map.painter.context;i=t.gl;for(u in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,ls.members)),this.boundsSegments||(this.boundsSegments=n.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new n.Texture(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles)r=this.tiles[u],"loaded"!==r.state&&(r.state="loaded",r.texture=this.texture)}},et.prototype.loadTile=function(n,t){this.tileID&&this.tileID.equals(n.tileID.canonical)?(this.tiles[String(n.tileID.wrap)]=n).buckets={}:n.state="errored";t(null)},et.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},et.prototype.hasTransition=function(){return!1},et),si=((tu=ou)&&(lt.__proto__=tu),((lt.prototype=Object.create(tu&&tu.prototype)).constructor=lt).prototype.load=function(){var t=this,u,i,r;for(this._loaded=!1,u=this.options,this.urls=[],i=0,r=u.urls;i<r.length;i+=1)this.urls.push(this.map._requestManager.transformRequest(r[i],n.ResourceType.Source).url);n.getVideo(this.urls,function(i,r){t._loaded=!0;i?t.fire(new n.ErrorEvent(i)):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener("playing",function(){t.map.triggerRepaint()}),t.map&&t.video.play(),t._finishLoading())})},lt.prototype.pause=function(){this.video&&this.video.pause()},lt.prototype.play=function(){this.video&&this.video.play()},lt.prototype.seek=function(t){var i;this.video&&(t<(i=this.video.seekable).start(0)||t>i.end(0)?this.fire(new n.ErrorEvent(new n.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+i.start(0)+" and "+i.end(0)+"-second mark."))):this.video.currentTime=t)},lt.prototype.getVideo=function(){return this.video},lt.prototype.onAdd=function(n){this.map||(this.map=n,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},lt.prototype.prepare=function(){var u,i,t,r;if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){i=this.map.painter.context;t=i.gl;for(u in this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,ls.members)),this.boundsSegments||(this.boundsSegments=n.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this.texture=new n.Texture(i,this.video,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)),this.tiles)r=this.tiles[u],"loaded"!==r.state&&(r.state="loaded",r.texture=this.texture)}},lt.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},lt.prototype.hasTransition=function(){return this.video&&!this.video.paused},lt),p=((nu=ou)&&(yt.__proto__=nu),((yt.prototype=Object.create(nu&&nu.prototype)).constructor=yt).prototype.load=function(){this._loaded=!0;this.canvas||(this.canvas=this.options.canvas instanceof n.window.HTMLCanvasElement?this.options.canvas:n.window.document.getElementById(this.options.canvas));this.width=this.canvas.width;this.height=this.canvas.height;this._hasInvalidDimensions()?this.fire(new n.ErrorEvent(new 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(),this._playing=!1)},this._finishLoading())},yt.prototype.getCanvas=function(){return this.canvas},yt.prototype.onAdd=function(n){this.map=n;this.load();this.canvas&&this.animate&&this.play()},yt.prototype.onRemove=function(){this.pause()},yt.prototype.prepare=function(){var r=!1,u,t,f,i;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,r=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,r=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){t=this.map.painter.context;f=t.gl;for(u in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,ls.members)),this.boundsSegments||(this.boundsSegments=n.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(r||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new n.Texture(t,this.canvas,f.RGBA,{premultiply:!0}),this.tiles)i=this.tiles[u],"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}},yt.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},yt.prototype.hasTransition=function(){return this._playing},yt.prototype._hasInvalidDimensions=function(){for(var i,n=0,t=[this.canvas.width,this.canvas.height];n<t.length;n+=1)if(i=t[n],isNaN(i)||i<=0)return!0;return!1},yt),kh={vector:ol,raster:bh,"raster-dem":sl,geojson:f,video:si,image:ou,canvas:p};pt.prototype.reset=function(){var r,n,i,t;for(r in this.data)for(n=0,i=this.data[r];n<i.length;n+=1)t=i[n],t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this};pt.prototype.add=function(n,t,i){var e=this,r=n.wrapped().key,f,u;return void 0===this.data[r]&&(this.data[r]=[]),u={value:t,timeout:void 0},void 0!==i&&(u.timeout=setTimeout(function(){e.remove(n,u)},i)),this.data[r].push(u),this.order.push(r),this.order.length>this.max&&(f=this._getAndRemoveByKey(this.order[0]))&&this.onRemove(f),this};pt.prototype.has=function(n){return n.wrapped().key in this.data};pt.prototype.getAndRemove=function(n){return this.has(n)?this._getAndRemoveByKey(n.wrapped().key):null};pt.prototype._getAndRemoveByKey=function(n){var t=this.data[n].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[n].length&&delete this.data[n],this.order.splice(this.order.indexOf(n),1),t.value};pt.prototype.getByKey=function(n){return n=this.data[n],n?n[0].value:null};pt.prototype.get=function(n){return this.has(n)?this.data[n.wrapped().key][0].value:null};pt.prototype.remove=function(n,t){if(!this.has(n))return this;var i=n.wrapped().key,n=void 0===t?0:this.data[i].indexOf(t),t=this.data[i][n];return this.data[i].splice(n,1),t.timeout&&clearTimeout(t.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(t.value),this.order.splice(this.order.indexOf(i),1),this};pt.prototype.setMaxSize=function(n){for(this.max=n;this.order.length>this.max;){var t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this};pt.prototype.filter=function(n){var o,s=[],t,r,u,i,f,e;for(o in this.data)for(t=0,r=this.data[o];t<r.length;t+=1)u=r[t],n(u.value)||s.push(u);for(i=0,f=s;i<f.length;i+=1)e=f[i],this.remove(e.value.tileID,e)};as.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)};as.prototype.updateData=function(n){var t=this.context.gl;this.context.unbindVAO();this.bind();t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,n.arrayBuffer)};as.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};cl={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};gi.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)};gi.prototype.updateData=function(n){var t=this.context.gl;this.bind();t.bufferSubData(t.ARRAY_BUFFER,0,n.arrayBuffer)};gi.prototype.enableAttributes=function(n,t){for(var r,i=0;i<this.attributes.length;i++)r=t.attributes[this.attributes[i].name],void 0!==r&&n.enableVertexAttribArray(r)};gi.prototype.setVertexAttribPointers=function(n,t,i){for(var r,f,u=0;u<this.attributes.length;u++)r=this.attributes[u],f=t.attributes[r.name],void 0!==f&&n.vertexAttribPointer(f,r.components,n[cl[r.type]],!1,this.itemSize,r.offset+this.itemSize*(i||0))};gi.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};r=function(n){this.gl=n.gl;this.default=this.getDefault();this.current=this.default;this.dirty=!1};r.prototype.get=function(){return this.current};r.prototype.set=function(){};r.prototype.getDefault=function(){return this.default};r.prototype.setDefault=function(){this.set(this.default)};var su,hu,cu,lu,au,vu,yu,pu,wu,bu,ku,du,gu,nf,tf,rf,uf,ff,ef,of,sf,hf,cf,lf,af,vf,yf,pf,wf,bf,kf,df,gf,ne,sy=((ne=r)&&(lo.__proto__=ne),((lo.prototype=Object.create(ne&&ne.prototype)).constructor=lo).prototype.getDefault=function(){return n.Color.transparent},lo.prototype.set=function(n){var t=this.current;(n.r!==t.r||n.g!==t.g||n.b!==t.b||n.a!==t.a||this.dirty)&&(this.gl.clearColor(n.r,n.g,n.b,n.a),this.current=n,this.dirty=!1)},lo),hy=((gf=r)&&(co.__proto__=gf),((co.prototype=Object.create(gf&&gf.prototype)).constructor=co).prototype.getDefault=function(){return 1},co.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.clearDepth(n),this.current=n,this.dirty=!1)},co),cy=((df=r)&&(ho.__proto__=df),((ho.prototype=Object.create(df&&df.prototype)).constructor=ho).prototype.getDefault=function(){return 0},ho.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.clearStencil(n),this.current=n,this.dirty=!1)},ho),ly=((kf=r)&&(so.__proto__=kf),((so.prototype=Object.create(kf&&kf.prototype)).constructor=so).prototype.getDefault=function(){return[!0,!0,!0,!0]},so.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||n[2]!==t[2]||n[3]!==t[3]||this.dirty)&&(this.gl.colorMask(n[0],n[1],n[2],n[3]),this.current=n,this.dirty=!1)},so),ay=((bf=r)&&(oo.__proto__=bf),((oo.prototype=Object.create(bf&&bf.prototype)).constructor=oo).prototype.getDefault=function(){return!0},oo.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.depthMask(n),this.current=n,this.dirty=!1)},oo),vy=((wf=r)&&(eo.__proto__=wf),((eo.prototype=Object.create(wf&&wf.prototype)).constructor=eo).prototype.getDefault=function(){return 255},eo.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.stencilMask(n),this.current=n,this.dirty=!1)},eo),yy=((pf=r)&&(fo.__proto__=pf),((fo.prototype=Object.create(pf&&pf.prototype)).constructor=fo).prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},fo.prototype.set=function(n){var t=this.current;(n.func!==t.func||n.ref!==t.ref||n.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(n.func,n.ref,n.mask),this.current=n,this.dirty=!1)},fo),py=((yf=r)&&(uo.__proto__=yf),((uo.prototype=Object.create(yf&&yf.prototype)).constructor=uo).prototype.getDefault=function(){var n=this.gl;return[n.KEEP,n.KEEP,n.KEEP]},uo.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||n[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(n[0],n[1],n[2]),this.current=n,this.dirty=!1)},uo),wy=((vf=r)&&(ro.__proto__=vf),((ro.prototype=Object.create(vf&&vf.prototype)).constructor=ro).prototype.getDefault=function(){return!1},ro.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&(t=this.gl,n?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=n,this.dirty=!1)},ro),by=((af=r)&&(io.__proto__=af),((io.prototype=Object.create(af&&af.prototype)).constructor=io).prototype.getDefault=function(){return[0,1]},io.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||this.dirty)&&(this.gl.depthRange(n[0],n[1]),this.current=n,this.dirty=!1)},io),ky=((lf=r)&&(to.__proto__=lf),((to.prototype=Object.create(lf&&lf.prototype)).constructor=to).prototype.getDefault=function(){return!1},to.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&(t=this.gl,n?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=n,this.dirty=!1)},to),dy=((cf=r)&&(no.__proto__=cf),((no.prototype=Object.create(cf&&cf.prototype)).constructor=no).prototype.getDefault=function(){return this.gl.LESS},no.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.depthFunc(n),this.current=n,this.dirty=!1)},no),gy=((hf=r)&&(ge.__proto__=hf),((ge.prototype=Object.create(hf&&hf.prototype)).constructor=ge).prototype.getDefault=function(){return!1},ge.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&(t=this.gl,n?t.enable(t.BLEND):t.disable(t.BLEND),this.current=n,this.dirty=!1)},ge),np=((sf=r)&&(de.__proto__=sf),((de.prototype=Object.create(sf&&sf.prototype)).constructor=de).prototype.getDefault=function(){var n=this.gl;return[n.ONE,n.ZERO]},de.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(n[0],n[1]),this.current=n,this.dirty=!1)},de),tp=((of=r)&&(ke.__proto__=of),((ke.prototype=Object.create(of&&of.prototype)).constructor=ke).prototype.getDefault=function(){return n.Color.transparent},ke.prototype.set=function(n){var t=this.current;(n.r!==t.r||n.g!==t.g||n.b!==t.b||n.a!==t.a||this.dirty)&&(this.gl.blendColor(n.r,n.g,n.b,n.a),this.current=n,this.dirty=!1)},ke),ip=((ef=r)&&(be.__proto__=ef),((be.prototype=Object.create(ef&&ef.prototype)).constructor=be).prototype.getDefault=function(){return this.gl.FUNC_ADD},be.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.blendEquation(n),this.current=n,this.dirty=!1)},be),rp=((ff=r)&&(we.__proto__=ff),((we.prototype=Object.create(ff&&ff.prototype)).constructor=we).prototype.getDefault=function(){return!1},we.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&(t=this.gl,n?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=n,this.dirty=!1)},we),up=((uf=r)&&(pe.__proto__=uf),((pe.prototype=Object.create(uf&&uf.prototype)).constructor=pe).prototype.getDefault=function(){return this.gl.BACK},pe.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.cullFace(n),this.current=n,this.dirty=!1)},pe),fp=((rf=r)&&(ye.__proto__=rf),((ye.prototype=Object.create(rf&&rf.prototype)).constructor=ye).prototype.getDefault=function(){return this.gl.CCW},ye.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.frontFace(n),this.current=n,this.dirty=!1)},ye),ep=((tf=r)&&(ve.__proto__=tf),((ve.prototype=Object.create(tf&&tf.prototype)).constructor=ve).prototype.getDefault=function(){return null},ve.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.useProgram(n),this.current=n,this.dirty=!1)},ve),op=((nf=r)&&(ae.__proto__=nf),((ae.prototype=Object.create(nf&&nf.prototype)).constructor=ae).prototype.getDefault=function(){return this.gl.TEXTURE0},ae.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.activeTexture(n),this.current=n,this.dirty=!1)},ae),sp=((gu=r)&&(le.__proto__=gu),((le.prototype=Object.create(gu&&gu.prototype)).constructor=le).prototype.getDefault=function(){var n=this.gl;return[0,0,n.drawingBufferWidth,n.drawingBufferHeight]},le.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||n[2]!==t[2]||n[3]!==t[3]||this.dirty)&&(this.gl.viewport(n[0],n[1],n[2],n[3]),this.current=n,this.dirty=!1)},le),hp=((du=r)&&(ce.__proto__=du),((ce.prototype=Object.create(du&&du.prototype)).constructor=ce).prototype.getDefault=function(){return null},ce.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&((t=this.gl).bindFramebuffer(t.FRAMEBUFFER,n),this.current=n,this.dirty=!1)},ce),cp=((ku=r)&&(he.__proto__=ku),((he.prototype=Object.create(ku&&ku.prototype)).constructor=he).prototype.getDefault=function(){return null},he.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&((t=this.gl).bindRenderbuffer(t.RENDERBUFFER,n),this.current=n,this.dirty=!1)},he),lp=((bu=r)&&(se.__proto__=bu),((se.prototype=Object.create(bu&&bu.prototype)).constructor=se).prototype.getDefault=function(){return null},se.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&((t=this.gl).bindTexture(t.TEXTURE_2D,n),this.current=n,this.dirty=!1)},se),ap=((wu=r)&&(oe.__proto__=wu),((oe.prototype=Object.create(wu&&wu.prototype)).constructor=oe).prototype.getDefault=function(){return null},oe.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&((t=this.gl).bindBuffer(t.ARRAY_BUFFER,n),this.current=n,this.dirty=!1)},oe),vp=((pu=r)&&(ee.__proto__=pu),((ee.prototype=Object.create(pu&&pu.prototype)).constructor=ee).prototype.getDefault=function(){return null},ee.prototype.set=function(n){var t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n);this.current=n;this.dirty=!1},ee),yp=((yu=r)&&(fe.__proto__=yu),((fe.prototype=Object.create(yu&&yu.prototype)).constructor=fe).prototype.getDefault=function(){return null},fe.prototype.set=function(n){this.vao&&(n!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(n),this.current=n,this.dirty=!1)},fe),pp=((vu=r)&&(ue.__proto__=vu),((ue.prototype=Object.create(vu&&vu.prototype)).constructor=ue).prototype.getDefault=function(){return 4},ue.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&((t=this.gl).pixelStorei(t.UNPACK_ALIGNMENT,n),this.current=n,this.dirty=!1)},ue),wp=((au=r)&&(re.__proto__=au),((re.prototype=Object.create(au&&au.prototype)).constructor=re).prototype.getDefault=function(){return!1},re.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&((t=this.gl).pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n),this.current=n,this.dirty=!1)},re),bp=((lu=r)&&(ie.__proto__=lu),((ie.prototype=Object.create(lu&&lu.prototype)).constructor=ie).prototype.getDefault=function(){return!1},ie.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&((t=this.gl).pixelStorei(t.UNPACK_FLIP_Y_WEBGL,n),this.current=n,this.dirty=!1)},ie),nr=((cu=r)&&(ys.__proto__=cu),((ys.prototype=Object.create(cu&&cu.prototype)).constructor=ys).prototype.getDefault=function(){return null},ys),kp=((hu=nr)&&(te.__proto__=hu),((te.prototype=Object.create(hu&&hu.prototype)).constructor=te).prototype.setDirty=function(){this.dirty=!0},te.prototype.set=function(n){var t;(n!==this.current||this.dirty)&&(this.context.bindFramebuffer.set(this.parent),(t=this.gl).framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0),this.current=n,this.dirty=!1)},te),dp=((su=nr)&&(vs.__proto__=su),((vs.prototype=Object.create(su&&su.prototype)).constructor=vs).prototype.set=function(n){var t;(n!==this.current||this.dirty)&&(this.context.bindFramebuffer.set(this.parent),(t=this.gl).framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,n),this.current=n,this.dirty=!1)},vs);o.ReadOnly=!(ll.prototype.destroy=function(){var t,n=this.context.gl,i=this.colorAttachment.get();i&&n.deleteTexture(i);this.depthAttachment&&(t=this.depthAttachment.get())&&n.deleteRenderbuffer(t);n.deleteFramebuffer(this.framebuffer)});o.ReadWrite=!0;o.disabled=new o(519,o.ReadOnly,[0,1]);b.disabled=new b({func:519,mask:0},0,0,7680,7680,7680);g.disabled=new g(g.Replace=[1,0],n.Color.transparent,[!1,!1,!1,!1]);g.unblended=new g(g.Replace,n.Color.transparent,[!0,!0,!0,!0]);g.alphaBlended=new g([1,771],n.Color.transparent,[!0,!0,!0,!0]);y=function(n,t,i){this.enable=n;this.mode=t;this.frontFace=i};y.disabled=new y(!1,1029,2305);y.backCCW=new y(!0,1029,2305);st.prototype.setDefault=function(){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()};st.prototype.setDirty=function(){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.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0);this.pixelStoreUnpack.dirty=!0;this.pixelStoreUnpackPremultiplyAlpha.dirty=!0;this.pixelStoreUnpackFlipY.dirty=!0};st.prototype.createIndexBuffer=function(n,t){return new as(this,n,t)};st.prototype.createVertexBuffer=function(n,t,i){return new gi(this,n,t,i)};st.prototype.createRenderbuffer=function(n,t,i){var r=this.gl,u=r.createRenderbuffer();return this.bindRenderbuffer.set(u),r.renderbufferStorage(r.RENDERBUFFER,n,t,i),this.bindRenderbuffer.set(null),u};st.prototype.createFramebuffer=function(n,t,i){return new ll(this,n,t,i)};st.prototype.clear=function(n){var i=n.color,r=n.depth,t=this.gl,n=0;i&&(n|=t.COLOR_BUFFER_BIT,this.clearColor.set(i),this.colorMask.set([!0,!0,!0,!0]));void 0!==r&&(n|=t.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0));t.clear(n)};st.prototype.setCullFace=function(n){!1===n.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(n.mode),this.frontFace.set(n.frontFace))};st.prototype.setDepthMode=function(n){n.func!==this.gl.ALWAYS||n.mask?(this.depthTest.set(!0),this.depthFunc.set(n.func),this.depthMask.set(n.mask),this.depthRange.set(n.range)):this.depthTest.set(!1)};st.prototype.setStencilMode=function(n){n.test.func!==this.gl.ALWAYS||n.mask?(this.stencilTest.set(!0),this.stencilMask.set(n.mask),this.stencilOp.set([n.fail,n.depthFail,n.pass]),this.stencilFunc.set({func:n.test.func,ref:n.ref,mask:n.test.mask})):this.stencilTest.set(!1)};st.prototype.setColorMode=function(t){n.deepEqual(t.blendFunction,g.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor));this.colorMask.set(t.mask)};st.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};tr=((ao=n.Evented)&&(u.__proto__=ao),((u.prototype=Object.create(ao&&ao.prototype)).constructor=u).prototype.onAdd=function(n){this.map=n;this._maxTileCacheSize=n?n._maxTileCacheSize:null;this._source&&this._source.onAdd&&this._source.onAdd(n)},u.prototype.onRemove=function(n){this._source&&this._source.onRemove&&this._source.onRemove(n)},u.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;for(var n in this._tiles)if(n=this._tiles[n],"loaded"!==n.state&&"errored"!==n.state)return!1;return!0},u.prototype.getSource=function(){return this._source},u.prototype.pause=function(){this._paused=!0},u.prototype.resume=function(){var n;this._paused&&(n=this._shouldReloadOnResume,this._paused=!1,this._shouldReloadOnResume=!1,n&&this.reload(),this.transform&&this.update(this.transform))},u.prototype._loadTile=function(n,t){return this._source.loadTile(n,t)},u.prototype._unloadTile=function(n){if(this._source.unloadTile)return this._source.unloadTile(n,function(){})},u.prototype._abortTile=function(n){if(this._source.abortTile)return this._source.abortTile(n,function(){})},u.prototype.serialize=function(){return this._source.serialize()},u.prototype.prepare=function(n){for(var t in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles)t=this._tiles[t],t.upload(n),t.prepare(this.map.style.imageManager)},u.prototype.getIds=function(){return n.values(this._tiles).map(function(n){return n.tileID}).sort(al).map(function(n){return n.key})},u.prototype.getRenderableIds=function(t){var i,u=this,r=[];for(i in this._tiles)this._isIdRenderable(i,t)&&r.push(this._tiles[i]);return t?r.sort(function(t,i){var r=t.tileID,f=i.tileID,t=new n.Point(r.canonical.x,r.canonical.y)._rotate(u.transform.angle),i=new n.Point(f.canonical.x,f.canonical.y)._rotate(u.transform.angle);return r.overscaledZ-f.overscaledZ||i.y-t.y||i.x-t.x}).map(function(n){return n.tileID.key}):r.map(function(n){return n.tileID}).sort(al).map(function(n){return n.key})},u.prototype.hasRenderableParent=function(n){return n=this.findLoadedParent(n,0),!!n&&this._isIdRenderable(n.tileID.key)},u.prototype._isIdRenderable=function(n,t){return this._tiles[n]&&this._tiles[n].hasData()&&!this._coveredTiles[n]&&(t||!this._tiles[n].holdingForFade())},u.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var n in this._cache.reset(),this._tiles)"errored"!==this._tiles[n].state&&this._reloadTile(n,"reloading")},u.prototype._reloadTile=function(n,t){var i=this._tiles[n];i&&("loading"!==i.state&&(i.state=t),this._loadTile(i,this._tileLoaded.bind(this,i,n,t)))},u.prototype._tileLoaded=function(t,i,r,u){if(u)return t.state="errored",void(404!==u.status?this._source.fire(new n.ErrorEvent(u,{tile:t})):this.update(this.transform));t.timeAdded=n.browser.now();"expired"===r&&(t.refreshedUponExpiration=!0);this._setTileReloadTimer(i,t);"raster-dem"===this.getSource().type&&t.dem&&this._backfillDEM(t);this._state.initializeTileState(t,this.map?this.map.painter:null);this._source.fire(new n.Event("data",{dataType:"source",tile:t,coord:t.tileID}))},u.prototype._backfillDEM=function(n){function u(n,t){n.needsHillshadePrepare=!0;var i=t.tileID.canonical.x-n.tileID.canonical.x,u=t.tileID.canonical.y-n.tileID.canonical.y,r=Math.pow(2,n.tileID.canonical.z),f=t.tileID.key;0===i&&0==u||1<Math.abs(u)||(1<Math.abs(i)&&(1===Math.abs(i+r)?i+=r:1===Math.abs(i-r)&&(i-=r)),t.dem&&n.dem&&(n.dem.backfillBorder(t.dem,i,u),n.neighboringTiles&&n.neighboringTiles[f]&&(n.neighboringTiles[f].backfilled=!0)))}for(var t,r=this.getRenderableIds(),i=0;i<r.length;i++)t=r[i],n.neighboringTiles&&n.neighboringTiles[t]&&(u(n,t=this.getTileByID(t)),u(t,n))},u.prototype.getTile=function(n){return this.getTileByID(n.key)},u.prototype.getTileByID=function(n){return this._tiles[n]},u.prototype._retainLoadedChildren=function(n,t,i,r){var o,u,f,s,e;for(o in this._tiles)if(u=this._tiles[o],!(r[o]||!u.hasData()||u.tileID.overscaledZ<=t||u.tileID.overscaledZ>i)){for(f=u.tileID;u&&u.tileID.overscaledZ>t+1;)s=u.tileID.scaledTo(u.tileID.overscaledZ-1),(u=this._tiles[s.key])&&u.hasData()&&(f=s);for(e=f;e.overscaledZ>t;)if(n[(e=e.scaledTo(e.overscaledZ-1)).key]){r[f.key]=f;break}}},u.prototype.findLoadedParent=function(n,t){var r,u,i;if(n.key in this._loadedParentTiles)return r=this._loadedParentTiles[n.key],r&&r.tileID.overscaledZ>=t?r:null;for(u=n.overscaledZ-1;t<=u;u--)if(i=n.scaledTo(u),i=this._getLoadedTile(i),i)return i},u.prototype._getLoadedTile=function(n){var t=this._tiles[n.key];return t&&t.hasData()?t:this._cache.getByKey(n.wrapped().key)},u.prototype.updateCacheSize=function(n){var t=Math.ceil(n.width/this._source.tileSize)+1,n=Math.ceil(n.height/this._source.tileSize)+1,n=Math.floor(t*n*5),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,n):n;this._cache.setMaxSize(n)},u.prototype.handleWrapJump=function(n){var f=Math.round((n-(void 0===this._prevLng?n:this._prevLng))/360),e,i,r,u,t;if(this._prevLng=n,f){u={};for(e in this._tiles)t=this._tiles[e],t.tileID=t.tileID.unwrapTo(t.tileID.wrap+f),u[t.tileID.key]=t;for(i in this._tiles=u,this._timers)clearTimeout(this._timers[i]),delete this._timers[i];for(r in this._tiles)this._setTileReloadTimer(r,this._tiles[r])}},u.prototype.update=function(t){var f,d=this,h,v,y,e;if(this.transform=t,this._sourceLoaded&&!this._paused){this.updateCacheSize(t);this.handleWrapJump(this.transform.center.lng);this._coveredTiles={};this.used?this._source.tileID?f=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new n.OverscaledTileID(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(f=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(f=f.filter(function(n){return d._source.hasTile(n)}))):f=[];var p,s=t.coveringZoomLevel(this._source),g=Math.max(s-u.maxOverzooming,this._source.minzoom),t=Math.max(s+u.maxUnderzooming,this._source.minzoom),i=this._updateRetainedTiles(f,s);if(vl(this._source.type)){for(var o,c={},w={},l=0,b=Object.keys(i);l<b.length;l+=1){var a=b[l],k=i[a],r=this._tiles[a];!r||r.fadeEndTime&&r.fadeEndTime<=n.browser.now()||((r=this.findLoadedParent(k,g))&&(this._addTile(r.tileID),c[r.tileID.key]=r.tileID),w[a]=k)}for(o in this._retainLoadedChildren(w,s,t,i),c)i[o]||(this._coveredTiles[o]=!0,i[o]=c[o])}for(p in i)this._tiles[p].clearFadeHold();for(h=0,v=n.keysDifference(this._tiles,i);h<v.length;h+=1)y=v[h],e=this._tiles[y],e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(y);this._updateLoadedParentTileCache()}},u.prototype.releaseSymbolFadeTiles=function(){for(var n in this._tiles)this._tiles[n].holdingForFade()&&this._removeTile(n)},u.prototype._updateRetainedTiles=function(n,t){for(var o,k,h,a,s,f,r,v,y,c,e,i={},p={},d=Math.max(t-u.maxOverzooming,this._source.minzoom),g=Math.max(t+u.maxUnderzooming,this._source.minzoom),w={},l=0,b=n;l<b.length;l+=1)o=b[l],k=this._addTile(o),i[o.key]=o,k.hasData()||t<this._source.maxzoom&&(w[o.key]=o);for(this._retainLoadedChildren(w,t,g,i),h=0,a=n;h<a.length;h+=1)if(s=a[h],f=this._tiles[s.key],!f.hasData()){if(t+1>this._source.maxzoom){if(r=s.children(this._source.maxzoom)[0],v=this.getTile(r),v&&v.hasData()){i[r.key]=r;continue}}else if(r=s.children(this._source.maxzoom),i[r[0].key]&&i[r[1].key]&&i[r[2].key]&&i[r[3].key])continue;for(y=f.wasRequested(),c=s.overscaledZ-1;d<=c;--c){if(e=s.scaledTo(c),p[e.key])break;if(p[e.key]=!0,(f=!(f=this.getTile(e))&&y?this._addTile(e):f)&&(i[e.key]=e,y=f.wasRequested(),f.hasData()))break}}return i},u.prototype._updateLoadedParentTileCache=function(){var f,r,t,u;for(f in this._loadedParentTiles={},this._tiles){for(var e=[],i=void 0,n=this._tiles[f].tileID;0<n.overscaledZ;){if(n.key in this._loadedParentTiles){i=this._loadedParentTiles[n.key];break}if(e.push(n.key),r=n.scaledTo(n.overscaledZ-1),i=this._getLoadedTile(r))break;n=r}for(t=0,u=e;t<u.length;t+=1)this._loadedParentTiles[u[t]]=i}},u.prototype._addTile=function(t){var i=this._tiles[t.key],r;return i?i:((i=this._cache.getAndRemove(t))&&(this._setTileReloadTimer(t.key,i),i.tileID=t,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,i))),r=Boolean(i),r||(i=new n.Tile(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,t.key,i.state))),i?(i.uses++,this._tiles[t.key]=i,r||this._source.fire(new n.Event("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i):null)},u.prototype._setTileReloadTimer=function(n,t){var i=this;n in this._timers&&(clearTimeout(this._timers[n]),delete this._timers[n]);t=t.getExpiryTimeout();t&&(this._timers[n]=setTimeout(function(){i._reloadTile(n,"expired");delete i._timers[n]},t))},u.prototype._removeTile=function(n){var t=this._tiles[n];t&&(t.uses--,delete this._tiles[n],this._timers[n]&&(clearTimeout(this._timers[n]),delete this._timers[n]),0<t.uses||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))},u.prototype.clearTiles=function(){for(var n in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(n);this._cache.reset()},u.prototype.tilesIn=function(t,i,r){var w=this,o=[],u=this.transform,e;if(!u)return o;for(var r=r?u.getCameraQueryGeometry(t):t,b=t.map(function(n){return u.pointCoordinate(n)}),h=r.map(function(n){return u.pointCoordinate(n)}),c=this.getIds(),l=1/0,a=1/0,v=-1/0,y=-1/0,s=0,p=h;s<p.length;s+=1)var f=p[s],l=Math.min(l,f.x),a=Math.min(a,f.y),v=Math.max(v,f.x),y=Math.max(y,f.y);for(e=0;e<c.length;e++)!function(t){var f,s,r,e=w._tiles[c[t]];e.holdingForFade()||(f=e.tileID,s=Math.pow(2,u.zoom-e.tileID.overscaledZ),r=i*e.queryPadding*n.EXTENT/e.tileSize/s,(t=[f.getTilePoint(new n.MercatorCoordinate(l,a)),f.getTilePoint(new n.MercatorCoordinate(v,y))])[0].x-r<n.EXTENT&&t[0].y-r<n.EXTENT&&0<=t[1].x+r&&0<=t[1].y+r&&(t=b.map(function(n){return f.getTilePoint(n)}),r=h.map(function(n){return f.getTilePoint(n)}),o.push({tile:e,tileID:f,queryGeometry:t,cameraQueryGeometry:r,scale:s})))}(e);return o},u.prototype.getVisibleCoordinates=function(n){for(var i,u=this,n=this.getRenderableIds(n).map(function(n){return u._tiles[n].tileID}),t=0,r=n;t<r.length;t+=1)i=r[t],i.posMatrix=this.transform.calculatePosMatrix(i.toUnwrapped());return n},u.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(vl(this._source.type))for(var t in this._tiles)if(t=this._tiles[t],void 0!==t.fadeEndTime&&t.fadeEndTime>=n.browser.now())return!0;return!1},u.prototype.setFeatureState=function(n,t,i){this._state.updateState(n=n||"_geojsonTileLayer",t,i)},u.prototype.removeFeatureState=function(n,t,i){this._state.removeFeatureState(n=n||"_geojsonTileLayer",t,i)},u.prototype.getFeatureState=function(n,t){return this._state.getState(n=n||"_geojsonTileLayer",t)},u.prototype.setDependencies=function(n,t,i){n=this._tiles[n];n&&n.setDependencies(t,i)},u.prototype.reloadTilesForDependencies=function(n,t){for(var i in this._tiles)this._tiles[i].hasDependency(n,t)&&this._reloadTile(i,"reloading");this._cache.filter(function(i){return!i.hasDependency(n,t)})},u);tr.maxOverzooming=10;tr.maxUnderzooming=3;ps="mapboxgl_preloaded_worker_pool";dt=function(){this.active={}};dt.prototype.acquire=function(n){if(!this.workers)for(this.workers=[];this.workers.length<dt.workerCount;)this.workers.push(new gp);return this.active[n]=!0,this.workers.slice()};dt.prototype.release=function(n){delete this.active[n];0===this.numActive()&&(this.workers.forEach(function(n){n.terminate()}),this.workers=null)};dt.prototype.isPreloaded=function(){return!!this.active[ps]};dt.prototype.numActive=function(){return Object.keys(this.active).length};bs=Math.floor(n.browser.hardwareConcurrency/2);dt.workerCount=Math.max(Math.min(bs,6),1);s={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};dh.prototype.reset=function(n,t){this.points=n||[];this._distances=[0];for(var i=1;i<this.points.length;i++)this._distances[i]=this._distances[i-1]+this.points[i].dist(this.points[i-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};dh.prototype.lerp=function(t){if(1===this.points.length)return this.points[0];t=n.clamp(t,0,1);for(var i=1,r=this._distances[i],u=t*this.paddedLength+this.padding;r<u&&i<this._distances.length;)r=this._distances[++i];var f=i-1,e=this._distances[f],t=r-e,t=0<t?(u-e)/t:0;return this.points[f].mult(1-t).add(this.points[i].mult(t))};d.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length};d.prototype.insert=function(n,t,i,r,u){this._forEachCell(t,i,r,u,this._insertBoxCell,this.boxUid++);this.boxKeys.push(n);this.bboxes.push(t);this.bboxes.push(i);this.bboxes.push(r);this.bboxes.push(u)};d.prototype.insertCircle=function(n,t,i,r){this._forEachCell(t-r,i-r,t+r,i+r,this._insertCircleCell,this.circleUid++);this.circleKeys.push(n);this.circles.push(t);this.circles.push(i);this.circles.push(r)};d.prototype._insertBoxCell=function(n,t,i,r,u,f){this.boxCells[u].push(f)};d.prototype._insertCircleCell=function(n,t,i,r,u,f){this.circleCells[u].push(f)};d.prototype._query=function(n,t,i,r,u,f){var e,o,s;if(i<0||n>this.width||r<0||t>this.height)return!u&&[];if(e=[],n<=0&&t<=0&&this.width<=i&&this.height<=r){if(u)return!0;for(o=0;o<this.boxKeys.length;o++)e.push({key:this.boxKeys[o],x1:this.bboxes[4*o],y1:this.bboxes[4*o+1],x2:this.bboxes[4*o+2],y2:this.bboxes[4*o+3]});for(s=0;s<this.circleKeys.length;s++){var c=this.circles[3*s],l=this.circles[3*s+1],h=this.circles[3*s+2];e.push({key:this.circleKeys[s],x1:c-h,y1:l-h,x2:c+h,y2:l+h})}return f?e.filter(f):e}return this._forEachCell(n,t,i,r,this._queryCell,e,{hitTest:u,seenUids:{box:{},circle:{}}},f),u?0<e.length:e};d.prototype._queryCircle=function(n,t,i,r,u){var e=n-i,o=n+i,s=t-i,h=t+i,f;return o<0||e>this.width||h<0||s>this.height?!r&&[]:(f=[],this._forEachCell(e,s,o,h,this._queryCellCircle,f,{hitTest:r,circle:{x:n,y:t,radius:i},seenUids:{box:{},circle:{}}},u),r?0<f.length:f)};d.prototype.query=function(n,t,i,r,u){return this._query(n,t,i,r,!1,u)};d.prototype.hitTest=function(n,t,i,r,u){return this._query(n,t,i,r,!0,u)};d.prototype.hitTestCircle=function(n,t,i,r){return this._queryCircle(n,t,i,!0,r)};d.prototype._queryCell=function(n,t,i,r,u,f,e,o){var y=e.seenUids,b=this.boxCells[u],l,h,v,s;if(null!==b)for(var c=this.bboxes,p=0,k=b;p<k.length;p+=1)if(l=k[p],!y.box[l]&&(y.box[l]=!0,h=4*l,n<=c[2+h]&&t<=c[3+h]&&i>=c[0+h]&&r>=c[1+h]&&(!o||o(this.boxKeys[l])))){if(e.hitTest)return f.push(!0),!0;f.push({key:this.boxKeys[l],x1:c[h],y1:c[1+h],x2:c[2+h],y2:c[3+h]})}if(u=this.circleCells[u],null!==u)for(var a=this.circles,w=0,d=u;w<d.length;w+=1)if(v=d[w],!y.circle[v]&&(y.circle[v]=!0,s=3*v,this._circleAndRectCollide(a[s],a[1+s],a[2+s],n,t,i,r)&&(!o||o(this.circleKeys[v])))){if(e.hitTest)return f.push(!0),!0;var g=a[s],nt=a[1+s],s=a[2+s];f.push({key:this.circleKeys[v],x1:g-s,y1:nt-s,x2:g+s,y2:nt+s})}};d.prototype._queryCellCircle=function(n,t,i,r,u,f,e,o){var s=e.circle,a=e.seenUids,e=this.boxCells[u],h,c,l,y;if(null!==e)for(var v=this.bboxes,p=0,k=e;p<k.length;p+=1)if(h=k[p],!a.box[h]&&(a.box[h]=!0,c=4*h,this._circleAndRectCollide(s.x,s.y,s.radius,v[0+c],v[1+c],v[2+c],v[3+c])&&(!o||o(this.boxKeys[h]))))return f.push(!0),!0;if(u=this.circleCells[u],null!==u)for(var w=this.circles,b=0,d=u;b<d.length;b+=1)if(l=d[b],!a.circle[l]&&(a.circle[l]=!0,y=3*l,this._circlesCollide(w[y],w[1+y],w[2+y],s.x,s.y,s.radius)&&(!o||o(this.circleKeys[l]))))return f.push(!0),!0};d.prototype._forEachCell=function(n,t,i,r,u,f,e,o){for(var s,c=this._convertToXCellCoord(n),l=this._convertToYCellCoord(t),a=this._convertToXCellCoord(i),v=this._convertToYCellCoord(r),h=c;h<=a;h++)for(s=l;s<=v;s++)if(u.call(this,n,t,i,r,this.xCellCount*s+h,f,e,o))return};d.prototype._convertToXCellCoord=function(n){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(n*this.xScale)))};d.prototype._convertToYCellCoord=function(n){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(n*this.yScale)))};d.prototype._circlesCollide=function(n,t,i,r,u,f){return n=r-n,t=u-t,f=i+f,n*n+t*t<f*f};d.prototype._circleAndRectCollide=function(n,t,i,r,u,f,e){return(f=(f-r)/2,r=Math.abs(n-(r+f)),f+i<r)?!1:(e=(e-u)/2,u=Math.abs(t-(u+e)),e+i<u)?!1:r<=f||u<=e?!0:(f=r-f,e=u-e,f*f+e*e<=i*i)};ua=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);gt.prototype.placeCollisionBox=function(n,t,i,r,u){var f=this.projectAndGetPerspectiveRatio(r,n.anchorPointX,n.anchorPointY),e=i*f.perspectiveRatio,o=n.x1*e+f.point.x,r=n.y1*e+f.point.y,i=n.x2*e+f.point.x,f=n.y2*e+f.point.y;return!this.isInsideGrid(o,r,i,f)||!t&&this.grid.hitTest(o,r,i,f,u)?{box:[],offscreen:!1}:{box:[o,r,i,f],offscreen:this.isOffscreen(o,r,i,f)}};gt.prototype.placeCollisionCircles=function(t,i,r,u,f,e,o,s,h,c,l,a,v){var lt=[],et=new n.Point(i.anchorX,i.anchorY),e=at(et,e),e=nc(this.transform.cameraToCenterDistance,e.signedDistanceFromCamera),c=(c?f/e:f*e)/n.ONE_EM,f=at(et,o).point,o=na(c,u,i.lineOffsetX*c,i.lineOffsetY*c,!1,f,et,i,r,o,{}),d=!1,vt=!1,yt=!0,nt,bt,v,tt,st,ht,it;if(o){for(var p=.5*a*e+v,a=new n.Point(-100,-100),e=new n.Point(this.screenRightBoundary,this.screenBottomBoundary),g=new dh,pt=o.first,wt=o.last,y=[],ot=pt.path.length-1;1<=ot;ot--)y.push(pt.path[ot]);for(nt=1;nt<wt.path.length;nt++)y.push(wt.path[nt]);if(bt=2.5*p,v=[],0<(y=s?(o=y.map(function(n){return at(n,s)})).some(function(n){return n.signedDistanceFromCamera<=0})?[]:o.map(function(n){return n.point}):y).length){for(var w=y[0].clone(),b=y[0].clone(),k=1;k<y.length;k++)w.x=Math.min(w.x,y[k].x),w.y=Math.min(w.y,y[k].y),b.x=Math.max(b.x,y[k].x),b.y=Math.max(b.y,y[k].y);v=w.x>=a.x&&b.x<=e.x&&w.y>=a.y&&b.y<=e.y?[y]:b.x<a.x||w.x>e.x||b.y<a.y||w.y>e.y?[]:n.clipLine([y],a.x,a.y,e.x,e.y)}for(tt=0,st=v;tt<st.length;tt+=1)for(g.reset(st[tt],.25*p),ht=g.length<=.5*p?1:Math.ceil(g.paddedLength/bt)+1,it=0;it<ht;it++){var ct=it/Math.max(ht-1,1),rt=g.lerp(ct),ut=rt.x+100,ft=rt.y+100;lt.push(ut,ft,p,0);var kt=ut-p,dt=ft-p,ct=ut+p,rt=ft+p,yt=yt&&this.isOffscreen(kt,dt,ct,rt),vt=vt||this.isInsideGrid(kt,dt,ct,rt);if(!t&&this.grid.hitTestCircle(ut,ft,p,l)&&(d=!0,!h))return{circles:[],offscreen:!1,collisionDetected:d}}}return{circles:!h&&d||!vt?[]:lt,offscreen:yt,collisionDetected:d}};gt.prototype.queryRenderedSymbols=function(t){var i,r;if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var v=[],o=1/0,s=1/0,h=-1/0,c=-1/0,l=0,y=t;l<y.length;l+=1){var u=y[l],u=new n.Point(u.x+100,u.y+100),o=Math.min(o,u.x),s=Math.min(s,u.y),h=Math.max(h,u.x),c=Math.max(c,u.y);v.push(u)}for(var f={},e={},a=0,p=this.grid.query(o,s,h,c).concat(this.ignoredGrid.query(o,s,h,c));a<p.length;a+=1)i=p[a],r=i.key,void 0===f[r.bucketInstanceId]&&(f[r.bucketInstanceId]={}),f[r.bucketInstanceId][r.featureIndex]||(i=[new n.Point(i.x1,i.y1),new n.Point(i.x2,i.y1),new n.Point(i.x2,i.y2),new n.Point(i.x1,i.y2)],n.polygonIntersectsPolygon(v,i)&&(f[r.bucketInstanceId][r.featureIndex]=!0,void 0===e[r.bucketInstanceId]&&(e[r.bucketInstanceId]=[]),e[r.bucketInstanceId].push(r.featureIndex)));return e};gt.prototype.insertCollisionBox=function(n,t,i,r,u){(t?this.ignoredGrid:this.grid).insert({bucketInstanceId:i,featureIndex:r,collisionGroupID:u},n[0],n[1],n[2],n[3])};gt.prototype.insertCollisionCircles=function(n,t,i,r,u){for(var e=t?this.ignoredGrid:this.grid,o={bucketInstanceId:i,featureIndex:r,collisionGroupID:u},f=0;f<n.length;f+=4)e.insertCircle(o,n[f],n[f+1],n[f+2])};gt.prototype.projectAndGetPerspectiveRatio=function(t,i,r){return r=[i,r,0,1],fa(r,r,t),{point:new n.Point((r[0]/r[3]+1)/2*this.transform.width+100,(-r[1]/r[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/r[3]*.5}};gt.prototype.isOffscreen=function(n,t,i,r){return i<100||n>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary};gt.prototype.isInsideGrid=function(n,t,i,r){return 0<=i&&n<this.gridRightBoundary&&0<=r&&t<this.gridBottomBoundary};gt.prototype.getViewportMatrix=function(){var t=n.identity([]);return n.translate(t,t,[-100,-100,0]),t};tc.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};rr.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};oa.prototype.get=function(n){return this.crossSourceCollisions?{ID:0,predicate:null}:(this.collisionGroups[n]||(t=++this.maxGroupID,this.collisionGroups[n]={ID:t,predicate:function(n){return n.collisionGroupID===t}}),this.collisionGroups[n]);var t};ut.prototype.getBucketParts=function(t,i,r,u){var f=r.getBucket(i),y=r.latestFeatureIndex,a,o,v,s;if(f&&y&&i.id===f.layerIds[0]){var w=r.collisionBoxArray,h=f.layers[0].layout,b=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),k=r.tileSize/n.EXTENT,c=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),l="map"===h.get("text-pitch-alignment"),p="map"===h.get("text-rotation-alignment"),e=ht(r,1,this.transform.zoom),d=gh(c,l,p,this.transform,e),i=null;if(l&&(e=gl(c,l,p,this.transform,e),i=n.multiply([],this.transform.labelPlaneMatrix,e)),this.retainedQueryData[f.bucketInstanceId]=new tw(f.bucketInstanceId,y,f.sourceLayerIndex,f.index,r.tileID),a={bucket:f,layout:h,posMatrix:c,textLabelPlaneMatrix:d,labelToScreenMatrix:i,scale:b,textPixelRatio:k,holdingForFade:r.holdingForFade(),collisionBoxArray:w,partiallyEvaluatedTextSize:n.evaluateSizeForZoom(f.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(f.sourceID)},u)for(o=0,v=f.sortKeyRanges;o<v.length;o+=1)s=v[o],t.push({sortKey:s.sortKey,symbolInstanceStart:s.symbolInstanceStart,symbolInstanceEnd:s.symbolInstanceEnd,parameters:a});else t.push({symbolInstanceStart:0,symbolInstanceEnd:f.symbolInstances.length,parameters:a})}};ut.prototype.attemptAnchorPlacement=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){var w,b=[l.textOffset0,l.textOffset1],p=sa(n,i,r,b,u),t=this.collisionIndex.placeCollisionBox(ic(t,p.x,p.y,f,e,this.transform.angle),c,o,s,h.predicate);if(!y||0!==this.collisionIndex.placeCollisionBox(ic(y,p.x,p.y,f,e,this.transform.angle),c,o,s,h.predicate).box.length)return 0<t.box.length?(this.prevPlacement&&this.prevPlacement.variableOffsets[l.crossTileID]&&this.prevPlacement.placements[l.crossTileID]&&this.prevPlacement.placements[l.crossTileID].text&&(w=this.prevPlacement.variableOffsets[l.crossTileID].anchor),this.variableOffsets[l.crossTileID]={textOffset:b,width:i,height:r,anchor:n,textBoxScale:u,prevAnchor:w},this.markUsedJustification(a,n,l,v),a.allowVerticalPlacement&&(this.markUsedOrientation(a,v,l),this.placedOrientations[l.crossTileID]=v),{shift:p,placedGlyphBoxes:t}):void 0};ut.prototype.placeLayerBucketPart=function(t,i,r){function it(t,e){var k,gt,ii,b,ri,ui,vt,bt,ni,kt,yt,ct,lt,pt;if(!i[t.crossTileID])if(ft)f.placements[t.crossTileID]=new ea(!1,!1,!1);else{var v=!1,it=!1,ht=!0,dt=null,l={box:null,offscreen:null},at={box:null,offscreen:null},w=null,wt=null,ct=0,ti=0,fi=0;if(e.textFeatureIndex?ct=e.textFeatureIndex:t.useRuntimeCollisionCircles&&(ct=t.featureIndex),e.verticalTextFeatureIndex&&(ti=e.verticalTextFeatureIndex),ni=e.textBox,ni&&(bt=function(i){var r=n.WritingMode.horizontal;return!u.allowVerticalPlacement||i||!f.prevPlacement||(i=f.prevPlacement.placedOrientations[t.crossTileID])&&(f.placedOrientations[t.crossTileID]=i,f.markUsedOrientation(u,r=i,t)),r},vt=function(i,r){if(u.allowVerticalPlacement&&0<t.numVerticalGlyphVertices&&e.verticalTextBox)for(var f=0,o=u.writingModes;f<o.length&&(o[f]===n.WritingMode.vertical?(l=r(),at=l):l=i(),!(l&&l.box&&l.box.length));f+=1);else l=i()},o.get("text-variable-anchor")?(k=o.get("text-variable-anchor"),f.prevPlacement&&f.prevPlacement.variableOffsets[t.crossTileID]&&(gt=f.prevPlacement.variableOffsets[t.crossTileID],0<k.indexOf(gt.anchor)&&(k=k.filter(function(n){return n!==gt.anchor})).unshift(gt.anchor)),ii=function(n,i,r){for(var l,w=n.x2-n.x1,b=n.y2-n.y1,d=t.textBoxScale,g=tt&&!a?i:null,e={box:[],offscreen:!1},it=h?2*k.length:k.length,o=0;o<it;++o)if(l=f.attemptAnchorPlacement(k[o%k.length],n,w,b,d,nt,p,y,c,s,o>=k.length,t,u,r,g),l&&(e=l.placedGlyphBoxes)&&e.box&&e.box.length){v=!0;dt=l.shift;break}return e},vt(function(){return ii(ni,e.iconBox,n.WritingMode.horizontal)},function(){var i=e.verticalTextBox;return u.allowVerticalPlacement&&!(l&&l.box&&l.box.length)&&0<t.numVerticalGlyphVertices&&i?ii(i,e.verticalIconBox,n.WritingMode.vertical):{box:null,offscreen:null}}),l&&(v=l.box,ht=l.offscreen),b=bt(l&&l.box),v||!f.prevPlacement||(ri=f.prevPlacement.variableOffsets[t.crossTileID])&&(f.variableOffsets[t.crossTileID]=ri,f.markUsedJustification(u,ri.anchor,t,b))):(ui=function(n,i){return n=f.collisionIndex.placeCollisionBox(n,h,y,c,s.predicate),n&&n.box&&n.box.length&&(f.markUsedOrientation(u,i,t),f.placedOrientations[t.crossTileID]=i),n},vt(function(){return ui(ni,n.WritingMode.horizontal)},function(){var i=e.verticalTextBox;return u.allowVerticalPlacement&&0<t.numVerticalGlyphVertices&&i?ui(i,n.WritingMode.vertical):{box:null,offscreen:null}}),bt(l&&l.box&&l.box.length))),v=(b=l)&&b.box&&0<b.box.length,ht=b&&b.offscreen,t.useRuntimeCollisionCircles&&(vt=u.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),bt=n.evaluateSizeForFeature(u.textSizeData,et,vt),kt=o.get("text-padding"),w=f.collisionIndex.placeCollisionCircles(h,vt,u.lineVertexArray,u.glyphOffsetArray,bt,c,rt,ut,r,p,s.predicate,t.collisionCircleDiameter,kt),v=h||0<w.circles.length&&!w.collisionDetected,ht=ht&&w.offscreen),e.iconFeatureIndex&&(fi=e.iconFeatureIndex),e.iconBox&&(yt=function(n){return n=tt&&dt?ic(n,dt.x,dt.y,nt,p,f.transform.angle):n,f.collisionIndex.placeCollisionBox(n,a,y,c,s.predicate)},it=at&&at.box&&at.box.length&&e.verticalIconBox?0<(wt=yt(e.verticalIconBox)).box.length:0<(wt=yt(e.iconBox)).box.length,ht=ht&&wt.offscreen),kt=d||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,yt=g||0===t.numIconVertices,kt||yt?yt?kt||(it=it&&v):v=it&&v:it=v=it&&v,v&&b&&b.box&&f.collisionIndex.insertCollisionBox(b.box,o.get("text-ignore-placement"),u.bucketInstanceId,at&&at.box&&ti?ti:ct,s.ID),it&&wt&&f.collisionIndex.insertCollisionBox(wt.box,o.get("icon-ignore-placement"),u.bucketInstanceId,fi,s.ID),w&&(v&&f.collisionIndex.insertCollisionCircles(w.circles,o.get("text-ignore-placement"),u.bucketInstanceId,ct,s.ID),r))for(ct=u.bucketInstanceId,lt=f.collisionCircleArrays[ct],void 0===lt&&(lt=f.collisionCircleArrays[ct]=new nw),pt=0;pt<w.circles.length;pt+=4)lt.circles.push(w.circles[pt+0]),lt.circles.push(w.circles[pt+1]),lt.circles.push(w.circles[pt+2]),lt.circles.push(w.collisionDetected?1:0);f.placements[t.crossTileID]=new ea(v||ot,it||st,ht||u.justReloaded);i[t.crossTileID]=!0}}var f=this,e=t.parameters,u=e.bucket,o=e.layout,c=e.posMatrix,rt=e.textLabelPlaneMatrix,ut=e.labelToScreenMatrix,y=e.textPixelRatio,ft=e.holdingForFade,k=e.collisionBoxArray,et=e.partiallyEvaluatedTextSize,s=e.collisionGroup,d=o.get("text-optional"),g=o.get("icon-optional"),h=o.get("text-allow-overlap"),a=o.get("icon-allow-overlap"),nt="map"===o.get("text-rotation-alignment"),p="map"===o.get("text-pitch-alignment"),tt="none"!==o.get("icon-text-fit"),e="viewport-y"===o.get("symbol-z-order"),ot=h&&(a||!u.hasIconData()||g),st=a&&(h||!u.hasTextData()||d),w,v,b,l;if(!u.collisionArrays&&k&&u.deserializeCollisionBoxes(k),e)for(w=u.getSortedSymbolIndexes(this.transform.angle),v=w.length-1;0<=v;--v)b=w[v],it(u.symbolInstances.get(b),u.collisionArrays[b]);else for(l=t.symbolInstanceStart;l<t.symbolInstanceEnd;l++)it(u.symbolInstances.get(l),u.collisionArrays[l]);r&&u.bucketInstanceId in this.collisionCircleArrays&&(e=this.collisionCircleArrays[u.bucketInstanceId],n.invert(e.invProjMatrix,c),e.viewportMatrix=this.collisionIndex.getViewportMatrix());u.justReloaded=!1};ut.prototype.markUsedJustification=function(t,i,r,u){for(var f,o=u===n.WritingMode.vertical?r.verticalPlacedTextSymbolIndex:{left:r.leftJustifiedTextSymbolIndex,center:r.centerJustifiedTextSymbolIndex,right:r.rightJustifiedTextSymbolIndex}[n.getAnchorJustification(i)],e=0,s=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex,r.verticalPlacedTextSymbolIndex];e<s.length;e+=1)f=s[e],0<=f&&(t.text.placedSymbolArray.get(f).crossTileID=0<=o&&f!==o?0:r.crossTileID)};ut.prototype.markUsedOrientation=function(t,i,r){for(var e=i===n.WritingMode.horizontal||i===n.WritingMode.horizontalOnly?i:0,i=i===n.WritingMode.vertical?i:0,u=0,f=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];u<f.length;u+=1)t.text.placedSymbolArray.get(f[u]).placedOrientation=e;r.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=i)};ut.prototype.commit=function(n){var t,r,y,h;this.commitTime=n;this.zoomAtLastRecencyCheck=this.transform.zoom;t=this.prevPlacement;r=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;var e,o,u,f,c=t?t.symbolFadeChange(n):1,l=t?t.opacities:{},a=t?t.variableOffsets:{},v=t?t.placedOrientations:{};for(e in this.placements)var i=this.placements[e],s=l[e],r=s?(this.opacities[e]=new rr(s,c,i.text,i.icon),r||i.text!==s.text.placed||i.icon!==s.icon.placed):(this.opacities[e]=new rr(null,c,i.text,i.icon,i.skipFade),r||i.text||i.icon);for(o in l)h=l[o],this.opacities[o]||(y=new rr(h,c,!1,!1)).isHidden()||(this.opacities[o]=y,r=r||h.text.placed||h.icon.placed);for(u in a)this.variableOffsets[u]||!this.opacities[u]||this.opacities[u].isHidden()||(this.variableOffsets[u]=a[u]);for(f in v)this.placedOrientations[f]||!this.opacities[f]||this.opacities[f].isHidden()||(this.placedOrientations[f]=v[f]);r?this.lastPlacementChangeTime=n:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:n)};ut.prototype.updateLayerOpacities=function(n,t){for(var i,r,e={},u=0,f=t;u<f.length;u+=1)i=f[u],r=i.getBucket(n),r&&i.latestFeatureIndex&&n.id===r.layerIds[0]&&this.updateBucketOpacities(r,e,i.collisionBoxArray)};ut.prototype.updateBucketOpacities=function(t,i,r){var u=this,o,s;t.hasTextData()&&t.text.opacityVertexArray.clear();t.hasIconData()&&t.icon.opacityVertexArray.clear();t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear();t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();var f=t.layers[0].layout,l=new rr(null,0,!1,!1,!0),h=f.get("text-allow-overlap"),c=f.get("icon-allow-overlap"),a=f.get("text-variable-anchor"),v="map"===f.get("text-rotation-alignment"),y="map"===f.get("text-pitch-alignment"),e="none"!==f.get("icon-text-fit"),p=new rr(null,0,h&&(c||!t.hasIconData()||f.get("icon-optional")),c&&(h||!t.hasTextData()||f.get("text-optional")),!0);for(!t.collisionArrays&&r&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(r),o=function(n,t,i){for(var r=0;r<t/4;r++)n.opacityVertexArray.emplaceBack(i)},s=0;s<t.symbolInstances.length;s++)!function(r){var f=t.symbolInstances.get(r),tt=f.numHorizontalGlyphVertices,it=f.numVerticalGlyphVertices,h=f.crossTileID,s=u.opacities[h];i[h]?s=l:s||(u.opacities[h]=s=p);i[h]=!0;var nt,k,c,d=0<f.numIconVertices,w=u.placedOrientations[f.crossTileID],g=w===n.WritingMode.vertical,b=w===n.WritingMode.horizontal||w===n.WritingMode.horizontalOnly;(0<tt||0<it)&&(k=ha(s.text),o(t.text,tt,g?vo:k),o(t.text,it,b?vo:k),nt=s.text.isHidden(),[f.rightJustifiedTextSymbolIndex,f.centerJustifiedTextSymbolIndex,f.leftJustifiedTextSymbolIndex].forEach(function(n){0<=n&&(t.text.placedSymbolArray.get(n).hidden=nt||g?1:0)}),0<=f.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(f.verticalPlacedTextSymbolIndex).hidden=nt||b?1:0),(k=u.variableOffsets[f.crossTileID])&&u.markUsedJustification(t,k.anchor,f,w),(w=u.placedOrientations[f.crossTileID])&&(u.markUsedJustification(t,"left",f,w),u.markUsedOrientation(t,w,f)));d&&(c=ha(s.icon),d=!(e&&f.verticalPlacedIconSymbolIndex&&g),0<=f.placedIconSymbolIndex&&(o(t.icon,f.numIconVertices,d?c:vo),t.icon.placedSymbolArray.get(f.placedIconSymbolIndex).hidden=s.icon.isHidden()),0<=f.verticalPlacedIconSymbolIndex&&(o(t.icon,f.numVerticalIconVertices,d?vo:c),t.icon.placedSymbolArray.get(f.verticalPlacedIconSymbolIndex).hidden=s.icon.isHidden()));!t.hasIconCollisionBoxData()&&!t.hasTextCollisionBoxData()||(c=t.collisionArrays[r])&&(f=new n.Point(0,0),(c.textBox||c.verticalTextBox)&&(r=!0,a&&((h=u.variableOffsets[h])?(f=sa(h.anchor,h.width,h.height,h.textOffset,h.textBoxScale),v&&f._rotate(y?u.transform.angle:-u.transform.angle)):r=!1),c.textBox&&gs(t.textCollisionBox.collisionVertexArray,s.text.placed,!r||g,f.x,f.y),c.verticalTextBox&&gs(t.textCollisionBox.collisionVertexArray,s.text.placed,!r||b,f.x,f.y)),b=Boolean(!b&&c.verticalIconBox),c.iconBox&&gs(t.iconCollisionBox.collisionVertexArray,s.icon.placed,b,e?f.x:0,e?f.y:0),c.verticalIconBox&&gs(t.iconCollisionBox.collisionVertexArray,s.icon.placed,!b,e?f.x:0,e?f.y:0))}(s);t.sortFeatures(this.transform.angle);this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder);t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray);t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray);t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray);t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray);t.bucketInstanceId in this.collisionCircleArrays&&(r=this.collisionCircleArrays[t.bucketInstanceId],t.placementInvProjMatrix=r.invProjMatrix,t.placementViewportMatrix=r.viewportMatrix,t.collisionCircleArray=r.circles,delete this.collisionCircleArrays[t.bucketInstanceId])};ut.prototype.symbolFadeChange=function(n){return 0===this.fadeDuration?1:(n-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment};ut.prototype.zoomAdjustment=function(n){return Math.max(0,(this.transform.zoom-n)/1.5)};ut.prototype.hasTransitions=function(n){return this.stale||n-this.lastPlacementChangeTime<this.fadeDuration};ut.prototype.stillRecent=function(n,t){var i=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*i>n};ut.prototype.setStale=function(){this.stale=!0};var iw=Math.pow(2,25),rw=Math.pow(2,24),uw=Math.pow(2,17),fw=Math.pow(2,16),ew=Math.pow(2,9),ow=Math.pow(2,8),sw=Math.pow(2,1);vo=0;ca.prototype.continuePlacement=function(n,t,i,r,u){for(var f=this._bucketParts;this._currentTileIndex<n.length;)if(t.getBucketParts(f,r,n[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,u())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,f.sort(function(n,t){return n.sortKey-t.sortKey}));this._currentPartIndex<f.length;)if(t.placeLayerBucketPart(f[this._currentPartIndex],this._seenCrossTileIDs,i),this._currentPartIndex++,u())return!0;return!1};nh.prototype.isDone=function(){return this._done};nh.prototype.continuePlacement=function(t,i,r){for(var u,f,e=this,o=n.browser.now(),s=function(){var t=n.browser.now()-o;return!e._forceFullPlacement&&2<t};0<=this._currentPlacementIndex;){if(u=i[t[this._currentPlacementIndex]],f=this.placement.collisionIndex.transform.zoom,"symbol"===u.type&&(!u.minzoom||u.minzoom<=f)&&(!u.maxzoom||u.maxzoom>f)){if(this._inProgressLayer||(this._inProgressLayer=new ca(u)),this._inProgressLayer.continuePlacement(r[u.source],this.placement,this._showCollisionBoxes,u,s))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0};nh.prototype.commit=function(n){return this.placement.commit(n),this.placement};la=256/n.EXTENT;rc.prototype.getScaledCoordinates=function(t,i){var r=la/Math.pow(2,i.canonical.z-this.tileID.canonical.z);return{x:Math.floor((i.canonical.x*n.EXTENT+t.anchorX)*r),y:Math.floor((i.canonical.y*n.EXTENT+t.anchorY)*r)}};rc.prototype.findMatches=function(n,t,i){for(var u,o,r,e=this.tileID.canonical.z<t.canonical.z?1:Math.pow(2,this.tileID.canonical.z-t.canonical.z),f=0;f<n.length;f++)if(u=n.get(f),!u.crossTileID&&(o=this.indexedSymbolInstances[u.key],o))for(var h=this.getScaledCoordinates(u,t),s=0,c=o;s<c.length;s+=1)if(r=c[s],Math.abs(r.coord.x-h.x)<=e&&Math.abs(r.coord.y-h.y)<=e&&!i[r.crossTileID]){i[r.crossTileID]=!0;u.crossTileID=r.crossTileID;break}};aa.prototype.generate=function(){return++this.maxCrossTileID};yo.prototype.handleWrapJump=function(n){var f=Math.round((n-this.lng)/360),i,e,r,u,t;if(0!==f)for(i in this.indexes){r=this.indexes[i];u={};for(e in r)t=r[e],t.tileID=t.tileID.unwrapTo(t.tileID.wrap+f),u[t.tileID.key]=t;this.indexes[i]=u}this.lng=n};yo.prototype.addBucket=function(n,t,i){var u,f,e,o,r,c,s,h;if(this.indexes[n.overscaledZ]&&this.indexes[n.overscaledZ][n.key]){if(this.indexes[n.overscaledZ][n.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(n.overscaledZ,this.indexes[n.overscaledZ][n.key])}for(u=0;u<t.symbolInstances.length;u++)t.symbolInstances.get(u).crossTileID=0;this.usedCrossTileIDs[n.overscaledZ]||(this.usedCrossTileIDs[n.overscaledZ]={});e=this.usedCrossTileIDs[n.overscaledZ];for(f in this.indexes)if(o=this.indexes[f],Number(f)>n.overscaledZ)for(r in o)r=o[r],r.tileID.isChildOf(n)&&r.findMatches(t.symbolInstances,n,e);else c=o[n.scaledTo(Number(f)).key],c&&c.findMatches(t.symbolInstances,n,e);for(s=0;s<t.symbolInstances.length;s++)h=t.symbolInstances.get(s),h.crossTileID||(h.crossTileID=i.generate(),e[h.crossTileID]=!0);return void 0===this.indexes[n.overscaledZ]&&(this.indexes[n.overscaledZ]={}),this.indexes[n.overscaledZ][n.key]=new rc(n,t.symbolInstances,t.bucketInstanceId),!0};yo.prototype.removeBucketCrossTileIDs=function(n,t){var u,i,r;for(u in t.indexedSymbolInstances)for(i=0,r=t.indexedSymbolInstances[u];i<r.length;i+=1)delete this.usedCrossTileIDs[n][r[i].crossTileID]};yo.prototype.removeStaleBuckets=function(n){var r,u=!1,i,t;for(r in this.indexes){t=this.indexes[r];for(i in t)n[t[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,t[i]),delete t[i],u=!0)}return u};th.prototype.addLayer=function(n,t,i){var u=this.layerIndexes[n.id],s=!1,h={},f,e,o,r;for((u=void 0===u?this.layerIndexes[n.id]=new yo:u).handleWrapJump(i),f=0,e=t;f<e.length;f+=1)o=e[f],r=o.getBucket(n),r&&n.id===r.layerIds[0]&&(r.bucketInstanceId||(r.bucketInstanceId=++this.maxBucketInstanceId),u.addBucket(o.tileID,r,this.crossTileIDs)&&(s=!0),h[r.bucketInstanceId]=!0);return u.removeStaleBuckets(h)?!0:s};th.prototype.pruneUnusedLayers=function(n){var t,i={};for(t in n.forEach(function(n){i[n]=!0}),this.layerIndexes)i[t]||delete this.layerIndexes[t]};var po,hw=n.pick(s,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),cw=n.pick(s,["setCenter","setZoom","setBearing","setPitch"]),lw=function(){var t,r={},f=n.styleSpec.$version,u,i;for(t in n.styleSpec.$root)i=n.styleSpec.$root[t],i.required&&null!=(u="version"===t?f:"array"===i.type?[]:{})&&(r[t]=u);return r}(),ur=((po=n.Evented)&&(i.__proto__=po),((i.prototype=Object.create(po&&po.prototype)).constructor=i).prototype.loadURL=function(t,i){var r=this,u;void 0===i&&(i={});this.fire(new n.Event("dataloading",{dataType:"style"}));u="boolean"==typeof i.validate?i.validate:!n.isMapboxURL(t);t=this.map._requestManager.normalizeStyleURL(t,i.accessToken);t=this.map._requestManager.transformRequest(t,n.ResourceType.Style);this._request=n.getJSON(t,function(t,i){r._request=null;t?r.fire(new n.ErrorEvent(t)):i&&r._load(i,u)})},i.prototype.loadJSON=function(t,i){var r=this;void 0===i&&(i={});this.fire(new n.Event("dataloading",{dataType:"style"}));this._request=n.browser.frame(function(){r._request=null;r._load(t,!1!==i.validate)})},i.prototype.loadEmpty=function(){this.fire(new n.Event("dataloading",{dataType:"style"}));this._load(lw,!1)},i.prototype._load=function(t,i){var f,u,e,r;if(!i||!ih(this,n.validateStyle(t))){for(f in this._loaded=!0,(this.stylesheet=t).sources)this.addSource(f,t.sources[f],{validate:!1});for(t.sprite?this._loadSprite(t.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs),i=pl(this.stylesheet.layers),this._order=i.map(function(n){return n.id}),this._layers={},this._serializedLayers={},u=0,e=i;u<e.length;u+=1)r=e[u],(r=n.createStyleLayer(r)).setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=r,this._serializedLayers[r.id]=r.serialize();this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order));this.light=new fl(this.stylesheet.light);this.fire(new n.Event("data",{dataType:"style"}));this.fire(new n.Event("style.load"))}},i.prototype._loadSprite=function(t){function l(){var i,f,u;if(r)h(r);else if(o&&c){f=n.browser.getImageData(c);u={};for(i in o){var t=o[i],e=t.width,s=t.height,l=t.x,a=t.y,v=t.sdf,y=t.pixelRatio,p=t.stretchX,w=t.stretchY,b=t.content,t=new n.RGBAImage({width:e,height:s});n.RGBAImage.copy(f,t,{x:l,y:a},{x:0,y:0},{width:e,height:s});u[i]={data:t,pixelRatio:y,sdf:v,stretchX:p,stretchY:w,content:b}}h(null,u)}}var s,u,h,o,c,r,f,e,i=this;this._spriteRequest=(s=t,u=this.map._requestManager,h=function(t,r){if(i._spriteRequest=null,t)i.fire(new n.ErrorEvent(t));else if(r)for(var u in r)i.imageManager.addImage(u,r[u]);i.imageManager.setLoaded(!0);i._availableImages=i.imageManager.listImages();i.dispatcher.broadcast("setImages",i._availableImages);i.fire(new n.Event("data",{dataType:"style"}))},t=1<n.browser.devicePixelRatio?"@2x":"",f=n.getJSON(u.transformRequest(u.normalizeSpriteURL(s,t,".json"),n.ResourceType.SpriteJSON),function(n,t){f=null;r||(r=n,o=t,l())}),e=n.getImage(u.transformRequest(u.normalizeSpriteURL(s,t,".png"),n.ResourceType.SpriteImage),function(n,t){e=null;r||(r=n,c=t,l())}),{cancel:function(){f&&(f.cancel(),f=null);e&&(e.cancel(),e=null)}})},i.prototype._validateLayer=function(t){var r,i=this.sourceCaches[t.source];i&&(!(r=t.sourceLayer)||("geojson"===(i=i.getSource()).type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(r))&&this.fire(new n.ErrorEvent(new Error('Source layer "'+r+'" does not exist on source "'+i.id+'" as specified by style layer "'+t.id+'"'))))},i.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var n in this.sourceCaches)if(!this.sourceCaches[n].loaded())return!1;return!!this.imageManager.isLoaded()},i.prototype._serializeLayers=function(n){for(var i,r=[],t=0,u=n;t<u.length;t+=1)i=this._layers[u[t]],"custom"!==i.type&&r.push(i.serialize());return r},i.prototype.hasTransitions=function(){var n,t;if(this.light&&this.light.hasTransition())return!0;for(n in this.sourceCaches)if(this.sourceCaches[n].hasTransition())return!0;for(t in this._layers)if(this._layers[t].hasTransition())return!0;return!1},i.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading");},i.prototype.update=function(t){var y,r,p,o,s,h,c,u,l,f,e,a,i,v;if(this._loaded){if(y=this._changed,this._changed){o=Object.keys(this._updatedLayers);s=Object.keys(this._removedLayers);for(r in(o.length||s.length)&&this._updateWorkerLayers(o,s),this._updatedSources)h=this._updatedSources[r],"reload"===h?this._reloadSource(r):"clear"===h&&this._clearSource(r);for(p in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[p].updateTransitions(t);this.light.updateTransitions(t);this._resetUpdates()}u={};for(c in this.sourceCaches)l=this.sourceCaches[c],u[c]=l.used,l.used=!1;for(e=0,a=this._order;e<a.length;e+=1)i=this._layers[a[e]],i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);for(f in u)v=this.sourceCaches[f],u[f]!==v.used&&v.fire(new n.Event("data",{sourceDataType:"visibility",dataType:"source",sourceId:f}));this.light.recalculate(t);this.z=t.zoom;y&&this.fire(new n.Event("data",{dataType:"style"}))}},i.prototype._updateTilesForChangedImages=function(){var n=Object.keys(this._changedImages),t;if(n.length){for(t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],n);this._changedImages={}}},i.prototype._updateWorkerLayers=function(n,t){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(n),removedIds:t})},i.prototype._resetUpdates=function(){this._changed=!1;this._updatedLayers={};this._removedLayers={};this._updatedSources={};this._updatedPaintProps={};this._changedImages={}},i.prototype.setState=function(t){var u=this,i,r;if((this._checkLoaded(),ih(this,n.validateStyle(t)))||((t=n.clone$1(t)).layers=pl(t.layers),i=function(t,i){var r,u,f,e;if(!t)return[{command:s.setStyle,args:[i]}];r=[];try{if(!n.deepEqual(t.version,i.version))return[{command:s.setStyle,args:[i]}];n.deepEqual(t.center,i.center)||r.push({command:s.setCenter,args:[i.center]});n.deepEqual(t.zoom,i.zoom)||r.push({command:s.setZoom,args:[i.zoom]});n.deepEqual(t.bearing,i.bearing)||r.push({command:s.setBearing,args:[i.bearing]});n.deepEqual(t.pitch,i.pitch)||r.push({command:s.setPitch,args:[i.pitch]});n.deepEqual(t.sprite,i.sprite)||r.push({command:s.setSprite,args:[i.sprite]});n.deepEqual(t.glyphs,i.glyphs)||r.push({command:s.setGlyphs,args:[i.glyphs]});n.deepEqual(t.transition,i.transition)||r.push({command:s.setTransition,args:[i.transition]});n.deepEqual(t.light,i.light)||r.push({command:s.setLight,args:[i.light]});u={};f=[];!function(t,i,r,u){var f,e,h,o,c;for(f in i=i||{},t=t||{})t.hasOwnProperty(f)&&(i.hasOwnProperty(f)||bl(f,r,u));for(f in i)i.hasOwnProperty(f)&&(t.hasOwnProperty(f)?n.deepEqual(t[f],i[f])||("geojson"===t[f].type&&"geojson"===i[f].type&&function(t,i,r){for(var u in t[r])if(t[r].hasOwnProperty(u)&&"data"!==u&&!n.deepEqual(t[r][u],i[r][u]))return;for(u in i[r])if(i[r].hasOwnProperty(u)&&"data"!==u&&!n.deepEqual(t[r][u],i[r][u]))return;return 1}(t,i,f)?r.push({command:s.setGeoJSONSourceData,args:[f,i[f].data]}):(e=f,h=i,o=r,c=u,bl(e,o,c),wl(e,h,o))):wl(f,i,r))}(t.sources,i.sources,f,u);e=[];t.layers&&t.layers.forEach(function(n){u[n.source]?r.push({command:s.removeLayer,args:[n.id]}):e.push(n)});r=r.concat(f),function(t,i,r){i=i||[];for(var f,o,e,v,u,y=(t=t||[]).map(kl),l=i.map(kl),w=t.reduce(dl,{}),p=i.reduce(dl,{}),c=y.slice(),b=Object.create(null),h=0,a=0;h<y.length;h++)p.hasOwnProperty(f=y[h])?a++:(r.push({command:s.removeLayer,args:[f]}),c.splice(c.indexOf(f,a),1));for(a=h=0;h<l.length;h++)c[c.length-1-h]!==(f=l[l.length-1-h])&&(w.hasOwnProperty(f)?(r.push({command:s.removeLayer,args:[f]}),c.splice(c.lastIndexOf(f,c.length-a),1)):a++,r.push({command:s.addLayer,args:[p[f],v=c[c.length-h]]}),c.splice(c.length-h,0,f),b[f]=!0);for(h=0;h<l.length;h++)if(o=w[f=l[h]],e=p[f],!b[f]&&!n.deepEqual(o,e))if(n.deepEqual(o.source,e.source)&&n.deepEqual(o["source-layer"],e["source-layer"])&&n.deepEqual(o.type,e.type)){for(u in ks(o.layout,e.layout,r,f,null,s.setLayoutProperty),ks(o.paint,e.paint,r,f,null,s.setPaintProperty),n.deepEqual(o.filter,e.filter)||r.push({command:s.setFilter,args:[f,e.filter]}),n.deepEqual(o.minzoom,e.minzoom)&&n.deepEqual(o.maxzoom,e.maxzoom)||r.push({command:s.setLayerZoomRange,args:[f,e.minzoom,e.maxzoom]}),o)o.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?ks(o[u],e[u],r,f,u.slice(6),s.setPaintProperty):n.deepEqual(o[u],e[u])||r.push({command:s.setLayerProperty,args:[f,u,e[u]]}));for(u in e)e.hasOwnProperty(u)&&!o.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?ks(o[u],e[u],r,f,u.slice(6),s.setPaintProperty):n.deepEqual(o[u],e[u])||r.push({command:s.setLayerProperty,args:[f,u,e[u]]}))}else r.push({command:s.removeLayer,args:[f]}),v=c[c.lastIndexOf(f)+1],r.push({command:s.addLayer,args:[e,v]})}(e,i.layers,r)}catch(t){console.warn("Unable to compute style diff:",t);r=[{command:s.setStyle,args:[i]}]}return r}(this.serialize(),t).filter(function(n){return!(n.command in cw)}),0===i.length))return!1;if(r=i.filter(function(n){return!(n.command in hw)}),0<r.length)throw new Error("Unimplemented: "+r.map(function(n){return n.command}).join(", ")+".");return i.forEach(function(n){"setTransition"!==n.command&&u[n.command].apply(u,n.args)}),this.stylesheet=t,!0},i.prototype.addImage=function(t,i){if(this.getImage(t))return this.fire(new n.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(t,i);this._afterImageUpdated(t)},i.prototype.updateImage=function(n,t){this.imageManager.updateImage(n,t)},i.prototype.getImage=function(n){return this.imageManager.getImage(n)},i.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(new n.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(t);this._afterImageUpdated(t)},i.prototype._afterImageUpdated=function(t){this._availableImages=this.imageManager.listImages();this._changedImages[t]=!0;this._changed=!0;this.dispatcher.broadcast("setImages",this._availableImages);this.fire(new n.Event("data",{dataType:"style"}))},i.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},i.prototype.addSource=function(t,i,r){var u,f=this;if(void 0===r&&(r={}),this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error("There is already a source with this ID");if(!i.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(i).join(", ")+".");0<=["vector","raster","geojson","video","image"].indexOf(i.type)&&this._validate(n.validateStyle.source,"sources."+t,i,null,r)||(this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0),(u=this.sourceCaches[t]=new tr(t,i,this.dispatcher)).style=this,u.setEventedParent(this,function(){return{isSourceLoaded:f.loaded(),source:u.serialize(),sourceId:t}}),u.onAdd(this.map),this._changed=!0)},i.prototype.removeSource=function(t){var r,i;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(r in this._layers)if(this._layers[r].source===t)return this.fire(new n.ErrorEvent(new Error('Source "'+t+'" cannot be removed while layer "'+r+'" is using it.')));i=this.sourceCaches[t];delete this.sourceCaches[t];delete this._updatedSources[t];i.fire(new n.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:t}));i.setEventedParent(null);i.clearTiles();i.onRemove&&i.onRemove(this.map);this._changed=!0},i.prototype.setGeoJSONSourceData=function(n,t){this._checkLoaded();this.sourceCaches[n].getSource().setData(t);this._changed=!0},i.prototype.getSource=function(n){return this.sourceCaches[n]&&this.sourceCaches[n].getSource()},i.prototype.addLayer=function(t,i,r){void 0===r&&(r={});this._checkLoaded();var u,f=t.id;if(this.getLayer(f))this.fire(new n.ErrorEvent(new Error('Layer with id "'+f+'" already exists on this map')));else{if("custom"===t.type){if(ih(this,n.validateCustomStyleLayer(t)))return;u=n.createStyleLayer(t)}else{if("object"==typeof t.source&&(this.addSource(f,t.source),t=n.clone$1(t),t=n.extend(t,{source:f})),this._validate(n.validateStyle.layer,"layers."+f,t,{arrayIndex:-1},r))return;u=n.createStyleLayer(t);this._validateLayer(u);u.setEventedParent(this,{layer:{id:f}});this._serializedLayers[u.id]=u.serialize()}t=i?this._order.indexOf(i):this._order.length;i&&-1===t?this.fire(new n.ErrorEvent(new Error('Layer with id "'+i+'" does not exist on this map.'))):(this._order.splice(t,0,f),this._layerOrderChanged=!0,this._layers[f]=u,this._removedLayers[f]&&u.source&&"custom"!==u.type&&(t=this._removedLayers[f],delete this._removedLayers[f],t.type!==u.type?this._updatedSources[u.source]="clear":(this._updatedSources[u.source]="reload",this.sourceCaches[u.source].pause())),this._updateLayer(u),u.onAdd&&u.onAdd(this.map))}},i.prototype.moveLayer=function(t,i){var r;this._checkLoaded();this._changed=!0;this._layers[t]?t!==i&&(r=this._order.indexOf(t),this._order.splice(r,1),r=i?this._order.indexOf(i):this._order.length,i&&-1===r?this.fire(new n.ErrorEvent(new Error('Layer with id "'+i+'" does not exist on this map.'))):(this._order.splice(r,0,t),this._layerOrderChanged=!0)):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be moved.")))},i.prototype.removeLayer=function(t){this._checkLoaded();var r,i=this._layers[t];i?(i.setEventedParent(null),r=this._order.indexOf(t),this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map)):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be removed.")))},i.prototype.getLayer=function(n){return this._layers[n]},i.prototype.hasLayer=function(n){return n in this._layers},i.prototype.setLayerZoomRange=function(t,i,r){this._checkLoaded();var u=this.getLayer(t);u?u.minzoom===i&&u.maxzoom===r||(null!=i&&(u.minzoom=i),null!=r&&(u.maxzoom=r),this._updateLayer(u)):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot have zoom extent.")))},i.prototype.setFilter=function(t,i,r){void 0===r&&(r={});this._checkLoaded();var u=this.getLayer(t);if(u){if(!n.deepEqual(u.filter,i))return null==i?(u.filter=void 0,void this._updateLayer(u)):void(this._validate(n.validateStyle.filter,"layers."+u.id+".filter",i,null,r)||(u.filter=n.clone$1(i),this._updateLayer(u)))}else this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be filtered.")))},i.prototype.getFilter=function(t){return n.clone$1(this.getLayer(t).filter)},i.prototype.setLayoutProperty=function(t,i,r,u){void 0===u&&(u={});this._checkLoaded();var f=this.getLayer(t);f?n.deepEqual(f.getLayoutProperty(i),r)||(f.setLayoutProperty(i,r,u),this._updateLayer(f)):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")))},i.prototype.getLayoutProperty=function(t,i){var r=this.getLayer(t);if(r)return r.getLayoutProperty(i);this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style.")))},i.prototype.setPaintProperty=function(t,i,r,u){void 0===u&&(u={});this._checkLoaded();var f=this.getLayer(t);f?n.deepEqual(f.getPaintProperty(i),r)||(f.setPaintProperty(i,r,u)&&this._updateLayer(f),this._changed=!0,this._updatedPaintProps[t]=!0):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")))},i.prototype.getPaintProperty=function(n,t){return this.getLayer(n).getPaintProperty(t)},i.prototype.setFeatureState=function(t,i){this._checkLoaded();var f,e=t.source,r=t.sourceLayer,u=this.sourceCaches[e];void 0!==u?"geojson"===(f=u.getSource().type)&&r?this.fire(new n.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==f||r?(void 0===t.id&&this.fire(new n.ErrorEvent(new Error("The feature id parameter must be provided."))),u.setFeatureState(r,t.id,i)):this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types."))):this.fire(new n.ErrorEvent(new Error("The source '"+e+"' does not exist in the map's style.")))},i.prototype.removeFeatureState=function(t,i){this._checkLoaded();var f,r,e=t.source,u=this.sourceCaches[e];void 0!==u?(r="vector"===(f=u.getSource().type)?t.sourceLayer:void 0,"vector"!==f||r?i&&"string"!=typeof t.id&&"number"!=typeof t.id?this.fire(new n.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):u.removeFeatureState(r,t.id,i):this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))):this.fire(new n.ErrorEvent(new Error("The source '"+e+"' does not exist in the map's style.")))},i.prototype.getFeatureState=function(t){this._checkLoaded();var r=t.source,u=t.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||u)return void 0===t.id&&this.fire(new n.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(u,t.id);this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new n.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},i.prototype.getTransition=function(){return n.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},i.prototype.serialize=function(){return n.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:n.mapObject(this.sourceCaches,function(n){return n.serialize()}),layers:this._serializeLayers(this._order)},function(n){return void 0!==n})},i.prototype._updateLayer=function(n){this._updatedLayers[n.id]=!0;n.source&&!this._updatedSources[n.source]&&"raster"!==this.sourceCaches[n.source].getSource().type&&(this._updatedSources[n.source]="reload",this.sourceCaches[n.source].pause());this._changed=!0},i.prototype._flattenAndSortRenderedFeatures=function(n){for(var u,f,l,a,e,v,o,i,y,s,p,h,w,b,c,k,nt=this,d=function(n){return"fill-extrusion"===nt._layers[n].type},g={},t=[],r=this._order.length-1;0<=r;r--)if(u=this._order[r],d(u))for(g[u]=r,f=0,l=n;f<l.length;f+=1)if(a=l[f][u],a)for(e=0,v=a;e<v.length;e+=1)t.push(v[e]);for(t.sort(function(n,t){return t.intersectionZ-n.intersectionZ}),o=[],i=this._order.length-1;0<=i;i--)if(y=this._order[i],d(y))for(s=t.length-1;0<=s;s--){if(p=t[s].feature,g[p.layer.id]<i)break;o.push(p);t.pop()}else for(h=0,w=n;h<w.length;h+=1)if(b=w[h][y],b)for(c=0,k=b;c<k.length;c+=1)o.push(k[c].feature);return o},i.prototype.queryRenderedFeatures=function(t,i,r){var e,u,o,s,h,c,f;if(i&&i.filter&&this._validate(n.validateStyle.filter,"queryRenderedFeatures.filter",i.filter,null,i),e={},i&&i.layers){if(!Array.isArray(i.layers))return this.fire(new n.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(u=0,o=i.layers;u<o.length;u+=1){if(s=o[u],h=this._layers[s],!h)return this.fire(new n.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];e[h.source]=!0}}f=[];for(c in i.availableImages=this._availableImages,this.sourceCaches)i.layers&&!e[c]||f.push(oy(this.sourceCaches[c],this._layers,this._serializedLayers,t,i,r));return this.placement&&f.push(function(n,i,r,u,f,e){for(var s,l,y,o={},a=f.queryRenderedSymbols(t),h=[],c=0,v=Object.keys(a).map(Number);c<v.length;c+=1)h.push(e[v[c]]);for(h.sort(hl),s=0,l=h;s<l.length;s+=1)!function(){var r,t=l[s],c=t.featureIndex.lookupSymbolFeatures(a[t.bucketInstanceId],i,t.bucketIndex,t.sourceLayerIndex,u.filter,u.layers,u.availableImages,n),v,e,f,h;for(r in c)for(v=o[r]=o[r]||[],e=c[r],e.sort(function(n,i){var r=t.featureSortOrder,u;return r?(u=r.indexOf(n.featureIndex),r.indexOf(i.featureIndex)-u):i.featureIndex-n.featureIndex}),f=0,h=e;f<h.length;f+=1)v.push(h[f])}();for(y in o)!function(t){o[t].forEach(function(i){var u=i.feature,i=r[n[t].source].getFeatureState(u.layer["source-layer"],u.id);u.source=u.layer.source;u.layer["source-layer"]&&(u.sourceLayer=u.layer["source-layer"]);u.state=i})}(y);return o}(this._layers,this._serializedLayers,this.sourceCaches,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(f)},i.prototype.querySourceFeatures=function(t,i){return i&&i.filter&&this._validate(n.validateStyle.filter,"querySourceFeatures.filter",i.filter,null,i),t=this.sourceCaches[t],t?function(n,t){for(var r,u,f=n.getRenderableIds().map(function(t){return n.getTileByID(t)}),e=[],o={},i=0;i<f.length;i++)r=f[i],u=r.tileID.canonical.key,o[u]||(o[u]=!0,r.querySourceFeatures(e,t));return e}(t,i):[]},i.prototype.addSourceType=function(n,t,r){return i.getSourceType(n)?r(new Error('A source type called "'+n+'" already exists.')):(i.setSourceType(n,t),t.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:n,url:t.workerSourceURL},r):r(null,null))},i.prototype.getLight=function(){return this.light.getLight()},i.prototype.setLight=function(t,i){void 0===i&&(i={});this._checkLoaded();var r,u,e=this.light.getLight(),f=!1;for(r in t)if(!n.deepEqual(t[r],e[r])){f=!0;break}f&&(u={now:n.browser.now(),transition:n.extend({duration:300,delay:0},this.stylesheet.transition)},this.light.setLight(t,i),this.light.updateTransitions(u))},i.prototype._validate=function(t,i,r,u,f){return(!(f=void 0===f?{}:f)||!1!==f.validate)&&ih(this,t.call(n.validateStyle,n.extend({key:i,style:this.serialize(),value:r,styleSpec:n.styleSpec},u)))},i.prototype._remove=function(){var i,t;for(i in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),n.evented.off("pluginStateChange",this._rtlTextPluginCallback),this._layers)this._layers[i].setEventedParent(null);for(t in this.sourceCaches)this.sourceCaches[t].clearTiles(),this.sourceCaches[t].setEventedParent(null);this.imageManager.setEventedParent(null);this.setEventedParent(null);this.dispatcher.remove()},i.prototype._clearSource=function(n){this.sourceCaches[n].clearTiles()},i.prototype._reloadSource=function(n){this.sourceCaches[n].resume();this.sourceCaches[n].reload()},i.prototype._updateSources=function(n){for(var t in this.sourceCaches)this.sourceCaches[t].update(n)},i.prototype._generateCollisionBoxes=function(){for(var n in this.sourceCaches)this._reloadSource(n)},i.prototype._updatePlacement=function(t,i,r,u,f){var a,e,h,v,c;void 0===f&&(f=!1);for(var s=!1,y=!1,o={},l=0,p=this._order;l<p.length;l+=1)e=this._layers[p[l]],"symbol"===e.type&&(o[e.source]||(a=this.sourceCaches[e.source],o[e.source]=a.getRenderableIds(!0).map(function(n){return a.getTileByID(n)}).sort(function(n,t){return t.tileID.overscaledZ-n.tileID.overscaledZ||(n.tileID.isLessThan(t.tileID)?-1:1)})),e=this.crossTileSymbolIndex.addLayer(e,o[e.source],t.center.lng),s=s||e);if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((f=f||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.browser.now(),t.zoom))&&(this.pauseablePlacement=new nh(t,this._order,f,i,r,u,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.browser.now()),y=!0),s&&this.pauseablePlacement.placement.setStale()),y||s)for(h=0,v=this._order;h<v.length;h+=1)c=this._layers[v[h]],"symbol"===c.type&&this.placement.updateLayerOpacities(c,o[c.source]);return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.browser.now())},i.prototype._releaseSymbolFadeTiles=function(){for(var n in this.sourceCaches)this.sourceCaches[n].releaseSymbolFadeTiles()},i.prototype.getImages=function(n,t,i){this.imageManager.getImages(t.icons,i);this._updateTilesForChangedImages();i=this.sourceCaches[t.source];i&&i.setDependencies(t.tileID.key,t.type,t.icons)},i.prototype.getGlyphs=function(n,t,i){this.glyphManager.getGlyphs(t.stacks,i)},i.prototype.getResource=function(t,i,r){return n.makeRequest(i,r)},i);ur.getSourceType=function(n){return kh[n]};ur.setSourceType=function(n,t){kh[n]=t};ur.registerForPluginStateChange=n.registerForPluginStateChange;var uc=n.createLayout([{name:"a_pos",type:"Int16",components:2}]),fc=l("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 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\n);}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;}"),aw=l("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),vw=l("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;varying vec2 v_pos_a;varying 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=texture2D(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=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;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;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);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);}"),yw=l("varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);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));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);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;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),pw=l("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),ww=l("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.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;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),bw=l("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying 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;}"),kw=l("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),dw=l("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);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);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd  =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz  /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;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;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),gw=l("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),nb=l("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),tb=l("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),ib=l("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 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=texture2D(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=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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=u_matrix*vec4(a_pos,0,1);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;}"),ki=l("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 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=texture2D(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=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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=u_matrix*vec4(a_pos,0,1);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);}"),tl=l("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);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;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);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;}"),ph=l("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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=texture2D(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=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;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 vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*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;}"),dr=l("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;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))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying 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;}"),ol=l("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;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_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),bh=l("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat 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);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat 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);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),sl=l("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat 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=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat 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);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),f=l("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 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(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat 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);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),si=l("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat 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=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat 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);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),p=l("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying 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=texture2D(u_image0,v_pos0);vec4 color1=texture2D(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);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),r=l("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute 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_matrix;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;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 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;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;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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=u_matrix*vec4(a_pos+vec2(1,0),0,1);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=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),nr=l("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat 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 fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute 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_matrix;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;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 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;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;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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=u_matrix*vec4(a_pos+vec2(1,0),0,1);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=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),bs=l("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}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;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute 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_matrix;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;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 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;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;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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=u_matrix*vec4(a_pos+vec2(1,0),0,1);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=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");va=Object.freeze({__proto__:null,prelude:fc,background:aw,backgroundPattern:vw,circle:yw,clippingMask:pw,heatmap:ww,heatmapTexture:bw,collisionBox:kw,collisionCircle:dw,debug:gw,fill:nb,fillOutline:tb,fillOutlinePattern:ib,fillPattern:ki,fillExtrusion:tl,fillExtrusionPattern:ph,hillshadePrepare:dr,hillshade:ol,line:bh,lineGradient:sl,linePattern:f,lineSDF:si,raster:p,symbolIcon:r,symbolSDF:nr,symbolTextAndIcon:bs});rh.prototype.bind=function(n,t,i,r,u,f,e,o){this.context=n;for(var h=this.boundPaintVertexBuffers.length!==r.length,s=0;!h&&s<r.length;s++)this.boundPaintVertexBuffers[s]!==r[s]&&(h=!0);n.extVertexArrayObject&&this.vao&&this.boundProgram===t&&this.boundLayoutVertexBuffer===i&&!h&&this.boundIndexBuffer===u&&this.boundVertexOffset===f&&this.boundDynamicVertexBuffer===e&&this.boundDynamicVertexBuffer2===o?(n.bindVertexArrayOES.set(this.vao),e&&e.bind(),u&&u.dynamicDraw&&u.bind(),o&&o.bind()):this.freshBind(t,i,r,u,f,e,o)};rh.prototype.freshBind=function(n,t,i,r,u,f,e){var w=n.numAttributes,s=this.context,o=s.gl,a,h,c,v,l,y,p;if(s.extVertexArrayObject)this.vao&&this.destroy(),this.vao=s.extVertexArrayObject.createVertexArrayOES(),s.bindVertexArrayOES.set(this.vao),a=0,this.boundProgram=n,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=i,this.boundIndexBuffer=r,this.boundVertexOffset=u,this.boundDynamicVertexBuffer=f,this.boundDynamicVertexBuffer2=e;else for(a=s.currentNumAttributes||0,h=w;h<a;h++)o.disableVertexAttribArray(h);for(t.enableAttributes(o,n),c=0,v=i;c<v.length;c+=1)v[c].enableAttributes(o,n);for(f&&f.enableAttributes(o,n),e&&e.enableAttributes(o,n),t.bind(),t.setVertexAttribPointers(o,n,u),l=0,y=i;l<y.length;l+=1)p=y[l],p.bind(),p.setVertexAttribPointers(o,n,u);f&&(f.bind(),f.setVertexAttribPointers(o,n,u));r&&r.bind();e&&(e.bind(),e.setVertexAttribPointers(o,n,u));s.currentNumAttributes=w};rh.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};pa.prototype.draw=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){var b=n.gl,k,w,g;if(!this.failedToCreate){for(k in n.program.set(this.program),n.setDepthMode(i),n.setStencilMode(r),n.setColorMode(u),n.setCullFace(f),this.fixedUniforms)this.fixedUniforms[k].set(e[k]);v&&v.setUniforms(n,this.binderUniforms,l,{zoom:a});for(var nt=((a={})[b.LINES]=2,a[b.TRIANGLES]=3,a[b.LINE_STRIP]=1,a[t]),d=0,tt=c.get();d<tt.length;d+=1)w=tt[d],g=w.vaos||(w.vaos={}),(g[o]||(g[o]=new rh)).bind(n,this,s,v?v.getPaintVertexBuffers():[],h,w.vertexOffset,y,p),b.drawElements(t,w.primitiveLength*nt,b.UNSIGNED_SHORT,w.primitiveOffset*nt*2)}};var da=function(t,i,r,u){var e=i.style.light,f=e.properties.get("position"),o=[f.x,f.y,f.z],f=n.create$1();return"viewport"===e.properties.get("anchor")&&n.fromRotation(f,-i.transform.angle),n.transformMat3(o,o,f),f=e.properties.get("color"),{u_matrix:t,u_lightpos:o,u_lightintensity:e.properties.get("intensity"),u_lightcolor:[f.r,f.g,f.b],u_vertical_gradient:+r,u_opacity:u}},ga=function(n){return{u_matrix:n}},nv=function(t,i,r,u){return n.extend(ga(t),wa(r,i,u))};var uh,rv=function(n,t,i,r,u,f,e,o,s,h){var c=u.transform;return{u_is_size_zoom_constant:+("constant"===n||"source"===n),u_is_size_feature_constant:+("constant"===n||"camera"===n),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/180*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:c.width/c.height,u_fade_change:u.options.fadeDuration?u.symbolFadeChange:1,u_matrix:f,u_label_plane_matrix:e,u_coord_matrix:o,u_is_text:+s,u_pitch_with_map:+r,u_texsize:h,u_texture:0}},uv=function(t,i,r,u,f,e,o,s,h,c,l){var a=f.transform;return n.extend(rv(t,i,r,u,f,e,o,s,h,c),{u_gamma_scale:u?Math.cos(a._pitch)*a.cameraToCenterDistance:1,u_device_pixel_ratio:n.browser.devicePixelRatio,u_is_halo:+l})},ub={fillExtrusion:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_lightpos:new n.Uniform3f(t,i.u_lightpos),u_lightintensity:new n.Uniform1f(t,i.u_lightintensity),u_lightcolor:new n.Uniform3f(t,i.u_lightcolor),u_vertical_gradient:new n.Uniform1f(t,i.u_vertical_gradient),u_opacity:new n.Uniform1f(t,i.u_opacity)}},fillExtrusionPattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_lightpos:new n.Uniform3f(t,i.u_lightpos),u_lightintensity:new n.Uniform1f(t,i.u_lightintensity),u_lightcolor:new n.Uniform3f(t,i.u_lightcolor),u_vertical_gradient:new n.Uniform1f(t,i.u_vertical_gradient),u_height_factor:new n.Uniform1f(t,i.u_height_factor),u_image:new n.Uniform1i(t,i.u_image),u_texsize:new n.Uniform2f(t,i.u_texsize),u_pixel_coord_upper:new n.Uniform2f(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(t,i.u_pixel_coord_lower),u_scale:new n.Uniform3f(t,i.u_scale),u_fade:new n.Uniform1f(t,i.u_fade),u_opacity:new n.Uniform1f(t,i.u_opacity)}},fill:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix)}},fillPattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_image:new n.Uniform1i(t,i.u_image),u_texsize:new n.Uniform2f(t,i.u_texsize),u_pixel_coord_upper:new n.Uniform2f(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(t,i.u_pixel_coord_lower),u_scale:new n.Uniform3f(t,i.u_scale),u_fade:new n.Uniform1f(t,i.u_fade)}},fillOutline:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_world:new n.Uniform2f(t,i.u_world)}},fillOutlinePattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_world:new n.Uniform2f(t,i.u_world),u_image:new n.Uniform1i(t,i.u_image),u_texsize:new n.Uniform2f(t,i.u_texsize),u_pixel_coord_upper:new n.Uniform2f(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(t,i.u_pixel_coord_lower),u_scale:new n.Uniform3f(t,i.u_scale),u_fade:new n.Uniform1f(t,i.u_fade)}},circle:function(t,i){return{u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_scale_with_map:new n.Uniform1i(t,i.u_scale_with_map),u_pitch_with_map:new n.Uniform1i(t,i.u_pitch_with_map),u_extrude_scale:new n.Uniform2f(t,i.u_extrude_scale),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_matrix:new n.UniformMatrix4f(t,i.u_matrix)}},collisionBox:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_pixels_to_tile_units:new n.Uniform1f(t,i.u_pixels_to_tile_units),u_extrude_scale:new n.Uniform2f(t,i.u_extrude_scale),u_overscale_factor:new n.Uniform1f(t,i.u_overscale_factor)}},collisionCircle:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_inv_matrix:new n.UniformMatrix4f(t,i.u_inv_matrix),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_viewport_size:new n.Uniform2f(t,i.u_viewport_size)}},debug:function(t,i){return{u_color:new n.UniformColor(t,i.u_color),u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_overlay:new n.Uniform1i(t,i.u_overlay),u_overlay_scale:new n.Uniform1f(t,i.u_overlay_scale)}},clippingMask:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix)}},heatmap:function(t,i){return{u_extrude_scale:new n.Uniform1f(t,i.u_extrude_scale),u_intensity:new n.Uniform1f(t,i.u_intensity),u_matrix:new n.UniformMatrix4f(t,i.u_matrix)}},heatmapTexture:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_world:new n.Uniform2f(t,i.u_world),u_image:new n.Uniform1i(t,i.u_image),u_color_ramp:new n.Uniform1i(t,i.u_color_ramp),u_opacity:new n.Uniform1f(t,i.u_opacity)}},hillshade:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_image:new n.Uniform1i(t,i.u_image),u_latrange:new n.Uniform2f(t,i.u_latrange),u_light:new n.Uniform2f(t,i.u_light),u_shadow:new n.UniformColor(t,i.u_shadow),u_highlight:new n.UniformColor(t,i.u_highlight),u_accent:new n.UniformColor(t,i.u_accent)}},hillshadePrepare:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_image:new n.Uniform1i(t,i.u_image),u_dimension:new n.Uniform2f(t,i.u_dimension),u_zoom:new n.Uniform1f(t,i.u_zoom),u_unpack:new n.Uniform4f(t,i.u_unpack)}},line:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_ratio:new n.Uniform1f(t,i.u_ratio),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(t,i.u_units_to_pixels)}},lineGradient:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_ratio:new n.Uniform1f(t,i.u_ratio),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(t,i.u_units_to_pixels),u_image:new n.Uniform1i(t,i.u_image),u_image_height:new n.Uniform1f(t,i.u_image_height)}},linePattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_texsize:new n.Uniform2f(t,i.u_texsize),u_ratio:new n.Uniform1f(t,i.u_ratio),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_image:new n.Uniform1i(t,i.u_image),u_units_to_pixels:new n.Uniform2f(t,i.u_units_to_pixels),u_scale:new n.Uniform3f(t,i.u_scale),u_fade:new n.Uniform1f(t,i.u_fade)}},lineSDF:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_ratio:new n.Uniform1f(t,i.u_ratio),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(t,i.u_units_to_pixels),u_patternscale_a:new n.Uniform2f(t,i.u_patternscale_a),u_patternscale_b:new n.Uniform2f(t,i.u_patternscale_b),u_sdfgamma:new n.Uniform1f(t,i.u_sdfgamma),u_image:new n.Uniform1i(t,i.u_image),u_tex_y_a:new n.Uniform1f(t,i.u_tex_y_a),u_tex_y_b:new n.Uniform1f(t,i.u_tex_y_b),u_mix:new n.Uniform1f(t,i.u_mix)}},raster:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_tl_parent:new n.Uniform2f(t,i.u_tl_parent),u_scale_parent:new n.Uniform1f(t,i.u_scale_parent),u_buffer_scale:new n.Uniform1f(t,i.u_buffer_scale),u_fade_t:new n.Uniform1f(t,i.u_fade_t),u_opacity:new n.Uniform1f(t,i.u_opacity),u_image0:new n.Uniform1i(t,i.u_image0),u_image1:new n.Uniform1i(t,i.u_image1),u_brightness_low:new n.Uniform1f(t,i.u_brightness_low),u_brightness_high:new n.Uniform1f(t,i.u_brightness_high),u_saturation_factor:new n.Uniform1f(t,i.u_saturation_factor),u_contrast_factor:new n.Uniform1f(t,i.u_contrast_factor),u_spin_weights:new n.Uniform3f(t,i.u_spin_weights)}},symbolIcon:function(t,i){return{u_is_size_zoom_constant:new n.Uniform1i(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(t,i.u_is_size_feature_constant),u_size_t:new n.Uniform1f(t,i.u_size_t),u_size:new n.Uniform1f(t,i.u_size),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_pitch:new n.Uniform1f(t,i.u_pitch),u_rotate_symbol:new n.Uniform1i(t,i.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(t,i.u_aspect_ratio),u_fade_change:new n.Uniform1f(t,i.u_fade_change),u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(t,i.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(t,i.u_coord_matrix),u_is_text:new n.Uniform1i(t,i.u_is_text),u_pitch_with_map:new n.Uniform1i(t,i.u_pitch_with_map),u_texsize:new n.Uniform2f(t,i.u_texsize),u_texture:new n.Uniform1i(t,i.u_texture)}},symbolSDF:function(t,i){return{u_is_size_zoom_constant:new n.Uniform1i(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(t,i.u_is_size_feature_constant),u_size_t:new n.Uniform1f(t,i.u_size_t),u_size:new n.Uniform1f(t,i.u_size),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_pitch:new n.Uniform1f(t,i.u_pitch),u_rotate_symbol:new n.Uniform1i(t,i.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(t,i.u_aspect_ratio),u_fade_change:new n.Uniform1f(t,i.u_fade_change),u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(t,i.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(t,i.u_coord_matrix),u_is_text:new n.Uniform1i(t,i.u_is_text),u_pitch_with_map:new n.Uniform1i(t,i.u_pitch_with_map),u_texsize:new n.Uniform2f(t,i.u_texsize),u_texture:new n.Uniform1i(t,i.u_texture),u_gamma_scale:new n.Uniform1f(t,i.u_gamma_scale),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_is_halo:new n.Uniform1i(t,i.u_is_halo)}},symbolTextAndIcon:function(t,i){return{u_is_size_zoom_constant:new n.Uniform1i(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(t,i.u_is_size_feature_constant),u_size_t:new n.Uniform1f(t,i.u_size_t),u_size:new n.Uniform1f(t,i.u_size),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_pitch:new n.Uniform1f(t,i.u_pitch),u_rotate_symbol:new n.Uniform1i(t,i.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(t,i.u_aspect_ratio),u_fade_change:new n.Uniform1f(t,i.u_fade_change),u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(t,i.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(t,i.u_coord_matrix),u_is_text:new n.Uniform1i(t,i.u_is_text),u_pitch_with_map:new n.Uniform1i(t,i.u_pitch_with_map),u_texsize:new n.Uniform2f(t,i.u_texsize),u_texsize_icon:new n.Uniform2f(t,i.u_texsize_icon),u_texture:new n.Uniform1i(t,i.u_texture),u_texture_icon:new n.Uniform1i(t,i.u_texture_icon),u_gamma_scale:new n.Uniform1f(t,i.u_gamma_scale),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_is_halo:new n.Uniform1i(t,i.u_is_halo)}},background:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_opacity:new n.Uniform1f(t,i.u_opacity),u_color:new n.UniformColor(t,i.u_color)}},backgroundPattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_opacity:new n.Uniform1f(t,i.u_opacity),u_image:new n.Uniform1i(t,i.u_image),u_pattern_tl_a:new n.Uniform2f(t,i.u_pattern_tl_a),u_pattern_br_a:new n.Uniform2f(t,i.u_pattern_br_a),u_pattern_tl_b:new n.Uniform2f(t,i.u_pattern_tl_b),u_pattern_br_b:new n.Uniform2f(t,i.u_pattern_br_b),u_texsize:new n.Uniform2f(t,i.u_texsize),u_mix:new n.Uniform1f(t,i.u_mix),u_pattern_size_a:new n.Uniform2f(t,i.u_pattern_size_a),u_pattern_size_b:new n.Uniform2f(t,i.u_pattern_size_b),u_scale_a:new n.Uniform1f(t,i.u_scale_a),u_scale_b:new n.Uniform1f(t,i.u_scale_b),u_pixel_coord_upper:new n.Uniform2f(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(t,i.u_pixel_coord_lower),u_tile_units_to_pixels:new n.Uniform1f(t,i.u_tile_units_to_pixels)}}};ev=n.identity(new Float32Array(16));var eb=new n.Color(1,0,0,1),ob=new n.Color(0,1,0,1),sb=new n.Color(0,0,1,1),hb=new n.Color(1,0,1,1),cb=new n.Color(0,1,1,1);sc={symbol:function(t,i,r,u,f){var e,o;"translucent"===t.renderPass&&(e=b.disabled,o=t.colorModeForRenderPass(),r.layout.get("text-variable-anchor")&&function(t,i,r,u,f,e,o){for(var l=i.transform,p="map"===f,w="map"===e,a=0,b=t;a<b.length;a+=1){var v,k,c,y=b[a],h=u.getTile(y),s=h.getBucket(r);s&&s.text&&s.text.segments.get().length&&(v=n.evaluateSizeForZoom(s.textSizeData,l.zoom),c=ht(h,1,i.transform.zoom),k=gh(y.posMatrix,w,p,i.transform,c),c="none"!==r.layout.get("icon-text-fit")&&s.hasIconData(),v&&(h=Math.pow(2,l.zoom-h.tileID.overscaledZ),fb(s,p,w,o,n.symbolSize,l,k,y.posMatrix,h,v,c)))}}(u,t,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),f),0!==r.paint.get("icon-opacity").constantOr(1)&&ov(t,i,r,u,!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"),e,o),0!==r.paint.get("text-opacity").constantOr(1)&&ov(t,i,r,u,!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"),e,o),i.map.showCollisionBoxes&&(fv(t,i,r,u,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),fv(t,i,r,u,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1)))},circle:function(t,i,r,u){var f,d,v,g,nt,p,tt,it,h,et,rt,c,w;if("translucent"===t.renderPass){var ot=r.paint.get("circle-opacity"),st=r.paint.get("circle-stroke-width"),ct=r.paint.get("circle-stroke-opacity"),ut=void 0!==r.layout.get("circle-sort-key").constantOr(1);if(0!==ot.constantOr(1)||0!==st.constantOr(1)&&0!==ct.constantOr(1)){for(var ft=t.context,lt=ft.gl,at=t.depthModeForSublayer(0,o.ReadOnly),vt=b.disabled,yt=t.colorModeForRenderPass(),l=[],k=0;k<u.length;k++){var e=u[k],a=i.getTile(e),s=a.getBucket(r);if(s)if(f=s.programConfigurations.get(r.id),d={programConfiguration:f,program:t.useProgram("circle",f),layoutVertexBuffer:s.layoutVertexBuffer,indexBuffer:s.indexBuffer,uniformValues:(et=e,rt=a,c=r,e=f=w=void 0,e=(a=t).transform,f="map"===c.paint.get("circle-pitch-alignment")?(w=!0,[f=ht(rt,1,e.zoom),f]):(w=!1,e.pixelsToGLUnits),{u_camera_to_center_distance:e.cameraToCenterDistance,u_scale_with_map:+("map"===c.paint.get("circle-pitch-scale")),u_matrix:a.translatePosMatrix(et.posMatrix,rt,c.paint.get("circle-translate"),c.paint.get("circle-translate-anchor")),u_pitch_with_map:+w,u_device_pixel_ratio:n.browser.devicePixelRatio,u_extrude_scale:f})},ut)for(v=0,g=s.segments.get();v<g.length;v+=1)nt=g[v],l.push({segments:new n.SegmentVector([nt]),sortKey:nt.sortKey,state:d});else l.push({segments:s.segments,sortKey:0,state:d})}for(ut&&l.sort(function(n,t){return n.sortKey-t.sortKey}),p=0,tt=l;p<tt.length;p+=1)it=tt[p],h=it.state,h.program.draw(ft,lt.TRIANGLES,at,vt,yt,y.disabled,h.uniformValues,r.id,h.layoutVertexBuffer,h.indexBuffer,it.segments,r.paint,t.transform.zoom,h.programConfiguration)}}},heatmap:function(t,i,r,u){var v,a,k,h,e,s,c,f,d,nt,tt,p;if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){var l=t.context,w=l.gl,it=b.disabled,rt=new g([w.ONE,w.ONE],n.Color.transparent,[!0,!0,!0,!0]);for(!function(n,t,i){var r=n.gl,f,u;n.activeTexture.set(r.TEXTURE1);n.viewport.set([0,0,t.width/4,t.height/4]);u=i.heatmapFbo;u?(r.bindTexture(r.TEXTURE_2D,u.colorAttachment.get()),n.bindFramebuffer.set(u.framebuffer)):(f=r.createTexture(),r.bindTexture(r.TEXTURE_2D,f),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),u=i.heatmapFbo=n.createFramebuffer(t.width/4,t.height/4,!1),i=f,f=u,(u=n.gl).texImage2D(u.TEXTURE_2D,0,u.RGBA,t.width/4,t.height/4,0,u.RGBA,n.extRenderToTextureHalfFloat?n.extTextureHalfFloat.HALF_FLOAT_OES:u.UNSIGNED_BYTE,null),f.colorAttachment.set(i))}(l,t,r),l.clear({color:n.Color.transparent}),v=0;v<u.length;v++)h=u[v],i.hasRenderableParent(h)||(a=(p=i.getTile(h)).getBucket(r))&&(k=a.programConfigurations.get(r.id),t.useProgram("heatmap",k).draw(l,w.TRIANGLES,o.disabled,it,rt,y.disabled,(nt=h.posMatrix,tt=p,h=t.transform.zoom,p=r.paint.get("heatmap-intensity"),{u_matrix:nt,u_extrude_scale:ht(tt,1,h),u_intensity:p}),r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,r.paint,t.transform.zoom,k));l.viewport.set([0,0,t.width,t.height])}else"translucent"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),s=r,c=(e=t).context,f=c.gl,(d=s.heatmapFbo)&&(c.activeTexture.set(f.TEXTURE0),f.bindTexture(f.TEXTURE_2D,d.colorAttachment.get()),c.activeTexture.set(f.TEXTURE1),(s.colorRampTexture||(s.colorRampTexture=new n.Texture(c,s.colorRamp,f.RGBA))).bind(f.LINEAR,f.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(c,f.TRIANGLES,o.disabled,b.disabled,e.colorModeForRenderPass(),y.disabled,function(t,i){var r=n.create();return n.ortho(r,0,t.width,t.height,0,0,1),t=t.context.gl,{u_matrix:r,u_world:[t.drawingBufferWidth,t.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}}(e,s),s.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,s.paint,e.transform.zoom)))},line:function(t,i,r,u){var at,vt,c,tt,lt,it,g,rt,e,ut,nt,w,f,k,b,l,d,a,v,s;if("translucent"===t.renderPass&&(at=r.paint.get("line-opacity"),vt=r.paint.get("line-width"),0!==at.constantOr(1)&&0!==vt.constantOr(1)))for(var bt=t.depthModeForSublayer(0,o.ReadOnly),kt=t.colorModeForRenderPass(),ft=r.paint.get("line-dasharray"),yt=r.paint.get("line-pattern"),et=yt.constantOr(1),ot=r.paint.get("line-gradient"),st=r.getCrossfadeParameters(),dt=et?"linePattern":ft?"lineSDF":ot?"lineGradient":"line",p=t.context,h=p.gl,pt=!0,ct=0,wt=u;ct<wt.length;ct+=1)rt=wt[ct],e=i.getTile(rt),et&&!e.patternsLoaded()||(c=e.getBucket(r))&&(tt=c.programConfigurations.get(r.id),it=t.context.program.get(),lt=t.useProgram(dt,tt),g=pt||lt.program!==it,(it=yt.constantOr(null))&&e.imageAtlas&&(nt=(w=e.imageAtlas).patternPositions[it.to.toString()],w=w.patternPositions[it.from.toString()],nt&&w&&tt.setConstantPatternPositions(nt,w)),k=et?(l=e,d=r,a=st,s=v=void 0,v=(b=t).transform,s=tv(l,v),{u_matrix:iv(b,l,d),u_texsize:l.imageAtlasTexture.size,u_ratio:1/ht(l,1,v.zoom),u_device_pixel_ratio:n.browser.devicePixelRatio,u_image:0,u_scale:[s,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/v.pixelsToGLUnits[0],1/v.pixelsToGLUnits[1]]}):ft?(nt=e,w=r,b=ft,f=st,s=k=a=s=l=d=void 0,d=(v=t).lineAtlas,l=tv(nt,v.transform),s="round"===w.layout.get("line-cap"),a=d.getDash(b.from,s),k=d.getDash(b.to,s),b=a.width*f.fromScale,s=k.width*f.toScale,n.extend(ec(v,nt,w),{u_patternscale_a:[l/b,-a.height/2],u_patternscale_b:[l/s,-k.height/2],u_sdfgamma:d.width/(256*Math.min(b,s)*n.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:a.y,u_tex_y_b:k.y,u_mix:f.t})):ot?(ut=c.lineClipsArray.length,n.extend(ec(t,e,r),{u_image:0,u_image_height:ut})):ec(t,e,r),et?(p.activeTexture.set(h.TEXTURE0),e.imageAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),tt.updatePaintBuffers(st)):ft&&(g||t.lineAtlas.dirty)?(p.activeTexture.set(h.TEXTURE0),t.lineAtlas.bind(p)):ot&&(ut=(f=c.gradients[r.id]).texture,r.gradientVersion!==f.version&&(e=256,r.stepInterpolant&&(g=i.getSource().maxzoom,g=rt.canonical.z===g?Math.ceil(1<<t.transform.maxZoom-rt.canonical.z):1,e=n.clamp(n.nextPowerOfTwo(c.maxLineLength/n.EXTENT*1024*g),256,p.maxTextureSize)),f.gradient=n.renderColorRamp({expression:r.gradientExpression(),evaluationKey:"lineProgress",resolution:e,image:f.gradient||void 0,clips:c.lineClipsArray}),f.texture?f.texture.update(f.gradient):f.texture=new n.Texture(p,f.gradient,h.RGBA),f.version=r.gradientVersion,ut=f.texture),p.activeTexture.set(h.TEXTURE0),ut.bind(r.stepInterpolant?h.NEAREST:h.LINEAR,h.CLAMP_TO_EDGE)),lt.draw(p,h.TRIANGLES,bt,t.stencilModeForClipping(rt),kt,y.disabled,k,r.id,c.layoutVertexBuffer,c.indexBuffer,c.segments,r.paint,t.transform.zoom,tt,c.layoutVertexBuffer2),pt=!1)},fill:function(t,i,r,u){var s,h,f,c=r.paint.get("fill-color"),e=r.paint.get("fill-opacity");0!==e.constantOr(1)&&(s=t.colorModeForRenderPass(),h=r.paint.get("fill-pattern"),e=t.opaquePassEnabledForLayer()&&!h.constantOr(1)&&1===c.constantOr(n.Color.transparent).a&&1===e.constantOr(0)?"opaque":"translucent",t.renderPass===e&&(f=t.depthModeForSublayer(1,"opaque"===t.renderPass?o.ReadWrite:o.ReadOnly),hv(t,i,r,u,f,s,!1)),"translucent"===t.renderPass&&r.paint.get("fill-antialias")&&(f=t.depthModeForSublayer(r.getPaintProperty("fill-outline-color")?2:0,o.ReadOnly),hv(t,i,r,u,f,s,!0)))},"fill-extrusion":function(n,t,i,r){var u,f=i.paint.get("fill-extrusion-opacity");0!==f&&"translucent"===n.renderPass&&(u=new o(n.context.gl.LEQUAL,o.ReadWrite,n.depthRangeFor3D),1!==f||i.paint.get("fill-extrusion-pattern").constantOr(1)?(oc(n,t,i,r,u,b.disabled,g.disabled),oc(n,t,i,r,u,n.stencilModeFor3D(),n.colorModeForRenderPass())):(f=n.colorModeForRenderPass(),oc(n,t,i,r,u,b.disabled,f)))},hillshade:function(t,i,r,u){var p,c,l,e,nt,w,k,a,v,it,d,g,h,f,s;if("offscreen"===t.renderPass||"translucent"===t.renderPass){for(var et=t.context,rt=t.depthModeForSublayer(0,o.ReadOnly),ut=t.colorModeForRenderPass(),u="translucent"===t.renderPass?t.stencilConfigForOverlap(u):[{},u],ot=u[0],tt=0,ft=u[1];tt<ft.length;tt+=1)p=ft[tt],c=i.getTile(p),c.needsHillshadePrepare&&"offscreen"===t.renderPass?(e=c,nt=r,w=rt,k=b.disabled,a=ut,s=f=h=g=d=it=v=void 0,h=(l=t).context,f=h.gl,(s=e.dem)&&s.data&&(v=s.dim,it=s.stride,g=s.getPixels(),h.activeTexture.set(f.TEXTURE1),h.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||l.getTileTexture(it),e.demTexture?((d=e.demTexture).update(g,{premultiply:!1}),d.bind(f.NEAREST,f.CLAMP_TO_EDGE)):(e.demTexture=new n.Texture(h,g,f.RGBA,{premultiply:!1}),e.demTexture.bind(f.NEAREST,f.CLAMP_TO_EDGE)),h.activeTexture.set(f.TEXTURE0),(d=e.fbo)||((g=new n.Texture(h,{width:v,height:v,data:null},f.RGBA)).bind(f.LINEAR,f.CLAMP_TO_EDGE),(d=e.fbo=h.createFramebuffer(v,v,!0)).colorAttachment.set(g.texture)),h.bindFramebuffer.set(d.framebuffer),h.viewport.set([0,0,v,v]),l.useProgram("hillshadePrepare").draw(h,f.TRIANGLES,w,k,a,y.disabled,(w=e.tileID,a=(k=s).stride,s=n.create(),n.ortho(s,0,n.EXTENT,-n.EXTENT,0,0,1),n.translate(s,s,[0,-n.EXTENT,0]),{u_matrix:s,u_image:1,u_dimension:[a,a],u_zoom:w.overscaledZ,u_unpack:k.getUnpackVector()}),nt.id,l.rasterBoundsBuffer,l.quadTriangleIndexBuffer,l.rasterBoundsSegments),e.needsHillshadePrepare=!1)):"translucent"===t.renderPass&&(f=t,s=c,a=r,w=rt,k=ot[p.overscaledZ],nt=ut,p=c=e=l=void 0,e=f.context,c=e.gl,(p=s.fbo)&&(l=f.useProgram("hillshade"),e.activeTexture.set(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,p.colorAttachment.get()),s=function(t,i,r){var e=r.paint.get("hillshade-shadow-color"),o=r.paint.get("hillshade-highlight-color"),s=r.paint.get("hillshade-accent-color"),f=r.paint.get("hillshade-illumination-direction")*(Math.PI/180),u;return"viewport"===r.paint.get("hillshade-illumination-anchor")&&(f-=t.transform.angle),u=!t.options.moving,{u_matrix:t.transform.calculatePosMatrix(i.tileID.toUnwrapped(),u),u_image:0,u_latrange:(u=i.tileID,i=Math.pow(2,u.canonical.z),u=u.canonical.y,[new n.MercatorCoordinate(0,u/i).toLngLat().lat,new n.MercatorCoordinate(0,(u+1)/i).toLngLat().lat]),u_light:[r.paint.get("hillshade-exaggeration"),f],u_shadow:e,u_highlight:o,u_accent:s}}(f,s,a),l.draw(e,c.TRIANGLES,w,k,nt,y.disabled,s,a.id,f.rasterBoundsBuffer,f.quadTriangleIndexBuffer,f.rasterBoundsSegments)));et.viewport.set([0,0,t.width,t.height])}},raster:function(t,i,r,u){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity")&&u.length)for(var s=t.context,f=s.gl,c=i.getSource(),k=t.useProgram("raster"),d=t.colorModeForRenderPass(),u=c instanceof ou?[{},u]:t.stencilConfigForOverlap(u),it=u[0],u=u[1],rt=u[u.length-1].overscaledZ,ut=!t.options.moving,p=0,g=u;p<g.length;p+=1){var h=g[p],nt=t.depthModeForSublayer(h.overscaledZ-rt,1===r.paint.get("raster-opacity")?o.ReadWrite:o.ReadOnly,f.LESS),e=i.getTile(h),ft=t.transform.calculatePosMatrix(h.toUnwrapped(),ut);e.registerFadeDuration(r.paint.get("raster-fade-duration"));var l=i.findLoadedParent(h,0),a=function(t,i,r,u,f){if(0<(e=u.paint.get("raster-fade-duration"))){var o=n.browser.now(),u=(o-t.timeAdded)/e,e=i?(o-i.timeAdded)/e:-1,r=r.getSource(),r=f.coveringZoomLevel({tileSize:r.tileSize,roundZoom:r.roundZoom}),r=!i||Math.abs(i.tileID.overscaledZ-r)>Math.abs(t.tileID.overscaledZ-r),e=r&&t.refreshedUponExpiration?1:n.clamp(r?u:1-e,0,1);return t.refreshedUponExpiration&&1<=u&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-e}:{opacity:e,mix:0}}return{opacity:1,mix:0}}(e,l,i,r,t.transform),v=void 0,tt=void 0,w="nearest"===r.paint.get("raster-resampling")?f.NEAREST:f.LINEAR;s.activeTexture.set(f.TEXTURE0);e.texture.bind(w,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST);s.activeTexture.set(f.TEXTURE1);l?(l.texture.bind(w,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),v=Math.pow(2,l.tileID.overscaledZ-e.tileID.overscaledZ),tt=[e.tileID.canonical.x*v%1,e.tileID.canonical.y*v%1]):e.texture.bind(w,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST);a=rb(ft,tt||[0,0],v||1,a,r);c instanceof ou?k.draw(s,f.TRIANGLES,nt,b.disabled,d,y.disabled,a,r.id,c.boundsBuffer,t.quadTriangleIndexBuffer,c.boundsSegments):k.draw(s,f.TRIANGLES,nt,it[h.overscaledZ],d,y.disabled,a,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,i,r){var it,rt,v,h,p,u,f,a,c,e,ut=r.paint.get("background-color"),w=r.paint.get("background-opacity"),g;if(0!==w){var k=t.context,ft=k.gl,d=t.transform,et=d.tileSize,l=r.paint.get("background-pattern");if(!t.isPatternMissing(l)&&(g=!l&&1===ut.a&&1===w&&t.opaquePassEnabledForLayer()?"opaque":"translucent",t.renderPass===g)){var st=b.disabled,ct=t.depthModeForSublayer(0,"opaque"==g?o.ReadWrite:o.ReadOnly),lt=t.colorModeForRenderPass(),at=t.useProgram(l?"backgroundPattern":"background"),d=d.coveringTiles({tileSize:et});l&&(k.activeTexture.set(ft.TEXTURE0),t.imageManager.bind(t.context));for(var vt=r.getCrossfadeParameters(),nt=0,ot=d;nt<ot.length;nt+=1){var s=ot[nt],tt=t.transform.calculatePosMatrix(s.toUnwrapped()),tt=l?(it=tt,rt=w,v=t,h=l,p={tileID:s,tileSize:et},u=vt,s=e=c=a=f=void 0,n.extend((f=h,a=u,e=p,s=(c=v).imageManager.getPattern(f.from.toString()),h=c.imageManager.getPattern(f.to.toString()),u=c.imageManager.getPixelSize(),p=u.width,v=u.height,f=Math.pow(2,e.tileID.overscaledZ),u=e.tileSize*Math.pow(2,c.transform.tileZoom)/f,f=u*(e.tileID.canonical.x+e.tileID.wrap*f),u*=e.tileID.canonical.y,{u_image:0,u_pattern_tl_a:s.tl,u_pattern_br_a:s.br,u_pattern_tl_b:h.tl,u_pattern_br_b:h.br,u_texsize:[p,v],u_mix:a.t,u_pattern_size_a:s.displaySize,u_pattern_size_b:h.displaySize,u_scale_a:a.fromScale,u_scale_b:a.toScale,u_tile_units_to_pixels:1/ht(e,1,c.transform.tileZoom),u_pixel_coord_upper:[f>>16,u>>16],u_pixel_coord_lower:[65535&f,65535&u]}),{u_matrix:it,u_opacity:rt})):{u_matrix:tt,u_opacity:w,u_color:ut};at.draw(k,ft.TRIANGLES,ct,st,lt,y.disabled,tt,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}},debug:function(n,t,i){for(var r=0;r<i.length;r++)lb(n,t,i[r])},custom:function(n,t,i){var u,r=n.context,i=i.implementation;"offscreen"===n.renderPass?(u=i.prerender)&&(n.setCustomLayerDefaults(),r.setColorMode(n.colorModeForRenderPass()),u.call(i,r.gl,n.transform.customLayerMatrix()),r.setDirty(),n.setBaseState()):"translucent"===n.renderPass&&(n.setCustomLayerDefaults(),r.setColorMode(n.colorModeForRenderPass()),r.setStencilMode(b.disabled),u="3d"===i.renderingMode?new o(n.context.gl.LEQUAL,o.ReadWrite,n.depthRangeFor3D):n.depthModeForSublayer(0,o.ReadOnly),r.setDepthMode(u),i.render(r.gl,n.transform.customLayerMatrix()),r.setDirty(),n.setBaseState(),r.bindFramebuffer.set(null))}};a.prototype.resize=function(t,i){if(this.width=t*n.browser.devicePixelRatio,this.height=i*n.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var r=0,u=this.style._order;r<u.length;r+=1)this.style._layers[u[r]].resize()};a.prototype.setup=function(){var i=this.context,t=new n.StructArrayLayout2i4;t.emplaceBack(0,0);t.emplaceBack(n.EXTENT,0);t.emplaceBack(0,n.EXTENT);t.emplaceBack(n.EXTENT,n.EXTENT);this.tileExtentBuffer=i.createVertexBuffer(t,uc.members);this.tileExtentSegments=n.SegmentVector.simpleSegment(0,0,4,2);t=new n.StructArrayLayout2i4;t.emplaceBack(0,0);t.emplaceBack(n.EXTENT,0);t.emplaceBack(0,n.EXTENT);t.emplaceBack(n.EXTENT,n.EXTENT);this.debugBuffer=i.createVertexBuffer(t,uc.members);this.debugSegments=n.SegmentVector.simpleSegment(0,0,4,5);t=new n.StructArrayLayout4i8;t.emplaceBack(0,0,0,0);t.emplaceBack(n.EXTENT,0,n.EXTENT,0);t.emplaceBack(0,n.EXTENT,0,n.EXTENT);t.emplaceBack(n.EXTENT,n.EXTENT,n.EXTENT,n.EXTENT);this.rasterBoundsBuffer=i.createVertexBuffer(t,ls.members);this.rasterBoundsSegments=n.SegmentVector.simpleSegment(0,0,4,2);t=new n.StructArrayLayout2i4;t.emplaceBack(0,0);t.emplaceBack(1,0);t.emplaceBack(0,1);t.emplaceBack(1,1);this.viewportBuffer=i.createVertexBuffer(t,uc.members);this.viewportSegments=n.SegmentVector.simpleSegment(0,0,4,2);t=new n.StructArrayLayout1ui2;t.emplaceBack(0);t.emplaceBack(1);t.emplaceBack(3);t.emplaceBack(2);t.emplaceBack(0);this.tileBorderIndexBuffer=i.createIndexBuffer(t);t=new n.StructArrayLayout3ui6;t.emplaceBack(0,1,2);t.emplaceBack(2,1,3);this.quadTriangleIndexBuffer=i.createIndexBuffer(t);this.emptyTexture=new n.Texture(i,{width:1,height:1,data:new Uint8Array([0,0,0,0])},i.gl.RGBA);i=this.context.gl;this.stencilClearMode=new b({func:i.ALWAYS,mask:0},0,255,i.ZERO,i.ZERO,i.ZERO)};a.prototype.clearStencil=function(){var r=this.context,i=r.gl,t;this.nextStencilID=1;this.currentStencilSource=void 0;t=n.create();n.ortho(t,0,this.width,this.height,0,0,1);n.scale(t,t,[i.drawingBufferWidth,i.drawingBufferHeight,0]);this.useProgram("clippingMask").draw(r,i.TRIANGLES,o.disabled,this.stencilClearMode,g.disabled,y.disabled,ka(t),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)};a.prototype._renderTileClippingMasks=function(n,t){var r,i,s,u,f,e,h;if(this.currentStencilSource!==n.source&&n.isTileClipped()&&t&&t.length)for(this.currentStencilSource=n.source,r=this.context,i=r.gl,256<this.nextStencilID+t.length&&this.clearStencil(),r.setColorMode(g.disabled),r.setDepthMode(o.disabled),s=this.useProgram("clippingMask"),this._tileClippingMaskIDs={},u=0,f=t;u<f.length;u+=1)e=f[u],h=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,s.draw(r,i.TRIANGLES,o.disabled,new b({func:i.ALWAYS,mask:0},h,255,i.KEEP,i.KEEP,i.REPLACE),g.disabled,y.disabled,ka(e.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)};a.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0;256<this.nextStencilID+1&&this.clearStencil();var t=this.nextStencilID++,n=this.context.gl;return new b({func:n.NOTEQUAL,mask:255},t,255,n.KEEP,n.KEEP,n.REPLACE)};a.prototype.stencilModeForClipping=function(n){var t=this.context.gl;return new b({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[n.key],0,t.KEEP,t.KEEP,t.REPLACE)};a.prototype.stencilConfigForOverlap=function(n){var r=this.context.gl,t=n.sort(function(n,t){return t.overscaledZ-n.overscaledZ}),f=t[t.length-1].overscaledZ,u=t[0].overscaledZ-f+1,e,i;if(1<u){for(this.currentStencilSource=void 0,256<this.nextStencilID+u&&this.clearStencil(),e={},i=0;i<u;i++)e[i+f]=new b({func:r.GEQUAL,mask:255},i+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=u,[e,t]}return[((n={})[f]=b.disabled,n),t]};a.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new g([t.CONSTANT_COLOR,t.ONE],new n.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?g.unblended:g.alphaBlended};a.prototype.depthModeForSublayer=function(n,t,i){return this.opaquePassEnabledForLayer()?(n=1-((1+this.currentLayer)*this.numSublayers+n)*this.depthEpsilon,new o(i||this.context.gl.LEQUAL,t,[n,n])):o.disabled};a.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff};a.prototype.render=function(t,i){var d=this,g,r,u,y,w,c,a,b,k,f;this.style=t;this.options=i;this.lineAtlas=t.lineAtlas;this.imageManager=t.imageManager;this.glyphManager=t.glyphManager;this.symbolFadeChange=t.placement.symbolFadeChange(n.browser.now());this.imageManager.beginFrame();r=this.style._order;u=this.style.sourceCaches;for(g in u)y=u[g],y.used&&y.prepare(this.context);var e,h,o,l={},p={},nt={};for(o in u)w=u[o],l[o]=w.getVisibleCoordinates(),p[o]=l[o].slice().reverse(),nt[o]=w.getVisibleCoordinates(!0).reverse();for(this.opaquePassCutoff=1/0,c=0;c<r.length;c++)if(this.style._layers[r[c]].is3D()){this.opaquePassCutoff=c;break}for(this.renderPass="offscreen",a=0,b=r;a<b.length;a+=1)f=this.style._layers[b[a]],f.hasOffscreenPass()&&!f.isHidden(this.transform.zoom)&&(k=p[f.source],"custom"!==f.type&&!k.length||this.renderLayer(this,u[f.source],f,k));for(this.context.bindFramebuffer.set(null),this.context.clear({color:i.showOverdrawInspector?n.Color.black:n.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass="opaque",this.currentLayer=r.length-1;0<=this.currentLayer;this.currentLayer--){var v=this.style._layers[r[this.currentLayer]],it=u[v.source],tt=l[v.source];this._renderTileClippingMasks(v,tt);this.renderLayer(this,it,v,tt)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<r.length;this.currentLayer++){var s=this.style._layers[r[this.currentLayer]],rt=u[s.source],ut=("symbol"===s.type?nt:p)[s.source];this._renderTileClippingMasks(s,l[s.source]);this.renderLayer(this,rt,s,ut)}this.options.showTileBoundaries&&(n.values(this.style._layers).forEach(function(n){n.source&&!n.isHidden(d.transform.zoom)&&(n.source!==(h&&h.id)&&(h=d.style.sourceCaches[n.source]),(!e||e.getSource().maxzoom<h.getSource().maxzoom)&&(e=h))}),e&&sc.debug(this,e,e.getVisibleCoordinates()));this.options.showPadding&&function(n){var t=n.transform.padding,r,i;cv(n,n.transform.height-(t.top||0),3,eb);cv(n,t.bottom||0,3,ob);lv(n,t.left||0,3,sb);lv(n,n.transform.width-(t.right||0),3,hb);i=n.transform.centerPoint;r=n;t=i.x;n=n.transform.height-i.y;fh(r,t-1,n-10,2,20,i=cb);fh(r,t-10,n-1,20,2,i)}(this);this.context.setDefault()};a.prototype.renderLayer=function(n,t,i,r){i.isHidden(this.transform.zoom)||"background"!==i.type&&"custom"!==i.type&&!r.length||(this.id=i.id,this.gpuTimingStart(i),sc[i.type](n,t,i,r,this.style.placement.variableOffsets),this.gpuTimingEnd())};a.prototype.gpuTimingStart=function(n){var t,i;this.options.gpuTiming&&(t=this.context.extTimerQuery,(i=(i=this.gpuTimers[n.id])||(this.gpuTimers[n.id]={calls:0,cpuTime:0,query:t.createQueryEXT()})).calls++,t.beginQueryEXT(t.TIME_ELAPSED_EXT,i.query))};a.prototype.gpuTimingEnd=function(){var n;this.options.gpuTiming&&(n=this.context.extTimerQuery).endQueryEXT(n.TIME_ELAPSED_EXT)};a.prototype.collectGpuTimers=function(){var n=this.gpuTimers;return this.gpuTimers={},n};a.prototype.queryGpuTimers=function(n){var t,r={};for(t in n){var u=n[t],i=this.context.extTimerQuery,f=i.getQueryObjectEXT(u.query,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(u.query);r[t]=f}return r};a.prototype.translatePosMatrix=function(t,i,r,u,f){if(!r[0]&&!r[1])return t;var e=f?"map"===u?this.transform.angle:0:"viewport"===u?-this.transform.angle:0;return e&&(u=Math.sin(e),e=Math.cos(e),r=[r[0]*e-r[1]*u,r[0]*u+r[1]*e]),i=[f?r[0]:ht(i,r[0],this.transform.zoom),f?r[1]:ht(i,r[1],this.transform.zoom),0],r=new Float32Array(16),n.translate(r,t,i),r};a.prototype.saveTileTexture=function(n){var t=this._tileTextures[n.size[0]];t?t.push(n):this._tileTextures[n.size[0]]=[n]};a.prototype.getTileTexture=function(n){return n=this._tileTextures[n],n&&0<n.length?n.pop():null};a.prototype.isPatternMissing=function(n){if(!n)return!1;if(!n.from||!n.to)return!0;var t=this.imageManager.getPattern(n.from.toString()),n=this.imageManager.getPattern(n.to.toString());return!t||!n};a.prototype.useProgram=function(n,t){this.cache=this.cache||{};var i=""+n+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[i]||(this.cache[i]=new pa(this.context,0,va[n],t,ub[n],this._showOverdrawInspector)),this.cache[i]};a.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO();this.context.cullFace.setDefault();this.context.activeTexture.setDefault();this.context.pixelStoreUnpack.setDefault();this.context.pixelStoreUnpackPremultiplyAlpha.setDefault();this.context.pixelStoreUnpackFlipY.setDefault()};a.prototype.setBaseState=function(){var n=this.context.gl;this.context.cullFace.set(!1);this.context.viewport.set([0,0,this.width,this.height]);this.context.blendEquation.set(n.FUNC_ADD)};a.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=n.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new n.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))};a.prototype.destroy=function(){this.emptyTexture.destroy();this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};hc.fromInvProjectionMatrix=function(t,i,r){var f=Math.pow(2,r),u=[[-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(function(i){return n.transformMat4([],i,t)}).map(function(t){return n.scale$1([],t,1/t[3]/i*f)}),r=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(function(t){var r=n.sub([],u[t[0]],u[t[1]]),i=n.sub([],u[t[2]],u[t[1]]),i=n.normalize([],n.cross([],r,i)),t=-n.dot(i,u[t[1]]);return i.concat(t)});return new hc(u,r)};fr.prototype.quadrant=function(t){for(var r=[t%2==0,t<2],f=n.clone$2(this.min),u=n.clone$2(this.max),i=0;i<r.length;i++)f[i]=(r[i]?this.min:this.center)[i],u[i]=(r[i]?this.center:this.max)[i];return u[2]=this.max[2],new fr(f,u)};fr.prototype.distanceX=function(n){return Math.max(Math.min(this.max[0],n[0]),this.min[0])-n[0]};fr.prototype.distanceY=function(n){return Math.max(Math.min(this.max[1],n[1]),this.min[1])-n[1]};fr.prototype.intersects=function(t){for(var i,r=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],s=!0,u=0;u<t.planes.length;u++){for(var a=t.planes[u],f=0,e=0;e<r.length;e++)f+=0<=n.dot$1(a,r[e]);if(0===f)return 0;f!==r.length&&(s=!1)}if(s)return 2;for(i=0;i<3;i++){for(var h=Number.MAX_VALUE,c=-Number.MAX_VALUE,o=0;o<t.points.length;o++)var l=t.points[o][i]-this.min[i],h=Math.min(h,l),c=Math.max(c,l);if(c<0||h>this.max[i]-this.min[i])return 0}return 1};ci.prototype.interpolate=function(t,i,r){return null!=i.top&&null!=t.top&&(this.top=n.number(t.top,i.top,r)),null!=i.bottom&&null!=t.bottom&&(this.bottom=n.number(t.bottom,i.bottom,r)),null!=i.left&&null!=t.left&&(this.left=n.number(t.left,i.left,r)),null!=i.right&&null!=t.right&&(this.right=n.number(t.right,i.right,r)),this};ci.prototype.getCenter=function(t,i){return t=n.clamp((this.left+t-this.right)/2,0,t),i=n.clamp((this.top+i-this.bottom)/2,0,i),new n.Point(t,i)};ci.prototype.equals=function(n){return this.top===n.top&&this.bottom===n.bottom&&this.left===n.left&&this.right===n.right};ci.prototype.clone=function(){return new ci(this.top,this.bottom,this.left,this.right)};ci.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};f={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};h.prototype.clone=function(){var n=new h(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return n.tileSize=this.tileSize,n.latRange=this.latRange,n.width=this.width,n.height=this.height,n._center=this._center,n.zoom=this.zoom,n.angle=this.angle,n._fov=this._fov,n._pitch=this._pitch,n._unmodified=this._unmodified,n._edgeInsets=this._edgeInsets.clone(),n._calcMatrices(),n};f.minZoom.get=function(){return this._minZoom};f.minZoom.set=function(n){this._minZoom!==n&&(this._minZoom=n,this.zoom=Math.max(this.zoom,n))};f.maxZoom.get=function(){return this._maxZoom};f.maxZoom.set=function(n){this._maxZoom!==n&&(this._maxZoom=n,this.zoom=Math.min(this.zoom,n))};f.minPitch.get=function(){return this._minPitch};f.minPitch.set=function(n){this._minPitch!==n&&(this._minPitch=n,this.pitch=Math.max(this.pitch,n))};f.maxPitch.get=function(){return this._maxPitch};f.maxPitch.set=function(n){this._maxPitch!==n&&(this._maxPitch=n,this.pitch=Math.min(this.pitch,n))};f.renderWorldCopies.get=function(){return this._renderWorldCopies};f.renderWorldCopies.set=function(n){void 0===n?n=!0:null===n&&(n=!1);this._renderWorldCopies=n};f.worldSize.get=function(){return this.tileSize*this.scale};f.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))};f.size.get=function(){return new n.Point(this.width,this.height)};f.bearing.get=function(){return-this.angle/Math.PI*180};f.bearing.set=function(t){t=-n.wrap(t,-180,180)*Math.PI/180;this.angle!==t&&(this._unmodified=!1,this.angle=t,this._calcMatrices(),this.rotationMatrix=n.create$2(),n.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))};f.pitch.get=function(){return this._pitch/Math.PI*180};f.pitch.set=function(t){t=n.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==t&&(this._unmodified=!1,this._pitch=t,this._calcMatrices())};f.fov.get=function(){return this._fov/Math.PI*180};f.fov.set=function(n){n=Math.max(.01,Math.min(60,n));this._fov!==n&&(this._unmodified=!1,this._fov=n/180*Math.PI,this._calcMatrices())};f.zoom.get=function(){return this._zoom};f.zoom.set=function(n){n=Math.min(Math.max(n,this.minZoom),this.maxZoom);this._zoom!==n&&(this._unmodified=!1,this._zoom=n,this.scale=this.zoomScale(n),this.tileZoom=Math.floor(n),this.zoomFraction=n-this.tileZoom,this._constrain(),this._calcMatrices())};f.center.get=function(){return this._center};f.center.set=function(n){n.lat===this._center.lat&&n.lng===this._center.lng||(this._unmodified=!1,this._center=n,this._constrain(),this._calcMatrices())};f.padding.get=function(){return this._edgeInsets.toJSON()};f.padding.set=function(n){this._edgeInsets.equals(n)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,n,1),this._calcMatrices())};f.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)};h.prototype.isPaddingEqual=function(n){return this._edgeInsets.equals(n)};h.prototype.interpolatePadding=function(n,t,i){this._unmodified=!1;this._edgeInsets.interpolate(n,t,i);this._constrain();this._calcMatrices()};h.prototype.coveringZoomLevel=function(n){return n=(n.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/n.tileSize)),Math.max(0,n)};h.prototype.getVisibleUnwrappedCoordinates=function(t){var r=[new n.UnwrappedTileID(0,t)];if(this._renderWorldCopies)for(var u=this.pointCoordinate(new n.Point(0,0)),f=this.pointCoordinate(new n.Point(this.width,0)),e=this.pointCoordinate(new n.Point(this.width,this.height)),o=this.pointCoordinate(new n.Point(0,this.height)),s=Math.floor(Math.min(u.x,f.x,e.x,o.x)),h=Math.floor(Math.max(u.x,f.x,e.x,o.x)),i=s-1;i<=h+1;i++)0!==i&&r.push(new n.UnwrappedTileID(i,t));return r};h.prototype.coveringTiles=function(t){function c(n){return{aabb:new fr([n*e,0,0],[(n+1)*e,e,0]),zoom:0,x:0,y:0,wrap:n,fullyVisible:!1}}var r=this.coveringZoomLevel(t),g=r,o,s,f,k,d;if(void 0!==t.minzoom&&r<t.minzoom)return[];void 0!==t.maxzoom&&r>t.maxzoom&&(r=t.maxzoom);var p=n.MercatorCoordinate.fromLngLat(this.center),e=Math.pow(2,r),h=[e*p.x,e*p.y,0],nt=hc.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),w=t.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(w=r);var u=[],b=[],l=r,tt=t.reparseOverscaled?g:r;if(this._renderWorldCopies)for(o=1;o<=3;o++)u.push(c(-o)),u.push(c(o));for(u.push(c(0));0<u.length;){var i=u.pop(),a=i.x,v=i.y,y=i.fullyVisible;if(!y){if(s=i.aabb.intersects(nt),0===s)continue;y=2===s}var it=i.aabb.distanceX(h),s=i.aabb.distanceY(h),s=Math.max(Math.abs(it),Math.abs(s));if(i.zoom===l||s>3+(1<<l-i.zoom)-2&&i.zoom>=w)b.push({tileID:new n.OverscaledTileID(i.zoom===l?tt:i.zoom,i.wrap,i.zoom,a,v),distanceSq:n.sqrLen([h[0]-.5-a,h[1]-.5-v])});else for(f=0;f<4;f++)k=(a<<1)+f%2,d=(v<<1)+(f>>1),u.push({aabb:i.aabb.quadrant(f),zoom:i.zoom+1,x:k,y:d,wrap:i.wrap,fullyVisible:y})}return b.sort(function(n,t){return n.distanceSq-t.distanceSq}).map(function(n){return n.tileID})};h.prototype.resize=function(n,t){this.width=n;this.height=t;this.pixelsToGLUnits=[2/n,-2/t];this._constrain();this._calcMatrices()};f.unmodified.get=function(){return this._unmodified};h.prototype.zoomScale=function(n){return Math.pow(2,n)};h.prototype.scaleZoom=function(n){return Math.log(n)/Math.LN2};h.prototype.project=function(t){var i=n.clamp(t.lat,-this.maxValidLatitude,this.maxValidLatitude);return new n.Point(n.mercatorXfromLng(t.lng)*this.worldSize,n.mercatorYfromLat(i)*this.worldSize)};h.prototype.unproject=function(t){return new n.MercatorCoordinate(t.x/this.worldSize,t.y/this.worldSize).toLngLat()};f.point.get=function(){return this.project(this.center)};h.prototype.setLocationAtPoint=function(t,i){var r=this.pointCoordinate(i),i=this.pointCoordinate(this.centerPoint),t=this.locationCoordinate(t),i=new n.MercatorCoordinate(t.x-(r.x-i.x),t.y-(r.y-i.y));this.center=this.coordinateLocation(i);this._renderWorldCopies&&(this.center=this.center.wrap())};h.prototype.locationPoint=function(n){return this.coordinatePoint(this.locationCoordinate(n))};h.prototype.pointLocation=function(n){return this.coordinateLocation(this.pointCoordinate(n))};h.prototype.locationCoordinate=function(t){return n.MercatorCoordinate.fromLngLat(t)};h.prototype.coordinateLocation=function(n){return n.toLngLat()};h.prototype.pointCoordinate=function(t){var i=[t.x,t.y,0,1],r=[t.x,t.y,1,1];n.transformMat4(i,i,this.pixelMatrixInverse);n.transformMat4(r,r,this.pixelMatrixInverse);var f=i[3],e=r[3],o=i[1]/f,s=r[1]/e,u=i[2]/f,t=r[2]/e,u=u==t?0:(0-u)/(t-u);return new n.MercatorCoordinate(n.number(i[0]/f,r[0]/e,u)/this.worldSize,n.number(o,s,u)/this.worldSize)};h.prototype.coordinatePoint=function(t){return t=[t.x*this.worldSize,t.y*this.worldSize,0,1],n.transformMat4(t,t,this.pixelMatrix),new n.Point(t[0]/t[3],t[1]/t[3])};h.prototype.getBounds=function(){return(new n.LngLatBounds).extend(this.pointLocation(new n.Point(0,0))).extend(this.pointLocation(new n.Point(this.width,0))).extend(this.pointLocation(new n.Point(this.width,this.height))).extend(this.pointLocation(new n.Point(0,this.height)))};h.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new n.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null};h.prototype.setMaxBounds=function(n){n?(this.lngRange=[n.getWest(),n.getEast()],this.latRange=[n.getSouth(),n.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])};h.prototype.calculatePosMatrix=function(t,i){var r=t.key,u=(i=void 0===i?!1:i)?this._alignedPosMatrixCache:this._posMatrixCache;if(u[r])return u[r];var f=t.canonical,e=this.worldSize/this.zoomScale(f.z),o=f.x+Math.pow(2,f.z)*t.wrap,t=n.identity(new Float64Array(16));return n.translate(t,t,[o*e,f.y*e,0]),n.scale(t,t,[e/n.EXTENT,e/n.EXTENT,1]),n.multiply(t,i?this.alignedProjMatrix:this.projMatrix,t),u[r]=new Float32Array(t),u[r]};h.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()};h.prototype._constrain=function(){var e,i,r;if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var o,s,l,a,u=-90,h=90,f=-180,c=180,t=this.size,v=this._unmodified;if(this.latRange&&(i=this.latRange,u=n.mercatorYfromLat(i[1])*this.worldSize,l=(h=n.mercatorYfromLat(i[0])*this.worldSize)-u<t.y?t.y/(h-u):0),this.lngRange&&(r=this.lngRange,f=n.mercatorXfromLng(r[0])*this.worldSize,a=(c=n.mercatorXfromLng(r[1])*this.worldSize)-f<t.x?t.x/(c-f):0),i=this.point,r=Math.max(a||0,l||0),r)return this.center=this.unproject(new n.Point(a?(c+f)/2:i.x,l?(h+u)/2:i.y)),this.zoom+=this.scaleZoom(r),this._unmodified=v,void(this._constraining=!1);this.latRange&&((r=i.y)-(e=t.y/2)<u&&(s=u+e),h<r+e&&(s=h-e));this.lngRange&&((e=i.x)-(t=t.x/2)<f&&(o=f+t),c<e+t&&(o=c-t));void 0===o&&void 0===s||(this.center=this.unproject(new n.Point(void 0!==o?o:i.x,void 0!==s?s:i.y)));this._unmodified=v;this._constraining=!1}};h.prototype._calcMatrices=function(){var i;if(this.height){i=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var e=Math.PI/2+this._pitch,f=this._fov*(.5+i.y/this.height),r=Math.sin(f)*this.cameraToCenterDistance/Math.sin(n.clamp(Math.PI-e-f,.01,Math.PI-.01)),t=this.point,u=t.x,o=t.y,e=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),f=this.height/50,t=new Float64Array(16);if(n.perspective(t,this._fov,this.width/this.height,f,e),t[8]=2*-i.x/this.width,t[9]=2*i.y/this.height,n.scale(t,t,[1,-1,1]),n.translate(t,t,[0,0,-this.cameraToCenterDistance]),n.rotateX(t,t,this._pitch),n.rotateZ(t,t,this.angle),n.translate(t,t,[-u,-o,0]),this.mercatorMatrix=n.scale([],t,[this.worldSize,this.worldSize,this.worldSize]),n.scale(t,t,[1,1,n.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=t,this.invProjMatrix=n.invert([],this.projMatrix),r=this.width%2/2,f=this.height%2/2,e=Math.cos(this.angle),i=Math.sin(this.angle),u=u-Math.round(u)+e*r+i*f,i=o-Math.round(o)+e*f+i*r,r=new Float64Array(t),n.translate(r,r,[.5<u?u-1:u,.5<i?i-1:i,0]),this.alignedProjMatrix=r,t=n.create(),n.scale(t,t,[this.width/2,-this.height/2,1]),n.translate(t,t,[1,-1,0]),this.labelPlaneMatrix=t,t=n.create(),n.scale(t,t,[1,-1,1]),n.translate(t,t,[-1,-1,0]),n.scale(t,t,[2/this.width,2/this.height,1]),this.glCoordMatrix=t,this.pixelMatrix=n.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(t=n.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=t;this._posMatrixCache={};this._alignedPosMatrixCache={}}};h.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var t=this.pointCoordinate(new n.Point(0,0)),t=[t.x*this.worldSize,t.y*this.worldSize,0,1];return n.transformMat4(t,t,this.pixelMatrix)[3]/this.cameraToCenterDistance};h.prototype.getCameraPoint=function(){var t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new n.Point(0,t))};h.prototype.getCameraQueryGeometry=function(t){var i=this.getCameraPoint();if(1===t.length)return[t[0],i];for(var r=i.x,u=i.y,e=i.x,o=i.y,s=0,h=t;s<h.length;s+=1)var f=h[s],r=Math.min(r,f.x),u=Math.min(u,f.y),e=Math.max(e,f.x),o=Math.max(o,f.y);return[new n.Point(r,u),new n.Point(e,u),new n.Point(e,o),new n.Point(r,o),new n.Point(r,u)]};Object.defineProperties(h.prototype,f);li.prototype.addTo=function(t){return this._map=t,n.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this};li.prototype.remove=function(){return n.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this};li.prototype.getHashString=function(t){var u=this._map.getCenter(),f=Math.round(100*this._map.getZoom())/100,e=Math.ceil((f*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,e),o=Math.round(u.lng*i)/i,e=Math.round(u.lat*i)/i,u=this._map.getBearing(),i=this._map.getPitch(),r="";if(r+=t?"/"+o+"/"+e+"/"+f:f+"/"+e+"/"+o,(u||i)&&(r+="/"+Math.round(10*u)/10),i&&(r+="/"+Math.round(i)),this._hashName){var s=this._hashName,h=!1,i=n.window.location.hash.slice(1).split("&").map(function(n){var t=n.split("=")[0];return t===s?(h=!0,t+"="+r):n}).filter(function(n){return n});return h||i.push(s+"="+r),"#"+i.join("&")}return"#"+r};li.prototype._getCurrentHash=function(){var t,r=this,i=n.window.location.hash.replace("#","");return this._hashName?(i.split("&").map(function(n){return n.split("=")}).forEach(function(n){n[0]===r._hashName&&(t=n)}),(t&&t[1]||"").split("/")):i.split("/")};li.prototype._onHashChange=function(){var n=this._getCurrentHash(),t;return 3<=n.length&&!n.some(function(n){return isNaN(n)})?(t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(n[3]||0):this._map.getBearing(),this._map.jumpTo({center:[+n[2],+n[1]],zoom:+n[0],bearing:t,pitch:+(n[4]||0)}),!0):!1};li.prototype._updateHashUnthrottled=function(){var t=n.window.location.href.replace(/(#.+)?$/,this.getHashString());try{n.window.history.replaceState(n.window.history.state,null,t)}catch(t){}};var si={linearity:.3,easing:n.bezier(0,0,.3,1)},ab=n.extend({deceleration:2500,maxSpeed:1400},si),vb=n.extend({deceleration:20,maxSpeed:1400},si),yb=n.extend({deceleration:1e3,maxSpeed:360},si),pb=n.extend({deceleration:1e3,maxSpeed:90},si);wo.prototype.clear=function(){this._inertiaBuffer=[]};wo.prototype.record=function(t){this._drainInertiaBuffer();this._inertiaBuffer.push({time:n.browser.now(),settings:t})};wo.prototype._drainInertiaBuffer=function(){for(var t=this._inertiaBuffer,i=n.browser.now();0<t.length&&160<i-t[0].time;)t.shift()};wo.prototype._onMoveEnd=function(t){var u,f,e,o,r;if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var i={zoom:0,bearing:0,pitch:0,pan:new n.Point(0,0),pinchAround:void 0,around:void 0},s=0,h=this._inertiaBuffer;s<h.length;s+=1)u=h[s].settings,i.zoom+=u.zoomDelta||0,i.bearing+=u.bearingDelta||0,i.pitch+=u.pitchDelta||0,u.panDelta&&i.pan._add(u.panDelta),u.around&&(i.around=u.around),u.pinchAround&&(i.pinchAround=u.pinchAround);return o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,r={},i.pan.mag()&&(t=oh(i.pan.mag(),o,n.extend({},ab,t||{})),r.offset=i.pan.mult(t.amount/i.pan.mag()),r.center=this._map.transform.center,eh(r,t)),i.zoom&&(f=oh(i.zoom,o,vb),r.zoom=this._map.transform.zoom+f.amount,eh(r,f)),i.bearing&&(f=oh(i.bearing,o,yb),r.bearing=this._map.transform.bearing+n.clamp(f.amount,-179,179),eh(r,f)),i.pitch&&(e=oh(i.pitch,o,pb),r.pitch=this._map.transform.pitch+e.amount,eh(r,e)),(r.zoom||r.bearing)&&(e=void 0===i.pinchAround?i.around:i.pinchAround,r.around=e?this._map.unproject(e):this._map.getCenter()),this.clear(),n.extend(r,{noMoveStart:!0})}};var vt=function(i){function r(r,u,f,e){void 0===e&&(e={});var o=t.mousePos(u.getCanvasContainer(),f),s=u.unproject(o);i.call(this,r,n.extend({point:o,lngLat:s,originalEvent:f},e));this._defaultPrevented=!1;this.target=u}i&&(r.__proto__=i);var u={defaultPrevented:{configurable:!0}};return((r.prototype=Object.create(i&&i.prototype)).constructor=r).prototype.preventDefault=function(){this._defaultPrevented=!0},u.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,u),r}(n.Event),sh=function(i){function r(r,u,f){var o="touchend"===r?f.changedTouches:f.touches,e=t.touchPos(u.getCanvasContainer(),o),h=e.map(function(n){return u.unproject(n)}),s=e.reduce(function(n,t,i,r){return n.add(t.div(r.length))},new n.Point(0,0)),o=u.unproject(s);i.call(this,r,{points:e,point:s,lngLats:h,lngLat:o,originalEvent:f});this._defaultPrevented=!1}i&&(r.__proto__=i);var u={defaultPrevented:{configurable:!0}};return((r.prototype=Object.create(i&&i.prototype)).constructor=r).prototype.preventDefault=function(){this._defaultPrevented=!0},u.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,u),r}(n.Event),wb=function(n){function t(t,i,r){n.call(this,t,{originalEvent:r});this._defaultPrevented=!1}n&&(t.__proto__=n);var i={defaultPrevented:{configurable:!0}};return((t.prototype=Object.create(n&&n.prototype)).constructor=t).prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(t.prototype,i),t}(n.Event);nt.prototype.reset=function(){delete this._mousedownPos};nt.prototype.wheel=function(n){return this._firePreventable(new wb(n.type,this._map,n))};nt.prototype.mousedown=function(n,t){return this._mousedownPos=t,this._firePreventable(new vt(n.type,this._map,n))};nt.prototype.mouseup=function(n){this._map.fire(new vt(n.type,this._map,n))};nt.prototype.click=function(n,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new vt(n.type,this._map,n))};nt.prototype.dblclick=function(n){return this._firePreventable(new vt(n.type,this._map,n))};nt.prototype.mouseover=function(n){this._map.fire(new vt(n.type,this._map,n))};nt.prototype.mouseout=function(n){this._map.fire(new vt(n.type,this._map,n))};nt.prototype.touchstart=function(n){return this._firePreventable(new sh(n.type,this._map,n))};nt.prototype.touchmove=function(n){this._map.fire(new sh(n.type,this._map,n))};nt.prototype.touchend=function(n){this._map.fire(new sh(n.type,this._map,n))};nt.prototype.touchcancel=function(n){this._map.fire(new sh(n.type,this._map,n))};nt.prototype._firePreventable=function(n){if(this._map.fire(n),n.defaultPrevented)return{}};nt.prototype.isEnabled=function(){return!0};nt.prototype.isActive=function(){return!1};nt.prototype.enable=function(){};nt.prototype.disable=function(){};ni.prototype.reset=function(){this._delayContextMenu=!1;delete this._contextMenuEvent};ni.prototype.mousemove=function(n){this._map.fire(new vt(n.type,this._map,n))};ni.prototype.mousedown=function(){this._delayContextMenu=!0};ni.prototype.mouseup=function(){this._delayContextMenu=!1;this._contextMenuEvent&&(this._map.fire(new vt("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)};ni.prototype.contextmenu=function(n){this._delayContextMenu?this._contextMenuEvent=n:this._map.fire(new vt(n.type,this._map,n));this._map.listens("contextmenu")&&n.preventDefault()};ni.prototype.isEnabled=function(){return!0};ni.prototype.isActive=function(){return!1};ni.prototype.enable=function(){};ni.prototype.disable=function(){};wt.prototype.isEnabled=function(){return!!this._enabled};wt.prototype.isActive=function(){return!!this._active};wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)};wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)};wt.prototype.mousedown=function(n,i){this.isEnabled()&&n.shiftKey&&0===n.button&&(t.disableDrag(),this._startPos=this._lastPos=i,this._active=!0)};wt.prototype.mousemoveWindow=function(n,i){var u,f,r;this._active&&(this._lastPos.equals(r=i)||!this._box&&r.dist(this._startPos)<this._clickTolerance||(u=this._startPos,this._lastPos=r,this._box||(this._box=t.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",n)),f=Math.min(u.x,r.x),i=Math.max(u.x,r.x),n=Math.min(u.y,r.y),r=Math.max(u.y,r.y),t.setTransform(this._box,"translate("+f+"px,"+n+"px)"),this._box.style.width=i-f+"px",this._box.style.height=r-n+"px"))};wt.prototype.mouseupWindow=function(i,r){var e=this,u,f;if(this._active&&0===i.button){if(u=this._startPos,f=r,this.reset(),t.suppressClick(),u.x!==f.x||u.y!==f.y)return this._map.fire(new n.Event("boxzoomend",{originalEvent:i})),{cameraAnimation:function(n){return n.fitScreenCoordinates(u,f,e._map.getBearing(),{linear:!0})}};this._fireEvent("boxzoomcancel",i)}};wt.prototype.keydown=function(n){this._active&&27===n.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",n))};wt.prototype.reset=function(){this._active=!1;this._container.classList.remove("mapboxgl-crosshair");this._box&&(t.remove(this._box),this._box=null);t.enableDrag();delete this._startPos;delete this._lastPos};wt.prototype._fireEvent=function(t,i){return this._map.fire(new n.Event(t,{originalEvent:i}))};bo.prototype.reset=function(){delete this.centroid;delete this.startTime;delete this.touches;this.aborted=!1};bo.prototype.touchstart=function(t,i,r){(this.centroid||r.length>this.numTouches)&&(this.aborted=!0);this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),r.length===this.numTouches&&(this.centroid=function(t){for(var r=new n.Point(0,0),i=0,u=t;i<u.length;i+=1)r._add(u[i]);return r.div(t.length)}(i),this.touches=cc(r,i)))};bo.prototype.touchmove=function(n,t,i){var r,f,u;if(!this.aborted&&this.centroid){f=cc(i,t);for(r in this.touches)u=f[r],(!u||30<u.dist(this.touches[r]))&&(this.aborted=!0)}};bo.prototype.touchend=function(n,t,i){if(((!this.centroid||500<n.timeStamp-this.startTime)&&(this.aborted=!0),0===i.length)&&(i=!this.aborted&&this.centroid,this.reset(),i))return i};ai.prototype.reset=function(){this.lastTime=1/0;delete this.lastTap;this.count=0;this.singleTap.reset()};ai.prototype.touchstart=function(n,t,i){this.singleTap.touchstart(n,t,i)};ai.prototype.touchmove=function(n,t,i){this.singleTap.touchmove(n,t,i)};ai.prototype.touchend=function(n,t,i){var r=this.singleTap.touchend(n,t,i);if(r&&(t=n.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30,t&&i||this.reset(),this.count++,this.lastTime=n.timeStamp,this.lastTap=r,this.count===this.numTaps))return this.reset(),r};ti.prototype.reset=function(){this._active=!1;this._zoomIn.reset();this._zoomOut.reset()};ti.prototype.touchstart=function(n,t,i){this._zoomIn.touchstart(n,t,i);this._zoomOut.touchstart(n,t,i)};ti.prototype.touchmove=function(n,t,i){this._zoomIn.touchmove(n,t,i);this._zoomOut.touchmove(n,t,i)};ti.prototype.touchend=function(n,t,i){var r=this,u=this._zoomIn.touchend(n,t,i),f=this._zoomOut.touchend(n,t,i);return u?(this._active=!0,n.preventDefault(),setTimeout(function(){return r.reset()},0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(u)},{originalEvent:n})}}):f?(this._active=!0,n.preventDefault(),setTimeout(function(){return r.reset()},0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(f)},{originalEvent:n})}}):void 0};ti.prototype.touchcancel=function(){this.reset()};ti.prototype.enable=function(){this._enabled=!0};ti.prototype.disable=function(){this._enabled=!1;this.reset()};ti.prototype.isEnabled=function(){return this._enabled};ti.prototype.isActive=function(){return this._active};av={0:1,2:2};p=function(n){this.reset();this._clickTolerance=n.clickTolerance||1};p.prototype.reset=function(){this._active=!1;this._moved=!1;delete this._lastPoint;delete this._eventButton};p.prototype._correctButton=function(){return!1};p.prototype._move=function(){return{}};p.prototype.mousedown=function(n,i){var r;this._lastPoint||(r=t.mouseButton(n),this._correctButton(n,r)&&(this._lastPoint=i,this._eventButton=r))};p.prototype.mousemoveWindow=function(n,t){var i=this._lastPoint;if(i)if(n.preventDefault(),function(t){return t=av[t],void 0===n.buttons||(n.buttons&t)!==t}(this._eventButton))this.reset();else if(this._moved||!(t.dist(i)<this._clickTolerance))return this._moved=!0,this._lastPoint=t,this._move(i,t)};p.prototype.mouseupWindow=function(n){this._lastPoint&&t.mouseButton(n)===this._eventButton&&(this._moved&&t.suppressClick(),this.reset())};p.prototype.enable=function(){this._enabled=!0};p.prototype.disable=function(){this._enabled=!1;this.reset()};p.prototype.isEnabled=function(){return this._enabled};p.prototype.isActive=function(){return this._active};var ko,go,er,bb=((er=p)&&(hr.__proto__=er),((hr.prototype=Object.create(er&&er.prototype)).constructor=hr).prototype.mousedown=function(n,t){er.prototype.mousedown.call(this,n,t);this._lastPoint&&(this._active=!0)},hr.prototype._correctButton=function(n,t){return 0===t&&!n.ctrlKey},hr.prototype._move=function(n,t){return{around:t,panDelta:t.sub(n)}},hr),vv=((go=p)&&(sr.__proto__=go),((sr.prototype=Object.create(go&&go.prototype)).constructor=sr).prototype._correctButton=function(n,t){return 0===t&&n.ctrlKey||2===t},sr.prototype._move=function(n,t){return n=.8*(t.x-n.x),n?(this._active=!0,{bearingDelta:n}):void 0},sr.prototype.contextmenu=function(n){n.preventDefault()},sr),yv=((ko=p)&&(or.__proto__=ko),((or.prototype=Object.create(ko&&ko.prototype)).constructor=or).prototype._correctButton=function(n,t){return 0===t&&n.ctrlKey||2===t},or.prototype._move=function(n,t){return n=-.5*(t.y-n.y),n?(this._active=!0,{pitchDelta:n}):void 0},or.prototype.contextmenu=function(n){n.preventDefault()},or);bt.prototype.reset=function(){this._active=!1;this._touches={};this._sum=new n.Point(0,0)};bt.prototype.touchstart=function(n,t,i){return this._calculateTransform(n,t,i)};bt.prototype.touchmove=function(n,t,i){if(this._active&&!(i.length<this._minTouches))return n.preventDefault(),this._calculateTransform(n,t,i)};bt.prototype.touchend=function(n,t,i){this._calculateTransform(n,t,i);this._active&&i.length<this._minTouches&&this.reset()};bt.prototype.touchcancel=function(){this.reset()};bt.prototype._calculateTransform=function(t,i,r){var o,h;0<r.length&&(this._active=!0);var u,f=cc(r,i),c=new n.Point(0,0),s=new n.Point(0,0),e=0;for(u in f)o=f[u],h=this._touches[u],h&&(c._add(o),s._add(o.sub(h)),e++,f[u]=o);if((this._touches=f,!(e<this._minTouches)&&s.mag())&&(i=s.div(e),this._sum._add(i),!(this._sum.mag()<this._clickTolerance)))return{around:c.div(e),panDelta:i}};bt.prototype.enable=function(){this._enabled=!0};bt.prototype.disable=function(){this._enabled=!1;this.reset()};bt.prototype.isEnabled=function(){return this._enabled};bt.prototype.isActive=function(){return this._active};r=function(){this.reset()};r.prototype.reset=function(){this._active=!1;delete this._firstTwoTouches};r.prototype._start=function(){};r.prototype._move=function(){return{}};r.prototype.touchstart=function(n,t,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([t[0],t[1]]))};r.prototype.touchmove=function(n,t,i){if(this._firstTwoTouches){n.preventDefault();var r=this._firstTwoTouches,u=r[1],r=hh(i,t,r[0]),t=hh(i,t,u);if(r&&t)return u=this._aroundCenter?null:r.add(t).div(2),this._move([r,t],u,n)}};r.prototype.touchend=function(n,i,r){var u,f;this._firstTwoTouches&&(f=(u=this._firstTwoTouches)[1],u=hh(r,i,u[0]),f=hh(r,i,f),u&&f||(this._active&&t.suppressClick(),this.reset()))};r.prototype.touchcancel=function(){this.reset()};r.prototype.enable=function(n){this._enabled=!0;this._aroundCenter=!!n&&"center"===n.around};r.prototype.disable=function(){this._enabled=!1;this.reset()};r.prototype.isEnabled=function(){return this._enabled};r.prototype.isActive=function(){return this._active};wv=((cr=r)&&(lr.__proto__=cr),((lr.prototype=Object.create(cr&&cr.prototype)).constructor=lr).prototype.reset=function(){cr.prototype.reset.call(this);delete this._distance;delete this._startDistance},lr.prototype._start=function(n){this._startDistance=this._distance=n[0].dist(n[1])},lr.prototype._move=function(n,t){var i=this._distance;if(this._distance=n[0].dist(n[1]),this._active||!(Math.abs(pv(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:pv(this._distance,i),pinchAround:t}},lr);kv=((ar=r)&&(vi.__proto__=ar),((vi.prototype=Object.create(ar&&ar.prototype)).constructor=vi).prototype.reset=function(){ar.prototype.reset.call(this);delete this._minDiameter;delete this._startVector;delete this._vector},vi.prototype._start=function(n){this._startVector=this._vector=n[0].sub(n[1]);this._minDiameter=n[0].dist(n[1])},vi.prototype._move=function(n,t){var i=this._vector;if(this._vector=n[0].sub(n[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:bv(this._vector,i),pinchAround:t}},vi.prototype._isBelowThreshold=function(n){this._minDiameter=Math.min(this._minDiameter,n.mag());var t=9e3/(Math.PI*this._minDiameter),n=bv(n,this._startVector);return Math.abs(n)<t},vi);dv=((vr=r)&&(yi.__proto__=vr),((yi.prototype=Object.create(vr&&vr.prototype)).constructor=yi).prototype.reset=function(){vr.prototype.reset.call(this);this._valid=void 0;delete this._firstMove;delete this._lastPoints},yi.prototype._start=function(n){lc((this._lastPoints=n)[0].sub(n[1]))&&(this._valid=!1)},yi.prototype._move=function(n,t,i){var r=n[0].sub(this._lastPoints[0]),u=n[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(r,u,i.timeStamp),this._valid)return this._lastPoints=n,this._active=!0,{pitchDelta:(r.y+u.y)/2*-.5}},yi.prototype.gestureBeginsVertically=function(n,t,i){if(void 0!==this._valid)return this._valid;var r=2<=n.mag(),u=2<=t.mag();if(r||u)return!r||!u?(void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0):(i=0<n.y==0<t.y,lc(n)&&lc(t)&&i)},yi);gv={panStep:100,bearingStep:15,pitchStep:10};fi.prototype.reset=function(){this._active=!1};fi.prototype.keydown=function(n){var t=this;if(!(n.altKey||n.ctrlKey||n.metaKey)){var i=0,r=0,u=0,f=0,e=0;switch(n.keyCode){case 61:case 107:case 171:case 187:i=1;break;case 189:case 109:case 173:i=-1;break;case 37:n.shiftKey?r=-1:(n.preventDefault(),f=-1);break;case 39:n.shiftKey?r=1:(n.preventDefault(),f=1);break;case 38:n.shiftKey?u=1:(n.preventDefault(),e=-1);break;case 40:n.shiftKey?u=-1:(n.preventDefault(),e=1);break;default:return}return this._rotationDisabled&&(u=r=0),{cameraAnimation:function(o){var s=o.getZoom();o.easeTo({duration:300,easeId:"keyboardHandler",easing:kb,zoom:i?Math.round(s)+i*(n.shiftKey?2:1):s,bearing:o.getBearing()+r*t._bearingStep,pitch:o.getPitch()+u*t._pitchStep,offset:[-f*t._panStep,-e*t._panStep],center:o.getCenter()},{originalEvent:n})}}}};fi.prototype.enable=function(){this._enabled=!0};fi.prototype.disable=function(){this._enabled=!1;this.reset()};fi.prototype.isEnabled=function(){return this._enabled};fi.prototype.isActive=function(){return this._active};fi.prototype.disableRotation=function(){this._rotationDisabled=!0};fi.prototype.enableRotation=function(){this._rotationDisabled=!1};ft.prototype.setZoomRate=function(n){this._defaultZoomRate=n};ft.prototype.setWheelZoomRate=function(n){this._wheelZoomRate=n};ft.prototype.isEnabled=function(){return!!this._enabled};ft.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout};ft.prototype.isZooming=function(){return!!this._zooming};ft.prototype.enable=function(n){this.isEnabled()||(this._enabled=!0,this._aroundCenter=n&&"center"===n.around)};ft.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)};ft.prototype.wheel=function(t){var i,u,r;this.isEnabled()&&(i=t.deltaMode===n.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY,r=(u=n.browser.now())-(this._lastWheelEventTime||0),this._lastWheelEventTime=u,0!==i&&i%4.000244140625==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":400<r?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(r*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),t.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=t,this._delta-=i,this._active||this._start(t)),t.preventDefault())};ft.prototype._onTimeout=function(n){this._type="wheel";this._delta-=this._lastValue;this._active||this._start(n)};ft.prototype._start=function(i){this._delta&&(this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout),i=t.mousePos(this._el,i),this._around=n.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(i)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame()))};ft.prototype.renderFrame=function(){var f=this,t;if(this._frameId&&(this._frameId=null,this.isActive())){t=this._map.transform;0!==this._delta&&(e="wheel"===this._type&&4.000244140625<Math.abs(this._delta)?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*e))),this._delta<0&&0!==i&&(i=1/i),r="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale,this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(r*i))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0);var u,o="number"==typeof this._targetZoom?this._targetZoom:t.zoom,e=this._startZoom,r=this._easing,i=!1;return"wheel"===this._type&&e&&r?(u=r(r=Math.min((n.browser.now()-this._lastWheelEventTime)/200,1)),u=n.number(e,o,u),r<1?this._frameId||(this._frameId=!0):i=!0):(u=o,i=!0),this._active=!0,i&&(this._active=!1,this._finishTimeout=setTimeout(function(){f._zooming=!1;f._handler._triggerRenderFrame();delete f._targetZoom;delete f._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!i,zoomDelta:u-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}};ft.prototype._smoothOutEasing=function(t){var r,i,u=n.ease;return this._prevEase&&(i=this._prevEase,r=(n.browser.now()-i.start)/i.duration,i=i.easing(.01+r)-i.easing(r),r=.27/Math.sqrt(i*i+.0001)*.01,i=Math.sqrt(.0729-r*r),u=n.bezier(r,i,.25,1)),this._prevEase={start:n.browser.now(),duration:t,easing:u},u};ft.prototype.reset=function(){this._active=!1};ns.prototype.enable=function(){this._clickZoom.enable();this._tapZoom.enable()};ns.prototype.disable=function(){this._clickZoom.disable();this._tapZoom.disable()};ns.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()};ns.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};pi.prototype.reset=function(){this._active=!1};pi.prototype.dblclick=function(n,t){return n.preventDefault(),{cameraAnimation:function(i){i.easeTo({duration:300,zoom:i.getZoom()+(n.shiftKey?-1:1),around:i.unproject(t)},{originalEvent:n})}}};pi.prototype.enable=function(){this._enabled=!0};pi.prototype.disable=function(){this._enabled=!1;this.reset()};pi.prototype.isEnabled=function(){return this._enabled};pi.prototype.isActive=function(){return this._active};ii.prototype.reset=function(){this._active=!1;delete this._swipePoint;delete this._swipeTouch;delete this._tapTime;this._tap.reset()};ii.prototype.touchstart=function(n,t,i){this._swipePoint||(this._tapTime&&500<n.timeStamp-this._tapTime&&this.reset(),this._tapTime?0<i.length&&(this._swipePoint=t[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(n,t,i))};ii.prototype.touchmove=function(n,t,i){if(this._tapTime){if(this._swipePoint&&i[0].identifier===this._swipeTouch){var r=t[0],u=r.y-this._swipePoint.y;return this._swipePoint=r,n.preventDefault(),this._active=!0,{zoomDelta:u/128}}}else this._tap.touchmove(n,t,i)};ii.prototype.touchend=function(n,t,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(n,t,i)&&(this._tapTime=n.timeStamp)};ii.prototype.touchcancel=function(){this.reset()};ii.prototype.enable=function(){this._enabled=!0};ii.prototype.disable=function(){this._enabled=!1;this.reset()};ii.prototype.isEnabled=function(){return this._enabled};ii.prototype.isActive=function(){return this._active};ts.prototype.enable=function(n){this._inertiaOptions=n||{};this._mousePan.enable();this._touchPan.enable();this._el.classList.add("mapboxgl-touch-drag-pan")};ts.prototype.disable=function(){this._mousePan.disable();this._touchPan.disable();this._el.classList.remove("mapboxgl-touch-drag-pan")};ts.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()};ts.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};is.prototype.enable=function(){this._mouseRotate.enable();this._pitchWithRotate&&this._mousePitch.enable()};is.prototype.disable=function(){this._mouseRotate.disable();this._mousePitch.disable()};is.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())};is.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};wi.prototype.enable=function(n){this._touchZoom.enable(n);this._rotationDisabled||this._touchRotate.enable(n);this._tapDragZoom.enable();this._el.classList.add("mapboxgl-touch-zoom-rotate")};wi.prototype.disable=function(){this._touchZoom.disable();this._touchRotate.disable();this._tapDragZoom.disable();this._el.classList.remove("mapboxgl-touch-zoom-rotate")};wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()};wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()};wi.prototype.disableRotation=function(){this._rotationDisabled=!0;this._touchRotate.disable()};wi.prototype.enableRotation=function(){this._rotationDisabled=!1;this._touchZoom.isEnabled()&&this._touchRotate.enable()};ny=((rs=n.Event)&&(ac.__proto__=rs),(ac.prototype=Object.create(rs&&rs.prototype)).constructor=ac);k.prototype.destroy=function(){for(var r,f,i=0,u=this._listeners;i<u.length;i+=1)r=u[i],f=r[0],t.removeEventListener(f,r[1],f===n.window.document?this.handleWindowEvent:this.handleEvent,r[2])};k.prototype._addDefaultHandlers=function(n){var i=this._map,s=i.getCanvasContainer(),u,t,r,f,o,e;for(this._add("mapEvent",new nt(i,n)),u=i.boxZoom=new wt(i,n),this._add("boxZoom",u),t=new ti,r=new pi,i.doubleClickZoom=new ns(r,t),this._add("tapZoom",t),this._add("clickZoom",r),u=new ii,this._add("tapDragZoom",u),t=i.touchPitch=new dv,this._add("touchPitch",t),r=new vv(n),t=new yv(n),i.dragRotate=new is(n,r,t),this._add("mouseRotate",r,["mousePitch"]),this._add("mousePitch",t,["mouseRotate"]),r=new bb(n),t=new bt(n),i.dragPan=new ts(s,r,t),this._add("mousePan",r),this._add("touchPan",t,["touchZoom","touchRotate"]),r=new kv,t=new wv,i.touchZoomRotate=new wi(s,t,r,u),this._add("touchRotate",r,["touchPan","touchZoom"]),this._add("touchZoom",t,["touchPan","touchRotate"]),t=i.scrollZoom=new ft(i,this),this._add("scrollZoom",t,["mousePan"]),t=i.keyboard=new fi,this._add("keyboard",t),this._add("blockableMapEvent",new ni(i)),f=0,o=["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"];f<o.length;f+=1)e=o[f],n.interactive&&n[e]&&i[e].enable(n[e])};k.prototype._add=function(n,t,i){this._handlers.push({handlerName:n,handler:t,allowed:i});this._handlersById[n]=t};k.prototype.stop=function(n){if(!this._updatingCamera){for(var t=0,i=this._handlers;t<i.length;t+=1)i[t].handler.reset();this._inertia.clear();this._fireEvents({},{},n);this._changes=[]}};k.prototype.isActive=function(){for(var n=0,t=this._handlers;n<t.length;n+=1)if(t[n].handler.isActive())return!0;return!1};k.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()};k.prototype.isRotating=function(){return!!this._eventsInProgress.rotate};k.prototype.isMoving=function(){return Boolean(ch(this._eventsInProgress))||this.isZooming()};k.prototype._blockedByActive=function(n,t,i){for(var r in n)if(r!==i&&(!t||t.indexOf(r)<0))return!0;return!1};k.prototype.handleWindowEvent=function(n){this.handleEvent(n,n.type+"Window")};k.prototype._getMapTouches=function(n){for(var i,r=[],t=0,u=n;t<u.length;t+=1)i=u[t],this._el.contains(i.target)&&r.push(i);return r};k.prototype.handleEvent=function(n,i){var l,o,a;if("blur"!==n.type){this._updatingCamera=!0;for(var v="renderFrame"===n.type?void 0:n,f={needsRenderFrame:!1},y={},e={},s=n.touches?this._getMapTouches(n.touches):void 0,w=s?t.touchPos(this._el,s):t.mousePos(this._el,n),h=0,p=this._handlers;h<p.length;h+=1){var r=p[h],c=r.handlerName,u=r.handler,b=r.allowed;u.isEnabled()&&(r=void 0,this._blockedByActive(e,b,c)?u.reset():u[i||n.type]&&(r=u[i||n.type](n,w,s),this.mergeHandlerResult(f,y,r,c,v),r&&r.needsRenderFrame&&this._triggerRenderFrame()),(r||u.isActive())&&(e[c]=u))}o={};for(l in this._previousActiveHandlers)e[l]||(o[l]=v);this._previousActiveHandlers=e;(Object.keys(o).length||vc(f))&&(this._changes.push([f,y,o]),this._triggerRenderFrame());(Object.keys(e).length||vc(f))&&this._map._stop(!0);this._updatingCamera=!1;a=f.cameraAnimation;a&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],a(this._map))}else this.stop(!0)};k.prototype.mergeHandlerResult=function(t,i,r,u,f){r&&(n.extend(t,r),f={handlerName:u,originalEvent:r.originalEvent||f},void 0!==r.zoomDelta&&(i.zoom=f),void 0!==r.panDelta&&(i.drag=f),void 0!==r.pitchDelta&&(i.pitch=f),void 0!==r.bearingDelta&&(i.rotate=f))};k.prototype._applyChanges=function(){for(var i={},f={},e={},u=0,o=this._changes;u<o.length;u+=1){var r=o[u],t=r[0],s=r[1],r=r[2];t.panDelta&&(i.panDelta=(i.panDelta||new n.Point(0,0))._add(t.panDelta));t.zoomDelta&&(i.zoomDelta=(i.zoomDelta||0)+t.zoomDelta);t.bearingDelta&&(i.bearingDelta=(i.bearingDelta||0)+t.bearingDelta);t.pitchDelta&&(i.pitchDelta=(i.pitchDelta||0)+t.pitchDelta);void 0!==t.around&&(i.around=t.around);void 0!==t.pinchAround&&(i.pinchAround=t.pinchAround);t.noInertia&&(i.noInertia=t.noInertia);n.extend(f,s);n.extend(e,r)}this._updateMapTransform(i,f,e);this._changes=[]};k.prototype._updateMapTransform=function(n,t,i){var e=this._map,u=e.transform;if(!vc(n))return this._fireEvents(t,i,!0);var f=n.panDelta,o=n.zoomDelta,s=n.bearingDelta,h=n.pitchDelta,r=n.around,c=n.pinchAround;void 0!==c&&(r=c);e._stop(!0);r=r||e.transform.centerPoint;f=u.pointLocation(f?r.sub(f):r);s&&(u.bearing+=s);h&&(u.pitch+=h);o&&(u.zoom+=o);u.setLocationAtPoint(f,r);this._map._update();n.noInertia||this._inertia.record(n);this._fireEvents(t,i,!0)};k.prototype._fireEvents=function(t,i,r){var f,h,c,p=this,w=ch(this._eventsInProgress),u=ch(t),l={},a,o,v,s,e;for(f in t)this._eventsInProgress[f]||(l[f+"start"]=t[f].originalEvent),this._eventsInProgress[f]=t[f];for(h in!w&&u&&this._fireEvent("movestart",u.originalEvent),l)this._fireEvent(h,l[h]);for(c in u&&this._fireEvent("move",u.originalEvent),t)this._fireEvent(c,t[c].originalEvent);s={};for(o in this._eventsInProgress){var y=this._eventsInProgress[o],b=y.handlerName,y=y.originalEvent;this._handlersById[b].isActive()||(delete this._eventsInProgress[o],s[o+"end"]=a=i[b]||y)}for(v in s)this._fireEvent(v,s[v]);e=ch(this._eventsInProgress);r&&(w||u)&&!e&&(this._updatingCamera=!0,u=function(n){return 0!==n&&-p._bearingSnap<n&&n<p._bearingSnap},(e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions))?(u(e.bearing||this._map.getBearing())&&(e.bearing=0),this._map.easeTo(e,{originalEvent:a})):(this._map.fire(new n.Event("moveend",{originalEvent:a})),u(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1)};k.prototype._fireEvent=function(t,i){this._map.fire(new n.Event(t,i?{originalEvent:i}:{}))};k.prototype._requestFrame=function(){var n=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add(function(t){delete n._frameId;n.handleEvent(new ny("renderFrame",{timeStamp:t}));n._applyChanges()})};k.prototype._triggerRenderFrame=function(){void 0===this._frameId&&(this._frameId=this._requestFrame())};nr=((us=n.Evented)&&(e.__proto__=us),((e.prototype=Object.create(us&&us.prototype)).constructor=e).prototype.getCenter=function(){return new n.LngLat(this.transform.center.lng,this.transform.center.lat)},e.prototype.setCenter=function(n,t){return this.jumpTo({center:n},t)},e.prototype.panBy=function(t,i,r){return t=n.Point.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},i),r)},e.prototype.panTo=function(t,i,r){return this.easeTo(n.extend({center:t},i),r)},e.prototype.getZoom=function(){return this.transform.zoom},e.prototype.setZoom=function(n,t){return this.jumpTo({zoom:n},t),this},e.prototype.zoomTo=function(t,i,r){return this.easeTo(n.extend({zoom:t},i),r)},e.prototype.zoomIn=function(n,t){return this.zoomTo(this.getZoom()+1,n,t),this},e.prototype.zoomOut=function(n,t){return this.zoomTo(this.getZoom()-1,n,t),this},e.prototype.getBearing=function(){return this.transform.bearing},e.prototype.setBearing=function(n,t){return this.jumpTo({bearing:n},t),this},e.prototype.getPadding=function(){return this.transform.padding},e.prototype.setPadding=function(n,t){return this.jumpTo({padding:n},t),this},e.prototype.rotateTo=function(t,i,r){return this.easeTo(n.extend({bearing:t},i),r)},e.prototype.resetNorth=function(t,i){return this.rotateTo(0,n.extend({duration:1e3},t),i),this},e.prototype.resetNorthPitch=function(t,i){return this.easeTo(n.extend({bearing:0,pitch:0,duration:1e3},t),i),this},e.prototype.snapToNorth=function(n,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(n,t):this},e.prototype.getPitch=function(){return this.transform.pitch},e.prototype.setPitch=function(n,t){return this.jumpTo({pitch:n},t),this},e.prototype.cameraForBounds=function(t,i){t=n.LngLatBounds.convert(t);var r=i&&i.bearing||0;return this._cameraForBoxAndBearing(t.getNorthWest(),t.getSouthEast(),r,i)},e.prototype._cameraForBoxAndBearing=function(t,i,r,u){var o={top:0,bottom:0,right:0,left:0};"number"==typeof(u=n.extend({padding:o,offset:[0,0],maxZoom:this.transform.maxZoom},u)).padding&&(e=u.padding,u.padding={top:e,bottom:e,right:e,left:e});u.padding=n.extend(o,u.padding);var f=this.transform,s=f.padding,h=f.project(n.LngLat.convert(t)),e=f.project(n.LngLat.convert(i)),o=h.rotate(-r*Math.PI/180),t=e.rotate(-r*Math.PI/180),i=new n.Point(Math.max(o.x,t.x),Math.max(o.y,t.y)),t=new n.Point(Math.min(o.x,t.x),Math.min(o.y,t.y)),i=i.sub(t),t=(f.width-(s.left+s.right+u.padding.left+u.padding.right))/i.x,i=(f.height-(s.top+s.bottom+u.padding.top+u.padding.bottom))/i.y;if(!(i<0||t<0))return t=Math.min(f.scaleZoom(f.scale*Math.min(t,i)),u.maxZoom),i="number"==typeof u.offset.x?new n.Point(u.offset.x,u.offset.y):n.Point.convert(u.offset),u=new n.Point((u.padding.left-u.padding.right)/2,(u.padding.top-u.padding.bottom)/2).rotate(r*Math.PI/180),u=i.add(u).mult(f.scale/f.zoomScale(t)),{center:f.unproject(h.add(e).div(2).sub(u)),zoom:t,bearing:r};n.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")},e.prototype.fitBounds=function(n,t,i){return this._fitInternal(this.cameraForBounds(n,t),t,i)},e.prototype.fitScreenCoordinates=function(t,i,r,u,f){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(n.Point.convert(t)),this.transform.pointLocation(n.Point.convert(i)),r,u),u,f)},e.prototype._fitInternal=function(t,i,r){return t?(delete(i=n.extend(t,i)).padding,i.linear?this.easeTo(i,r):this.flyTo(i,r)):this},e.prototype.jumpTo=function(t,i){this.stop();var r=this.transform,u=!1,f=!1,e=!1;return"zoom"in t&&r.zoom!==+t.zoom&&(u=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=n.LngLat.convert(t.center)),"bearing"in t&&r.bearing!==+t.bearing&&(f=!0,r.bearing=+t.bearing),"pitch"in t&&r.pitch!==+t.pitch&&(e=!0,r.pitch=+t.pitch),null==t.padding||r.isPaddingEqual(t.padding)||(r.padding=t.padding),this.fire(new n.Event("movestart",i)).fire(new n.Event("move",i)),u&&this.fire(new n.Event("zoomstart",i)).fire(new n.Event("zoom",i)).fire(new n.Event("zoomend",i)),f&&this.fire(new n.Event("rotatestart",i)).fire(new n.Event("rotate",i)).fire(new n.Event("rotateend",i)),e&&this.fire(new n.Event("pitchstart",i)).fire(new n.Event("pitch",i)).fire(new n.Event("pitchend",i)),this.fire(new n.Event("moveend",i))},e.prototype.easeTo=function(t,i){var u=this;this._stop(!1,t.easeId);(!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate||!t.essential&&n.browser.prefersReducedMotion)&&(t.duration=0);var r=this.transform,f=this.getZoom(),e=this.getBearing(),c=this.getPitch(),g=this.getPadding(),o="zoom"in t?+t.zoom:f,a="bearing"in t?this._normalizeBearing(t.bearing,e):e,v="pitch"in t?+t.pitch:c,y=("padding"in t?t:r).padding,p=n.Point.convert(t.offset),l=r.centerPoint.add(p),w=r.pointLocation(l),s=n.LngLat.convert(t.center||w);this._normalizeCenter(s);var h,b,k=r.project(w),nt=r.project(s).sub(k),d=r.zoomScale(o-f);return t.around&&(h=n.LngLat.convert(t.around),b=r.locationPoint(h)),s={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching},this._zooming=this._zooming||o!==f,this._rotating=this._rotating||e!==a,this._pitching=this._pitching||v!==c,this._padding=!r.isPaddingEqual(y),this._easeId=t.easeId,this._prepareEase(i,t.noMoveStart,s),this._ease(function(t){var w,s;u._zooming&&(r.zoom=n.number(f,o,t));u._rotating&&(r.bearing=n.number(e,a,t));u._pitching&&(r.pitch=n.number(c,v,t));u._padding&&(r.interpolatePadding(g,y,t),l=r.centerPoint.add(p));h?r.setLocationAtPoint(h,b):(s=r.zoomScale(r.zoom-f),w=f<o?Math.min(2,d):Math.max(.5,d),w=Math.pow(w,1-t),s=r.unproject(k.add(nt.mult(t*w)).mult(s)),r.setLocationAtPoint(r.renderWorldCopies?s.wrap():s,l));u._fireMoveEvents(i)},function(n){u._afterEase(i,n)},t),this},e.prototype._prepareEase=function(t,i,r){void 0===r&&(r={});this._moving=!0;i||r.moving||this.fire(new n.Event("movestart",t));this._zooming&&!r.zooming&&this.fire(new n.Event("zoomstart",t));this._rotating&&!r.rotating&&this.fire(new n.Event("rotatestart",t));this._pitching&&!r.pitching&&this.fire(new n.Event("pitchstart",t))},e.prototype._fireMoveEvents=function(t){this.fire(new n.Event("move",t));this._zooming&&this.fire(new n.Event("zoom",t));this._rotating&&this.fire(new n.Event("rotate",t));this._pitching&&this.fire(new n.Event("pitch",t))},e.prototype._afterEase=function(t,i){var r,u;this._easeId&&i&&this._easeId===i||(delete this._easeId,r=this._zooming,u=this._rotating,i=this._pitching,this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new n.Event("zoomend",t)),u&&this.fire(new n.Event("rotateend",t)),i&&this.fire(new n.Event("pitchend",t)),this.fire(new n.Event("moveend",t)))},e.prototype.flyTo=function(t,i){function et(n){return n=(e*e-f*f+(n?-1:1)*a*a*o*o)/(2*(n?e:f)*a*o),Math.log(Math.sqrt(n*n+1)-n)}function ot(n){return(Math.exp(n)-Math.exp(-n))/2}function p(n){return(Math.exp(n)+Math.exp(-n))/2}var h=this,v,a;if(!t.essential&&n.browser.prefersReducedMotion)return v=n.pick(t,["center","zoom","bearing","pitch","around"]),this.jumpTo(v,i);this.stop();t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var r=this.transform,c=this.getZoom(),y=this.getBearing(),w=this.getPitch(),st=this.getPadding(),b="zoom"in t?n.clamp(+t.zoom,r.minZoom,r.maxZoom):c,nt="bearing"in t?this._normalizeBearing(t.bearing,y):y,tt="pitch"in t?+t.pitch:w,it=("padding"in t?t:r).padding,l=r.zoomScale(b-c),rt=n.Point.convert(t.offset),k=r.centerPoint.add(rt),v=r.pointLocation(k),d=n.LngLat.convert(t.center||v);this._normalizeCenter(d);var ut=r.project(v),ft=r.project(d).sub(ut),u=t.curve,f=Math.max(r.width,r.height),e=f/l,o=ft.mag();"minZoom"in t&&(l=n.clamp(Math.min(t.minZoom,c,b),r.minZoom,r.maxZoom),l=f/r.zoomScale(l-c),u=Math.sqrt(l/o*2));a=u*u;var s=et(0),ht=function(n){return p(s)/p(s+u*n)},ct=function(n){return f*((p(s)*(ot(n=s+u*n)/p(n))-ot(s))/a)/o},g=(et(1)-s)/u;if(Math.abs(o)<1e-6||!isFinite(g)){if(Math.abs(f-e)<1e-6)return this.easeTo(t,i);var lt=e<f?-1:1,g=Math.abs(Math.log(e/f))/u,ct=function(){return 0},ht=function(n){return Math.exp(lt*u*n)}}return t.duration="duration"in t?+t.duration:1e3*g/("screenSpeed"in t?+t.screenSpeed/u:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=y!==nt,this._pitching=tt!==w,this._padding=!r.isPaddingEqual(it),this._prepareEase(i,!1),this._ease(function(t){var f=t*g,u=1/ht(f);r.zoom=1===t?b:c+r.scaleZoom(u);h._rotating&&(r.bearing=n.number(y,nt,t));h._pitching&&(r.pitch=n.number(w,tt,t));h._padding&&(r.interpolatePadding(st,it,t),k=r.centerPoint.add(rt));u=1===t?d:r.unproject(ut.add(ft.mult(ct(f))).mult(u));r.setLocationAtPoint(r.renderWorldCopies?u.wrap():u,k);h._fireMoveEvents(i)},function(){return h._afterEase(i)},t),this},e.prototype.isEasing=function(){return!!this._easeFrameId},e.prototype.stop=function(){return this._stop()},e.prototype._stop=function(n,t){var i;return this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd&&(i=this._onEaseEnd,delete this._onEaseEnd,i.call(this,t)),n||(n=this.handlers)&&n.stop(!1),this},e.prototype._ease=function(t,i,r){!1===r.animate||0===r.duration?(t(1),i()):(this._easeStart=n.browser.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},e.prototype._renderFrameCallback=function(){var t=Math.min((n.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t));t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},e.prototype._normalizeBearing=function(t,i){t=n.wrap(t,-180,180);var r=Math.abs(t-i);return Math.abs(t-360-i)<r&&(t-=360),Math.abs(t+360-i)<r&&(t+=360),t},e.prototype._normalizeCenter=function(n){var t=this.transform;t.renderWorldCopies&&!t.lngRange&&(t=n.lng-t.center.lng,n.lng+=180<t?-360:t<-180?360:0)},e);kt.prototype.getDefaultPosition=function(){return"bottom-right"};kt.prototype.onAdd=function(n){var i=this.options&&this.options.compact;return this._map=n,this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=t.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=t.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),i&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===i&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container};kt.prototype.onRemove=function(){t.remove(this._container);this._map.off("styledata",this._updateData);this._map.off("sourcedata",this._updateData);this._map.off("moveend",this._updateEditLink);this._map.off("resize",this._updateCompact);this._map=void 0;this._attribHTML=void 0};kt.prototype._setElementTitle=function(n,t){t=this._map._getUIString("AttributionControl."+t);n.title=t;n.setAttribute("aria-label",t)};kt.prototype._toggleAttribution=function(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","true"))};kt.prototype._updateEditLink=function(){var i,t=(t=this._editLink)||(this._editLink=this._container.querySelector(".mapbox-improve-map")),r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||n.config.ACCESS_TOKEN}];t&&(i=r.reduce(function(n,t,i){return t.value&&(n+=t.key+"="+t.value+(i<r.length-1?"&":"")),n},"?"),t.href=n.config.FEEDBACK_URL+"/"+i+(this._map._hash?this._map._hash.getHashString(!0):""),t.rel="noopener nofollow",this._setElementTitle(t,"MapFeedback"))};kt.prototype._updateData=function(n){n&&("metadata"===n.sourceDataType||"visibility"===n.sourceDataType||"style"===n.dataType)&&(this._updateAttributions(),this._updateEditLink())};kt.prototype._updateAttributions=function(){var n,u,r,i,t;if(this._map.style){n=[];this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?n=n.concat(this.options.customAttribution.map(function(n){return"string"!=typeof n?"":n})):"string"==typeof this.options.customAttribution&&n.push(this.options.customAttribution));this._map.style.stylesheet&&(t=this._map.style.stylesheet,this.styleOwner=t.owner,this.styleId=t.id);r=this._map.style.sourceCaches;for(u in r)i=r[u],i.used&&(i=i.getSource()).attribution&&n.indexOf(i.attribution)<0&&n.push(i.attribution);n.sort(function(n,t){return n.length-t.length});t=(n=n.filter(function(t,i){for(var r=i+1;r<n.length;r++)if(0<=n[r].indexOf(t))return!1;return!0})).join(" | ");t!==this._attribHTML&&(this._attribHTML=t,n.length?(this._innerContainer.innerHTML=t,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}};kt.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};bi.prototype.onAdd=function(n){return this._map=n,this._container=t.create("div","mapboxgl-ctrl"),n=t.create("a","mapboxgl-ctrl-logo"),n.target="_blank",n.rel="noopener nofollow",n.href="https://www.mapbox.com/",n.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),n.setAttribute("rel","noopener nofollow"),this._container.appendChild(n),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container};bi.prototype.onRemove=function(){t.remove(this._container);this._map.off("sourcedata",this._updateLogo);this._map.off("resize",this._updateCompact)};bi.prototype.getDefaultPosition=function(){return"bottom-left"};bi.prototype._updateLogo=function(n){n&&"metadata"!==n.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")};bi.prototype._logoRequired=function(){if(this._map.style){var n,t=this._map.style.sourceCaches;for(n in t)if(t[n].getSource().mapbox_logo)return!0;return!1}};bi.prototype._updateCompact=function(){var n=this._container.children;n.length&&(n=n[0],this._map.getCanvasContainer().offsetWidth<250?n.classList.add("mapboxgl-compact"):n.classList.remove("mapboxgl-compact"))};fs.prototype.add=function(n){var t=++this._id;return this._queue.push({callback:n,id:t,cancelled:!1}),t};fs.prototype.remove=function(n){for(var i,r=this._currentlyRunning,t=0,u=r?this._queue.concat(r):this._queue;t<u.length;t+=1)if(i=u[t],i.id===n)return void(i.cancelled=!0)};fs.prototype.run=function(n){var u,t,i,r;for(void 0===n&&(n=0),u=this._currentlyRunning=this._queue,this._queue=[],t=0,i=u;t<i.length;t+=1)if(r=i[t],!r.cancelled&&(r.callback(n),this._cleared))break;this._cleared=!1;this._currentlyRunning=!1};var db={"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":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm"},yc=n.window.HTMLImageElement,gb=n.window.HTMLElement,yr=n.window.ImageBitmap,nk={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!(fs.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0);this._queue=[]}),attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},bs=function(i){function r(t){var r=this,u;if(null!=(t=n.extend({},nk,t)).minZoom&&null!=t.maxZoom&&t.minZoom>t.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=t.minPitch&&t.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=t.maxPitch&&60<t.maxPitch)throw new Error("maxPitch must be less than or equal to 60");if(u=new h(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies),i.call(this,u,t),this._interactive=t.interactive,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._crossSourceCollisions=t.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=t.collectResourceTiming,this._renderTaskQueue=new fs,this._controls=[],this._mapId=n.uniqueId(),this._locale=n.extend({},db,t.locale),this._clickTolerance=t.clickTolerance,this._requestManager=new n.RequestManager(t.transformRequest,t.accessToken),"string"==typeof t.container){if(this._container=n.window.document.getElementById(t.container),!this._container)throw new Error("Container '"+t.container+"' not found.");}else{if(!(t.container instanceof gb))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=t.container}if(t.maxBounds&&this.setMaxBounds(t.maxBounds),n.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return r._update(!1)});this.on("moveend",function(){return r._update(!1)});this.on("zoom",function(){return r._update(!0)});void 0!==n.window&&(n.window.addEventListener("online",this._onWindowOnline,!1),n.window.addEventListener("resize",this._onWindowResize,!1),n.window.addEventListener("orientationchange",this._onWindowResize,!1));this.handlers=new k(this,t);this._hash=t.hash&&new li("string"==typeof t.hash&&t.hash||void 0).addTo(this);this._hash&&this._hash._onHashChange()||(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,n.extend({},t.fitBoundsOptions,{duration:0}))));this.resize();this._localIdeographFontFamily=t.localIdeographFontFamily;t.style&&this.setStyle(t.style,{localIdeographFontFamily:t.localIdeographFontFamily});t.attributionControl&&this.addControl(new kt({customAttribution:t.customAttribution}));this.addControl(new bi,t.logoPosition);this.on("style.load",function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)});this.on("data",function(t){r._update("style"===t.dataType);r.fire(new n.Event(t.dataType+"data",t))});this.on("dataloading",function(t){r.fire(new n.Event(t.dataType+"dataloading",t))})}i&&(r.__proto__=i);var u={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return((r.prototype=Object.create(i&&i.prototype)).constructor=r).prototype._getMapId=function(){return this._mapId},r.prototype.addControl=function(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new n.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var r=t.onAdd(this);return this._controls.push(t),t=this._controlPositions[i],-1!==i.indexOf("bottom")?t.insertBefore(r,t.firstChild):t.appendChild(r),this},r.prototype.removeControl=function(t){if(!t||!t.onRemove)return this.fire(new n.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var i=this._controls.indexOf(t);return-1<i&&this._controls.splice(i,1),t.onRemove(this),this},r.prototype.hasControl=function(n){return-1<this._controls.indexOf(n)},r.prototype.resize=function(t){var i=this._containerDimensions(),r=i[0],i=i[1];return this._resizeCanvas(r,i),this.transform.resize(r,i),this.painter.resize(r,i),i=!this._moving,i&&(this.stop(),this.fire(new n.Event("movestart",t)).fire(new n.Event("move",t))),this.fire(new n.Event("resize",t)),i&&this.fire(new n.Event("moveend",t)),this},r.prototype.getBounds=function(){return this.transform.getBounds()},r.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},r.prototype.setMaxBounds=function(t){return this.transform.setMaxBounds(n.LngLatBounds.convert(t)),this._update()},r.prototype.setMinZoom=function(n){if(-2<=(n=null==n?-2:n)&&n<=this.transform.maxZoom)return this.transform.minZoom=n,this._update(),this.getZoom()<n&&this.setZoom(n),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive");},r.prototype.getMinZoom=function(){return this.transform.minZoom},r.prototype.setMaxZoom=function(n){if((n=null==n?22:n)>=this.transform.minZoom)return this.transform.maxZoom=n,this._update(),this.getZoom()>n&&this.setZoom(n),this;throw new Error("maxZoom must be greater than the current minZoom");},r.prototype.getMaxZoom=function(){return this.transform.maxZoom},r.prototype.setMinPitch=function(n){if((n=null==n?0:n)<0)throw new Error("minPitch must be greater than or equal to 0");if(0<=n&&n<=this.transform.maxPitch)return this.transform.minPitch=n,this._update(),this.getPitch()<n&&this.setPitch(n),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive");},r.prototype.getMinPitch=function(){return this.transform.minPitch},r.prototype.setMaxPitch=function(n){if(60<(n=null==n?60:n))throw new Error("maxPitch must be less than or equal to 60");if(n>=this.transform.minPitch)return this.transform.maxPitch=n,this._update(),this.getPitch()>n&&this.setPitch(n),this;throw new Error("maxPitch must be greater than the current minPitch");},r.prototype.getMaxPitch=function(){return this.transform.maxPitch},r.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},r.prototype.setRenderWorldCopies=function(n){return this.transform.renderWorldCopies=n,this._update()},r.prototype.project=function(t){return this.transform.locationPoint(n.LngLat.convert(t))},r.prototype.unproject=function(t){return this.transform.pointLocation(n.Point.convert(t))},r.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},r.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},r.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},r.prototype._createDelegatedListener=function(n,t,i){var e,r=this,f,u;return"mouseenter"===n||"mouseover"===n?(f=!1,{layer:t,listener:i,delegates:{mousemove:function(u){var e=r.getLayer(t)?r.queryRenderedFeatures(u.point,{layers:[t]}):[];e.length?f||(f=!0,i.call(r,new vt(n,r,u.originalEvent,{features:e}))):f=!1},mouseout:function(){f=!1}}}):"mouseleave"!==n&&"mouseout"!==n?{layer:t,listener:i,delegates:((e={})[n]=function(n){var u=r.getLayer(t)?r.queryRenderedFeatures(n.point,{layers:[t]}):[];u.length&&(n.features=u,i.call(r,n),delete n.features)},e)}:(u=!1,{layer:t,listener:i,delegates:{mousemove:function(f){(r.getLayer(t)?r.queryRenderedFeatures(f.point,{layers:[t]}):[]).length?u=!0:u&&(u=!1,i.call(r,new vt(n,r,f.originalEvent)))},mouseout:function(t){u&&(u=!1,i.call(r,new vt(n,r,t.originalEvent)))}}})},r.prototype.on=function(n,t,r){if(void 0===r)return i.prototype.on.call(this,n,t);var u,f=this._createDelegatedListener(n,t,r);for(u in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[n]=this._delegatedListeners[n]||[],this._delegatedListeners[n].push(f),f.delegates)this.on(u,f.delegates[u]);return this},r.prototype.once=function(n,t,r){if(void 0===r)return i.prototype.once.call(this,n,t);var u,f=this._createDelegatedListener(n,t,r);for(u in f.delegates)this.once(u,f.delegates[u]);return this},r.prototype.off=function(n,t,r){var u=this;return void 0===r?i.prototype.off.call(this,n,t):(this._delegatedListeners&&this._delegatedListeners[n]&&function(i){for(var e,s,o=i[n],f=0;f<o.length;f++)if(e=o[f],e.layer===t&&e.listener===r){for(s in e.delegates)u.off(s,e.delegates[s]);return o.splice(f,1)}}(this._delegatedListeners),this)},r.prototype.queryRenderedFeatures=function(t,i){return this.style?(void 0!==i||void 0===t||t instanceof n.Point||Array.isArray(t)||(i=t,t=void 0),i=i||{},r=(t=t||[[0,0],[this.transform.width,this.transform.height]])instanceof n.Point||"number"==typeof t[0]?[n.Point.convert(t)]:(r=n.Point.convert(t[0]),t=n.Point.convert(t[1]),[r,new n.Point(t.x,r.y),t,new n.Point(r.x,t.y),r]),this.style.queryRenderedFeatures(r,i,this.transform)):[];var r},r.prototype.querySourceFeatures=function(n,t){return this.style.querySourceFeatures(n,t)},r.prototype.setStyle=function(t,i){return!1!==(i=n.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},i)).diff&&i.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&t?(this._diffStyle(t,i),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._updateStyle(t,i))},r.prototype._getUIString=function(n){var t=this._locale[n];if(null==t)throw new Error("Missing UI string '"+n+"'");return t},r.prototype._updateStyle=function(n,t){return this.style&&(this.style.setEventedParent(null),this.style._remove()),n?(this.style=new ur(this,t||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof n?this.style.loadURL(n):this.style.loadJSON(n)):delete this.style,this},r.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new ur(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},r.prototype._diffStyle=function(t,i){var r,u=this;"string"==typeof t?(r=this._requestManager.normalizeStyleURL(t),r=this._requestManager.transformRequest(r,n.ResourceType.Style),n.getJSON(r,function(t,r){t?u.fire(new n.ErrorEvent(t)):r&&u._updateDiff(r,i)})):"object"==typeof t&&this._updateDiff(t,i)},r.prototype._updateDiff=function(t,i){try{this.style.setState(t)&&this._update(!0)}catch(r){n.warnOnce("Unable to perform style diff: "+(r.message||r.error||r)+".  Rebuilding the style from scratch.");this._updateStyle(t,i)}},r.prototype.getStyle=function(){if(this.style)return this.style.serialize()},r.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():n.warnOnce("There is no style added to the map.")},r.prototype.addSource=function(n,t){return this._lazyInitEmptyStyle(),this.style.addSource(n,t),this._update(!0)},r.prototype.isSourceLoaded=function(t){var i=this.style&&this.style.sourceCaches[t];if(void 0!==i)return i.loaded();this.fire(new n.ErrorEvent(new Error("There is no source with ID '"+t+"'")))},r.prototype.areTilesLoaded=function(){var i,r=this.style&&this.style.sourceCaches,u,n,t;for(i in r){n=r[i]._tiles;for(u in n)if(t=n[u],"loaded"!==t.state&&"errored"!==t.state)return!1}return!0},r.prototype.addSourceType=function(n,t,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(n,t,i)},r.prototype.removeSource=function(n){return this.style.removeSource(n),this._update(!0)},r.prototype.getSource=function(n){return this.style.getSource(n)},r.prototype.addImage=function(t,i,r){var e=(r=void 0===r?{}:r).pixelRatio,f,u;void 0===e&&(e=1);f=r.sdf;void 0===f&&(f=!1);var o=r.stretchX,s=r.stretchY,r=r.content;if(this._lazyInitEmptyStyle(),i instanceof yc||yr&&i instanceof yr)u=n.browser.getImageData(i),this.style.addImage(t,{data:new n.RGBAImage({width:u.width,height:u.height},u.data),pixelRatio:e,stretchX:o,stretchY:s,content:r,sdf:f,version:0});else{if(void 0===i.width||void 0===i.height)return this.fire(new n.ErrorEvent(new 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`")));u=i;this.style.addImage(t,{data:new n.RGBAImage({width:i.width,height:i.height},new Uint8Array(i.data)),pixelRatio:e,stretchX:o,stretchY:s,content:r,sdf:f,version:0,userImage:u});u.onAdd&&u.onAdd(this,t)}},r.prototype.updateImage=function(t,i){var r=this.style.getImage(t);if(!r)return this.fire(new n.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var u=i instanceof yc||yr&&i instanceof yr?n.browser.getImageData(i):i,f=u.width,e=u.height,u=u.data;return void 0===f||void 0===e?this.fire(new n.ErrorEvent(new 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`"))):f!==r.data.width||e!==r.data.height?this.fire(new n.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image"))):(r.data.replace(u,!(i instanceof yc||yr&&i instanceof yr)),void this.style.updateImage(t,r))},r.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(new n.ErrorEvent(new Error("Missing required image id"))),!1)},r.prototype.removeImage=function(n){this.style.removeImage(n)},r.prototype.loadImage=function(t,i){n.getImage(this._requestManager.transformRequest(t,n.ResourceType.Image),i)},r.prototype.listImages=function(){return this.style.listImages()},r.prototype.addLayer=function(n,t){return this._lazyInitEmptyStyle(),this.style.addLayer(n,t),this._update(!0)},r.prototype.moveLayer=function(n,t){return this.style.moveLayer(n,t),this._update(!0)},r.prototype.removeLayer=function(n){return this.style.removeLayer(n),this._update(!0)},r.prototype.getLayer=function(n){return this.style.getLayer(n)},r.prototype.setLayerZoomRange=function(n,t,i){return this.style.setLayerZoomRange(n,t,i),this._update(!0)},r.prototype.setFilter=function(n,t,i){return this.style.setFilter(n,t,i=void 0===i?{}:i),this._update(!0)},r.prototype.getFilter=function(n){return this.style.getFilter(n)},r.prototype.setPaintProperty=function(n,t,i,r){return this.style.setPaintProperty(n,t,i,r=void 0===r?{}:r),this._update(!0)},r.prototype.getPaintProperty=function(n,t){return this.style.getPaintProperty(n,t)},r.prototype.setLayoutProperty=function(n,t,i,r){return this.style.setLayoutProperty(n,t,i,r=void 0===r?{}:r),this._update(!0)},r.prototype.getLayoutProperty=function(n,t){return this.style.getLayoutProperty(n,t)},r.prototype.setLight=function(n,t){return void 0===t&&(t={}),this._lazyInitEmptyStyle(),this.style.setLight(n,t),this._update(!0)},r.prototype.getLight=function(){return this.style.getLight()},r.prototype.setFeatureState=function(n,t){return this.style.setFeatureState(n,t),this._update()},r.prototype.removeFeatureState=function(n,t){return this.style.removeFeatureState(n,t),this._update()},r.prototype.getFeatureState=function(n){return this.style.getFeatureState(n)},r.prototype.getContainer=function(){return this._container},r.prototype.getCanvasContainer=function(){return this._canvasContainer},r.prototype.getCanvas=function(){return this._canvas},r.prototype._containerDimensions=function(){var n=0,t=0;return this._container&&(n=this._container.clientWidth||400,t=this._container.clientHeight||300),[n,t]},r.prototype._detectMissingCSS=function(){"rgb(250, 128, 114)"!==n.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&n.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")},r.prototype._setupContainer=function(){var i=this._container,n,r,u;i.classList.add("mapboxgl-map");(this._missingCSSCanary=t.create("div","mapboxgl-canary",i)).style.visibility="hidden";this._detectMissingCSS();n=this._canvasContainer=t.create("div","mapboxgl-canvas-container",i);this._interactive&&n.classList.add("mapboxgl-interactive");this._canvas=t.create("canvas","mapboxgl-canvas",n);this._canvas.addEventListener("webglcontextlost",this._contextLost,!1);this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1);this._canvas.setAttribute("tabindex","0");this._canvas.setAttribute("aria-label","Map");this._canvas.setAttribute("role","region");n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);r=this._controlContainer=t.create("div","mapboxgl-control-container",i);u=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(n){u[n]=t.create("div","mapboxgl-ctrl-"+n,r)});this._container.addEventListener("scroll",this._onMapScroll,!1)},r.prototype._resizeCanvas=function(t,i){var r=n.browser.devicePixelRatio||1;this._canvas.width=r*t;this._canvas.height=r*i;this._canvas.style.width=t+"px";this._canvas.style.height=i+"px"},r.prototype._setupPainter=function(){var t=n.extend({},kc.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),t=this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);t?(this.painter=new a(t,this.transform),n.webpSupported.testSupport(t)):this.fire(new n.ErrorEvent(new Error("Failed to initialize WebGL")))},r.prototype._contextLost=function(t){t.preventDefault();this._frame&&(this._frame.cancel(),this._frame=null);this.fire(new n.Event("webglcontextlost",{originalEvent:t}))},r.prototype._contextRestored=function(t){this._setupPainter();this.resize();this._update();this.fire(new n.Event("webglcontextrestored",{originalEvent:t}))},r.prototype._onMapScroll=function(n){if(n.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},r.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},r.prototype._update=function(n){return this.style&&(this._styleDirty=this._styleDirty||n,this._sourcesDirty=!0,this.triggerRepaint()),this},r.prototype._requestRenderFrame=function(n){return this._update(),this._renderTaskQueue.add(n)},r.prototype._cancelRenderFrame=function(n){this._renderTaskQueue.remove(n)},r.prototype._render=function(t){var r,e=this,u=0,i=this.painter.context.extTimerQuery,f,s,h,o;if(this.listens("gpu-timing-frame")&&(r=i.createQueryEXT(),i.beginQueryEXT(i.TIME_ELAPSED_EXT,r),u=n.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),!this._removed)return o=!1,this.style&&this._styleDirty&&(this._styleDirty=!1,f=this.transform.zoom,t=n.browser.now(),this.style.zoomHistory.update(f,t),1===(t=(f=new n.EvaluationParameters(f,{now:t,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()})).crossFadingFactor())&&t===this._crossFadingFactor||(o=!0,this._crossFadingFactor=t),this.style.update(f)),this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new n.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new n.Event("load"))),this.style&&(this.style.hasTransitions()||o)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")&&(s=n.browser.now()-u,i.endQueryEXT(i.TIME_ELAPSED_EXT,r),setTimeout(function(){var t=i.getQueryObjectEXT(r,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(r);e.fire(new n.Event("gpu-timing-frame",{cpuTime:s,gpuTime:t}))},50)),this.listens("gpu-timing-layer")&&(h=this.painter.collectGpuTimers(),setTimeout(function(){var t=e.painter.queryGpuTimers(h);e.fire(new n.Event("gpu-timing-layer",{layerTimes:t}))},50)),u=this._sourcesDirty||this._styleDirty||this._placementDirty,u||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new n.Event("idle")),!this._loaded||this._fullyLoaded||u||(this._fullyLoaded=!0),this},r.prototype.remove=function(){var t,i,r;for(this._hash&&this._hash.remove(),t=0,i=this._controls;t<i.length;t+=1)i[t].onRemove(this);this._controls=[];this._frame&&(this._frame.cancel(),this._frame=null);this._renderTaskQueue.clear();this.painter.destroy();this.handlers.destroy();delete this.handlers;this.setStyle(null);void 0!==n.window&&(n.window.removeEventListener("resize",this._onWindowResize,!1),n.window.removeEventListener("orientationchange",this._onWindowResize,!1),n.window.removeEventListener("online",this._onWindowOnline,!1));r=this.painter.context.gl.getExtension("WEBGL_lose_context");r&&r.loseContext();pc(this._canvasContainer);pc(this._controlContainer);pc(this._missingCSSCanary);this._container.classList.remove("mapboxgl-map");this._removed=!0;this.fire(new n.Event("remove"))},r.prototype.triggerRepaint=function(){var t=this;this.style&&!this._frame&&(this._frame=n.browser.frame(function(n){t._frame=null;t._render(n)}))},r.prototype._onWindowOnline=function(){this._update()},r.prototype._onWindowResize=function(n){this._trackResize&&this.resize({originalEvent:n})._update()},u.showTileBoundaries.get=function(){return!!this._showTileBoundaries},u.showTileBoundaries.set=function(n){this._showTileBoundaries!==n&&(this._showTileBoundaries=n,this._update())},u.showPadding.get=function(){return!!this._showPadding},u.showPadding.set=function(n){this._showPadding!==n&&(this._showPadding=n,this._update())},u.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},u.showCollisionBoxes.set=function(n){this._showCollisionBoxes!==n&&((this._showCollisionBoxes=n)?this.style._generateCollisionBoxes():this._update())},u.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},u.showOverdrawInspector.set=function(n){this._showOverdrawInspector!==n&&(this._showOverdrawInspector=n,this._update())},u.repaint.get=function(){return!!this._repaint},u.repaint.set=function(n){this._repaint!==n&&(this._repaint=n,this.triggerRepaint())},u.vertices.get=function(){return!!this._vertices},u.vertices.set=function(n){this._vertices=n;this._update()},r.prototype._setCacheLimits=function(t,i){n.setCacheLimits(t,i)},u.version.get=function(){return n.version},Object.defineProperties(r.prototype,u),r}(nr);ty={showCompass:!0,showZoom:!0,visualizePitch:!1};f=function(i){var r=this;this.options=n.extend({},ty,i);this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-group");this._container.addEventListener("contextmenu",function(n){return n.preventDefault()});this.options.showZoom&&(n.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",function(n){return r._map.zoomIn({},{originalEvent:n})}),t.create("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden",!0),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",function(n){return r._map.zoomOut({},{originalEvent:n})}),t.create("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden",!0));this.options.showCompass&&(n.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",function(n){r.options.visualizePitch?r._map.resetNorthPitch({},{originalEvent:n}):r._map.resetNorth({},{originalEvent:n})}),this._compassIcon=t.create("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden",!0))};f.prototype._updateZoomButtons=function(){var n=this._map.getZoom(),t=n===this._map.getMaxZoom(),n=n===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())};f.prototype._rotateCompassArrow=function(){var n=this.options.visualizePitch?"scale("+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+") rotateX("+this._map.transform.pitch+"deg) rotateZ("+this._map.transform.angle*(180/Math.PI)+"deg)":"rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassIcon.style.transform=n};f.prototype.onAdd=function(n){return this._map=n,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._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new ct(this._map,this._compass,this.options.visualizePitch)),this._container};f.prototype.onRemove=function(){t.remove(this._container);this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons);this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler);delete this._map};f.prototype._createButton=function(n,i){return n=t.create("button",n,this._container),n.type="button",n.addEventListener("click",i),n};f.prototype._setButtonTitle=function(n,t){t=this._map._getUIString("NavigationControl."+t);n.title=t;n.setAttribute("aria-label",t)};ct=function(i,r,u){void 0===u&&(u=!1);this._clickTolerance=10;this.element=r;this.mouseRotate=new vv({clickTolerance:i.dragRotate._mouseRotate._clickTolerance});this.map=i;u&&(this.mousePitch=new yv({clickTolerance:i.dragRotate._mousePitch._clickTolerance}));n.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this);t.addEventListener(r,"mousedown",this.mousedown);t.addEventListener(r,"touchstart",this.touchstart,{passive:!1});t.addEventListener(r,"touchmove",this.touchmove);t.addEventListener(r,"touchend",this.touchend);t.addEventListener(r,"touchcancel",this.reset)};ct.prototype.down=function(n,i){this.mouseRotate.mousedown(n,i);this.mousePitch&&this.mousePitch.mousedown(n,i);t.disableDrag()};ct.prototype.move=function(n,t){var r,i=this.map,u=this.mouseRotate.mousemoveWindow(n,t);u&&u.bearingDelta&&i.setBearing(i.getBearing()+u.bearingDelta);this.mousePitch&&(r=this.mousePitch.mousemoveWindow(n,t))&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta)};ct.prototype.off=function(){var n=this.element;t.removeEventListener(n,"mousedown",this.mousedown);t.removeEventListener(n,"touchstart",this.touchstart,{passive:!1});t.removeEventListener(n,"touchmove",this.touchmove);t.removeEventListener(n,"touchend",this.touchend);t.removeEventListener(n,"touchcancel",this.reset);this.offTemp()};ct.prototype.offTemp=function(){t.enableDrag();t.removeEventListener(n.window,"mousemove",this.mousemove);t.removeEventListener(n.window,"mouseup",this.mouseup)};ct.prototype.mousedown=function(i){this.down(n.extend({},i,{ctrlKey:!0,preventDefault:function(){return i.preventDefault()}}),t.mousePos(this.element,i));t.addEventListener(n.window,"mousemove",this.mousemove);t.addEventListener(n.window,"mouseup",this.mouseup)};ct.prototype.mousemove=function(n){this.move(n,t.mousePos(this.element,n))};ct.prototype.mouseup=function(n){this.mouseRotate.mouseupWindow(n);this.mousePitch&&this.mousePitch.mouseupWindow(n);this.offTemp()};ct.prototype.touchstart=function(n){1!==n.targetTouches.length?this.reset():(this._startPos=this._lastPos=t.touchPos(this.element,n.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return n.preventDefault()}},this._startPos))};ct.prototype.touchmove=function(n){1!==n.targetTouches.length?this.reset():(this._lastPos=t.touchPos(this.element,n.targetTouches)[0],this.move({preventDefault:function(){return n.preventDefault()}},this._lastPos))};ct.prototype.touchend=function(n){0===n.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click();this.reset()};ct.prototype.reset=function(){this.mouseRotate.reset();this.mousePitch&&this.mousePitch.reset();delete this._startPos;delete this._lastPos;this.offTemp()};lh={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%)"};var ah,es,os,wc=((os=n.Evented)&&(c.__proto__=os),((c.prototype=Object.create(os&&os.prototype)).constructor=c).prototype.addTo=function(n){return this.remove(),(this._map=n).getCanvasContainer().appendChild(this._element),n.on("move",this._update),n.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},c.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",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),t.remove(this._element),this._popup&&this._popup.remove(),this},c.prototype.getLngLat=function(){return this._lngLat},c.prototype.setLngLat=function(t){return this._lngLat=n.LngLat.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},c.prototype.getElement=function(){return this._element},c.prototype.setPopup=function(n){var t;return this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),n&&("offset"in n.options||(t=Math.sqrt(Math.pow(13.5,2)/2),n.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,-1*(24.6+t)],"bottom-right":[-t,-1*(24.6+t)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset),this._popup=n,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)),this},c.prototype._onKeyPress=function(n){var t=n.code,n=n.charCode||n.keyCode;"Space"!==t&&"Enter"!==t&&32!==n&&13!==n||this.togglePopup()},c.prototype._onMapClick=function(n){var t=n.originalEvent.target,n=this._element;this._popup&&(t===n||n.contains(t))&&this.togglePopup()},c.prototype.getPopup=function(){return this._popup},c.prototype.togglePopup=function(){var n=this._popup;return n&&(n.isOpen()?n.remove():n.addTo(this._map)),this},c.prototype._update=function(n){var i,r;this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=iy(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),i="","viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?i="rotateZ("+this._rotation+"deg)":"map"===this._rotationAlignment&&(i="rotateZ("+(this._rotation-this._map.getBearing())+"deg)"),r="","viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?r="rotateX(0deg)":"map"===this._pitchAlignment&&(r="rotateX("+this._map.getPitch()+"deg)"),n&&"moveend"!==n.type||(this._pos=this._pos.round()),t.setTransform(this._element,lh[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px) "+r+" "+i))},c.prototype.getOffset=function(){return this._offset},c.prototype.setOffset=function(t){return this._offset=n.Point.convert(t),this._update(),this},c.prototype._onMove=function(t){var i;this._isDragging||(i=this._clickTolerance||this._map._clickTolerance,this._isDragging=t.point.dist(this._pointerdownPos)>=i);this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new n.Event("dragstart"))),this.fire(new n.Event("drag")))},c.prototype._onUp=function(){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);"active"===this._state&&this.fire(new n.Event("dragend"));this._state="inactive"},c.prototype._addDragHandler=function(n){this._element.contains(n.originalEvent.target)&&(n.preventDefault(),this._positionDelta=n.point.sub(this._pos).add(this._offset),this._pointerdownPos=n.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))},c.prototype.setDraggable=function(n){return this._draggable=!!n,this._map&&(n?(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},c.prototype.isDraggable=function(){return this._draggable},c.prototype.setRotation=function(n){return this._rotation=n||0,this._update(),this},c.prototype.getRotation=function(){return this._rotation},c.prototype.setRotationAlignment=function(n){return this._rotationAlignment=n||"auto",this._update(),this},c.prototype.getRotationAlignment=function(){return this._rotationAlignment},c.prototype.setPitchAlignment=function(n){return this._pitchAlignment=n&&"auto"!==n?n:this._rotationAlignment,this._update(),this},c.prototype.getPitchAlignment=function(){return this._pitchAlignment},c),tk={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bc=0,vh=!1,si=((es=n.Evented)&&(it.__proto__=es),((it.prototype=Object.create(es&&es.prototype)).constructor=it).prototype.onAdd=function(i){var r;return this._map=i,this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),r=this._setupUI,void 0!==ah?r(ah):void 0!==n.window.navigator.permissions?n.window.navigator.permissions.query({name:"geolocation"}).then(function(n){r(ah="denied"!==n.state)}):r(ah=!!n.window.navigator.geolocation),this._container},it.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(n.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();t.remove(this._container);this._map.off("zoom",this._onZoom);this._map=void 0;bc=0;vh=!1},it.prototype._isOutOfMapMaxBounds=function(n){var t=this._map.getMaxBounds(),n=n.coords;return t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())},it.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},it.prototype._onSuccess=function(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new n.Event("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t);this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t);this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale");this.fire(new n.Event("geolocate",t));this._finish()}},it.prototype._updateCamera=function(t){var i=new n.LngLat(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy,t=this._map.getBearing(),t=n.extend({bearing:t},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),t,{geolocateSource:!0})},it.prototype._updateMarker=function(t){var i;t?(i=new n.LngLat(t.coords.longitude,t.coords.latitude),this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()):(this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove())},it.prototype._updateCircleRadius=function(){var n=this._map._container.clientHeight/2,t=this._map.unproject([0,n]),n=this._map.unproject([1,n]),n=t.distanceTo(n),n=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=n+"px";this._circleElement.style.height=n+"px"},it.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},it.prototype._onError=function(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.disabled=!0;var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=i;this._geolocateButton.setAttribute("aria-label",i);void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&vh)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale");this.fire(new n.Event("error",t));this._finish()}},it.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId);this._timeoutId=void 0},it.prototype._setupUI=function(i){var r,u=this;this._container.addEventListener("contextmenu",function(n){return n.preventDefault()});this._geolocateButton=t.create("button","mapboxgl-ctrl-geolocate",this._container);t.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0);!(this._geolocateButton.type="button")===i?(n.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled."),r=this._map._getUIString("GeolocateControl.LocationNotAvailable"),this._geolocateButton.disabled=!0,this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r)):(r=this._map._getUIString("GeolocateControl.FindMyLocation"),this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r));this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF");this.options.showUserLocation&&(this._dotElement=t.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new wc(this._dotElement),this._circleElement=t.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new wc({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom));this._geolocateButton.addEventListener("click",this.trigger.bind(this));this._setup=!0;this.options.trackUserLocation&&this._map.on("movestart",function(t){t.geolocateSource||"ACTIVE_LOCK"!==u._watchState||t.originalEvent&&"resize"===t.originalEvent.type||(u._watchState="BACKGROUND",u._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),u._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),u.fire(new n.Event("trackuserlocationend")))})},it.prototype.trigger=function(){if(!this._setup)return n.warnOnce("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 n.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":bc--;vh=!1;this._watchState="OFF";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this.fire(new n.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition);this.fire(new n.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}var t;"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),vh=1<++bc?(t={maximumAge:6e5,timeout:0},!0):(t=this.options.positionOptions,!1),this._geolocationWatchID=n.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t))}else n.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},it.prototype._clearWatch=function(){n.window.navigator.geolocation.clearWatch(this._geolocationWatchID);this._geolocationWatchID=void 0;this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.setAttribute("aria-pressed","false");this.options.showUserLocation&&this._updateMarker(null)},it),ik={maxWidth:100,unit:"metric"},p=function(t){this.options=n.extend({},ik,t);n.bindAll(["_onMove","setUnit"],this)};p.prototype.getDefaultPosition=function(){return"bottom-left"};p.prototype._onMove=function(){uy(this._map,this._container,this.options)};p.prototype.onAdd=function(n){return this._map=n,this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",n.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container};p.prototype.onRemove=function(){t.remove(this._container);this._map.off("move",this._onMove);this._map=void 0};p.prototype.setUnit=function(n){this.options.unit=n;uy(this._map,this._container,this.options)};r=function(t){this._fullscreen=!1;t&&t.container&&(t.container instanceof n.window.HTMLElement?this._container=t.container:n.warnOnce("Full screen control 'container' must be a DOM element."));n.bindAll(["_onClickFullscreen","_changeIcon"],this);"onfullscreenchange"in n.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in n.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in n.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in n.window.document&&(this._fullscreenchange="MSFullscreenChange")};r.prototype.onAdd=function(i){return this._map=i,this._container||(this._container=this._map.getContainer()),this._controlContainer=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",n.warnOnce("This device does not support fullscreen mode.")),this._controlContainer};r.prototype.onRemove=function(){t.remove(this._controlContainer);this._map=null;n.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)};r.prototype._checkFullscreenSupport=function(){return!!(n.window.document.fullscreenEnabled||n.window.document.mozFullScreenEnabled||n.window.document.msFullscreenEnabled||n.window.document.webkitFullscreenEnabled)};r.prototype._setupUI=function(){var i=this._fullscreenButton=t.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);t.create("span","mapboxgl-ctrl-icon",i).setAttribute("aria-hidden",!0);i.type="button";this._updateTitle();this._fullscreenButton.addEventListener("click",this._onClickFullscreen);n.window.document.addEventListener(this._fullscreenchange,this._changeIcon)};r.prototype._updateTitle=function(){var n=this._getTitle();this._fullscreenButton.setAttribute("aria-label",n);this._fullscreenButton.title=n};r.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")};r.prototype._isFullscreen=function(){return this._fullscreen};r.prototype._changeIcon=function(){(n.window.document.fullscreenElement||n.window.document.mozFullScreenElement||n.window.document.webkitFullscreenElement||n.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())};r.prototype._onClickFullscreen=function(){this._isFullscreen()?n.window.document.exitFullscreen?n.window.document.exitFullscreen():n.window.document.mozCancelFullScreen?n.window.document.mozCancelFullScreen():n.window.document.msExitFullscreen?n.window.document.msExitFullscreen():n.window.document.webkitCancelFullScreen&&n.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var hs,rk={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},uk="a[href], [tabindex]:not([tabindex='-1']), [contenteditable]:not([contenteditable='false']), button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])",nr=((hs=n.Evented)&&(v.__proto__=hs),((v.prototype=Object.create(hs&&hs.prototype)).constructor=v).prototype.addTo=function(t){return this._map&&this.remove(),this._map=t,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._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new n.Event("open")),this},v.prototype.isOpen=function(){return!!this._map},v.prototype.remove=function(){return this._content&&t.remove(this._content),this._container&&(t.remove(this._container),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("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new n.Event("close")),this},v.prototype.getLngLat=function(){return this._lngLat},v.prototype.setLngLat=function(t){return this._lngLat=n.LngLat.convert(t),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},v.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},v.prototype.getElement=function(){return this._container},v.prototype.setText=function(t){return this.setDOMContent(n.window.document.createTextNode(t))},v.prototype.setHTML=function(t){var i,r=n.window.document.createDocumentFragment(),u=n.window.document.createElement("body");for(u.innerHTML=t;i=u.firstChild;)r.appendChild(i);return this.setDOMContent(r)},v.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},v.prototype.setMaxWidth=function(n){return this.options.maxWidth=n,this._update(),this},v.prototype.setDOMContent=function(n){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=t.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(n),this._createCloseButton(),this._update(),this._focusFirstElement(),this},v.prototype.addClassName=function(n){this._container&&this._container.classList.add(n)},v.prototype.removeClassName=function(n){this._container&&this._container.classList.remove(n)},v.prototype.setOffset=function(n){return this.options.offset=n,this._update(),this},v.prototype.toggleClassName=function(n){if(this._container)return this._container.classList.toggle(n)},v.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=t.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClose))},v.prototype._onMouseUp=function(n){this._update(n.point)},v.prototype._onMouseMove=function(n){this._update(n.point)},v.prototype._onDrag=function(n){this._update(n.point)},v.prototype._update=function(i){var r,u,e,f,o=this;this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=t.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=t.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(n){return o._container.classList.add(n)}),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=iy(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||i)&&(r=this._pos=this._trackPointer&&i?i:this._map.project(this._lngLat),u=this.options.anchor,f=function i(t){if(t){if("number"==typeof t){var r=Math.round(Math.sqrt(.5*Math.pow(t,2)));return{center:new n.Point(0,0),top:new n.Point(0,t),"top-left":new n.Point(r,r),"top-right":new n.Point(-r,r),bottom:new n.Point(0,-t),"bottom-left":new n.Point(r,-r),"bottom-right":new n.Point(-r,-r),left:new n.Point(t,0),right:new n.Point(-t,0)}}return t instanceof n.Point||Array.isArray(t)?(r=n.Point.convert(t),{center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}):{center:n.Point.convert(t.center||[0,0]),top:n.Point.convert(t.top||[0,0]),"top-left":n.Point.convert(t["top-left"]||[0,0]),"top-right":n.Point.convert(t["top-right"]||[0,0]),bottom:n.Point.convert(t.bottom||[0,0]),"bottom-left":n.Point.convert(t["bottom-left"]||[0,0]),"bottom-right":n.Point.convert(t["bottom-right"]||[0,0]),left:n.Point.convert(t.left||[0,0]),right:n.Point.convert(t.right||[0,0])}}return i(new n.Point(0,0))}(this.options.offset),u||(e=this._container.offsetWidth,i=this._container.offsetHeight,i=r.y+f.bottom.y<i?["top"]:r.y>this._map.transform.height-i?["bottom"]:[],r.x<e/2?i.push("left"):r.x>this._map.transform.width-e/2&&i.push("right"),u=0===i.length?"bottom":i.join("-")),f=r.add(f[u]).round(),t.setTransform(this._container,lh[u]+" translate("+f.x+"px,"+f.y+"px)"),ry(this._container,u,"popup"))},v.prototype._focusFirstElement=function(){var n;this.options.focusAfterOpen&&this._container&&(n=this._container.querySelector(uk))&&n.focus()},v.prototype._onClose=function(){this.remove()},v),fy={version:n.version,supported:kc,setRTLTextPlugin:n.setRTLTextPlugin,getRTLTextPluginStatus:n.getRTLTextPluginStatus,Map:bs,NavigationControl:f,GeolocateControl:si,AttributionControl:kt,ScaleControl:p,FullscreenControl:r,Popup:nr,Marker:wc,Style:ur,LngLat:n.LngLat,LngLatBounds:n.LngLatBounds,Point:n.Point,MercatorCoordinate:n.MercatorCoordinate,Evented:n.Evented,config:n.config,prewarm:function(){yl().acquire(ps)},clearPrewarmedResources:function(){var n=ws;n&&(n.isPreloaded()&&1===n.numActive()?(n.release(ps),ws=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()"))},get accessToken(){return n.config.ACCESS_TOKEN},set accessToken(t){n.config.ACCESS_TOKEN=t},get baseApiUrl(){return n.config.API_URL},set baseApiUrl(t){n.config.API_URL=t},get workerCount(){return dt.workerCount},set workerCount(n){dt.workerCount=n},get maxParallelImageRequests(){return n.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){n.config.MAX_PARALLEL_IMAGE_REQUESTS=t},clearStorage:function(t){n.clearTileCache(t)},workerUrl:""};return fy}),f);v=t.Layer.extend({options:{updateInterval:32,padding:.1,interactive:!1,opacity:1},initialize:function(n){t.setOptions(this,n);this._throttledUpdate=t.Util.throttle(this._update,this.options.updateInterval,this)},onAdd:function(n){this._container||this._initContainer();this.getPane().appendChild(this._container);this._initGL();this._offset=this._map.containerPointToLayerPoint([0,0]);n.options.zoomAnimation&&t.DomEvent.on(n._proxy,t.DomUtil.TRANSITION_END,this._transitionEnd,this)},onRemove:function(){this._map._proxy&&this._map.options.zoomAnimation&&t.DomEvent.off(this._map._proxy,t.DomUtil.TRANSITION_END,this._transitionEnd,this);this.getPane().removeChild(this._container);this._glMap.remove();this._glMap=null},getEvents:function(){return{move:this._throttledUpdate,zoomanim:this._animateZoom,zoom:this._pinchZoom,zoomstart:this._zoomStart,zoomend:this._zoomEnd}},getMapboxMap:function(){return this._glMap},getCanvas:function(){return this._glMap.getCanvas()},getSize:function(){return this._map.getSize().multiplyBy(1+2*this.options.padding)},getOpacity:function(){return this.options.opacity},setOpacity:function(n){this.options.opacity=n;this._container.style.opacity=n},getBounds:function(){var n=this.getSize().multiplyBy(.5),i=this._map.latLngToContainerPoint(this._map.getCenter());return t.latLngBounds(this._map.containerPointToLatLng(i.subtract(n)),this._map.containerPointToLatLng(i.add(n)))},getContainer:function(){return this._container},_initContainer:function(){var n=this._container=t.DomUtil.create("div","leaflet-gl-layer"),r=this.getSize(),i=this._map.getSize().multiplyBy(this.options.padding);n.style.width=r.x+"px";n.style.height=r.y+"px";n.style.position="absolute";n.style.opacity=this.options.opacity;i=this._map.containerPointToLayerPoint([0,0]).subtract(i);t.DomUtil.setPosition(n,i)},_initGL:function(){var n=this._map.getCenter(),n=t.extend({},this.options,{container:this._container,center:[n.lng,n.lat],zoom:this._map.getZoom()-1,attributionControl:!1});this._glMap=new o.Map(n);this._glMap.once("styledata",function(){this.fire("styleLoaded")}.bind(this));this._glMap.transform.latRange=null;this._glMap._actualCanvas=this._glMap._canvas.canvas?this._glMap._canvas.canvas:this._glMap._canvas;n=this._glMap._actualCanvas;t.DomUtil.addClass(n,"leaflet-image-layer");t.DomUtil.addClass(n,"leaflet-zoom-animated");this.options.interactive&&t.DomUtil.addClass(n,"leaflet-interactive");this.options.className&&t.DomUtil.addClass(n,this.options.className)},_update:function(){var i,u,n,r,f;this._offset=this._map.containerPointToLayerPoint([0,0]);this._zooming||(i=this.getSize(),u=this._container,n=this._glMap,r=this._map.getSize().multiplyBy(this.options.padding),f=this._map.containerPointToLayerPoint([0,0]).subtract(r),t.DomUtil.setPosition(u,f),r=this._map.getCenter(),(f=n.transform).center=o.LngLat.convert([r.lng,r.lat]),f.zoom=this._map.getZoom()-1,n.transform.width!==i.x||n.transform.height!==i.y?(u.style.width=i.x+"px",u.style.height=i.y+"px",null!==n._resize&&void 0!==n._resize?n._resize():n.resize()):null!==n._update&&void 0!==n._update?n._update():n.update())},_pinchZoom:function(){this._glMap.jumpTo({zoom:this._map.getZoom()-1,center:this._map.getCenter()})},_animateZoom:function(n){var r=this._map.getZoomScale(n.zoom),i=this._map.getSize().multiplyBy(this.options.padding*r),u=this.getSize()._divideBy(2),i=this._map.project(n.center,n.zoom)._subtract(u)._add(this._map._getMapPanePos().add(i))._round(),i=this._map.project(this._map.getBounds().getNorthWest(),n.zoom)._subtract(i);t.DomUtil.setTransform(this._glMap._actualCanvas,i.subtract(this._offset),r)},_zoomStart:function(){this._zooming=!0},_zoomEnd:function(){var n=this._map.getZoomScale(this._map.getZoom()),i=this._map._latLngToNewLayerPoint(this._map.getBounds().getNorthWest(),this._map.getZoom(),this._map.getCenter());t.DomUtil.setTransform(this._glMap._actualCanvas,i.subtract(this._offset),n);this._zooming=!1;this._update()},_transitionEnd:function(){t.Util.requestAnimFrame(function(){var n=this._map.getZoom(),i=this._map.getCenter(),r=this._map.latLngToContainerPoint(this._map.getBounds().getNorthWest());t.DomUtil.setTransform(this._glMap._actualCanvas,r,1);this._glMap.once("moveend",t.Util.bind(function(){this._zoomEnd()},this));this._glMap.jumpTo({center:i,zoom:n-1})},this)}});s=t.Layer.extend({options:{key:"ArcGIS:Streets"},initialize:function(n,i){if(i&&t.setOptions(this,i),this.options.apiKey&&(this.options.apikey=this.options.apiKey),this.options.token&&(this.options.apikey=this.options.token),!this.options.apikey&&!this.options.token)throw new Error("API Key or token is required for vectorBasemapLayer.");n&&(this.options.key=n);this._createLayer()},_createLayer:function(){var t,n=(n=this.options.key,t=this.options.apikey,n="https://basemaps-api.arcgis.com/arcgis/rest/services/styles/"+n+"?type=style",n=t?n+"&apiKey="+t:n);this._mapboxGL=y({style:n,pane:this.options.pane,opacity:this.options.opacity});this._ready=!0;this.fire("ready",{},!0);this._mapboxGL.on("styleLoaded",function(){this._setupAttribution()}.bind(this))},_setupAttribution:function(){var r=this._map,n,u;if(32===this.options.key.length)n=this._mapboxGL.getMapboxMap().style.stylesheet.sources,u=[],Object.keys(n).forEach(function(t){u.push(n[t].attribution);n[t].copyrightText&&n[t].copyrightText&&""!==n[t].copyrightText&&n[t].attribution!==n[t].copyrightText&&u.push(n[t].copyrightText)}),r.attributionControl.addAttribution('<span class="">'+u.join(", ")+"<\/span>");else if(this.options.attributionUrls||(this.options.attributionUrls=this._getAttributionUrls(this.options.key)),this._map&&this.options.attributionUrls){if(i.Util.setEsriAttribution(r),this._map.attributionControl){for(let n=0;n<this.options.attributionUrls.length;n++)!function(n,r){i.Support.cors&&i.request(n,{},function(n,u){var e,o,s;if(!n){for(r._esriAttributions=r._esriAttributions||[],e=0;e<u.contributors.length;e++)for(o=u.contributors[e],s=0;s<o.coverageAreas.length;s++){var f=o.coverageAreas[s],h=t.latLng(f.bbox[0],f.bbox[1]),c=t.latLng(f.bbox[2],f.bbox[3]);r._esriAttributions.push({attribution:o.attribution,score:f.score,bounds:t.latLngBounds(h,c),minZoom:f.zoomMin,maxZoom:f.zoomMax})}r._esriAttributions.sort(function(n,t){return t.score-n.score});i.Util._updateMapAttribution({target:r})}})}(this.options.attributionUrls[n],r);r.attributionControl.addAttribution('<span class="esri-dynamic-attribution"><\/span>')}i.Util._updateMapAttribution({target:this._map})}},_getAttributionUrls:function(n){return 0===n.indexOf("OSM:")?["https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2"]:0===n.indexOf("ArcGIS:Imagery")?["https://static.arcgis.com/attribution/World_Imagery","https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]:["https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]},onAdd:function(n){this._map=n;this._initPane();this._ready?this._asyncAdd():this.once("ready",function(){this._asyncAdd()},this)},_initPane:function(){var n;this.options.pane||(this.options.pane=-1<this.options.key.indexOf(":Labels")?"esri-labels":"tilePane");this._map.getPane(this.options.pane)||((n=this._map.createPane(this.options.pane)).style.pointerEvents="none",n.style.zIndex="esri-labels"===this.options.pane?550:500)},onRemove:function(n){var t;n.off("moveend",i.Util._updateMapAttribution);n.removeLayer(this._mapboxGL);!n.attributionControl||(t=document.getElementsByClassName("esri-dynamic-attribution"))&&0<t.length&&(t=t[0].outerHTML,n.attributionControl.removeAttribution(t))},_asyncAdd:function(){var n=this._map;n.on("moveend",i.Util._updateMapAttribution);this._mapboxGL.addTo(n,this)}});h=t.Layer.extend({options:{pane:"overlayPane",portalUrl:"https://www.arcgis.com"},initialize:function(n,i){if(i&&t.setOptions(this,i),this.options.apiKey&&(this.options.apikey=this.options.apiKey),this.options.apikey&&(this.options.token=this.options.apikey),!n)throw new Error("An ITEM ID or SERVICE URL is required for vectorTileLayer.");n&&(this.options.key=n);this._createLayer()},_createLayer:function(){p(this.options.key,this.options,function(n,t,i,r){if(n)throw new Error(n);n=r.tileInfo.spatialReference.wkid;0<=b.indexOf(n)||console.warn('This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:',r.tileInfo.spatialReference,"\nMore information is available at https://docs.mapbox.com/help/glossary/projection/ and https://github.com/Esri/esri-leaflet-vector/issues/94.");t=function(n,t,i,r){for(var u,h,s,f,e=Object.keys(n.sources),o=0;o<e.length;o++)u=n.sources[e[o]],-1===u.url.indexOf("http")&&(u.url=t.replace("/resources/styles/root.json","")),"/"===u.url.charAt(u.url.length-1)&&(u.url=u.url.slice(0,u.url.length-1)),u.tiles||(i.tiles&&"/"!==i.tiles[0].charAt(0)&&(i.tiles[0]="/"+i.tiles[0]),u.tiles=[u.url+i.tiles[0]]),u.url+="?f=json",u.url+=r?"&token="+r:"",u.tiles[0]+=r?"?token="+r:"",u.minzoom=i.tileInfo.lods[0].level,u.maxzoom=i.tileInfo.lods[i.tileInfo.lods.length-1].level;for(h=n.sources[e[e.length-1]],h.attribution=i.copyrightText||"",h.copyrightText=i.copyrightText||"",s=0;s<n.layers.length;s++)f=n.layers[s],f.layout&&f.layout["text-font"]&&1<f.layout["text-font"].length&&(f.layout["text-font"]=[f.layout["text-font"][0]]);return n.sprite&&-1===n.sprite.indexOf("http")&&(n.sprite=t.replace("styles/root.json",n.sprite.replace("../","")),n.sprite+=r?"?token="+r:""),n.glyphs&&-1===n.glyphs.indexOf("http")&&(n.glyphs=t.replace("styles/root.json",n.glyphs.replace("../","")),n.glyphs+=r?"?token="+r:""),n}(t,i,r,this.options.token);this.getAttribution()||(r=Object.keys(t.sources),this.options.attribution=t.sources[r[r.length-1]].attribution,this._map&&this._map.attributionControl&&this._map.attributionControl.addAttribution(this.getAttribution()));this.options.style&&"function"==typeof this.options.style&&(t=this.options.style(t));this._mapboxGL=y({style:t,pane:this.options.pane,opacity:this.options.opacity});this._ready=!0;this.fire("ready",{},!0)}.bind(this))},onAdd:function(n){this._map=n;this._ready?this._asyncAdd():this.once("ready",function(){this._asyncAdd()},this)},onRemove:function(n){n.removeLayer(this._mapboxGL)},_asyncAdd:function(){var n=this._map;this._mapboxGL.addTo(n,this)}});n.VERSION="3.1.0";n.VectorBasemapLayer=s;n.VectorTileLayer=h;n.vectorBasemapLayer=function(n,t){return new s(n,t)};n.vectorTileLayer=function(n,t){return new h(n,t)};Object.defineProperty(n,"__esModule",{value:!0})});!function e(n,t,i){function r(u,e){var s,h,o;if(!t[u]){if(!n[u]){if(s="function"==typeof require&&require,!e&&s)return s(u,!0);if(f)return f(u,!0);h=new Error("Cannot find module '"+u+"'");throw h.code="MODULE_NOT_FOUND",h;}o=t[u]={exports:{}};n[u][0].call(o.exports,function(t){var i=n[u][1][t];return r(i?i:t)},o,o.exports,e,n,t,i)}return t[u].exports}for(var f="function"==typeof require&&require,u=0;u<i.length;u++)r(i[u]);return r}({1:[function(n,t,i){"use strict";function u(){}function e(n){if("function"!=typeof n)throw new TypeError("resolver must be a function");this.state=a;this.queue=[];this.outcome=void 0;n!==u&&h(this,n)}function f(n,t,i){this.promise=n;"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled);"function"==typeof i&&(this.onRejected=i,this.callRejected=this.otherCallRejected)}function o(n,t,i){k(function(){var u;try{u=t(i)}catch(f){return r.reject(n,f)}u===n?r.reject(n,new TypeError("Cannot resolve promise with itself")):r.resolve(n,u)})}function v(n){var t=n&&n.then;if(n&&"object"==typeof n&&"function"==typeof t)return function(){t.apply(n,arguments)}}function h(n,t){function u(t){i||(i=!0,r.reject(n,t))}function e(t){i||(i=!0,r.resolve(n,t))}function o(){t(e,u)}var i=!1,f=c(o);"error"===f.status&&u(f.value)}function c(n,t){var i={};try{i.value=n(t);i.status="success"}catch(r){i.status="error";i.value=r}return i}function y(n){return n instanceof this?n:r.resolve(new this(u),n)}function p(n){var t=new this(u);return r.reject(t,n)}function w(n){function s(n,u){function f(n){o[u]=n;++c!==t||i||(i=!0,r.resolve(e,o))}h.resolve(n).then(f,function(n){i||(i=!0,r.reject(e,n))})}var h=this,t,i;if("[object Array]"!==Object.prototype.toString.call(n))return this.reject(new TypeError("must be an array"));if(t=n.length,i=!1,!t)return this.resolve([]);for(var o=new Array(t),c=0,f=-1,e=new this(u);++f<t;)s(n[f],f);return e}function b(n){function o(n){s.resolve(n).then(function(n){t||(t=!0,r.resolve(i,n))},function(n){t||(t=!0,r.reject(i,n))})}var s=this,f,t,e,i;if("[object Array]"!==Object.prototype.toString.call(n))return this.reject(new TypeError("must be an array"));if(f=n.length,t=!1,!f)return this.resolve([]);for(e=-1,i=new this(u);++e<f;)o(n[e]);return i}var k=n("immediate"),r={},l=["REJECTED"],s=["FULFILLED"],a=["PENDING"];t.exports=i=e;e.prototype["catch"]=function(n){return this.then(null,n)};e.prototype.then=function(n,t){var i,r;return"function"!=typeof n&&this.state===s||"function"!=typeof t&&this.state===l?this:(i=new this.constructor(u),this.state!==a?(r=this.state===s?n:t,o(i,r,this.outcome)):this.queue.push(new f(i,n,t)),i)};f.prototype.callFulfilled=function(n){r.resolve(this.promise,n)};f.prototype.otherCallFulfilled=function(n){o(this.promise,this.onFulfilled,n)};f.prototype.callRejected=function(n){r.reject(this.promise,n)};f.prototype.otherCallRejected=function(n){o(this.promise,this.onRejected,n)};r.resolve=function(n,t){var i=c(v,t),u,f,e;if("error"===i.status)return r.reject(n,i.value);if(u=i.value,u)h(n,u);else for(n.state=s,n.outcome=t,f=-1,e=n.queue.length;++f<e;)n.queue[f].callFulfilled(t);return n};r.reject=function(n,t){n.state=l;n.outcome=t;for(var i=-1,r=n.queue.length;++i<r;)n.queue[i].callRejected(t);return n};i.resolve=y;i.reject=p;i.all=w;i.race=b},{immediate:2}],2:[function(n,t){(function(n){"use strict";function r(){e=!0;for(var n,r,t=i.length;t;){for(r=i,i=[],n=-1;++n<t;)r[n]();t=i.length}e=!1}function c(n){1!==i.push(n)||e||u()}var u,o=n.MutationObserver||n.WebKitMutationObserver,f,e,i;if(o){var s=0,l=new o(r),h=n.document.createTextNode("");l.observe(h,{characterData:!0});u=function(){h.data=s=++s%2}}else n.setImmediate||"undefined"==typeof n.MessageChannel?u="document"in n&&"onreadystatechange"in n.document.createElement("script")?function(){var t=n.document.createElement("script");t.onreadystatechange=function(){r();t.onreadystatechange=null;t.parentNode.removeChild(t);t=null};n.document.documentElement.appendChild(t)}:function(){setTimeout(r,0)}:(f=new n.MessageChannel,f.port1.onmessage=r,u=function(){f.port2.postMessage(0)});i=[];t.exports=c}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(n,t){(function(i){"use strict";var r=n("./jsonp"),u=n("lie");t.exports=function(n,t){if(t=t||{},t.jsonp)return r(n,t);var f,o,e=new u(function(r,u){o=u;void 0===i.XMLHttpRequest&&u("XMLHttpRequest is not supported");var e;f=new i.XMLHttpRequest;f.open("GET",n);t.headers&&Object.keys(t.headers).forEach(function(n){f.setRequestHeader(n,t.headers[n])});f.onreadystatechange=function(){4===f.readyState&&(f.status<400&&t.local||200===f.status?(i.JSON?e=JSON.parse(f.responseText):u(new Error("JSON is not supported")),r(e)):u(f.status?f.statusText:"Attempted cross origin request without CORS enabled"))};f.send()});return e["catch"](function(n){return f.abort(),n}),e.abort=o,e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./jsonp":5,lie:1}],4:[function(n){(function(t){"use strict";var i=t.L||n("leaflet"),r=n("lie"),u=n("./ajax");i.GeoJSON.AJAX=i.GeoJSON.extend({defaultAJAXparams:{dataType:"json",callbackParam:"callback",local:!1,middleware:function(n){return n}},initialize:function(n,t){var f,u,e;this.urls=[];n&&("string"==typeof n?this.urls.push(n):"function"==typeof n.pop?this.urls=this.urls.concat(n):(t=n,n=void 0));f=i.Util.extend({},this.defaultAJAXparams);for(u in t)this.defaultAJAXparams.hasOwnProperty(u)&&(f[u]=t[u]);this.ajaxParams=f;this._layers={};i.Util.setOptions(this,t);this.on("data:loaded",function(){this.filter&&this.refilter(this.filter)},this);e=this;this.urls.length>0&&new r(function(n){n()}).then(function(){e.addUrl()})},clearLayers:function(){return this.urls=[],i.GeoJSON.prototype.clearLayers.call(this),this},addUrl:function(n){var t=this,r,f;n&&("string"==typeof n?t.urls.push(n):"function"==typeof n.pop&&(t.urls=t.urls.concat(n)));r=t.urls.length;f=0;t.fire("data:loading");t.urls.forEach(function(n){"json"===t.ajaxParams.dataType.toLowerCase()?u(n,t.ajaxParams).then(function(n){var i=t.ajaxParams.middleware(n);t.addData(i);t.fire("data:progress",i)},function(n){t.fire("data:progress",{error:n})}):"jsonp"===t.ajaxParams.dataType.toLowerCase()&&i.Util.jsonp(n,t.ajaxParams).then(function(n){var i=t.ajaxParams.middleware(n);t.addData(i);t.fire("data:progress",i)},function(n){t.fire("data:progress",{error:n})})});t.on("data:progress",function(){++f===r&&t.fire("data:loaded")})},refresh:function(n){n=n||this.urls;this.clearLayers();this.addUrl(n)},refilter:function(n){"function"!=typeof n?(this.filter=!1,this.eachLayer(function(n){n.setStyle({stroke:!0,clickable:!0})})):(this.filter=n,this.eachLayer(function(t){n(t.feature)?t.setStyle({stroke:!0,clickable:!0}):t.setStyle({stroke:!1,clickable:!1})}))}});i.Util.Promise=r;i.Util.ajax=u;i.Util.jsonp=n("./jsonp");i.geoJson.ajax=function(n,t){return new i.GeoJSON.AJAX(n,t)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./ajax":3,"./jsonp":5,leaflet:void 0,lie:1}],5:[function(n,t){(function(i){"use strict";var r=i.L||n("leaflet"),u=n("lie");t.exports=function(n,t){t=t||{};var e,h,f,c,s=document.getElementsByTagName("head")[0],o=r.DomUtil.create("script","",s),l=new u(function(r,u){c=u;var l=t.cbParam||"callback";t.callbackName?e=t.callbackName:(f="_"+(""+Math.random()).slice(2),e="_leafletJSONPcallbacks."+f);o.type="text/javascript";f&&(i._leafletJSONPcallbacks||(i._leafletJSONPcallbacks={length:0}),i._leafletJSONPcallbacks.length++,i._leafletJSONPcallbacks[f]=function(n){s.removeChild(o);delete i._leafletJSONPcallbacks[f];i._leafletJSONPcallbacks.length--;i._leafletJSONPcallbacks.length||delete i._leafletJSONPcallbacks;r(n)});h=-1===n.indexOf("?")?n+"?"+l+"="+e:n+"&"+l+"="+e;o.src=h}).then(null,function(n){return s.removeChild(o),delete r.Util.ajax.cb[f],n});return l.abort=c,l}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{leaflet:void 0,lie:1}]},{},[4]),function(){L.Icon.Pulse=L.DivIcon.extend({options:{className:"",iconSize:[12,12],fillColor:"red",color:"red",animate:!0,heartbeat:1},initialize:function(n){var u,t;L.setOptions(this,n);var i="lpi-"+(new Date).getTime()+"-"+Math.round(Math.random()*1e5),f=["background-color: "+this.options.fillColor],r=["box-shadow: 0 0 6px 2px "+this.options.color,"animation: pulsate "+this.options.heartbeat+"s ease-out","animation-iteration-count: infinite","animation-delay: "+(this.options.heartbeat+.1)+"s"];this.options.animate||(r.push("animation: none"),r.push("box-shadow:none"));u=["."+i+"{"+f.join(";")+";}","."+i+":after{"+r.join(";")+";}"].join("");t=document.createElement("style");t.styleSheet?t.styleSheet.cssText=u:t.appendChild(document.createTextNode(u));document.getElementsByTagName("head")[0].appendChild(t);this.options.className=this.options.className+" leaflet-pulsing-icon "+i;L.DivIcon.prototype.initialize.call(this,n)}});L.icon.pulse=function(n){return new L.Icon.Pulse(n)};L.Marker.Pulse=L.Marker.extend({initialize:function(n,t){t.icon=L.icon.pulse(t);L.Marker.prototype.initialize.call(this,n,t)}});L.marker.pulse=function(n,t){return new L.Marker.Pulse(n,t)}}(window),function(){"use strict";L.CanvasIcon=L.Icon.extend({options:{iconSize:[24,24],iconAnchor:[12,12],drawIcon:null,className:"leaflet-canvas-icon"},createIcon:function(n){var t=L.point(this.options.iconSize);return n&&n.tagName=="CANVAS"||(n=document.createElement("canvas")),n.width=t.x,n.height=t.y,this._setIconStyles(n,"icon"),n},createShadow:function(){return null},_setIconStyles:function(){typeof this.options.drawIcon=="function"&&this.options.drawIcon.apply(this,arguments);L.Icon.prototype._setIconStyles.apply(this,arguments)}});L.canvasIcon=function(n){return new L.CanvasIcon(n)};typeof define=="function"&&define.amd&&define(L.CanvasIcon)}(),function(){"use strict";L.PiechartIcon=L.CanvasIcon.extend({options:{iconSize:[48,48],iconAnchor:[24,24],popupAnchor:[24,24],className:"leaflet-piechart-icon",valueField:"value",nameField:"name"},_setIconStyles:function(n,t){var r=this.options.data,u,l;if(t=="icon"&&r&&L.Util.isArray(r)&&n.getContext){var i=n.getContext("2d"),f=L.point(this.options.iconSize),a=f.divideBy(2);i.clearRect(0,0,f.x,f.y);var v=this.options.valueField,y=this._getTotal(r,v),e=a.x,o=a.y;if(y){var p=Math.min(e,o),w=Math.PI/y*2,s=-Math.PI/2,h,c;for(u=0,l=r.length;u<l;u++)i.beginPath(),c=r[u].style||this._getStyle(u,l),this._applyStyle(i,c),h=w*r[u][v]+s,i.arc(e,o,p-Math.ceil((c.lineWidth||0)/2),s,h),i.stroke(),i.lineTo(e,o),s=h,i.fill(),i.closePath()}}L.CanvasIcon.prototype._setIconStyles.apply(this,arguments)},_getTotal:function(n,t){for(var r=0,i=0,u=n.length;i<u;i++)r+=+n[i][t];return r},_applyStyle:function(n,t){for(var i in t)n[i]=t[i]},_getStyle:function(n,t){var r=function(n,t,i){var u,f,e;if(t==0)u=f=e=i;else{var o=function(n,t,i){return(i<0&&(i+=1),i>1&&(i-=1),i<1/6)?n+(t-n)*6*i:i<1/2?t:i<2/3?n+(t-n)*(2/3-i)*6:n},r=i<.5?i*(1+t):i+t-i*t,s=2*i-r;u=o(s,r,n+1/3);f=o(s,r,n);e=o(s,r,n-1/3)}return Math.round(u*255)+","+Math.round(f*255)+","+Math.round(e*255)},u=360/(t*2.5),f=n%2*t,e=u*(f+(n-n%2))/360,i=r(e,.7,.5);return{fillStyle:"rgba("+i+",.6)",strokeStyle:"rgba("+i+",.7)",lineWidth:1}}});L.piechartIcon=function(n){return new L.PiechartIcon(n)};L.PiechartMarker=L.Marker.extend({options:{icon:null,radius:20,riseOnHover:!0},initialize:function(n,t){var i={},r;L.Util.extend(i,t);i.radius&&(r=i.radius*2,i.iconSize=[r,r],i.iconAnchor=[i.radius,i.radius]);i.icon=L.piechartIcon(i);L.Marker.prototype.initialize.apply(this,[n,i])}});L.piechartMarker=function(n,t){return new L.PiechartMarker(n,t)}}(),function(n,t){typeof exports=="object"&&typeof module!="undefined"?module.exports=t():typeof define=="function"&&define.amd?define(t):(n=n||self,n.mapboxgl=t())}(this,function(){"use strict";function r(r,u){if(n)if(t){var e="var sharedChunk = {}; ("+n+")(sharedChunk); ("+t+")(sharedChunk);",f={};n(f);i=u(f);typeof window!="undefined"&&(i.workerUrl=window.URL.createObjectURL(new Blob([e],{type:"text/javascript"})))}else t=u;else n=u}var n,t,i;return r(["exports"],function(n){function hh(n,t){return n(t={exports:{}},t.exports),t.exports}function ne(n,t,i,r){this.cx=3*n;this.bx=3*(i-n)-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=n;this.p1y=r;this.p2x=i;this.p2y=r}function te(n,t){this.x=n;this.y=t}function hw(n,t,i,r){var u=new sw(n,t,i,r);return function(n){return u.solve(n)}}function rf(n,t,i){return Math.min(i,Math.max(t,n))}function lw(n,t,i){var r=i-t,u=((n-t)%r+r)%r+t;return u===t?i:u}function fi(n){for(var i,u,f,e,r=[],t=arguments.length-1;t-->0;)r[t]=arguments[t+1];for(i=0,u=r;i<u.length;i+=1){f=u[i];for(e in f)n[e]=f[e]}return n}function vw(){return aw++}function yw(){return function n(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,n)}()}function pw(n){return!!n&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(n)}function ww(n,t){n.forEach(function(n){t[n]&&(t[n]=t[n].bind(t))})}function ba(n,t){return-1!==n.indexOf(t,n.length-t.length)}function ka(n,t,i){var u={};for(var r in n)u[r]=t.call(i||this,n[r],r,n);return u}function bw(n,t,i){var u={};for(var r in n)t.call(i||this,n[r],r,n)&&(u[r]=n[r]);return u}function lr(n){return Array.isArray(n)?n.map(lr):"object"==typeof n&&n?ka(n,lr):n}function bt(n){da[n]||("undefined"!=typeof console&&console.warn(n),da[n]=!0)}function hu(n,t,i){return(i.y-n.y)*(t.x-n.x)>(t.y-n.y)*(i.x-n.x)}function iit(n){for(var i=0,t=0,r=n.length,u=r-1,f=void 0,e=void 0;t<r;u=t++)i+=((e=n[u]).x-(f=n[t]).x)*(f.y+e.y);return i}function ch(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function ga(n){var t={},i;return(n.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(n,i,r,u){var f=r||u;return t[i]=!f||f.toLowerCase(),""}),t["max-age"])&&(i=parseInt(t["max-age"],10),isNaN(i)?delete t["max-age"]:t["max-age"]=i),t}function kw(n){if(null==lh){var t=n.navigator?n.navigator.userAgent:null;lh=!!n.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return lh}function dw(n){try{var t=e[n];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch(n){return!1}}function nb(n){var t=n.createTexture();n.bindTexture(n.TEXTURE_2D,t);try{if(n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,vo),n.isContextLost())return;vh.supported=!0}catch(n){}n.deleteTexture(t);tv=!0}function ar(n){return 0===n.indexOf("mapbox:")}function yo(n){return tb.test(n)}function cu(n){var t=n.match(ib);if(!t)throw new Error("Unable to parse URL object");return{protocol:t[1],authority:t[2],path:t[3]||"/",params:t[4]?t[4].split("&"):[]}}function yh(n){var t=n.params.length?"?"+n.params.join("&"):"";return n.protocol+"://"+n.authority+n.path+t}function rb(n){if(!n)return null;var t=n.split(".");if(!t||3!==t.length)return null;try{return JSON.parse(decodeURIComponent(e.atob(t[1]).split("").map(function(n){return"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)}).join("")))}catch(n){return null}}function wh(){e.caches&&!yr&&(yr=e.caches.open("mapbox-tiles"))}function sb(n){var t=n.indexOf("?");return t<0?n:n.slice(0,t)}function hb(){return null==rv&&(rv=e.OffscreenCanvas&&new e.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof e.createImageBitmap),rv}function lb(n,t,i){i[n]&&-1!==i[n].indexOf(t)||(i[n]=i[n]||[],i[n].push(t))}function hv(n,t,i){if(i&&i[n]){var r=i[n].indexOf(t);-1!==r&&i[n].splice(r,1)}}function ab(n){var t=n.value;return t?[new u(n.key,t,"constants have been deprecated as of v8")]:[]}function re(n){for(var i,u,f,e,r=[],t=arguments.length-1;t-->0;)r[t]=arguments[t+1];for(i=0,u=r;i<u.length;i+=1){f=u[i];for(e in f)n[e]=f[e]}return n}function ut(n){return n instanceof Number||n instanceof String||n instanceof Boolean?n.valueOf():n}function uf(n){var t,i;if(Array.isArray(n))return n.map(uf);if(n instanceof Object&&!(n instanceof Number||n instanceof String||n instanceof Boolean)){t={};for(i in n)t[i]=uf(n[i]);return t}return ut(n)}function yi(n,t){return{kind:"array",itemType:n,N:t}}function g(n){if("array"===n.kind){var t=g(n.itemType);return"number"==typeof n.N?"array<"+t+", "+n.N+">":"value"===n.itemType.kind?"array":"array<"+t+">"}return n.kind}function go(n,t){if("error"===t.kind)return null;if("array"===n.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!go(n.itemType,t.itemType))&&("number"!=typeof n.N||n.N===t.N))return null}else{if(n.kind===t.kind)return null;if("value"===n.kind)for(var i=0,r=vb;i<r.length;i+=1)if(!go(r[i],t))return null}return"Expected "+g(n)+" but found "+g(t)+" instead."}function lv(n,t){return t.some(function(t){return t.kind===n.kind})}function ns(n,t){return t.some(function(t){return"null"===t?null===n:"array"===t?Array.isArray(n):"object"===t?n&&!Array.isArray(n)&&"object"==typeof n:t===typeof n})}function yb(n,t,i,r){return"number"==typeof n&&n>=0&&n<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:"Invalid rgba value ["+[n,t,i,r].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof r?[n,t,i,r]:[n,t,i]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function tc(n){var t,i,r;if(null===n||"string"==typeof n||"boolean"==typeof n||"number"==typeof n||n instanceof y||n instanceof ee||n instanceof ht||n instanceof ti)return!0;if(Array.isArray(n)){for(t=0,i=n;t<i.length;t+=1)if(!tc(i[t]))return!1;return!0}if("object"==typeof n){for(r in n)if(!tc(n[r]))return!1;return!0}return!1}function et(n){var u;if(null===n)return wo;if("string"==typeof n)return a;if("boolean"==typeof n)return c;if("number"==typeof n)return i;if(n instanceof y)return rr;if(n instanceof ee)return gh;if(n instanceof ht)return bo;if(n instanceof ti)return ko;if(Array.isArray(n)){for(var t,e=n.length,r=0,f=n;r<f.length;r+=1){if(u=et(f[r]),t){if(t===u)continue;t=l;break}t=u}return yi(t||l,e)}return fe}function ts(n){var t=typeof n;return null===n?"":"string"===t||"number"===t||"boolean"===t?String(n):n instanceof y||n instanceof ht||n instanceof ti?n.toString():JSON.stringify(n)}function vv(n,t){n[0]=Math.min(n[0],t[0]);n[1]=Math.min(n[1],t[1]);n[2]=Math.max(n[2],t[0]);n[3]=Math.max(n[3],t[1])}function rc(n,t){return!(n[0]<=t[0]||n[2]>=t[2]||n[1]<=t[1]||n[3]>=t[3])}function cit(n,t){var r=(180+n[0])/360,u=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+n[1]*Math.PI/360)))/360,i=Math.pow(2,t.z);return[Math.round(r*i*8192),Math.round(u*i*8192)]}function lit(n,t,i){return t[1]>n[1]!=i[1]>n[1]&&n[0]<(i[0]-t[0])*(n[1]-t[1])/(i[1]-t[1])+t[0]}function yv(n,t){for(var u,o,s,h,c,l,a,f=!1,e=0,v=t.length;e<v;e++)for(var r=t[e],i=0,y=r.length;i<y-1;i++){if((h=(u=n)[0]-(o=r[i])[0])*(a=u[1]-(s=r[i+1])[1])-(l=u[0]-s[0])*(c=u[1]-o[1])==0&&h*l<=0&&c*a<=0)return!1;lit(n,r[i],r[i+1])&&(f=!f)}return f}function ait(n,t){for(var i=0;i<t.length;i++)if(yv(n,t[i]))return!0;return!1}function bb(n,t,i,r){var u=r[0]-i[0],f=r[1]-i[1],e=(n[0]-i[0])*f-u*(n[1]-i[1]),o=(t[0]-i[0])*f-u*(t[1]-i[1]);return e>0&&o<0||e<0&&o>0}function vit(n,t,i){for(var f,r,e,o,s,h,l,a,u=0,c=i;u<c.length;u+=1)for(f=c[u],r=0;r<f.length-1;++r)if(0!=(l=[(h=f[r+1])[0]-(s=f[r])[0],h[1]-s[1]])[0]*(a=[(o=t)[0]-(e=n)[0],o[1]-e[1]])[1]-l[1]*a[0]&&bb(e,o,s,h)&&bb(s,h,e,o))return!0;return!1}function kb(n,t){for(var i,r=0;r<n.length;++r)if(!yv(n[r],t))return!1;for(i=0;i<n.length-1;++i)if(vit(n[i],n[i+1],t))return!1;return!0}function yit(n,t){for(var i=0;i<t.length;i++)if(kb(n,t[i]))return!0;return!1}function pv(n,t,i){for(var e,u,o,f=[],r=0;r<n.length;r++){for(e=[],u=0;u<n[r].length;u++)o=cit(n[r][u],i),vv(t,o),e.push(o);f.push(e)}return f}function db(n,t,i){for(var f,u=[],r=0;r<n.length;r++)f=pv(n[r],t,i),u.push(f);return u}function gb(n,t,i,r){if(n[0]<i[0]||n[0]>i[2]){var u=.5*r,f=n[0]-i[0]>u?-r:i[0]-n[0]>u?r:0;0===f&&(f=n[0]-i[2]>u?-r:i[2]-n[0]>u?r:0);n[0]+=f}vv(t,n)}function nk(n,t,i,r){for(var u,e,o,s,a=8192*Math.pow(2,r.z),h=[8192*r.x,8192*r.y],c=[],f=0,l=n;f<l.length;f+=1)for(u=0,e=l[f];u<e.length;u+=1)o=e[u],s=[o.x+h[0],o.y+h[1]],gb(s,t,i,a),c.push(s);return c}function tk(n,t,i,r){for(var c,l,f,a,e,v,u,y=8192*Math.pow(2,r.z),p=[8192*r.x,8192*r.y],o=[],s=0,w=n;s<w.length;s+=1){for(var b=[],h=0,k=w[s];h<k.length;h+=1)c=k[h],l=[c.x+p[0],c.y+p[1]],vv(t,l),b.push(l);o.push(b)}if(t[2]-t[0]<=y/2)for((u=t)[0]=u[1]=1/0,u[2]=u[3]=-1/0,f=0,a=o;f<a.length;f+=1)for(e=0,v=a[f];e<v.length;e+=1)gb(v[e],t,i,y);return o}function uc(n){if(n instanceof vt&&("get"===n.name&&1===n.args.length||"feature-state"===n.name||"has"===n.name&&1===n.args.length||"properties"===n.name||"geometry-type"===n.name||"id"===n.name||/^filter-/.test(n.name))||n instanceof wi)return!1;var t=!0;return n.eachChild(function(n){t&&!uc(n)&&(t=!1)}),t}function is(n){if(n instanceof vt&&"feature-state"===n.name)return!1;var t=!0;return n.eachChild(function(n){t&&!is(n)&&(t=!1)}),t}function fc(n,t){if(n instanceof vt&&t.indexOf(n.name)>=0)return!1;var i=!0;return n.eachChild(function(n){i&&!fc(n,t)&&(i=!1)}),i}function ec(n,t){for(var f,e=n.length-1,r=0,u=e,i=0;r<=u;)if((f=n[i=Math.floor((r+u)/2)])<=t){if(i===e||t<n[i+1])return i;r=i+1}else{if(!(f>t))throw new ct("Input is not a number.");u=i-1}return 0}function ot(n,t,i){return n*(1-i)+t*i}function wv(n){return n>.0088564516790356311?Math.pow(n,1/3):n/ik+4/29}function bv(n){return n>6/29?n*n*n:ik*(n-4/29)}function kv(n){return 255*(n<=.0031308?12.92*n:1.055*Math.pow(n,1/2.4)-.055)}function dv(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function rk(n){var t=dv(n.r),i=dv(n.g),r=dv(n.b),f=wv((.4124564*t+.3575761*i+.1804375*r)/.95047),u=wv((.2126729*t+.7151522*i+.072175*r)/1);return{l:116*u-16,a:500*(f-u),b:200*(u-wv((.0193339*t+.119192*i+.9503041*r)/1.08883)),alpha:n.a}}function uk(n){var t=(n.l+16)/116,i=isNaN(n.a)?t:t+n.a/500,r=isNaN(n.b)?t:t-n.b/200;return t=1*bv(t),i=.95047*bv(i),r=1.08883*bv(r),new y(kv(3.2404542*i-1.5371385*t-.4985314*r),kv(-.969266*i+1.8760108*t+.041556*r),kv(.0556434*i-.2040259*t+1.0572252*r),n.alpha)}function bit(n,t,i){var r=t-n;return n+i*(r>180||r<-180?r-360*Math.round(r/360):r)}function gv(n,t,i,r){var u=r-i,f=n-i;return 0===u?0:1===t?f/u:(Math.pow(t,f)-1)/(Math.pow(t,u)-1)}function ek(n,t){return"=="===n||"!="===n?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function ok(n,t,i,r){return 0===r.compare(t,i)}function oe(n,t,i){var r="=="!==n&&"!="!==n;return function(){function u(n,t,i){this.type=c;this.lhs=n;this.rhs=t;this.collator=i;this.hasUntypedArgument="value"===n.type.kind||"value"===t.type.kind}return u.parse=function(n,t){var e,i,f,o;if(3!==n.length&&4!==n.length)return t.error("Expected two or three arguments.");if(e=n[0],i=t.parse(n[1],1,l),!i)return null;if(!ek(e,i.type))return t.concat(1).error('"'+e+"\" comparisons are not supported for type '"+g(i.type)+"'.");if(f=t.parse(n[2],2,l),!f)return null;if(!ek(e,f.type))return t.concat(2).error('"'+e+"\" comparisons are not supported for type '"+g(f.type)+"'.");if(i.type.kind!==f.type.kind&&"value"!==i.type.kind&&"value"!==f.type.kind)return t.error("Cannot compare types '"+g(i.type)+"' and '"+g(f.type)+"'.");if(r&&("value"===i.type.kind&&"value"!==f.type.kind?i=new kt(f.type,[i]):"value"!==i.type.kind&&"value"===f.type.kind&&(f=new kt(i.type,[f]))),o=null,4===n.length){if("string"!==i.type.kind&&"string"!==f.type.kind&&"value"!==i.type.kind&&"value"!==f.type.kind)return t.error("Cannot use collator to compare non-string types.");if(!(o=t.parse(n[3],3,gh)))return null}return new u(i,f,o)},u.prototype.evaluate=function(u){var f=this.lhs.evaluate(u),e=this.rhs.evaluate(u),o,s,h,c;if(r&&this.hasUntypedArgument&&(o=et(f),s=et(e),o.kind!==s.kind||"string"!==o.kind&&"number"!==o.kind))throw new ct('Expected arguments for "'+n+'" to be (string, string) or (number, number), but found ('+o.kind+", "+s.kind+") instead.");return this.collator&&!r&&this.hasUntypedArgument&&(h=et(f),c=et(e),"string"!==h.kind||"string"!==c.kind)?t(u,f,e):this.collator?i(u,f,e,this.collator.evaluate(u)):t(u,f,e)},u.prototype.eachChild=function(n){n(this.lhs);n(this.rhs);this.collator&&n(this.collator)},u.prototype.outputDefined=function(){return!0},u.prototype.serialize=function(){var t=[n];return this.eachChild(function(n){t.push(n.serialize())}),t},u}()}function sk(n,t){var r=t[0],u=t[1],f=t[2],o=t[3],i,e;if(r=r.evaluate(n),u=u.evaluate(n),f=f.evaluate(n),i=o?o.evaluate(n):1,e=yb(r,u,f,i),e)throw new ct(e);return new y(r/255*i,u/255*i,f/255*i,i)}function hk(n,t){return n in t}function ny(n,t){var i=t[n];return void 0===i?null:i}function of(n){return{type:n}}function ck(n){return{result:"success",value:n}}function se(n){return{result:"error",value:n}}function he(n){return"data-driven"===n["property-type"]||"cross-faded-data-driven"===n["property-type"]}function lk(n){return!!n.expression&&n.expression.parameters.indexOf("zoom")>-1}function ty(n){return!!n.expression&&n.expression.interpolated}function b(n){return n instanceof Number?"number":n instanceof String?"string":n instanceof Boolean?"boolean":Array.isArray(n)?"array":null===n?"null":typeof n}function sc(n){return"object"==typeof n&&null!==n&&!Array.isArray(n)}function rrt(n){return n}function fs(n,t,i){return void 0!==n?n:void 0!==t?t:void 0!==i?i:void 0}function urt(n,t,i,r,u){return fs(typeof i===u?r[i]:void 0,n.default,t.default)}function frt(n,t,i){var r,u;return"number"!==b(i)?fs(n.default,t.default):(r=n.stops.length,1===r)?n.stops[0][1]:i<=n.stops[0][0]?n.stops[0][1]:i>=n.stops[r-1][0]?n.stops[r-1][1]:(u=ec(n.stops.map(function(n){return n[0]}),i),n.stops[u][1])}function ak(n,t,i){var c=void 0!==n.base?n.base:1,u,r;if("number"!==b(i))return fs(n.default,t.default);if((u=n.stops.length,1===u)||i<=n.stops[0][0])return n.stops[0][1];if(i>=n.stops[u-1][0])return n.stops[u-1][1];var f=ec(n.stops.map(function(n){return n[0]}),i),e=function(n,t,i,r){var u=r-i,f=n-i;return 0===u?0:1===t?f/u:(Math.pow(t,f)-1)/(Math.pow(t,u)-1)}(i,c,n.stops[f][0],n.stops[f+1][0]),o=n.stops[f][1],h=n.stops[f+1][1],s=oc[t.type]||rrt;return n.colorSpace&&"rgb"!==n.colorSpace&&(r=fk[n.colorSpace],s=function(n,t){return r.reverse(r.interpolate(r.forward(n),r.forward(t),e))}),"function"==typeof o.evaluate?{evaluate:function(){for(var i,r,n=[],t=arguments.length;t--;)n[t]=arguments[t];return i=o.evaluate.apply(void 0,n),r=h.evaluate.apply(void 0,n),void 0!==i&&void 0!==r?s(i,r,e):void 0}}:s(o,h,e)}function ert(n,t,i){return"color"===t.type?i=y.parse(i):"formatted"===t.type?i=ht.fromString(i.toString()):"resolvedImage"===t.type?i=ti.fromString(i.toString()):b(i)===t.type||"enum"===t.type&&t.values[i]||(i=void 0),fs(i,n.default,t.default)}function hc(n){return Array.isArray(n)&&n.length>0&&"string"==typeof n[0]&&n[0]in ef}function cc(n,t){var r=new gr(ef,[],t?function(n){var t={color:rr,string:a,number:i,"enum":a,boolean:c,formatted:bo,resolvedImage:ko};return"array"===n.type?yi(t[n.value]||l,n.length):t[n.type]}(t):void 0),u=r.parse(n,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return u?ck(new ce(u,t)):se(r.errors)}function vk(n,t){var r,u,f,i;return"error"===(n=cc(n,t)).result?n:(r=n.value.expression,u=uc(r),!u&&!he(t))?se([new gi("","data expressions not supported")]):(f=fc(r,["zoom"]),!f&&!lk(t))?se([new gi("","zoom expressions not supported")]):(i=function n(t){var i=null,r,u;if(t instanceof iu)i=n(t.result);else if(t instanceof tu)for(r=0,u=t.args;r<u.length&&!(i=n(u[r]));r+=1);else(t instanceof nu||t instanceof yt)&&t.input instanceof vt&&"zoom"===t.input.name&&(i=t);return i instanceof gi||t.eachChild(function(t){var r=n(t);r instanceof gi?i=r:!i&&r?i=new gi("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):i&&r&&i!==r&&(i=new gi("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),i}(r),i||f?i instanceof gi?se([i]):i instanceof yt&&!ty(t)?se([new gi("",'"interpolate" expressions cannot be used with this property')]):ck(i?new sf(u?"camera":"composite",n.value,i.labels,i instanceof yt?i.interpolation:void 0):new le(u?"constant":"source",n.value)):se([new gi("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]))}function nr(n){var f=n.key,t=n.value,i=n.valueSpec||{},o=n.objectElementValidators||{},a=n.style,v=n.styleSpec,s=[],l=b(t),r,e;if("object"!==l)return[new u(f,t,"object expected, "+l+" found")];for(r in t){var c=r.split(".")[0],y=i[c]||i["*"],h=void 0;if(o[c])h=o[c];else if(i[c])h=tr;else if(o["*"])h=o["*"];else{if(!i["*"]){s.push(new u(f,t[r],'unknown property "'+r+'"'));continue}h=tr}s=s.concat(h({key:(f?f+".":f)+r,value:t[r],valueSpec:y,style:a,styleSpec:v,object:t,objectKey:r},t))}for(e in i)o[e]||i[e].required&&void 0===i[e].default&&void 0===t[e]&&s.push(new u(f,t,'missing required property "'+e+'"'));return s}function yk(n){var t=n.value,i=n.valueSpec,h=n.style,s=n.styleSpec,f=n.key,c=n.arrayElementValidator||tr,e,o,r;if("array"!==b(t))return[new u(f,t,"array expected, "+b(t)+" found")];if(i.length&&t.length!==i.length)return[new u(f,t,"array length "+i.length+" expected, length "+t.length+" found")];if(i["min-length"]&&t.length<i["min-length"])return[new u(f,t,"array length at least "+i["min-length"]+" expected, length "+t.length+" found")];for(e={type:i.value,values:i.values},s.$version<7&&(e.function=i.function),"object"===b(i.value)&&(e=i.value),o=[],r=0;r<t.length;r++)o=o.concat(c({array:t,arrayIndex:r,value:t[r],valueSpec:e,style:h,styleSpec:s,key:f+"["+r+"]"}));return o}function pk(n){var f=n.key,t=n.value,i=n.valueSpec,r=b(t);return"number"===r&&t!=t&&(r="NaN"),"number"!==r?[new u(f,t,"number expected, "+r+" found")]:"minimum"in i&&t<i.minimum?[new u(f,t,t+" is less than the minimum value "+i.minimum)]:"maximum"in i&&t>i.maximum?[new u(f,t,t+" is greater than the maximum value "+i.maximum)]:[]}function wk(n){function v(n){var r=[],t=n.value,i=n.key;if("array"!==b(t))return[new u(i,t,"array expected, "+b(t)+" found")];if(2!==t.length)return[new u(i,t,"array length 2 expected, length "+t.length+" found")];if(c){if("object"!==b(t[0]))return[new u(i,t,"object expected, "+b(t[0])+" found")];if(void 0===t[0].zoom)return[new u(i,t,"object stop key must have zoom")];if(void 0===t[0].value)return[new u(i,t,"object stop key must have value")];if(e&&e>ut(t[0].zoom))return[new u(i,t[0].zoom,"stop zoom values must appear in ascending order")];ut(t[0].zoom)!==e&&(e=ut(t[0].zoom),f=void 0,s={});r=r.concat(nr({key:i+"[0]",value:t[0],valueSpec:{zoom:{}},style:n.style,styleSpec:n.styleSpec,objectElementValidators:{zoom:pk,value:l}}))}else r=r.concat(l({key:i+"[0]",value:t[0],valueSpec:{},style:n.style,styleSpec:n.styleSpec},t));return hc(uf(t[1]))?r.concat([new u(i+"[1]",t[1],"expressions are not allowed in function stops.")]):r.concat(tr({key:i+"[1]",value:t[1],valueSpec:o,style:n.style,styleSpec:n.styleSpec}))}function l(n,i){var e=b(n.value),h=ut(n.value),c=null!==n.value?n.value:i,l;if(r){if(e!==r)return[new u(n.key,c,e+" stop domain type must match previous stop domain type "+r)]}else r=e;return"number"!==e&&"string"!==e&&"boolean"!==e?[new u(n.key,c,"stop domain value must be a number, string, or boolean")]:"number"!==e&&"categorical"!==t?(l="number expected, "+e+" found",he(o)&&void 0===t&&(l+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new u(n.key,c,l)]):"categorical"!==t||"number"!==e||isFinite(h)&&Math.floor(h)===h?"categorical"!==t&&"number"===e&&void 0!==f&&h<f?[new u(n.key,c,"stop domain values must appear in ascending order")]:(f=h,"categorical"===t&&h in s?[new u(n.key,c,"stop domain values must be unique")]:(s[h]=!0,[])):[new u(n.key,c,"integer expected, found "+h)]}var r,f,e,o=n.valueSpec,t=ut(n.value.type),s={},h="categorical"!==t&&void 0===n.value.property,a=!h,c="array"===b(n.value.stops)&&"array"===b(n.value.stops[0])&&"object"===b(n.value.stops[0][0]),i=nr({key:n.key,value:n.value,valueSpec:n.styleSpec.function,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{stops:function(n){if("identity"===t)return[new u(n.key,n.value,'identity function may not have a "stops" property')];var i=[],r=n.value;return i=i.concat(yk({key:n.key,value:r,valueSpec:n.valueSpec,style:n.style,styleSpec:n.styleSpec,arrayElementValidator:v})),"array"===b(r)&&0===r.length&&i.push(new u(n.key,r,"array must have at least one stop")),i},"default":function(n){return tr({key:n.key,value:n.value,valueSpec:o,style:n.style,styleSpec:n.styleSpec})}}});return"identity"===t&&h&&i.push(new u(n.key,n.value,'missing required property "property"')),"identity"===t||n.value.stops||i.push(new u(n.key,n.value,'missing required property "stops"')),"exponential"===t&&n.valueSpec.expression&&!ty(n.valueSpec)&&i.push(new u(n.key,n.value,"exponential functions not supported")),n.styleSpec.$version>=8&&(a&&!he(n.valueSpec)?i.push(new u(n.key,n.value,"property functions not supported")):h&&!lk(n.valueSpec)&&i.push(new u(n.key,n.value,"zoom functions not supported"))),"categorical"!==t&&!c||void 0!==n.value.property||i.push(new u(n.key,n.value,'"property" property is required')),i}function ve(n){var i=("property"===n.expressionContext?vk:cc)(uf(n.value),n.valueSpec),t;if("error"===i.result)return i.value.map(function(t){return new u(""+n.key+t.key,n.value,t.message)});if(t=i.value.expression||i.value._styleExpression.expression,"property"===n.expressionContext&&"text-font"===n.propertyKey&&!t.outputDefined())return[new u(n.key,n.value,'Invalid data expression for "'+n.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===n.expressionContext&&"layout"===n.propertyType&&!is(t))return[new u(n.key,n.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===n.expressionContext&&!is(t))return[new u(n.key,n.value,'"feature-state" data expressions are not supported with filters.')];if(n.expressionContext&&0===n.expressionContext.indexOf("cluster")){if(!fc(t,["zoom","feature-state"]))return[new u(n.key,n.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===n.expressionContext&&!uc(t))return[new u(n.key,n.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function lc(n){var f=n.key,t=n.value,i=n.valueSpec,r=[];return Array.isArray(i.values)?-1===i.values.indexOf(ut(t))&&r.push(new u(f,t,"expected one of ["+i.values.join(", ")+"], "+JSON.stringify(t)+" found")):-1===Object.keys(i.values).indexOf(ut(t))&&r.push(new u(f,t,"expected one of ["+Object.keys(i.values).join(", ")+"], "+JSON.stringify(t)+" found")),r}function iy(n){var t,i,r;if(!0===n||!1===n)return!0;if(!Array.isArray(n)||0===n.length)return!1;switch(n[0]){case"has":return n.length>=2&&"$id"!==n[1]&&"$type"!==n[1];case"in":return n.length>=3&&("string"!=typeof n[1]||Array.isArray(n[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==n.length||Array.isArray(n[1])||Array.isArray(n[2]);case"any":case"all":for(t=0,i=n.slice(1);t<i.length;t+=1)if(r=i[t],!iy(r)&&"boolean"!=typeof r)return!1;return!0;default:return!0}}function ac(n){if(null==n)return{filter:function(){return!0},needGeometry:!1};iy(n)||(n=vc(n));var t=cc(n,bk);if("error"===t.result)throw new Error(t.value.map(function(n){return n.key+": "+n.message}).join(", "));return{filter:function(n,i,r){return t.value.evaluate(n,i,{},r)},needGeometry:function n(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var i=1;i<t.length;i++)if(n(t[i]))return!0;return!1}(n)}}function ort(n,t){return n<t?-1:n>t?1:0}function vc(n){if(!n)return!0;var i,t=n[0];return n.length<=1?"any"!==t:"=="===t?ry(n[1],n[2],"=="):"!="===t?yc(ry(n[1],n[2],"==")):"<"===t||">"===t||"<="===t||">="===t?ry(n[1],n[2],t):"any"===t?(i=n.slice(1),["any"].concat(i.map(vc))):"all"===t?["all"].concat(n.slice(1).map(vc)):"none"===t?["all"].concat(n.slice(1).map(vc).map(yc)):"in"===t?kk(n[1],n.slice(2)):"!in"===t?yc(kk(n[1],n.slice(2))):"has"===t?dk(n[1]):"!has"===t?yc(dk(n[1])):"within"!==t||n}function ry(n,t,i){switch(n){case"$type":return["filter-type-"+i,t];case"$id":return["filter-id-"+i,t];default:return["filter-"+i,n,t]}}function kk(n,t){if(0===t.length)return!1;switch(n){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some(function(n){return typeof n!=typeof t[0]})?["filter-in-large",n,["literal",t.sort(ort)]]:["filter-in-small",n,["literal",t]]}}function dk(n){switch(n){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",n]}}function yc(n){return["!",n]}function uy(n){return iy(uf(n.value))?ve(re({},n,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function n(t){var i=t.value,f=t.key,e,h,r,o,s;if("array"!==b(i))return[new u(f,i,"array expected, "+b(i)+" found")];if(h=t.styleSpec,r=[],i.length<1)return[new u(f,i,"filter array must have at least 1 element")];switch(r=r.concat(lc({key:f+"[0]",value:i[0],valueSpec:h.filter_operator,style:t.style,styleSpec:t.styleSpec})),ut(i[0])){case"<":case"<=":case">":case">=":i.length>=2&&"$type"===ut(i[1])&&r.push(new u(f,i,'"$type" cannot be use with operator "'+i[0]+'"'));case"==":case"!=":3!==i.length&&r.push(new u(f,i,'filter array for operator "'+i[0]+'" must have 3 elements'));case"in":case"!in":for(i.length>=2&&"string"!==(e=b(i[1]))&&r.push(new u(f+"[1]",i[1],"string expected, "+e+" found")),o=2;o<i.length;o++)e=b(i[o]),"$type"===ut(i[1])?r=r.concat(lc({key:f+"["+o+"]",value:i[o],valueSpec:h.geometry_type,style:t.style,styleSpec:t.styleSpec})):"string"!==e&&"number"!==e&&"boolean"!==e&&r.push(new u(f+"["+o+"]",i[o],"string, number, or boolean expected, "+e+" found"));break;case"any":case"all":case"none":for(s=1;s<i.length;s++)r=r.concat(n({key:f+"["+s+"]",value:i[s],style:t.style,styleSpec:t.styleSpec}));break;case"has":case"!has":e=b(i[1]);2!==i.length?r.push(new u(f,i,'filter array for "'+i[0]+'" operator must have 2 elements')):"string"!==e&&r.push(new u(f+"[1]",i[1],"string expected, "+e+" found"));break;case"within":e=b(i[1]);2!==i.length?r.push(new u(f,i,'filter array for "'+i[0]+'" operator must have 2 elements')):"object"!==e&&r.push(new u(f+"[1]",i[1],"object expected, "+e+" found"))}return r}(n)}function gk(n,t){var f=n.key,o=n.style,s=n.styleSpec,i=n.value,r=n.objectKey,h=s[t+"_"+n.layerType],c,a,e,l;return h?(c=r.match(/^(.*)-transition$/),"paint"===t&&c&&h[c[1]]&&h[c[1]].transition)?tr({key:f,value:i,valueSpec:s.transition,style:o,styleSpec:s}):(e=n.valueSpec||h[r],!e)?[new u(f,i,'unknown property "'+r+'"')]:"string"===b(i)&&he(e)&&!e.tokens&&(a=/^{([^}]+)}$/.exec(i))?[new u(f,i,'"'+r+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(a[1])+" }`.")]:(l=[],"symbol"===n.layerType&&("text-field"===r&&o&&!o.glyphs&&l.push(new u(f,i,'use of "text-field" requires a style "glyphs" property')),"text-font"===r&&sc(uf(i))&&"identity"===ut(i.type)&&l.push(new u(f,i,'"text-font" does not support identity functions'))),l.concat(tr({key:n.key,value:i,valueSpec:e,style:o,styleSpec:s,expressionContext:"property",propertyType:t,propertyKey:r}))):[]}function nd(n){return gk(n,"paint")}function td(n){return gk(n,"layout")}function id(n){var i=[],t=n.value,r=n.key,s=n.style,v=n.styleSpec,h,f,l,y,c,a,o,e;if(t.type||t.ref||i.push(new u(r,t,'either "type" or "ref" is required')),f=ut(t.type),l=ut(t.ref),t.id)for(y=ut(t.id),c=0;c<n.arrayIndex;c++)a=s.layers[c],ut(a.id)===y&&i.push(new u(r,t.id,'duplicate layer id "'+t.id+'", previously used at line '+a.id.__line__));return"ref"in t?(["type","source","source-layer","filter","layout"].forEach(function(n){n in t&&i.push(new u(r,t[n],'"'+n+'" is prohibited for ref layers'))}),s.layers.forEach(function(n){ut(n.id)===l&&(h=n)}),h?h.ref?i.push(new u(r,t.ref,"ref cannot reference another ref layer")):f=ut(h.type):i.push(new u(r,t.ref,'ref layer "'+l+'" not found'))):"background"!==f&&(t.source?(o=s.sources&&s.sources[t.source],e=o&&ut(o.type),o?"vector"===e&&"raster"===f?i.push(new u(r,t.source,'layer "'+t.id+'" requires a raster source')):"raster"===e&&"raster"!==f?i.push(new u(r,t.source,'layer "'+t.id+'" requires a vector source')):"vector"!==e||t["source-layer"]?"raster-dem"===e&&"hillshade"!==f?i.push(new u(r,t.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==f||!t.paint||!t.paint["line-gradient"]||"geojson"===e&&o.lineMetrics||i.push(new u(r,t,'layer "'+t.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):i.push(new u(r,t,'layer "'+t.id+'" must specify a "source-layer"')):i.push(new u(r,t.source,'source "'+t.source+'" not found'))):i.push(new u(r,t,'missing required property "source"'))),i=i.concat(nr({key:r,value:t,valueSpec:v.layer,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return tr({key:r+".type",value:t.type,valueSpec:v.layer.type,style:n.style,styleSpec:n.styleSpec,object:t,objectKey:"type"})},filter:uy,layout:function(n){return nr({layer:t,key:n.key,value:n.value,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(n){return td(re({layerType:f},n))}}})},paint:function(n){return nr({layer:t,key:n.key,value:n.value,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(n){return nd(re({layerType:f},n))}}})}}}))}function ye(n){var t=n.value,r=n.key,i=b(t);return"string"!==i?[new u(r,t,"string expected, "+i+" found")]:[]}function rd(n){var t=n.value,i=n.key,r=n.styleSpec,o=n.style,f,s,e;if(!t.type)return[new u(i,t,'"type" is required')];s=ut(t.type);switch(s){case"vector":case"raster":case"raster-dem":return nr({key:i,value:t,valueSpec:r["source_"+s.replace("-","_")],style:n.style,styleSpec:r,objectElementValidators:fy});case"geojson":if(f=nr({key:i,value:t,valueSpec:r.source_geojson,style:o,styleSpec:r,objectElementValidators:fy}),t.cluster)for(e in t.clusterProperties){var c=t.clusterProperties[e],h=c[0],l="string"==typeof h?[h,["accumulated"],["get",e]]:h;f.push.apply(f,ve({key:i+"."+e+".map",value:c[1],expressionContext:"cluster-map"}));f.push.apply(f,ve({key:i+"."+e+".reduce",value:l,expressionContext:"cluster-reduce"}))}return f;case"video":return nr({key:i,value:t,valueSpec:r.source_video,style:o,styleSpec:r});case"image":return nr({key:i,value:t,valueSpec:r.source_image,style:o,styleSpec:r});case"canvas":return[new u(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return lc({key:i+".type",value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:o,styleSpec:r})}}function ud(n){var i=n.value,f=n.styleSpec,e=f.light,s=n.style,r=[],h=b(i),t,o;if(void 0===i)return r;if("object"!==h)return r.concat([new u("light",i,"object expected, "+h+" found")]);for(t in i)o=t.match(/^(.*)-transition$/),r=r.concat(o&&e[o[1]]&&e[o[1]].transition?tr({key:t,value:i[t],valueSpec:f.transition,style:s,styleSpec:f}):e[t]?tr({key:t,value:i[t],valueSpec:e[t],style:s,styleSpec:f}):[new u(t,i[t],'unknown property "'+t+'"')]);return r}function tr(n){var i=n.value,t=n.valueSpec,r=n.styleSpec;return t.expression&&sc(ut(i))?wk(n):t.expression&&hc(uf(i))?ve(n):t.type&&ey[t.type]?ey[t.type](n):nr(re({},n,{valueSpec:t.type?r[t.type]:t}))}function srt(n){var t=n.value,r=n.key,i=ye(n);return i.length||(-1===t.indexOf("{fontstack}")&&i.push(new u(r,t,'"glyphs" url must include a "{fontstack}" token')),-1===t.indexOf("{range}")&&i.push(new u(r,t,'"glyphs" url must include a "{range}" token'))),i}function hf(n,i){void 0===i&&(i=t);var r=[];return r=r.concat(tr({key:"",value:n,valueSpec:i.$root,styleSpec:i,style:n,objectElementValidators:{glyphs:srt,"*":function(){return[]}}})),n.constants&&(r=r.concat(ab({key:"constants",value:n.constants,style:n,styleSpec:i}))),fd(r)}function fd(n){return[].concat(n).sort(function(n,t){return n.line-t.line})}function pe(n){return function(){for(var i=[],t=arguments.length;t--;)i[t]=arguments[t];return fd(n.apply(this,i))}}function ed(n,t){var u=!1,i,r;if(t&&t.length)for(i=0,r=t;i<r.length;i+=1)n.fire(new cv(new Error(r[i].message))),u=!0;return u}function fr(n,t,i){var f=this.cells=[],r,u,e,o,s,h,c;if(n instanceof ArrayBuffer){for(this.arrayBuffer=n,r=new Int32Array(this.arrayBuffer),n=r[0],this.d=(t=r[1])+2*(i=r[2]),u=0;u<this.d*this.d;u++)e=r[3+u],o=r[3+u+1],f.push(e===o?null:r.subarray(e,o));s=r[3+f.length+1];this.keys=r.subarray(r[3+f.length],s);this.bboxes=r.subarray(s);this.insert=this._insertReadonly}else{for(this.d=t+2*i,h=0;h<this.d*this.d;h++)f.push([]);this.keys=[];this.bboxes=[]}this.n=t;this.extent=n;this.padding=i;this.scale=t/n;this.uid=0;c=i/t*n;this.min=-c;this.max=n+c}function f(n,t,i){void 0===i&&(i={});Object.defineProperty(t,"_classRegistryKey",{value:n,writeable:!1});os[n]={klass:t,omit:i.omit||[],shallow:i.shallow||[]}}function hd(n){return n&&"undefined"!=typeof ArrayBuffer&&(n instanceof ArrayBuffer||n.constructor&&"ArrayBuffer"===n.constructor.name)}function cd(n){return sd&&n instanceof sd}function ss(n,t){var e,f,i,r,u,s;if(null==n||"boolean"==typeof n||"number"==typeof n||"string"==typeof n||n instanceof Boolean||n instanceof Number||n instanceof String||n instanceof Date||n instanceof RegExp)return n;if(hd(n)||cd(n))return t&&t.push(n),n;if(ArrayBuffer.isView(n))return e=n,t&&t.push(e.buffer),e;if(n instanceof od)return t&&t.push(n.data.buffer),n;if(Array.isArray(n)){for(var h=[],o=0,c=n;o<c.length;o+=1)h.push(ss(c[o],t));return h}if("object"==typeof n){if(f=n.constructor,i=f._classRegistryKey,!i)throw new Error("can't serialize object of unregistered class");if(r=f.serialize?f.serialize(n,t):{},!f.serialize){for(u in n)!n.hasOwnProperty(u)||os[i].omit.indexOf(u)>=0||(s=n[u],r[u]=os[i].shallow.indexOf(u)>=0?s:ss(s,t));n instanceof Error&&(r.message=n.message)}if(r.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==i&&(r.$name=i),r}throw new Error("can't serialize object of type "+typeof n);}function hs(n){var r,t,i,f;if(null==n||"boolean"==typeof n||"number"==typeof n||"string"==typeof n||n instanceof Boolean||n instanceof Number||n instanceof String||n instanceof Date||n instanceof RegExp||hd(n)||cd(n)||ArrayBuffer.isView(n)||n instanceof od)return n;if(Array.isArray(n))return n.map(hs);if("object"==typeof n){if(r=n.$name||"Object",t=os[r].klass,!t)throw new Error("can't deserialize unregistered class "+r);if(t.deserialize)return t.deserialize(n);for(var e=Object.create(t.prototype),u=0,o=Object.keys(n);u<o.length;u+=1)i=o[u],"$name"!==i&&(f=n[i],e[i]=os[r].shallow.indexOf(i)>=0?f:hs(f));return e}throw new Error("can't deserialize object of type "+typeof n);}function oy(n){for(var t=0,i=n;t<i.length;t+=1)if(sy(i[t].charCodeAt(0)))return!0;return!1}function sy(n){return!(746!==n&&747!==n&&(n<4352||!(r["Bopomofo Extended"](n)||r.Bopomofo(n)||r["CJK Compatibility Forms"](n)&&!(n>=65097&&n<=65103)||r["CJK Compatibility Ideographs"](n)||r["CJK Compatibility"](n)||r["CJK Radicals Supplement"](n)||r["CJK Strokes"](n)||!(!r["CJK Symbols and Punctuation"](n)||n>=12296&&n<=12305||n>=12308&&n<=12319||12336===n)||r["CJK Unified Ideographs Extension A"](n)||r["CJK Unified Ideographs"](n)||r["Enclosed CJK Letters and Months"](n)||r["Hangul Compatibility Jamo"](n)||r["Hangul Jamo Extended-A"](n)||r["Hangul Jamo Extended-B"](n)||r["Hangul Jamo"](n)||r["Hangul Syllables"](n)||r.Hiragana(n)||r["Ideographic Description Characters"](n)||r.Kanbun(n)||r["Kangxi Radicals"](n)||r["Katakana Phonetic Extensions"](n)||r.Katakana(n)&&12540!==n||!(!r["Halfwidth and Fullwidth Forms"](n)||65288===n||65289===n||65293===n||n>=65306&&n<=65310||65339===n||65341===n||65343===n||n>=65371&&n<=65503||65507===n||n>=65512&&n<=65519)||!(!r["Small Form Variants"](n)||n>=65112&&n<=65118||n>=65123&&n<=65126)||r["Unified Canadian Aboriginal Syllabics"](n)||r["Unified Canadian Aboriginal Syllabics Extended"](n)||r["Vertical Forms"](n)||r["Yijing Hexagram Symbols"](n)||r["Yi Syllables"](n)||r["Yi Radicals"](n))))}function ld(n){return!(sy(n)||function(n){return!!(r["Latin-1 Supplement"](n)&&(167===n||169===n||174===n||177===n||188===n||189===n||190===n||215===n||247===n)||r["General Punctuation"](n)&&(8214===n||8224===n||8225===n||8240===n||8241===n||8251===n||8252===n||8258===n||8263===n||8264===n||8265===n||8273===n)||r["Letterlike Symbols"](n)||r["Number Forms"](n)||r["Miscellaneous Technical"](n)&&(n>=8960&&n<=8967||n>=8972&&n<=8991||n>=8996&&n<=9e3||9003===n||n>=9085&&n<=9114||n>=9150&&n<=9165||9167===n||n>=9169&&n<=9179||n>=9186&&n<=9215)||r["Control Pictures"](n)&&9251!==n||r["Optical Character Recognition"](n)||r["Enclosed Alphanumerics"](n)||r["Geometric Shapes"](n)||r["Miscellaneous Symbols"](n)&&!(n>=9754&&n<=9759)||r["Miscellaneous Symbols and Arrows"](n)&&(n>=11026&&n<=11055||n>=11088&&n<=11097||n>=11192&&n<=11243)||r["CJK Symbols and Punctuation"](n)||r.Katakana(n)||r["Private Use Area"](n)||r["CJK Compatibility Forms"](n)||r["Small Form Variants"](n)||r["Halfwidth and Fullwidth Forms"](n)||8734===n||8756===n||8757===n||n>=9984&&n<=10087||n>=10102&&n<=10131||65532===n||65533===n)}(n))}function ad(n){return n>=1424&&n<=2303||r["Arabic Presentation Forms-A"](n)||r["Arabic Presentation Forms-B"](n)}function art(n,t){return!(!t&&ad(n)||n>=2304&&n<=3583||n>=3840&&n<=4255||r.Khmer(n))}function vrt(n){for(var t=0,i=n;t<i.length;t+=1)if(ad(i[t].charCodeAt(0)))return!0;return!1}function cy(){ly.fire(new dh("pluginStateChange",{pluginStatus:ei,pluginURL:wu}))}function pt(n,t){void 0===t&&(t=1);var i=0,r=0;return{members:n.map(function(n){var u=yrt[n.type].BYTES_PER_ELEMENT,e=i=pd(i,Math.max(t,u)),f=n.components||1;return r=Math.max(r,u),i+=u*f,{name:n.name,type:n.type,components:f,offset:e}}),size:pd(i,Math.max(r,t)),alignment:t}}function pd(n,t){return Math.ceil(n/t)*t}function bd(n,t){return 256*(n=rf(Math.floor(n),0,255))+rf(Math.floor(t),0,255)}function gd(n){var t=+n;return!isNaN(t)&&t<=dd?t:ps(String(n))}function pl(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function tp(n){return[bd(255*n.r,255*n.g),bd(255*n.b,255*n.a)]}function tut(n,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-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"]}[n]||[n.replace(t+"-","").replace(/-/g,"_")]}function ig(n,t,i){var u={color:{source:ys,composite:al},number:{source:vs,composite:ys}},r=function(n){return{"line-pattern":{source:fu,composite:fu},"fill-pattern":{source:fu,composite:fu},"fill-extrusion-pattern":{source:fu,composite:fu}}[n]}(n);return r&&r[i]||u[t][i]}function bi(n){for(var f,i,s=8192/n.extent,r=n.loadGeometry(),u=0;u<r.length;u++)for(f=r[u],i=0;i<f.length;i++){var t=f[i],e=Math.round(t.x*s),o=Math.round(t.y*s);t.x=rf(e,ip,bl);t.y=rf(o,ip,bl);(e<t.x||e>t.x+1||o<t.y||o>t.y+1)&&bt("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function kl(n,t,i,r,u){n.emplaceBack(2*t+(r+1)/2,2*i+(u+1)/2)}function rg(n,t){for(var r,i=0;i<n.length;i++)if(to(t,n[i]))return!0;for(r=0;r<t.length;r++)if(to(n,t[r]))return!0;return!!rp(n,t)}function iut(n,t,i){return!!to(n,t)||!!up(t,n,i)}function ug(n,t){var i,e,r,u,f;if(1===n.length)return eg(t,n[0]);for(i=0;i<t.length;i++)for(e=t[i],r=0;r<e.length;r++)if(to(n,e[r]))return!0;for(u=0;u<n.length;u++)if(eg(t,n[u]))return!0;for(f=0;f<t.length;f++)if(rp(n,t[f]))return!0;return!1}function rut(n,t,i){var r,u;if(n.length>1){if(rp(n,t))return!0;for(r=0;r<t.length;r++)if(up(t[r],n,i))return!0}for(u=0;u<n.length;u++)if(up(n[u],t,i))return!0;return!1}function rp(n,t){var i;if(0===n.length||0===t.length)return!1;for(i=0;i<n.length-1;i++)for(var u=n[i],f=n[i+1],r=0;r<t.length-1;r++)if(uut(u,f,t[r],t[r+1]))return!0;return!1}function uut(n,t,i,r){return hu(n,i,r)!==hu(t,i,r)&&hu(n,t,i)!==hu(n,t,r)}function up(n,t,i){var u=i*i,r;if(1===t.length)return n.distSqr(t[0])<u;for(r=1;r<t.length;r++)if(fg(n,t[r-1],t[r])<u)return!0;return!1}function fg(n,t,i){var u=t.distSqr(i),r;return 0===u?n.distSqr(t):(r=((n.x-t.x)*(i.x-t.x)+(n.y-t.y)*(i.y-t.y))/u,n.distSqr(r<0?t:r>1?i:i.sub(t)._mult(r)._add(t)))}function eg(n,t){for(var r,i,o,e,s,u=!1,f=0;f<n.length;f++)for(e=0,s=(r=n[f]).length-1;e<r.length;s=e++)(i=r[e]).y>t.y!=(o=r[s]).y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(u=!u);return u}function to(n,t){for(var i,r,u=!1,f=0,e=n.length-1;f<n.length;e=f++)i=n[f],r=n[e],i.y>t.y!=r.y>t.y&&t.x<(r.x-i.x)*(t.y-i.y)/(r.y-i.y)+i.x&&(u=!u);return u}function fut(n,t,i){var r=i[0],u=i[2],f;return n.x<r.x&&t.x<r.x||n.x>u.x&&t.x>u.x||n.y<r.y&&t.y<r.y||n.y>u.y&&t.y>u.y?!1:(f=hu(n,t,i[0]),f!==hu(n,t,i[1])||f!==hu(n,t,i[2])||f!==hu(n,t,i[3]))}function ws(n,t,i){var r=t.paint.get(n).value;return"constant"===r.kind?r.value:i.programConfigurations.get(t.id).getMaxValue(n)}function dl(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1])}function gl(n,t,i,r,u){var e,o,f;if(!t[0]&&!t[1])return n;for(e=h.convert(t)._mult(u),"viewport"===i&&e._rotate(-r),o=[],f=0;f<n.length;f++)o.push(n[f].sub(e));return o}function fp(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function og(n,t,i){var o=t[0],s=t[1],h=t[2],c=t[3],l=t[4],a=t[5],v=t[6],y=t[7],p=t[8],w=t[9],b=t[10],k=t[11],d=t[12],g=t[13],nt=t[14],tt=t[15],r=i[0],u=i[1],f=i[2],e=i[3];return n[0]=r*o+u*l+f*p+e*d,n[1]=r*s+u*a+f*w+e*g,n[2]=r*h+u*v+f*b+e*nt,n[3]=r*c+u*y+f*k+e*tt,n[4]=(r=i[4])*o+(u=i[5])*l+(f=i[6])*p+(e=i[7])*d,n[5]=r*s+u*a+f*w+e*g,n[6]=r*h+u*v+f*b+e*nt,n[7]=r*c+u*y+f*k+e*tt,n[8]=(r=i[8])*o+(u=i[9])*l+(f=i[10])*p+(e=i[11])*d,n[9]=r*s+u*a+f*w+e*g,n[10]=r*h+u*v+f*b+e*nt,n[11]=r*c+u*y+f*k+e*tt,n[12]=(r=i[12])*o+(u=i[13])*l+(f=i[14])*p+(e=i[15])*d,n[13]=r*s+u*a+f*w+e*g,n[14]=r*h+u*v+f*b+e*nt,n[15]=r*c+u*y+f*k+e*tt,n}function ta(n,t,i){var r=t[0],u=t[1],f=t[2],e=t[3];return n[0]=i[0]*r+i[4]*u+i[8]*f+i[12]*e,n[1]=i[1]*r+i[5]*u+i[9]*f+i[13]*e,n[2]=i[2]*r+i[6]*u+i[10]*f+i[14]*e,n[3]=i[3]*r+i[7]*u+i[11]*f+i[15]*e,n}function cg(n,t){var i=ta([],[n.x,n.y,0,1],t);return new h(i[0]/i[3],i[1]/i[3])}function op(n,t,i,r){var u=t.width,f=t.height;if(r){if(r instanceof Uint8ClampedArray)r=new Uint8Array(r.buffer);else if(r.length!==u*f*i)throw new RangeError("mismatched image size");}else r=new Uint8Array(u*f*i);return n.width=u,n.height=f,n.data=r,n}function lg(n,t,i){var r=t.width,u=t.height,f;(r!==n.width||u!==n.height)&&(f=op({},{width:r,height:u},i),sp(n,f,{x:0,y:0},{x:0,y:0},{width:Math.min(n.width,r),height:Math.min(n.height,u)},i),n.width=r,n.height=u,n.data=f.data)}function sp(n,t,i,r,u,f){if(0===u.width||0===u.height)return t;if(u.width>n.width||u.height>n.height||i.x>n.width-u.width||i.y>n.height-u.height)throw new RangeError("out of range source coordinates for image copy");if(u.width>t.width||u.height>t.height||r.x>t.width-u.width||r.y>t.height-u.height)throw new RangeError("out of range destination coordinates for image copy");for(var s=n.data,h=t.data,e=0;e<u.height;e++)for(var c=((i.y+e)*n.width+i.x)*f,l=((r.y+e)*t.width+r.x)*f,o=0;o<u.width*f;o++)h[l+o]=s[c+o];return t}function vg(n,t){for(var i,r=new Uint8Array(1024),e={},f=0,u=0;f<256;f++,u+=4)e[t]=f/255,i=n.evaluate(e),r[u+0]=Math.floor(255*i.r/i.a),r[u+1]=Math.floor(255*i.g/i.a),r[u+2]=Math.floor(255*i.b/i.a),r[u+3]=Math.floor(255*i.a);return new wt({width:256,height:1},r)}function ia(n,t,i){var e;i=i||2;var u,f,o,s,h,c,l,v=t&&t.length,y=v?t[0]*i:n.length,r=yg(n,0,y,i,!0),a=[];if(!r||r.next===r.prev)return a;if(v&&(r=function(n,t,i,r){for(var f,e=[],u=0,o=t.length;u<o;u++)(f=yg(n,t[u]*r,u<o-1?t[u+1]*r:n.length,r,!1))===f.next&&(f.steiner=!0),e.push(gut(f));for(e.sort(but),u=0;u<e.length;u++)kut(e[u],i),i=gu(i,i.next);return i}(n,t,r,i)),n.length>80*i){for(u=o=n[0],f=s=n[1],e=i;e<y;e+=i)(h=n[e])<u&&(u=h),(c=n[e+1])<f&&(f=c),h>o&&(o=h),c>s&&(s=c);l=0!==(l=Math.max(o-u,s-f))?1/l:0}return bs(r,a,i,u,f,l),a}function yg(n,t,i,r,u){var f,e;if(u===ap(n,t,i,r)>0)for(f=t;f<i;f+=r)e=bg(f,n[f],n[f+1],e);else for(f=i-r;f>=t;f-=r)e=bg(f,n[f],n[f+1],e);return e&&ra(e,e.next)&&(ds(e),e=e.next),e}function gu(n,t){if(!n)return n;t||(t=n);var r,i=n;do if(r=!1,i.steiner||!ra(i,i.next)&&0!==it(i.prev,i,i.next))i=i.next;else{if(ds(i),(i=t=i.prev)===i.next)break;r=!0}while(r||i!==t);return t}function bs(n,t,i,r,u,f,e){if(n){!e&&f&&function(n,t,i,r){var u=n;do null===u.z&&(u.z=cp(u.x,u.y,t,i,r)),u.prevZ=u.prev,u.nextZ=u.next,u=u.next;while(u!==n);u.prevZ.nextZ=null;u.prevZ=null,function(n){var o,i,t,r,u,s,f,e,h=1;do{for(i=n,n=null,u=null,s=0;i;){for(s++,t=i,f=0,o=0;o<h&&(f++,t=t.nextZ);o++);for(e=h;f>0||e>0&&t;)0!==f&&(0===e||!t||i.z<=t.z)?(r=i,i=i.nextZ,f--):(r=t,t=t.nextZ,e--),u?u.nextZ=r:n=r,r.prevZ=u,u=r;i=t}u.nextZ=null;h*=2}while(s>1)}(u)}(n,r,u,f);for(var s,o,h=n;n.prev!==n.next;)if(s=n.prev,o=n.next,f?yut(n,r,u,f):vut(n))t.push(s.i/i),t.push(n.i/i),t.push(o.i/i),ds(n),n=o.next,h=o.next;else if((n=o)===h){e?1===e?bs(n=put(gu(n),t,i),t,i,r,u,f,2):2===e&&wut(n,t,i,r,u,f):bs(gu(n),t,i,r,u,f,1);break}}}function vut(n){var i=n.prev,r=n,u=n.next,t;if(it(i,r,u)>=0)return!1;for(t=n.next.next;t!==n.prev;){if(io(i.x,i.y,r.x,r.y,u.x,u.y,t.x,t.y)&&it(t.prev,t,t.next)>=0)return!1;t=t.next}return!0}function yut(n,t,i,r){var o=n.prev,s=n,u=n.next;if(it(o,s,u)>=0)return!1;for(var l=o.x>s.x?o.x>u.x?o.x:u.x:s.x>u.x?s.x:u.x,a=o.y>s.y?o.y>u.y?o.y:u.y:s.y>u.y?s.y:u.y,h=cp(o.x<s.x?o.x<u.x?o.x:u.x:s.x<u.x?s.x:u.x,o.y<s.y?o.y<u.y?o.y:u.y:s.y<u.y?s.y:u.y,t,i,r),c=cp(l,a,t,i,r),f=n.prevZ,e=n.nextZ;f&&f.z>=h&&e&&e.z<=c;){if(f!==n.prev&&f!==n.next&&io(o.x,o.y,s.x,s.y,u.x,u.y,f.x,f.y)&&it(f.prev,f,f.next)>=0||(f=f.prevZ,e!==n.prev&&e!==n.next&&io(o.x,o.y,s.x,s.y,u.x,u.y,e.x,e.y)&&it(e.prev,e,e.next)>=0))return!1;e=e.nextZ}for(;f&&f.z>=h;){if(f!==n.prev&&f!==n.next&&io(o.x,o.y,s.x,s.y,u.x,u.y,f.x,f.y)&&it(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;e&&e.z<=c;){if(e!==n.prev&&e!==n.next&&io(o.x,o.y,s.x,s.y,u.x,u.y,e.x,e.y)&&it(e.prev,e,e.next)>=0)return!1;e=e.nextZ}return!0}function put(n,t,i){var r=n,f,u;do f=r.prev,u=r.next.next,!ra(f,u)&&pg(f,r,r.next,u)&&ks(f,u)&&ks(u,f)&&(t.push(f.i/i),t.push(r.i/i),t.push(u.i/i),ds(r),ds(r.next),r=n=u),r=r.next;while(r!==n);return gu(r)}function wut(n,t,i,r,u,f){var e=n,o,s;do{for(o=e.next.next;o!==e.prev;){if(e.i!==o.i&&nft(e,o))return s=wg(e,o),e=gu(e,e.next),s=gu(s,s.next),bs(e,t,i,r,u,f),void bs(s,t,i,r,u,f);o=o.next}e=e.next}while(e!==n)}function but(n,t){return n.x-t.x}function kut(n,t){if(t=function(n,t){var r,i=t,f=n.x,u=n.y,e=-1/0,o;do{if(u<=i.y&&u>=i.next.y&&i.next.y!==i.y&&(o=i.x+(u-i.y)*(i.next.x-i.x)/(i.next.y-i.y),o<=f&&o>e)){if(e=o,o===f){if(u===i.y)return i;if(u===i.next.y)return i.next}r=i.x<i.next.x?i:i.next}i=i.next}while(i!==t);if(!r)return null;if(f===e)return r;var s,a=r,l=r.x,h=r.y,c=1/0;i=r;do f>=i.x&&i.x>=l&&f!==i.x&&io(u<h?f:e,u,l,h,u<h?e:f,u,i.x,i.y)&&(s=Math.abs(u-i.y)/(f-i.x),ks(i,n)&&(s<c||s===c&&(i.x>r.x||i.x===r.x&&dut(r,i)))&&(r=i,c=s)),i=i.next;while(i!==a);return r}(n,t)){var i=wg(t,n);gu(t,t.next);gu(i,i.next)}}function dut(n,t){return it(n.prev,n,t.prev)<0&&it(t.next,n,n.next)<0}function cp(n,t,i,r,u){return(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-i)*u)|n<<8))|n<<4))|n<<2))|n<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*u)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function gut(n){var t=n,i=n;do(t.x<i.x||t.x===i.x&&t.y<i.y)&&(i=t),t=t.next;while(t!==n);return i}function io(n,t,i,r,u,f,e,o){return(u-e)*(t-o)-(n-e)*(f-o)>=0&&(n-e)*(r-o)-(i-e)*(t-o)>=0&&(i-e)*(f-o)-(u-e)*(r-o)>=0}function nft(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!function(n,t){var i=n;do{if(i.i!==n.i&&i.next.i!==n.i&&i.i!==t.i&&i.next.i!==t.i&&pg(i,i.next,n,t))return!0;i=i.next}while(i!==n);return!1}(n,t)&&(ks(n,t)&&ks(t,n)&&function(n,t){var i=n,r=!1,f=(n.x+t.x)/2,u=(n.y+t.y)/2;do i.y>u!=i.next.y>u&&i.next.y!==i.y&&f<(i.next.x-i.x)*(u-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next;while(i!==n);return r}(n,t)&&(it(n.prev,n,t.prev)||it(n,t.prev,t))||ra(n,t)&&it(n.prev,n,n.next)>0&&it(t.prev,t,t.next)>0)}function it(n,t,i){return(t.y-n.y)*(i.x-t.x)-(t.x-n.x)*(i.y-t.y)}function ra(n,t){return n.x===t.x&&n.y===t.y}function pg(n,t,i,r){var u=fa(it(n,t,i)),f=fa(it(n,t,r)),e=fa(it(i,r,n)),o=fa(it(i,r,t));return u!==f&&e!==o||!(0!==u||!ua(n,i,t))||!(0!==f||!ua(n,r,t))||!(0!==e||!ua(i,n,r))||!(0!==o||!ua(i,t,r))}function ua(n,t,i){return t.x<=Math.max(n.x,i.x)&&t.x>=Math.min(n.x,i.x)&&t.y<=Math.max(n.y,i.y)&&t.y>=Math.min(n.y,i.y)}function fa(n){return n>0?1:n<0?-1:0}function ks(n,t){return it(n.prev,n,n.next)<0?it(n,t,n.next)>=0&&it(n,n.prev,t)>=0:it(n,t,n.prev)<0||it(n,n.next,t)<0}function wg(n,t){var r=new lp(n.i,n.x,n.y),i=new lp(t.i,t.x,t.y),u=n.next,f=t.prev;return n.next=t,t.prev=n,r.next=u,u.prev=r,i.next=r,r.prev=i,f.next=i,i.prev=f,i}function bg(n,t,i,r){var u=new lp(n,t,i);return r?(u.next=r.next,u.prev=r,r.next.prev=u,r.next=u):(u.prev=u,u.next=u),u}function ds(n){n.next.prev=n.prev;n.prev.next=n.next;n.prevZ&&(n.prevZ.nextZ=n.nextZ);n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function lp(n,t,i){this.i=n;this.x=t;this.y=i;this.prev=null;this.next=null;this.z=null;this.prevZ=null;this.nextZ=null;this.steiner=!1}function ap(n,t,i,r){for(var e=0,u=t,f=i-r;u<i;u+=r)e+=(n[f]-n[u])*(n[u+1]+n[f+1]),f=u;return e}function tft(n,t,i,r,u){!function n(t,i,r,u,f){for(;u>r;){if(u-r>600){var o=u-r+1,l=i-r+1,a=Math.log(o),h=.5*Math.exp(2*a/3),v=.5*Math.sqrt(a*h*(o-h)/o)*(l-o/2<0?-1:1);n(t,i,Math.max(r,Math.floor(i-l*h/o+v)),Math.min(u,Math.floor(i+(o-l)*h/o+v)),f)}var c=t[i],s=r,e=u;for(gs(t,r,i),f(t[u],c)>0&&gs(t,r,u);s<e;){for(gs(t,s,e),s++,e--;f(t[s],c)<0;)s++;for(;f(t[e],c)>0;)e--}0===f(t[r],c)?gs(t,r,e):gs(t,++e,u);e<=i&&(r=e+1);i<=e&&(u=e-1)}}(n,t,i||0,r||n.length-1,u||ift)}function gs(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function ift(n,t){return n<t?-1:n>t?1:0}function vp(n,t){var s=n.length,f,o,i,u,e,r;if(s<=1)return[n];for(i=[],u=0;u<s;u++)e=iit(n[u]),0!==e&&(n[u].area=Math.abs(e),void 0===o&&(o=e<0),o===e<0?(f&&i.push(f),f=[n[u]]):f.push(n[u]));if(f&&i.push(f),t>1)for(r=0;r<i.length;r++)i[r].length<=t||(tft(i[r],t,1,i[r].length-1,rft),i[r]=i[r].slice(0,t));return i}function rft(n,t){return t.area-n.area}function yp(n,t,i){for(var e,r,o=i.patternDependencies,u=!1,f=0,s=t;f<s.length;f+=1)e=s[f].paint.get(n+"-pattern"),e.isConstant()||(u=!0),r=e.constantOr(null),r&&(u=!0,o[r.to]=!0,o[r.from]=!0);return u}function pp(n,t,i,r,u){for(var l,s,h=u.patternDependencies,c=0,a=t;c<a.length;c+=1)if(l=a[c],s=l.paint.get(n+"-pattern").value,"constant"!==s.kind){var o=s.evaluate({zoom:r-1},i,{},u.availableImages),f=s.evaluate({zoom:r},i,{},u.availableImages),e=s.evaluate({zoom:r+1},i,{},u.availableImages);f=f&&f.name?f.name:f;e=e&&e.name?e.name:e;h[o=o&&o.name?o.name:o]=!0;h[f]=!0;h[e]=!0;i.patterns[l.id]={min:o,mid:f,max:e}}return i}function ro(n,t,i,r,u){this.properties={};this.extent=i;this.type=0;this._pbf=n;this._geometry=-1;this._keys=r;this._values=u;n.readFields(sft,this,t)}function sft(n,t,i){1==n?t.id=i.readVarint():2==n?function(n,t){for(var r,u,i=n.readVarint()+n.pos;n.pos<i;)r=t._keys[n.readVarint()],u=t._values[n.readVarint()],t.properties[r]=u}(i,t):3==n?t.type=i.readVarint():4==n&&(t._geometry=i.pos)}function hft(n){for(var i,r,u=0,t=0,f=n.length,e=f-1;t<f;e=t++)u+=((r=n[e]).x-(i=n[t]).x)*(i.y+r.y);return u}function dg(n,t){this.version=1;this.name=null;this.extent=4096;this.length=0;this._pbf=n;this._keys=[];this._values=[];this._features=[];n.readFields(cft,this,t);this.length=this._features.length}function cft(n,t,i){15===n?t.version=i.readVarint():1===n?t.name=i.readString():5===n?t.extent=i.readVarint():2===n?t._features.push(i.pos):3===n?t._keys.push(i.readString()):4===n&&t._values.push(function(n){for(var t,i=null,r=n.readVarint()+n.pos;n.pos<r;)t=n.readVarint()>>3,i=1===t?n.readString():2===t?n.readFloat():3===t?n.readDouble():4===t?n.readVarint64():5===t?n.readVarint():6===t?n.readSVarint():7===t?n.readBoolean():null;return i}(i))}function lft(n,t,i){if(3===n){var r=new wp(i,i.readVarint()+i.pos);r.length&&(t[r.name]=r)}}function nh(n,t,i,r,u,f,e,o){n.emplaceBack(t,i,2*Math.floor(r*bp)+e,u*bp*2,f*bp*2,Math.round(o))}function vft(n,t){return n.x===t.x&&(n.x<0||n.x>8192)||n.y===t.y&&(n.y<0||n.y>8192)}function th(n,t){return n.x*t.x+n.y*t.y}function tn(n,t){var u,i,r;if(1===n.length){for(i=0,r=t[i++];!u||r.equals(u);)if(!(u=t[i++]))return 1/0;for(;i<t.length;i++){var c=t[i],nt=n[0],f=u.sub(r),e=c.sub(r),l=nt.sub(r),a=th(f,f),o=th(f,e),v=th(e,e),y=th(l,f),p=th(l,e),w=a*v-o*o,b=(v*y-o*p)/w,k=(a*p-o*y)/w,d=r.z*(1-b-k)+u.z*b+c.z*k;if(isFinite(d))return d}return 1/0}for(var s=1/0,h=0,g=t;h<g.length;h+=1)s=Math.min(s,g[h].z);return s}function on(n,t){return t>0?t+2*n:n}function tet(n,t,i){return n.sections.forEach(function(n){n.text=function(n,t,i){var r=t.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?n=n.toLocaleUpperCase():"lowercase"===r&&(n=n.toLocaleLowerCase()),ai.applyArabicShaping&&(n=ai.applyArabicShaping(n)),n}(n.text,t,i)}),n}function p(n){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(n)?n:new Uint8Array(n||0);this.pos=0;this.type=0;this.length=this.buf.length}function ou(n){return n.type===p.Bytes?n.readVarint()+n.pos:n.pos+1}function fo(n,t,i){return i?4294967296*t+(n>>>0):4294967296*(t>>>0)+(n>>>0)}function ln(n,t,i){var u=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2)),r;for(i.realloc(u),r=i.pos-1;r>=n;r--)i.buf[r+u]=i.buf[r]}function iet(n,t){for(var i=0;i<n.length;i++)t.writeVarint(n[i])}function ret(n,t){for(var i=0;i<n.length;i++)t.writeSVarint(n[i])}function uet(n,t){for(var i=0;i<n.length;i++)t.writeFloat(n[i])}function fet(n,t){for(var i=0;i<n.length;i++)t.writeDouble(n[i])}function eet(n,t){for(var i=0;i<n.length;i++)t.writeBoolean(n[i])}function oet(n,t){for(var i=0;i<n.length;i++)t.writeFixed32(n[i])}function set(n,t){for(var i=0;i<n.length;i++)t.writeSFixed32(n[i])}function het(n,t){for(var i=0;i<n.length;i++)t.writeFixed64(n[i])}function cet(n,t){for(var i=0;i<n.length;i++)t.writeSFixed64(n[i])}function oa(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16)+16777216*n[t+3]}function eo(n,t,i){n[i]=t;n[i+1]=t>>>8;n[i+2]=t>>>16;n[i+3]=t>>>24}function an(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16)+(n[t+3]<<24)}function aet(n,t,i){1===n&&i.readMessage(vet,t)}function vet(n,t,i){if(3===n){var r=i.readMessage(yet,{}),u=r.width,f=r.height,e=r.left,o=r.top,s=r.advance;t.push({id:r.id,bitmap:new du({width:u+6,height:f+6},r.bitmap),metrics:{width:u,height:f,left:e,top:o,advance:s}})}}function yet(n,t,i){1===n?t.id=i.readVarint():2===n?t.bitmap=i.readBytes():3===n?t.width=i.readVarint():4===n?t.height=i.readVarint():5===n?t.left=i.readSVarint():6===n?t.top=i.readSVarint():7===n&&(t.advance=i.readVarint())}function vn(n){for(var f,t,u,i,y,s=0,h=0,c=0,a=n;c<a.length;c+=1)f=a[c],s+=f.w*f.h,h=Math.max(h,f.w);n.sort(function(n,t){return t.h-n.h});for(var r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(s/.95)),h),h:1/0}],e=0,o=0,l=0,v=n;l<v.length;l+=1)for(t=v[l],u=r.length-1;u>=0;u--)if(i=r[u],!(t.w>i.w||t.h>i.h)){(t.x=i.x,t.y=i.y,o=Math.max(o,t.y+t.h),e=Math.max(e,t.x+t.w),t.w===i.w&&t.h===i.h)?(y=r.pop(),u<r.length&&(r[u]=y)):t.h===i.h?(i.x+=t.w,i.w-=t.w):t.w===i.w?(i.y+=t.h,i.h-=t.h):(r.push({x:i.x+t.w,y:i.y,w:i.w-t.w,h:t.h}),i.y+=t.h,i.h-=t.h);break}return{w:e,h:o,fill:s/(e*o)||0}}function sa(n,t,i,u,f,e,o,s,h,c,l,a,v,y,p,w){var k,b=at.fromFeature(n,f),it,rt,nt,ut,ft,d,et,tt,ot,st,g,ht,ct;if(a===ui.vertical&&b.verticalizePunctuation(),it=ai.processBidirectionalText,rt=ai.processStyledBidirectionalText,it&&1===b.sections.length)for(k=[],nt=0,ut=it(b.toString(),dp(b,c,e,t,u,y,p));nt<ut.length;nt+=1){for(ft=ut[nt],d=new at,d.text=ft,d.sections=b.sections,et=0;et<ft.length;et++)d.sectionIndex.push(0);k.push(d)}else if(rt)for(k=[],tt=0,ot=rt(b.text,b.sectionIndex,dp(b,c,e,t,u,y,p));tt<ot.length;tt+=1)st=ot[tt],g=new at,g.text=st[0],g.sectionIndex=st[1],g.sections=b.sections,k.push(g);else k=function(n,t){for(var f,r=[],e=n.text,i=0,u=0,o=t;u<o.length;u+=1)f=o[u],r.push(n.substring(i,f)),i=f;return i<e.length&&r.push(n.substring(i,e.length)),r}(b,dp(b,c,e,t,u,y,p));return ht=[],ct={positionedLines:ht,text:b.toString(),top:l[1],bottom:l[1],left:l[0],right:l[0],writingMode:a,iconsInText:!1,verticalizable:!1},function(n,t,i,u,f,e,o,s,h,c,l,a){for(var y,k,d,g,ht,p,ct,wt,et,bt,kt,dt,b=0,it=-17,rt=0,lt=0,ni="right"===s?1:"left"===s?0:.5,at=0,vt=0,ti=f;vt<ti.length;vt+=1){y=ti[vt];y.trim();var ut=y.getMaxScale(),ii=24*(ut-1),yt={positionedGlyphs:[],lineOffset:0};if(n.positionedLines[at]=yt,k=yt.positionedGlyphs,d=0,y.length()){for(g=0;g<y.length();g++){var v=y.getSection(g),ri=y.getSectionIndex(g),w=y.getCharCode(g),ot=0,nt=null,st=null,pt=null,fi=24,ft=!(h===ui.horizontal||!l&&!sy(w)||l&&(uh[w]||(tt=w,r.Arabic(tt)||r["Arabic Supplement"](tt)||r["Arabic Extended-A"](tt)||r["Arabic Presentation Forms-A"](tt)||r["Arabic Presentation Forms-B"](tt))));if(v.imageName){if(ht=u[v.imageName],!ht)continue;pt=v.imageName;n.iconsInText=n.iconsInText||!0;st=ht.paddedRect;p=ht.displaySize;v.scale=24*v.scale/a;ot=ii+(24-p[1]*v.scale);fi=(nt={width:p[0],height:p[1],left:1,top:-3,advance:ft?p[1]:p[0]}).advance;ct=ft?p[0]*v.scale-24*ut:p[1]*v.scale-24*ut;ct>0&&ct>d&&(d=ct)}else{if(wt=i[v.fontStack],et=wt&&wt[w],et&&et.rect)st=et.rect,nt=et.metrics;else{if(bt=t[v.fontStack],kt=bt&&bt[w],!kt)continue;nt=kt.metrics}ot=24*(ut-v.scale)}ft?(n.verticalizable=!0,k.push({glyph:w,imageName:pt,x:b,y:it+ot,vertical:ft,scale:v.scale,fontStack:v.fontStack,sectionIndex:ri,metrics:nt,rect:st}),b+=fi*v.scale+c):(k.push({glyph:w,imageName:pt,x:b,y:it+ot,vertical:ft,scale:v.scale,fontStack:v.fontStack,sectionIndex:ri,metrics:nt,rect:st}),b+=nt.advance*v.scale+c)}0!==k.length&&(rt=Math.max(b-c,rt),wet(k,0,k.length-1,ni,d));b=0;dt=e*ut+d;yt.lineOffset=Math.max(d,ii);it+=dt;lt=Math.max(dt,lt);++at}else it+=e,++at}var tt,gt=it- -17,ei=gp(o),oi=ei.horizontalAlign,si=ei.verticalAlign;(function(n,t,i,r,u,f,e,o,s){var y,p=(t-i)*u,h,l,c,a,v;for(y=f!==e?-o*r- -17:(-r*s+.5)*e,h=0,l=n;h<l.length;h+=1)for(c=0,a=l[h].positionedGlyphs;c<a.length;c+=1)v=a[c],v.x+=p,v.y+=y})(n.positionedLines,ni,oi,si,rt,lt,e,gt,f.length);n.top+=-si*gt;n.bottom=n.top+gt;n.left+=-oi*rt;n.right=n.left+rt}(ct,t,i,u,k,o,s,h,a,c,v,w),!function(n){for(var t=0,i=n;t<i.length;t+=1)if(0!==i[t].positionedGlyphs.length)return!1;return!0}(ht)&&ct}function yn(n,t,i,r,u,f){var e,o,s;return t.imageName?(e=r[t.imageName],e?e.displaySize[0]*t.scale*24/f+u:0):(o=i[t.fontStack],s=o&&o[n],s?s.metrics.advance*t.scale+u:0)}function pn(n,t,i,r){var u=Math.pow(n-t,2);return r?n<t?u/2:2*u:u+Math.abs(i)*i}function pet(n,t,i){var r=0;return 10===n&&(r-=1e4),i&&(r+=150),40!==n&&65288!==n||(r+=50),41!==t&&65289!==t||(r+=50),r}function wn(n,t,i,r,u,f){for(var e,h,c=null,o=pn(t,i,u,f),s=0,l=r;s<l.length;s+=1)e=l[s],h=pn(t-e.x,i,u,f)+e.badness,h<=o&&(c=e,o=h);return{index:n,x:t,priorBreak:c,badness:o}}function dp(n,t,i,u,f,e,o){var v,c,y;if("point"!==e)return[];if(!n)return[];for(var s,l=[],p=function(n,t,i,r,u,f){for(var s,o=0,e=0;e<n.length();e++)s=n.getSection(e),o+=yn(n.getCharCode(e),s,r,u,t,f);return o/Math.max(1,Math.ceil(o/i))}(n,t,i,u,f,o),w=n.text.indexOf("​")>=0,a=0,h=0;h<n.length();h++)v=n.getSection(h),c=n.getCharCode(h),(uh[c]||(a+=yn(c,v,u,f,t,o)),h<n.length()-1)&&(y=!((s=c)<11904||!(r["Bopomofo Extended"](s)||r.Bopomofo(s)||r["CJK Compatibility Forms"](s)||r["CJK Compatibility Ideographs"](s)||r["CJK Compatibility"](s)||r["CJK Radicals Supplement"](s)||r["CJK Strokes"](s)||r["CJK Symbols and Punctuation"](s)||r["CJK Unified Ideographs Extension A"](s)||r["CJK Unified Ideographs"](s)||r["Enclosed CJK Letters and Months"](s)||r["Halfwidth and Fullwidth Forms"](s)||r.Hiragana(s)||r["Ideographic Description Characters"](s)||r["Kangxi Radicals"](s)||r["Katakana Phonetic Extensions"](s)||r.Katakana(s)||r["Vertical Forms"](s)||r["Yi Radicals"](s)||r["Yi Syllables"](s))),(ni[c]||y||v.imageName)&&l.push(wn(h+1,a,p,l,pet(c,n.getCharCode(h+1),y&&w),!1)));return function n(t){return t?n(t.priorBreak).concat(t.index):[]}(wn(n.length(),a,p,l,0,!0))}function gp(n){var t=.5,i=.5;switch(n){case"right":case"top-right":case"bottom-right":t=1;break;case"left":case"top-left":case"bottom-left":t=0}switch(n){case"bottom":case"bottom-right":case"bottom-left":i=1;break;case"top":case"top-right":case"top-left":i=0}return{horizontalAlign:t,verticalAlign:i}}function wet(n,t,i,r,u){if(r||u)for(var e=n[i],o=(n[i].x+e.metrics.advance*e.scale)*r,f=t;f<=i;f++)n[f].x-=o,n[f].y+=u}function bn(n,t,i,r,u,f){var b,e=n.image,o,s,h,c,l,a,v,y,p,w;return e.content&&(o=e.content,s=e.pixelRatio||1,b=[o[0]/s,o[1]/s,e.displaySize[0]-o[2]/s,e.displaySize[1]-o[3]/s]),v=t.left*f,y=t.right*f,"width"===i||"both"===i?(a=u[0]+v-r[3],c=u[0]+y+r[1]):c=(a=u[0]+(v+y-e.displaySize[0])/2)+e.displaySize[0],p=t.top*f,w=t.bottom*f,"height"===i||"both"===i?(h=u[1]+p-r[0],l=u[1]+w+r[2]):l=(h=u[1]+(p+w-e.displaySize[1])/2)+e.displaySize[1],{image:e,top:h,right:c,bottom:l,left:a,collisionPadding:b}}function nw(n,t){var i=t.expression,u,e,o;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new d(n+1))};if("source"===i.kind)return{kind:"source"};for(var r=i.zoomStops,s=i.interpolationType,f=0;f<r.length&&r[f]<=n;)f++;for(u=f=Math.max(0,f-1);u<r.length&&r[u]<n+1;)u++;return u=Math.min(r.length-1,u),e=r[f],o=r[u],"composite"===i.kind?{kind:"composite",minZoom:e,maxZoom:o,interpolationType:s}:{kind:"camera",minZoom:e,maxZoom:o,minSize:i.evaluate(new d(e)),maxSize:i.evaluate(new d(o)),interpolationType:s}}function kn(n,t,i){var u=t.uSize,r=i.lowerSize;return"source"===n.kind?r/128:"composite"===n.kind?ot(r/128,i.upperSize/128,t.uSizeT):u}function dn(n,t){var f=0,i=0,r,u;return"constant"===n.kind?i=n.layoutSize:"source"!==n.kind&&(r=n.interpolationType,u=r?rf(yt.interpolationFactor(r,t,n.minZoom,n.maxZoom),0,1):0,"camera"===n.kind?i=ot(n.minSize,n.maxSize,u):f=u),{uSizeT:f,uSize:i}}function ntt(n,t,i,r,u){var s,h,c,l,o;if(void 0===t.segment)return!0;for(var a=t,f=t.segment+1,e=0;e>-i/2;){if(--f<0)return!1;e-=n[f].dist(a);a=n[f]}for(e+=n[f].dist(n[f+1]),f++,s=[],h=0;e<i/2;){if(c=n[f],l=n[f+1],!l)return!1;for(o=n[f-1].angleTo(c)-c.angleTo(l),o=Math.abs((o+3*Math.PI)%(2*Math.PI)-Math.PI),s.push({distance:e,angleDelta:o}),h+=o;e-s[0].distance>r;)h-=s.shift().angleDelta;if(h>u)return!1;f++;e+=c.dist(l)}return!0}function ttt(n){for(var i=0,t=0;t<n.length-1;t++)i+=n[t].dist(n[t+1]);return i}function itt(n,t,i){return n?.6*t*i:0}function rtt(n,t){return Math.max(n?n.right-n.left:0,t?t.right-t.left:0)}function bet(n,t,i,r,u,f){for(var a=itt(i,u,f),p=rtt(i,r)*f,h=0,v=ttt(n)/2,e=0;e<n.length-1;e++){var o=n[e],s=n[e+1],c=o.dist(s);if(h+c>v){var y=(v-h)/c,w=ot(o.x,s.x,y),b=ot(o.y,s.y,y),l=new pf(w,b,s.angleTo(o),e);return l._round(),!a||ntt(n,l,p,a,t)?l:void 0}h+=c}}function ket(n,t,i,r,u,f,e,o,s){var a=itt(r,f,e),c=rtt(r,u),h=c*e,l=0===n[0].x||n[0].x===s||0===n[0].y||n[0].y===s;return t-h<t/4&&(t=h+t/4),function n(t,i,r,u,f,e,o,s,h){for(var w,g=e/2,tt=ttt(t),l=0,a=i-r,v=[],c=0;c<t.length-1;c++){for(var y=t[c],p=t[c+1],b=y.dist(p),it=p.angleTo(y);a+r<l+b;){var nt=((a+=r)-l)/b,k=ot(y.x,p.x,nt),d=ot(y.y,p.y,nt);k>=0&&k<h&&d>=0&&d<h&&a-g>=0&&a+g<=tt&&(w=new pf(k,d,it,c),w._round(),u&&!ntt(t,w,e,u,f)||v.push(w))}l+=b}return s||v.length||o||(v=n(t,l/2,r,u,f,e,o,!0,h)),v}(n,l?t/2*o%t:(c/2+2*f)*e*o%t,t,a,i,h,l,!1,s)}function utt(n,t,i,r,u){for(var f,e,l=[],s=0;s<n.length;s++)for(var a=n[s],o=void 0,c=0;c<a.length-1;c++)f=a[c],e=a[c+1],f.x<t&&e.x<t||(f.x<t?f=new h(t,f.y+(t-f.x)/(e.x-f.x)*(e.y-f.y))._round():e.x<t&&(e=new h(t,f.y+(t-f.x)/(e.x-f.x)*(e.y-f.y))._round()),f.y<i&&e.y<i||(f.y<i?f=new h(f.x+(i-f.y)/(e.y-f.y)*(e.x-f.x),i)._round():e.y<i&&(e=new h(f.x+(i-f.y)/(e.y-f.y)*(e.x-f.x),i)._round()),f.x>=r&&e.x>=r||(f.x>=r?f=new h(r,f.y+(r-f.x)/(e.x-f.x)*(e.y-f.y))._round():e.x>=r&&(e=new h(r,f.y+(r-f.x)/(e.x-f.x)*(e.y-f.y))._round()),f.y>=u&&e.y>=u||(f.y>=u?f=new h(f.x+(u-f.y)/(e.y-f.y)*(e.x-f.x),u)._round():e.y>=u&&(e=new h(f.x+(u-f.y)/(e.y-f.y)*(e.x-f.x),u)._round()),o&&f.equals(o[o.length-1])||l.push(o=[f]),o.push(e)))));return l}function ftt(n,t,i,r){var g=[],f=n.image,e=f.pixelRatio,nt=f.paddedRect.w-2,tt=f.paddedRect.h-2,it=n.right-n.left,rt=n.bottom-n.top,c=f.stretchX||[[0,nt]],l=f.stretchY||[[0,tt]],ht=function(n,t){return n+t[1]-t[0]},o=c.reduce(ht,0),s=l.reduce(ht,0),ct=nt-o,lt=tt-s,a=0,v=o,y=0,p=s,ut=0,w=ct,ft=0,b=lt,u,et;if(f.content&&r&&(u=f.content,a=ha(c,0,u[0]),y=ha(l,0,u[1]),v=ha(c,u[0],u[2]),p=ha(l,u[1],u[3]),ut=u[0]-a,ft=u[1]-y,w=u[2]-u[0]-v,b=u[3]-u[1]-p),et=function(r,u,c,l){var tt=ca(r.stretch-a,v,it,n.left),pt=la(r.fixed-ut,w,r.stretch,o),et=ca(u.stretch-y,p,rt,n.top),wt=la(u.fixed-ft,b,u.stretch,s),ot=ca(c.stretch-a,v,it,n.left),bt=la(c.fixed-ut,w,c.stretch,o),st=ca(l.stretch-y,p,rt,n.top),kt=la(l.fixed-ft,b,l.stretch,s),ht=new h(tt,et),ct=new h(ot,et),lt=new h(ot,st),at=new h(tt,st),dt=new h(pt/e,wt/e),gt=new h(bt/e,kt/e),d=t*Math.PI/180,g,nt;if(d){var vt=Math.sin(d),yt=Math.cos(d),k=[yt,-vt,vt,yt];ht._matMult(k);ct._matMult(k);at._matMult(k);lt._matMult(k)}return g=r.stretch+r.fixed,nt=u.stretch+u.fixed,{tl:ht,tr:ct,bl:at,br:lt,tex:{x:f.paddedRect.x+1+g,y:f.paddedRect.y+1+nt,w:c.stretch+c.fixed-g,h:l.stretch+l.fixed-nt},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:dt,pixelOffsetBR:gt,minFontScaleX:w/e/it,minFontScaleY:b/e/rt,isSDF:i}},r&&(f.stretchX||f.stretchY))for(var ot=ett(c,ct,o),st=ett(l,lt,s),k=0;k<ot.length-1;k++)for(var at=ot[k],vt=ot[k+1],d=0;d<st.length-1;d++)g.push(et(at,st[d],vt,st[d+1]));else g.push(et({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:nt+1},{fixed:0,stretch:tt+1}));return g}function ha(n,t,i){for(var u,f=0,r=0,e=n;r<e.length;r+=1)u=e[r],f+=Math.max(t,Math.min(i,u[1]))-Math.max(t,Math.min(i,u[0]));return f}function ett(n,t,i){for(var r=[{fixed:-1,stretch:0}],f=0,o=n;f<o.length;f+=1){var s=o[f],e=s[0],h=s[1],u=r[r.length-1];r.push({fixed:e-u.stretch,stretch:u.stretch});r.push({fixed:e-u.stretch,stretch:u.stretch+(h-e)})}return r.push({fixed:t+1,stretch:i}),r}function ca(n,t,i,r){return n/t*i+r}function la(n,t,i,r){return n-t*i/r}function det(n,t){return n<t?-1:n>t?1:0}function get(n,t,i){var f,p,w,s,b,u;void 0===t&&(t=1);void 0===i&&(i=!1);for(var c=1/0,l=1/0,a=-1/0,v=-1/0,k=n[0],o=0;o<k.length;o++)f=k[o],(!o||f.x<c)&&(c=f.x),(!o||f.y<l)&&(l=f.y),(!o||f.x>a)&&(a=f.x),(!o||f.y>v)&&(v=f.y);var y=Math.min(a-c,v-l),r=y/2,e=new wf([],not);if(0===y)return new h(c,l);for(p=c;p<a;p+=y)for(w=l;w<v;w+=y)e.push(new ho(p+r,w+r,r,n));for(s=function(n){for(var r=0,o=0,s=0,u=n[0],f=0,h=u.length,c=h-1;f<h;c=f++){var t=u[f],i=u[c],e=t.x*i.y-i.x*t.y;o+=(t.x+i.x)*e;s+=(t.y+i.y)*e;r+=3*e}return new ho(o/r,s/r,0,n)}(n),b=e.length;e.length;)u=e.pop(),(u.d>s.d||!s.d)&&(s=u,i&&console.log("found best %d after %d probes",Math.round(1e4*u.d)/1e4,b)),u.max-s.d<=t||(e.push(new ho(u.p.x-(r=u.h/2),u.p.y-r,r,n)),e.push(new ho(u.p.x+r,u.p.y-r,r,n)),e.push(new ho(u.p.x-r,u.p.y+r,r,n)),e.push(new ho(u.p.x+r,u.p.y+r,r,n)),b+=4);return i&&(console.log("num probes: "+b),console.log("best distance: "+s.d)),s.p}function not(n,t){return t.max-n.max}function ho(n,t,i,r){this.p=new h(n,t);this.h=i;this.d=function(n,t){for(var i,r,u=!1,f=1/0,e=0;e<t.length;e++)for(var o=t[e],s=0,h=o.length,c=h-1;s<h;c=s++)i=o[s],r=o[c],i.y>n.y!=r.y>n.y&&n.x<(r.x-i.x)*(n.y-i.y)/(r.y-i.y)+i.x&&(u=!u),f=Math.min(f,fg(n,i,r));return(u?1:-1)*Math.sqrt(f)}(this.p,r);this.max=this.d+this.h*Math.SQRT2}function ott(n,t){return t[1]!==aa?function(n,t,i){var r=0,u=0;switch(t=Math.abs(t),i=Math.abs(i),n){case"top-right":case"top-left":case"top":u=i-7;break;case"bottom-right":case"bottom-left":case"bottom":u=7-i}switch(n){case"top-right":case"bottom-right":case"right":r=-t;break;case"top-left":case"bottom-left":case"left":r=t}return[r,u]}(n,t[0],t[1]):function(n,t){var i=0,r=0,u;t<0&&(t=0);u=t/Math.sqrt(2);switch(n){case"top-right":case"top-left":r=u-7;break;case"bottom-right":case"bottom-left":r=7-u;break;case"bottom":r=7-t;break;case"top":r=t-7}switch(n){case"top-right":case"bottom-right":i=-u;break;case"top-left":case"bottom-left":i=u;break;case"left":i=t;break;case"right":i=-t}return[i,r]}(n,t[0])}function tw(n){switch(n){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function stt(n,t,i,r,u,f,e,o,s,c,l,a,v,y,p){var d=function(n,t,i,r,u,f,e,o){for(var s,it,ti,ii,b=r.layout.get("text-rotate").evaluate(f,{})*Math.PI/180,ht=[],k=0,ct=t.positionedLines;k<ct.length;k+=1)for(var lt=ct[k],d=0,at=lt.positionedGlyphs;d<at.length;d+=1)if(s=at[d],s.rect){var g=s.rect||{},nt=4,vt=!0,tt=1,yt=0,pt=(u||o)&&s.vertical,c=s.metrics.advance*s.scale/2;(o&&t.verticalizable&&(yt=lt.lineOffset/2-(s.imageName?-(24-s.metrics.width*s.scale)/2:24*(s.scale-1))),s.imageName)&&(it=e[s.imageName],vt=it.sdf,nt=1/(tt=it.pixelRatio));var ri=u?[s.x+c,s.y]:[0,0],l=u?[0,0]:[s.x+c+i[0],s.y+i[1]-yt],wt=[0,0];pt&&(wt=l,l=[0,0]);var rt=(s.metrics.left-nt)*s.scale-c+l[0],ut=(-s.metrics.top-nt)*s.scale+l[1],bt=rt+g.w*s.scale/tt,kt=ut+g.h*s.scale/tt,ft=new h(rt,ut),et=new h(bt,ut),ot=new h(rt,kt),st=new h(bt,kt);if(pt){var a=new h(-c,c- -17),v=-Math.PI/2,dt=12-c,y=new h(22-dt,-(s.imageName?dt:0)),p=new(Function.prototype.bind.apply(h,[null].concat(wt)));ft._rotateAround(v,a)._add(y)._add(p);et._rotateAround(v,a)._add(y)._add(p);ot._rotateAround(v,a)._add(y)._add(p);st._rotateAround(v,a)._add(y)._add(p)}if(b){var gt=Math.sin(b),ni=Math.cos(b),w=[ni,-gt,gt,ni];ft._matMult(w);et._matMult(w);ot._matMult(w);st._matMult(w)}ti=new h(0,0);ii=new h(0,0);ht.push({tl:ft,tr:et,bl:ot,br:st,tex:g,writingMode:t.writingMode,glyphOffset:ri,sectionIndex:s.sectionIndex,isSDF:vt,pixelOffsetTL:ti,pixelOffsetBR:ii,minFontScaleX:0,minFontScaleY:0})}return ht}(0,i,o,u,f,e,r,n.allowVerticalPlacement),g=n.textSizeData,w=null,b,k;for("source"===g.kind?(w=[128*u.layout.get("text-size").evaluate(e,{})])[0]>32640&&bt(n.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):"composite"===g.kind&&((w=[128*y.compositeTextSizes[0].evaluate(e,{},p),128*y.compositeTextSizes[1].evaluate(e,{},p)])[0]>32640||w[1]>32640)&&bt(n.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),n.addSymbols(n.text,d,w,o,f,e,c,t,s.lineStartIndex,s.lineLength,v,p),b=0,k=l;b<k.length;b+=1)a[k[b]]=n.text.placedSymbolArray.length-1;return 4*d.length}function htt(n){for(var t in n)return n[t];return null}function tot(n,t,i,r){var u=n.compareText,e,f;if(t in u){for(e=u[t],f=e.length-1;f>=0;f--)if(r.dist(e[f])<i)return!0}else u[t]=[];return u[t].push(r),!1}function va(n,t,i,r,u,f,e,o,s,h,c,l,a){var v=o?Math.min(32640,Math.round(o[0])):0,y=o?Math.min(32640,Math.round(o[1])):0;n.emplaceBack(t,i,Math.round(32*r),Math.round(32*u),f,e,(v<<1)+(s?1:0),y,16*h,16*c,256*l,256*a)}function iw(n,t,i){n.emplaceBack(t.x,t.y,i);n.emplaceBack(t.x,t.y,i);n.emplaceBack(t.x,t.y,i);n.emplaceBack(t.x,t.y,i)}function iot(n){for(var t=0,i=n.sections;t<i.length;t+=1)if(vrt(i[t].text))return!0;return!1}function wtt(n,t,i){var r=12756274*Math.PI/256/Math.pow(2,i);return[n*r-6378137*Math.PI,t*r-6378137*Math.PI]}function btt(n){return uw*Math.cos(n*Math.PI/180)}function ktt(n){return(180+n)/360}function dtt(n){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+n*Math.PI/360)))/360}function gtt(n,t){return n/btt(t)}function fw(n){return 360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90}function eh(n,t,i,r,u){(n*=2)<0&&(n=-1*n-1);var f=1<<i;return(f*f*n+f*u+r).toString(36)+i.toString(36)+t.toString(36)}function nit(n,t,i,r,u){return ka(n,function(n,f){var e=t instanceof ke?t.get(f):null;return e&&e.evaluate?e.evaluate(i,r,u):e})}function tit(n){for(var t,i=1/0,r=1/0,u=-1/0,f=-1/0,e=0,o=n;e<o.length;e+=1)t=o[e],i=Math.min(i,t.x),r=Math.min(r,t.y),u=Math.max(u,t.x),f=Math.max(f,t.y);return{minX:i,minY:r,maxX:u,maxY:f}}function lot(n,t){return t-n}var sw=ne,h,e,cw,aw,da,lh,iv,ci,tb,ib,vr,rv,uv,fv,sv,t,u,gi,ue,vb,av,y,ee,nc,ht,ti,pi,ct,ic,kt,ur,wr,pb,li,wb,br,vt,kr,wi,dr,gr,nu,tu,iu,lu,au,ru,vu,yu,uu,pu,ef,ce,le,sf,ae,bk,fy,ey,cf,pc,wc,r,lf,we,er,bc,cs,be,oi,ke,o,s,ls,af,de,ii,ge,dc,gc,nl,fu,tl,il,rl,ul,as,fl,el,eu,ol,sl,vs,hl,cl,no,ll,ys,al,vy,vl,yy,py,wy,by,ky,dy,gy,np,wd,ft,bu,dd,ku,sr,ri,lt,si,dt,vi,bl,ip,ir,na,sg,hg,ep,du,wt,ag,ki,wp,di,gg,nn,en,kp,rh,oo,so,ui,yf,at,uh,ni,pf,gn,fh,wf,aa,ctt,ltt,bf,co,v,pa,df,nt,w,uw,nf,tf,ew,tt,hr,oh,sh,wa,gf,cr,rt,su,ow;ne.prototype.sampleCurveX=function(n){return((this.ax*n+this.bx)*n+this.cx)*n};ne.prototype.sampleCurveY=function(n){return((this.ay*n+this.by)*n+this.cy)*n};ne.prototype.sampleCurveDerivativeX=function(n){return(3*this.ax*n+2*this.bx)*n+this.cx};ne.prototype.solveCurveX=function(n,t){var r,f,i,u,e,o;for(void 0===t&&(t=1e-6),i=n,e=0;e<8;e++){if(u=this.sampleCurveX(i)-n,Math.abs(u)<t)return i;if(o=this.sampleCurveDerivativeX(i),Math.abs(o)<1e-6)break;i-=u/o}if((i=n)<(r=0))return r;if(i>(f=1))return f;for(;r<f;){if(u=this.sampleCurveX(i),Math.abs(u-n)<t)return i;n>u?r=i:f=i;i=.5*(f-r)+r}return i};ne.prototype.solve=function(n,t){return this.sampleCurveY(this.solveCurveX(n,t))};h=te;te.prototype={clone:function(){return new te(this.x,this.y)},add:function(n){return this.clone()._add(n)},sub:function(n){return this.clone()._sub(n)},multByPoint:function(n){return this.clone()._multByPoint(n)},divByPoint:function(n){return this.clone()._divByPoint(n)},mult:function(n){return this.clone()._mult(n)},div:function(n){return this.clone()._div(n)},rotate:function(n){return this.clone()._rotate(n)},rotateAround:function(n,t){return this.clone()._rotateAround(n,t)},matMult:function(n){return this.clone()._matMult(n)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(n){return this.x===n.x&&this.y===n.y},dist:function(n){return Math.sqrt(this.distSqr(n))},distSqr:function(n){var t=n.x-this.x,i=n.y-this.y;return t*t+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(n){return Math.atan2(this.y-n.y,this.x-n.x)},angleWith:function(n){return this.angleWithSep(n.x,n.y)},angleWithSep:function(n,t){return Math.atan2(this.x*t-this.y*n,this.x*n+this.y*t)},_matMult:function(n){var t=n[2]*this.x+n[3]*this.y;return this.x=n[0]*this.x+n[1]*this.y,this.y=t,this},_add:function(n){return this.x+=n.x,this.y+=n.y,this},_sub:function(n){return this.x-=n.x,this.y-=n.y,this},_mult:function(n){return this.x*=n,this.y*=n,this},_div:function(n){return this.x/=n,this.y/=n,this},_multByPoint:function(n){return this.x*=n.x,this.y*=n.y,this},_divByPoint:function(n){return this.x/=n.x,this.y/=n.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var n=this.y;return this.y=this.x,this.x=-n,this},_rotate:function(n){var t=Math.cos(n),i=Math.sin(n),r=i*this.x+t*this.y;return this.x=t*this.x-i*this.y,this.y=r,this},_rotateAround:function(n,t){var i=Math.cos(n),r=Math.sin(n),u=t.y+r*(this.x-t.x)+i*(this.y-t.y);return this.x=t.x+i*(this.x-t.x)-r*(this.y-t.y),this.y=u,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};te.convert=function(n){return n instanceof te?n:Array.isArray(n)?new te(n[0],n[1]):n};e="undefined"!=typeof self?self:{};cw=hw(.25,.1,.25,1);aw=1;da={};lh=null;var ah,nv,ao,vo,rit=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now.bind(Date),uit=e.requestAnimationFrame||e.mozRequestAnimationFrame||e.webkitRequestAnimationFrame||e.msRequestAnimationFrame,fit=e.cancelAnimationFrame||e.mozCancelAnimationFrame||e.webkitCancelAnimationFrame||e.msCancelAnimationFrame,ie={now:rit,frame:function(n){var t=uit(n);return{cancel:function(){return fit(t)}}},getImageData:function(n,t){void 0===t&&(t=0);var i=e.document.createElement("canvas"),r=i.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return i.width=n.width,i.height=n.height,r.drawImage(n,0,0,n.width,n.height),r.getImageData(-t,-t,n.width+2*t,n.height+2*t)},resolveURL:function(n){return ah||(ah=e.document.createElement("a")),ah.href=n,ah.href},hardwareConcurrency:e.navigator&&e.navigator.hardwareConcurrency||4,get devicePixelRatio(){return e.devicePixelRatio},get prefersReducedMotion(){return!!e.matchMedia&&(null==nv&&(nv=e.matchMedia("(prefers-reduced-motion: reduce)")),nv.matches)}},st={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},vh={supported:!1,testSupport:function(n){!tv&&vo&&(gw?nb(n):ao=n)}},tv=!1,gw=!1;e.document&&((vo=e.document.createElement("img")).onload=function(){ao&&nb(ao);ao=null;gw=!0},vo.onerror=function(){tv=!0;ao=null},vo.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");iv="01";ci=function(n,t){this._transformRequestFn=n;this._customAccessToken=t;this._createSkuToken()};ci.prototype._createSkuToken=function(){var n=function(){for(var n="",t=0;t<10;t++)n+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",iv,n].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=n.token;this._skuTokenExpiresAt=n.tokenExpiresAt};ci.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt};ci.prototype.transformRequest=function(n,t){return this._transformRequestFn&&this._transformRequestFn(n,t)||{url:n}};ci.prototype.normalizeStyleURL=function(n,t){if(!ar(n))return n;var i=cu(n);return i.path="/styles/v1"+i.path,this._makeAPIURL(i,this._customAccessToken||t)};ci.prototype.normalizeGlyphsURL=function(n,t){if(!ar(n))return n;var i=cu(n);return i.path="/fonts/v1"+i.path,this._makeAPIURL(i,this._customAccessToken||t)};ci.prototype.normalizeSourceURL=function(n,t){if(!ar(n))return n;var i=cu(n);return i.path="/v4/"+i.authority+".json",i.params.push("secure"),this._makeAPIURL(i,this._customAccessToken||t)};ci.prototype.normalizeSpriteURL=function(n,t,i,r){var u=cu(n);return ar(n)?(u.path="/styles/v1"+u.path+"/sprite"+t+i,this._makeAPIURL(u,this._customAccessToken||r)):(u.path+=""+t+i,yh(u))};ci.prototype.normalizeTileURL=function(n,t){var i,r;return(this._isSkuTokenExpired()&&this._createSkuToken(),n&&!ar(n))?n:(i=cu(n),i.path=i.path.replace(/(\.(png|jpg)\d*)(?=$)/,(ie.devicePixelRatio>=2||512===t?"@2x":"")+(vh.supported?".webp":"$1")),i.path=i.path.replace(/^.+\/v4\//,"/"),i.path="/v4"+i.path,r=this._customAccessToken||function(n){for(var r,t=0,i=n;t<i.length;t+=1)if(r=i[t].match(/^access_token=(.*)$/),r)return r[1];return null}(i.params)||st.ACCESS_TOKEN,st.REQUIRE_ACCESS_TOKEN&&r&&this._skuToken&&i.params.push("sku="+this._skuToken),this._makeAPIURL(i,r))};ci.prototype.canonicalizeTileURL=function(n,t){var r=cu(n),u,i;return!r.path.match(/(^\/v4\/)/)||!r.path.match(/\.[\w]+$/)?n:(u="mapbox://tiles/",u+=r.path.replace("/v4/",""),i=r.params,t&&(i=i.filter(function(n){return!n.match(/^access_token=/)})),i.length&&(u+="?"+i.join("&")),u)};ci.prototype.canonicalizeTileset=function(n,t){for(var i,e=!!t&&ar(t),r=[],u=0,f=n.tiles||[];u<f.length;u+=1)i=f[u],yo(i)?r.push(this.canonicalizeTileURL(i,e)):r.push(i);return r};ci.prototype._makeAPIURL=function(n,t){var r="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",i=cu(st.API_URL);if(n.protocol=i.protocol,n.authority=i.authority,"/"!==i.path&&(n.path=""+i.path+n.path),!st.REQUIRE_ACCESS_TOKEN)return yh(n);if(!(t=t||st.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===t[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return n.params=n.params.filter(function(n){return-1===n.indexOf("access_token")}),n.params.push("access_token="+t),yh(n)};tb=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;ib=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;vr=function(n){this.type=n;this.anonId=null;this.eventData={};this.queue=[];this.pendingRequest=null};vr.prototype.getStorageKey=function(n){var t,i=rb(st.ACCESS_TOKEN);return t=i&&i.u?e.btoa(encodeURIComponent(i.u).replace(/%([0-9A-F]{2})/g,function(n,t){return String.fromCharCode(Number("0x"+t))})):st.ACCESS_TOKEN||"",n?"mapbox.eventData."+n+":"+t:"mapbox.eventData:"+t};vr.prototype.fetchEventData=function(){var i=dw("localStorage"),r=this.getStorageKey(),u=this.getStorageKey("uuid"),n,t;if(i)try{n=e.localStorage.getItem(r);n&&(this.eventData=JSON.parse(n));t=e.localStorage.getItem(u);t&&(this.anonId=t)}catch(i){bt("Unable to read from LocalStorage")}};vr.prototype.saveEventData=function(){var n=dw("localStorage"),t=this.getStorageKey(),i=this.getStorageKey("uuid");if(n)try{e.localStorage.setItem(i,this.anonId);Object.keys(this.eventData).length>=1&&e.localStorage.setItem(t,JSON.stringify(this.eventData))}catch(n){bt("Unable to write to LocalStorage")}};vr.prototype.processRequests=function(){};vr.prototype.postEvent=function(n,t,i,r){var u=this,f;if(st.EVENTS_URL){f=cu(st.EVENTS_URL);f.params.push("access_token="+(r||st.ACCESS_TOKEN||""));var e={event:this.type,created:new Date(n).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.11.0",skuId:iv,userId:this.anonId},o=t?fi(e,t):e,s={url:yh(f),headers:{"Content-Type":"text/plain"},body:JSON.stringify([o])};this.pendingRequest=hit(s,function(n){u.pendingRequest=null;i(n);u.saveEventData();u.processRequests(r)})}};vr.prototype.queueRequest=function(n,t){this.queue.push(n);this.processRequests(t)};var yr,ph,eit=function(n){function t(){n.call(this,"map.load");this.success={};this.skuToken=""}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.postMapLoadEvent=function(n,t,i,r){this.skuToken=i;(st.EVENTS_URL&&r||st.ACCESS_TOKEN&&Array.isArray(n)&&n.some(function(n){return ar(n)||yo(n)}))&&this.queueRequest({id:t,timestamp:Date.now()},r)},t.prototype.processRequests=function(n){var r=this;if(!this.pendingRequest&&0!==this.queue.length){var i=this.queue.shift(),t=i.id,u=i.timestamp;t&&this.success[t]||(this.anonId||this.fetchEventData(),pw(this.anonId)||(this.anonId=yw()),this.postEvent(u,{skuToken:this.skuToken},function(n){n||t&&(r.success[t]=!0)},n))}},t}(vr),ub=new(function(n){function t(t){n.call(this,"appUserTurnstile");this._customAccessToken=t}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.postTurnstileEvent=function(n,t){st.EVENTS_URL&&st.ACCESS_TOKEN&&Array.isArray(n)&&n.some(function(n){return ar(n)||yo(n)})&&this.queueRequest(Date.now(),t)},t.prototype.processRequests=function(n){var r=this,i;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var u=rb(st.ACCESS_TOKEN),f=u?u.u:st.ACCESS_TOKEN,t=f!==this.eventData.tokenU;if(pw(this.anonId)||(this.anonId=yw(),t=!0),i=this.queue.shift(),this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(i),e=(i-this.eventData.lastSuccess)/864e5;t=t||e>=1||e<-1||o.getDate()!==s.getDate()}else t=!0;if(!t)return this.processRequests();this.postEvent(i,{"enabled.telemetry":!1},function(n){n||(r.eventData.lastSuccess=i,r.eventData.tokenU=f)},n)}},t}(vr)),oit=ub.postTurnstileEvent.bind(ub),fb=new eit,sit=fb.postMapLoadEvent.bind(fb),eb=500,ob=50;uv=1/0;fv={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(fv);var cb=function(n){function t(t,i,r){401===i&&yo(r)&&(t+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes");n.call(this,t);this.status=i;this.url=r;this.name=this.constructor.name;this.message=t}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},t}(Error),ev=ch()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===e.location.protocol?e.parent:e).location.href},bh,po,kh=function(n,t){if(!(/^file:/.test(i=n.url)||/^file:/.test(ev())&&!/^\w+:/.test(i))){if(e.fetch&&e.Request&&e.AbortController&&e.Request.prototype.hasOwnProperty("signal"))return function(n,t){var o,s=new e.AbortController,i=new e.Request(n.url,{method:n.method||"GET",body:n.body,credentials:n.credentials,headers:n.headers,referrer:ev(),signal:s.signal}),h=!1,r=!1,c=(o=i.url).indexOf("sku=")>0&&yo(o),u,f;return"json"===n.type&&i.headers.set("Accept","application/json"),u=function(u,o,s){if(!r){if(u&&"SecurityError"!==u.message&&bt(u),o&&s)return f(o);var h=Date.now();e.fetch(i).then(function(i){if(i.ok){var r=c?i.clone():null;return f(i,r,h)}return t(new cb(i.statusText,i.status,n.url))}).catch(function(n){20!==n.code&&t(new Error(n.message))})}},f=function(u,f,o){("arrayBuffer"===n.type?u.arrayBuffer():"json"===n.type?u.json():u.text()).then(function(n){r||(f&&o&&function(n,t,i){var r,u;(wh(),yr)&&(r={status:t.status,statusText:t.statusText,headers:new e.Headers},t.headers.forEach(function(n,t){return r.headers.set(t,n)}),u=ga(t.headers.get("Cache-Control")||""),u["no-store"]||(u["max-age"]&&r.headers.set("Expires",new Date(i+1e3*u["max-age"]).toUTCString()),new Date(r.headers.get("Expires")).getTime()-i<42e4||function(n,t){if(void 0===ph)try{new Response(new ReadableStream);ph=!0}catch(n){ph=!1}ph?t(n.body):n.blob().then(t)}(t,function(t){var i=new e.Response(t,r);wh();yr&&yr.then(function(t){return t.put(sb(n.url),i)}).catch(function(n){return bt(n.message)})})))}(i,f,o),h=!0,t(null,n,u.headers.get("Cache-Control"),u.headers.get("Expires")))}).catch(function(n){r||t(new Error(n.message))})},c?function(n,t){if(wh(),!yr)return t(null);var i=sb(n.url);yr.then(function(n){n.match(i).then(function(r){var u=function(n){if(!n)return!1;var t=new Date(n.headers.get("Expires")||0),i=ga(n.headers.get("Cache-Control")||"");return t>Date.now()&&!i["no-cache"]}(r);n.delete(i);u&&n.put(i,r.clone());t(null,r,u)}).catch(t)}).catch(t)}(i,u):u(null,null),{cancel:function(){r=!0;h||s.abort()}}}(n,t);if(ch()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",n,t,void 0,!0)}var i;return function(n,t){var i=new e.XMLHttpRequest;for(var r in i.open(n.method||"GET",n.url,!0),"arrayBuffer"===n.type&&(i.responseType="arraybuffer"),n.headers)i.setRequestHeader(r,n.headers[r]);return"json"===n.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===n.credentials,i.onerror=function(){t(new Error(i.statusText))},i.onload=function(){if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){var r=i.response;if("json"===n.type)try{r=JSON.parse(i.response)}catch(n){return t(n)}t(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else t(new cb(i.statusText,i.status,n.url))},i.send(n.body),{cancel:function(){return i.abort()}}}(n,t)},ov=function(n,t){return kh(fi(n,{type:"arrayBuffer"}),t)},hit=function(n,t){return kh(fi(n,{method:"POST"}),t)};bh=[];po=0;sv=function(n,t){var i;if(vh.supported&&(n.headers||(n.headers={}),n.headers.accept="image/webp,*/*"),po>=st.MAX_PARALLEL_IMAGE_REQUESTS)return i={requestParameters:n,callback:t,cancelled:!1,cancel:function(){this.cancelled=!0}},bh.push(i),i;po++;var r=!1,u=function(){if(!r)for(r=!0,po--;bh.length&&po<st.MAX_PARALLEL_IMAGE_REQUESTS;){var n=bh.shift();n.cancelled||(n.cancel=sv(n.requestParameters,n.callback).cancel)}},f=ov(n,function(n,i,r,f){u();n?t(n):i&&(hb()?function(n,t){var i=new e.Blob([new Uint8Array(n)],{type:"image/png"});e.createImageBitmap(i).then(function(n){t(null,n)}).catch(function(n){t(new Error("Could not load image because of "+n.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))})}(i,t):function(n,t,i,r){var u=new e.Image,f=e.URL,o;u.onload=function(){t(null,u);f.revokeObjectURL(u.src)};u.onerror=function(){return t(new 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."))};o=new e.Blob([new Uint8Array(n)],{type:"image/png"});u.cacheControl=i;u.expires=r;u.src=n.byteLength?f.createObjectURL(o):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}(i,t,r,f))});return{cancel:function(){f.cancel();u()}}};var dh=function(n,t){void 0===t&&(t={});fi(this,t);this.type=n},cv=function(n){function t(t,i){void 0===i&&(i={});n.call(this,"error",fi({error:t},i))}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t}(dh),pr=function(){};pr.prototype.on=function(n,t){return this._listeners=this._listeners||{},lb(n,t,this._listeners),this};pr.prototype.off=function(n,t){return hv(n,t,this._listeners),hv(n,t,this._oneTimeListeners),this};pr.prototype.once=function(n,t){return this._oneTimeListeners=this._oneTimeListeners||{},lb(n,t,this._oneTimeListeners),this};pr.prototype.fire=function(n,t){var i,r,f,u,e,o,s;if("string"==typeof n&&(n=new dh(n,t||{})),i=n.type,this.listens(i)){for(n.target=this,r=0,f=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];r<f.length;r+=1)f[r].call(this,n);for(u=0,e=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];u<e.length;u+=1)o=e[u],hv(i,o,this._oneTimeListeners),o.call(this,n);s=this._eventedParent;s&&(fi(n,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),s.fire(n))}else n instanceof cv&&console.error(n.error);return this};pr.prototype.listens=function(n){return this._listeners&&this._listeners[n]&&this._listeners[n].length>0||this._oneTimeListeners&&this._oneTimeListeners[n]&&this._oneTimeListeners[n].length>0||this._eventedParent&&this._eventedParent.listens(n)};pr.prototype.setEventedParent=function(n,t){return this._eventedParent=n,this._eventedParentData=t,this};t={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number","default":0,period:360,units:"degrees"},pitch:{type:"number","default":0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},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"},"*":{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"},"*":{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:{}},"default":"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number","default":18},attribution:{type:"string"},buffer:{type:"number","default":128,maximum:512,minimum:0},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:{},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_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"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","property-type":"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","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},"default":"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"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"]},"property-type":"data-constant"},"line-round-limit":{type:"number","default":1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"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"],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:"number","default":2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"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:{},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-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"],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","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},"in":{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},"function":{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number","default":1,minimum:0},property:{type:"string","default":"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},"default":"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},"default":"rgb"},"default":{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{"let":{group:"Variable binding"},"var":{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},"in":{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},"case":{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},"typeof":{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},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}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean","default":!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color","default":"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color","default":"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number","default":0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number","default":0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean","default":!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color","default":"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number","default":1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number","default":0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number","default":5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color","default":"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number","default":0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},"default":"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},"default":"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color","default":"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number","default":30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number","default":1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number","default":1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color","default":"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color","default":"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color","default":"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color","default":"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number","default":0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,"default":[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},"default":"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number","default":0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number","default":0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number","default":1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number","default":0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number","default":0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},"default":"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number","default":300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number","default":335,minimum:0,maximum:359,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:"color","default":"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color","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"}},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"}}};u=function(n,t,i,r){this.message=(n?n+": ":"")+i;r&&(this.identifier=r);null!=t&&t.__line__&&(this.line=t.__line__)};gi=function(n){function t(t,i){n.call(this,i);this.message=i;this.key=t}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t}(Error);ue=function(n,t){var i,r,u;for(void 0===t&&(t=[]),this.parent=n,this.bindings={},i=0,r=t;i<r.length;i+=1)u=r[i],this.bindings[u[0]]=u[1]};ue.prototype.concat=function(n){return new ue(this,n)};ue.prototype.get=function(n){if(this.bindings[n])return this.bindings[n];if(this.parent)return this.parent.get(n);throw new Error(n+" not found in scope.");};ue.prototype.has=function(n){return!!this.bindings[n]||!!this.parent&&this.parent.has(n)};var wo={kind:"null"},i={kind:"number"},a={kind:"string"},c={kind:"boolean"},rr={kind:"color"},fe={kind:"object"},l={kind:"value"},gh={kind:"collator"},bo={kind:"formatted"},ko={kind:"resolvedImage"};vb=[wo,i,a,c,rr,bo,fe,yi(l),ko];av=hh(function(n,t){function i(n){return(n=Math.round(n))<0?0:n>255?255:n}function u(n){return i("%"===n[n.length-1]?parseFloat(n)/100*255:parseInt(n))}function r(n){return(t="%"===n[n.length-1]?parseFloat(n)/100:parseFloat(n))<0?0:t>1?1:t;var t}function f(n,t,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?n+(t-n)*i*6:2*i<1?t:3*i<2?n+(t-n)*(2/3-i)*6:n}var e={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};try{t.parseCSSColor=function(n){var t,o=n.replace(/ /g,"").toLowerCase(),h,v;if(o in e)return e[o].slice();if("#"===o[0])return 4===o.length?(t=parseInt(o.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===o.length&&(t=parseInt(o.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;if(h=o.indexOf("("),v=o.indexOf(")"),-1!==h&&v+1===o.length){var b=o.substr(0,h),s=o.substr(h+1,v-(h+1)).split(","),l=1;switch(b){case"rgba":if(4!==s.length)return null;l=r(s.pop());case"rgb":return 3!==s.length?null:[u(s[0]),u(s[1]),u(s[2]),l];case"hsla":if(4!==s.length)return null;l=r(s.pop());case"hsl":if(3!==s.length)return null;var y=(parseFloat(s[0])%360+360)%360/360,p=r(s[1]),c=r(s[2]),a=c<=.5?c*(p+1):c+p-c*p,w=2*c-a;return[i(255*f(w,a,y+1/3)),i(255*f(w,a,y)),i(255*f(w,a,y-1/3)),l];default:return null}}return null}}catch(n){}}).parseCSSColor;y=function(n,t,i,r){void 0===r&&(r=1);this.r=n;this.g=t;this.b=i;this.a=r};y.parse=function(n){if(n){if(n instanceof y)return n;if("string"==typeof n){var t=av(n);if(t)return new y(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3])}}};y.prototype.toString=function(){var n=this.toArray(),t=n[1],i=n[2],r=n[3];return"rgba("+Math.round(n[0])+","+Math.round(t)+","+Math.round(i)+","+r+")"};y.prototype.toArray=function(){var n=this.a;return 0===n?[0,0,0,0]:[255*this.r/n,255*this.g/n,255*this.b/n,n]};y.black=new y(0,0,0,1);y.white=new y(1,1,1,1);y.transparent=new y(0,0,0,0);y.red=new y(1,0,0,1);ee=function(n,t,i){this.sensitivity=n?t?"variant":"case":t?"accent":"base";this.locale=i;this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ee.prototype.compare=function(n,t){return this.collator.compare(n,t)};ee.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};nc=function(n,t,i,r,u){this.text=n;this.image=t;this.scale=i;this.fontStack=r;this.textColor=u};ht=function(n){this.sections=n};ht.fromString=function(n){return new ht([new nc(n,null,null,null,null)])};ht.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some(function(n){return 0!==n.text.length||n.image&&0!==n.image.name.length})};ht.factory=function(n){return n instanceof ht?n:ht.fromString(n)};ht.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map(function(n){return n.text}).join("")};ht.prototype.serialize=function(){for(var n,t,i=["format"],r=0,u=this.sections;r<u.length;r+=1)n=u[r],n.image?i.push(["image",n.image.name]):(i.push(n.text),t={},n.fontStack&&(t["text-font"]=["literal",n.fontStack.split(",")]),n.scale&&(t["font-scale"]=n.scale),n.textColor&&(t["text-color"]=["rgba"].concat(n.textColor.toArray())),i.push(t));return i};ti=function(n){this.name=n.name;this.available=n.available};ti.prototype.toString=function(){return this.name};ti.fromString=function(n){return n?new ti({name:n,available:!1}):null};ti.prototype.serialize=function(){return["image",this.name]};pi=function(n,t){this.type=n;this.value=t};pi.parse=function(n,t){if(2!==n.length)return t.error("'literal' expression requires exactly one argument, but found "+(n.length-1)+" instead.");if(!tc(n[1]))return t.error("invalid value");var u=n[1],r=et(u),i=t.expectedType;return"array"!==r.kind||0!==r.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(r=i),new pi(r,u)};pi.prototype.evaluate=function(){return this.value};pi.prototype.eachChild=function(){};pi.prototype.outputDefined=function(){return!0};pi.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof y?["rgba"].concat(this.value.toArray()):this.value instanceof ht?this.value.serialize():this.value};ct=function(n){this.name="ExpressionEvaluationError";this.message=n};ct.prototype.toJSON=function(){return this.message};ic={string:a,number:i,boolean:c,object:fe};kt=function(n,t){this.type=n;this.args=t};kt.parse=function(n,t){var u,i,f,e,h,r,o,s;if(n.length<2)return t.error("Expected at least one argument.");if(i=1,f=n[0],"array"===f){if(n.length>2){if(r=n[1],"string"!=typeof r||!(r in ic)||"object"===r)return t.error('The item type argument of "array" must be one of string, number, boolean',1);e=ic[r];i++}else e=l;if(n.length>3){if(null!==n[2]&&("number"!=typeof n[2]||n[2]<0||n[2]!==Math.floor(n[2])))return t.error('The length argument to "array" must be a positive integer literal',2);h=n[2];i++}u=yi(e,h)}else u=ic[f];for(o=[];i<n.length;i++){if(s=t.parse(n[i],i,l),!s)return null;o.push(s)}return new kt(u,o)};kt.prototype.evaluate=function(n){for(var i,t=0;t<this.args.length;t++){if(i=this.args[t].evaluate(n),!go(this.type,et(i)))return i;if(t===this.args.length-1)throw new ct("Expected value to be of type "+g(this.type)+", but found "+g(et(i))+" instead.");}return null};kt.prototype.eachChild=function(n){this.args.forEach(n)};kt.prototype.outputDefined=function(){return this.args.every(function(n){return n.outputDefined()})};kt.prototype.serialize=function(){var t=this.type,i=[t.kind],n,r;return"array"===t.kind&&(n=t.itemType,("string"===n.kind||"number"===n.kind||"boolean"===n.kind)&&(i.push(n.kind),r=t.N,("number"==typeof r||this.args.length>1)&&i.push(r))),i.concat(this.args.map(function(n){return n.serialize()}))};ur=function(n){this.type=bo;this.sections=n};ur.parse=function(n,t){var h,r,v,y,p,o,s,u;if(n.length<2)return t.error("Expected at least one argument.");if(h=n[1],!Array.isArray(h)&&"object"==typeof h)return t.error("First argument must be an image or text section.");for(var f=[],c=!1,e=1;e<=n.length-1;++e)if(r=n[e],c&&"object"==typeof r&&!Array.isArray(r)){if((c=!1,v=null,r["font-scale"]&&!(v=t.parse(r["font-scale"],1,i)))||(y=null,r["text-font"]&&!(y=t.parse(r["text-font"],1,yi(a))))||(p=null,r["text-color"]&&!(p=t.parse(r["text-color"],1,rr))))return null;o=f[f.length-1];o.scale=v;o.font=y;o.textColor=p}else{if(s=t.parse(n[e],1,l),!s)return null;if(u=s.type.kind,"string"!==u&&"value"!==u&&"null"!==u&&"resolvedImage"!==u)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");c=!0;f.push({content:s,scale:null,font:null,textColor:null})}return new ur(f)};ur.prototype.evaluate=function(n){return new ht(this.sections.map(function(t){var i=t.content.evaluate(n);return et(i)===ko?new nc("",i,null,null,null):new nc(ts(i),null,t.scale?t.scale.evaluate(n):null,t.font?t.font.evaluate(n).join(","):null,t.textColor?t.textColor.evaluate(n):null)}))};ur.prototype.eachChild=function(n){for(var t,i=0,r=this.sections;i<r.length;i+=1)t=r[i],n(t.content),t.scale&&n(t.scale),t.font&&n(t.font),t.textColor&&n(t.textColor)};ur.prototype.outputDefined=function(){return!1};ur.prototype.serialize=function(){for(var n,t,i=["format"],r=0,u=this.sections;r<u.length;r+=1)n=u[r],i.push(n.content.serialize()),t={},n.scale&&(t["font-scale"]=n.scale.serialize()),n.font&&(t["text-font"]=n.font.serialize()),n.textColor&&(t["text-color"]=n.textColor.serialize()),i.push(t);return i};wr=function(n){this.type=ko;this.input=n};wr.parse=function(n,t){if(2!==n.length)return t.error("Expected two arguments.");var i=t.parse(n[1],1,a);return i?new wr(i):t.error("No image name provided.")};wr.prototype.evaluate=function(n){var i=this.input.evaluate(n),t=ti.fromString(i);return t&&n.availableImages&&(t.available=n.availableImages.indexOf(i)>-1),t};wr.prototype.eachChild=function(n){n(this.input)};wr.prototype.outputDefined=function(){return!1};wr.prototype.serialize=function(){return["image",this.input.serialize()]};pb={"to-boolean":c,"to-color":rr,"to-number":i,"to-string":a};li=function(n,t){this.type=n;this.args=t};li.parse=function(n,t){var i,u;if(n.length<2)return t.error("Expected at least one argument.");if(i=n[0],("to-boolean"===i||"to-string"===i)&&2!==n.length)return t.error("Expected one argument.");for(var e=pb[i],f=[],r=1;r<n.length;r++){if(u=t.parse(n[r],r,l),!u)return null;f.push(u)}return new li(e,f)};li.prototype.evaluate=function(n){var t,r,i,u,f,s;if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(n));if("color"===this.type.kind){for(i=0,u=this.args;i<u.length;i+=1){if(r=null,(t=u[i].evaluate(n))instanceof y)return t;if("string"==typeof t){if(f=n.parseColor(t),f)return f}else if(Array.isArray(t)&&!(r=t.length<3||t.length>4?"Invalid rbga value "+JSON.stringify(t)+": expected an array containing either three or four numeric values.":yb(t[0],t[1],t[2],t[3])))return new y(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new ct(r||"Could not parse color from value '"+("string"==typeof t?t:String(JSON.stringify(t)))+"'");}if("number"===this.type.kind){for(var e=null,o=0,h=this.args;o<h.length;o+=1){if(null===(e=h[o].evaluate(n)))return 0;if(s=Number(e),!isNaN(s))return s}throw new ct("Could not convert "+JSON.stringify(e)+" to number.");}return"formatted"===this.type.kind?ht.fromString(ts(this.args[0].evaluate(n))):"resolvedImage"===this.type.kind?ti.fromString(ts(this.args[0].evaluate(n))):ts(this.args[0].evaluate(n))};li.prototype.eachChild=function(n){this.args.forEach(n)};li.prototype.outputDefined=function(){return this.args.every(function(n){return n.outputDefined()})};li.prototype.serialize=function(){if("formatted"===this.type.kind)return new ur([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new wr(this.args[0]).serialize();var n=["to-"+this.type.kind];return this.eachChild(function(t){n.push(t.serialize())}),n};wb=["Unknown","Point","LineString","Polygon"];br=function(){this.globals=null;this.feature=null;this.featureState=null;this.formattedSection=null;this._parseColorCache={};this.availableImages=null;this.canonical=null};br.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null};br.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?wb[this.feature.type]:this.feature.type:null};br.prototype.geometry=function(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null};br.prototype.canonicalID=function(){return this.canonical};br.prototype.properties=function(){return this.feature&&this.feature.properties||{}};br.prototype.parseColor=function(n){var t=this._parseColorCache[n];return t||(t=this._parseColorCache[n]=y.parse(n)),t};vt=function(n,t,i,r){this.name=n;this.type=t;this._evaluate=i;this.args=r};vt.prototype.evaluate=function(n){return this._evaluate(n,this.args)};vt.prototype.eachChild=function(n){this.args.forEach(n)};vt.prototype.outputDefined=function(){return!1};vt.prototype.serialize=function(){return[this.name].concat(this.args.map(function(n){return n.serialize()}))};vt.parse=function(n,t){var y,h=n[0],r=vt.definitions[h],e,nt,tt,v;if(!r)return t.error('Unknown expression "'+h+'". If you wanted a literal array, use ["literal", [...]].',0);for(var it=Array.isArray(r)?r[0]:r.type,p=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=p.filter(function(t){var i=t[0];return!Array.isArray(i)||i.length===n.length-1}),f=null,c=0,w=o;c<w.length;c+=1){var b=w[c],i=b[0],rt=b[1];f=new gr(t.registry,t.path,null,t.scope);for(var u=[],k=!1,s=1;s<n.length;s++){var ut=n[s],ft=Array.isArray(i)?i[s-1]:i.type,d=f.parse(ut,1+u.length,ft);if(!d){k=!0;break}u.push(d)}if(!k)if(Array.isArray(i)&&i.length!==u.length)f.error("Expected "+i.length+" arguments, but found "+u.length+" instead.");else{for(e=0;e<u.length;e++)nt=Array.isArray(i)?i[e]:i.type,tt=u[e],f.concat(e+1).checkSubtype(nt,tt.type);if(0===f.errors.length)return new vt(h,it,rt,u)}}if(1===o.length)(y=t.errors).push.apply(y,f.errors);else{for(var et=(o.length?o:p).map(function(n){var t;return t=n[0],Array.isArray(t)?"("+t.map(g).join(", ")+")":"("+g(t.type)+"...)"}).join(" | "),l=[],a=1;a<n.length;a++){if(v=t.parse(n[a],1+l.length),!v)return null;l.push(g(v.type))}t.error("Expected arguments of type "+et+", but found ("+l.join(", ")+") instead.")}return null};vt.register=function(n,t){for(var i in vt.definitions=t,t)n[i]=vt};kr=function(n,t,i){this.type=gh;this.locale=i;this.caseSensitive=n;this.diacriticSensitive=t};kr.parse=function(n,t){var i,r,u,f;return 2!==n.length?t.error("Expected one argument."):(i=n[1],"object"!=typeof i||Array.isArray(i))?t.error("Collator options argument must be an object."):(r=t.parse(void 0!==i["case-sensitive"]&&i["case-sensitive"],1,c),!r)?null:(u=t.parse(void 0!==i["diacritic-sensitive"]&&i["diacritic-sensitive"],1,c),!u)?null:(f=null,i.locale&&!(f=t.parse(i.locale,1,a))?null:new kr(r,u,f))};kr.prototype.evaluate=function(n){return new ee(this.caseSensitive.evaluate(n),this.diacriticSensitive.evaluate(n),this.locale?this.locale.evaluate(n):null)};kr.prototype.eachChild=function(n){n(this.caseSensitive);n(this.diacriticSensitive);this.locale&&n(this.locale)};kr.prototype.outputDefined=function(){return!1};kr.prototype.serialize=function(){var n={};return n["case-sensitive"]=this.caseSensitive.serialize(),n["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(n.locale=this.locale.serialize()),["collator",n]};wi=function(n,t){this.type=c;this.geojson=n;this.geometries=t};wi.parse=function(n,t){var i,r,u,f;if(2!==n.length)return t.error("'within' expression requires exactly one argument, but found "+(n.length-1)+" instead.");if(tc(n[1]))if(i=n[1],"FeatureCollection"===i.type){for(r=0;r<i.features.length;++r)if(u=i.features[r].geometry.type,"Polygon"===u||"MultiPolygon"===u)return new wi(i,i.features[r].geometry)}else if("Feature"===i.type){if(f=i.geometry.type,"Polygon"===f||"MultiPolygon"===f)return new wi(i,i.geometry)}else if("Polygon"===i.type||"MultiPolygon"===i.type)return new wi(i,i);return t.error("'within' expression requires valid geojson object that contains polygon geometry type.")};wi.prototype.evaluate=function(n){if(null!=n.geometry()&&null!=n.canonicalID()){if("Point"===n.geometryType())return function(n,t){var r=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],u=n.canonicalID(),h,c,f,o,l,a,e,s;if("Polygon"===t.type){if(h=pv(t.coordinates,i,u),c=nk(n.geometry(),r,i,u),!rc(r,i))return!1;for(f=0,o=c;f<o.length;f+=1)if(!yv(o[f],h))return!1}if("MultiPolygon"===t.type){if(l=db(t.coordinates,i,u),a=nk(n.geometry(),r,i,u),!rc(r,i))return!1;for(e=0,s=a;e<s.length;e+=1)if(!ait(s[e],l))return!1}return!0}(n,this.geometries);if("LineString"===n.geometryType())return function(n,t){var r=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],u=n.canonicalID(),h,c,f,o,l,a,e,s;if("Polygon"===t.type){if(h=pv(t.coordinates,i,u),c=tk(n.geometry(),r,i,u),!rc(r,i))return!1;for(f=0,o=c;f<o.length;f+=1)if(!kb(o[f],h))return!1}if("MultiPolygon"===t.type){if(l=db(t.coordinates,i,u),a=tk(n.geometry(),r,i,u),!rc(r,i))return!1;for(e=0,s=a;e<s.length;e+=1)if(!yit(s[e],l))return!1}return!0}(n,this.geometries)}return!1};wi.prototype.eachChild=function(){};wi.prototype.outputDefined=function(){return!0};wi.prototype.serialize=function(){return["within",this.geojson]};dr=function(n,t){this.type=t.type;this.name=n;this.boundExpression=t};dr.parse=function(n,t){if(2!==n.length||"string"!=typeof n[1])return t.error("'var' expression requires exactly one string literal argument.");var i=n[1];return t.scope.has(i)?new dr(i,t.scope.get(i)):t.error('Unknown variable "'+i+'". Make sure "'+i+'" has been bound in an enclosing "let" expression before using it.',1)};dr.prototype.evaluate=function(n){return this.boundExpression.evaluate(n)};dr.prototype.eachChild=function(){};dr.prototype.outputDefined=function(){return!1};dr.prototype.serialize=function(){return["var",this.name]};gr=function(n,t,i,r,u){void 0===t&&(t=[]);void 0===r&&(r=new ue);void 0===u&&(u=[]);this.registry=n;this.path=t;this.key=t.map(function(n){return"["+n+"]"}).join("");this.scope=r;this.errors=u;this.expectedType=i};gr.prototype.parse=function(n,t,i,r,u){return void 0===u&&(u={}),t?this.concat(t,i,r)._parse(n,u):this._parse(n,u)};gr.prototype._parse=function(n,t){function o(n,t,i){return"assert"===i?new kt(t,[n]):"coerce"===i?new li(t,[n]):n}var u,e,i,r,f,s;if(null!==n&&"string"!=typeof n&&"boolean"!=typeof n&&"number"!=typeof n||(n=["literal",n]),Array.isArray(n)){if(0===n.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');if(u=n[0],"string"!=typeof u)return this.error("Expression name must be a string, but found "+typeof u+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;if(e=this.registry[u],e){if(i=e.parse(n,this),!i)return null;if(this.expectedType)if(r=this.expectedType,f=i.type,"string"!==r.kind&&"number"!==r.kind&&"boolean"!==r.kind&&"object"!==r.kind&&"array"!==r.kind||"value"!==f.kind)if("color"!==r.kind&&"formatted"!==r.kind&&"resolvedImage"!==r.kind||"value"!==f.kind&&"string"!==f.kind){if(this.checkSubtype(r,f))return null}else i=o(i,r,t.typeAnnotation||"coerce");else i=o(i,r,t.typeAnnotation||"assert");if(!(i instanceof pi)&&"resolvedImage"!==i.type.kind&&function n(t){if(t instanceof dr)return n(t.boundExpression);if(t instanceof vt&&"error"===t.name||t instanceof kr||t instanceof wi)return!1;var r=t instanceof li||t instanceof kt,i=!0;return t.eachChild(function(t){i=r?i&&n(t):i&&t instanceof pi}),!!i&&uc(t)&&fc(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}(i)){s=new br;try{i=new pi(i.type,i.evaluate(s))}catch(n){return this.error(n.message),null}}return i}return this.error('Unknown expression "'+u+'". If you wanted a literal array, use ["literal", [...]].',0)}return this.error(void 0===n?"'undefined' value invalid. Use null instead.":"object"==typeof n?'Bare objects invalid. Use ["literal", {...}] instead.':"Expected an array, but found "+typeof n+" instead.")};gr.prototype.concat=function(n,t,i){var r="number"==typeof n?this.path.concat(n):this.path,u=i?this.scope.concat(i):this.scope;return new gr(this.registry,r,t||null,u,this.errors)};gr.prototype.error=function(n){for(var r,i=[],t=arguments.length-1;t-->0;)i[t]=arguments[t+1];r=""+this.key+i.map(function(n){return"["+n+"]"}).join("");this.errors.push(new gi(r,n))};gr.prototype.checkSubtype=function(n,t){var i=go(n,t);return i&&this.error(i),i};nu=function(n,t,i){var r,u,f,e;for(this.type=n,this.input=t,this.labels=[],this.outputs=[],r=0,u=i;r<u.length;r+=1)f=u[r],e=f[1],this.labels.push(f[0]),this.outputs.push(e)};nu.parse=function(n,t){var o,u,f,r,e;if(n.length-1<4)return t.error("Expected at least 4 arguments, but found only "+(n.length-1)+".");if((n.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(o=t.parse(n[1],1,i),!o)return null;for(u=[],f=null,t.expectedType&&"value"!==t.expectedType.kind&&(f=t.expectedType),r=1;r<n.length;r+=2){var s=1===r?-1/0:n[r],c=n[r+1],h=r,l=r+1;if("number"!=typeof s)return t.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(u.length&&u[u.length-1][0]>=s)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',h);if(e=t.parse(c,l,f),!e)return null;f=f||e.type;u.push([s,e])}return new nu(f,o,u)};nu.prototype.evaluate=function(n){var t=this.labels,i=this.outputs,r,u;return 1===t.length?i[0].evaluate(n):(r=this.input.evaluate(n),r<=t[0])?i[0].evaluate(n):(u=t.length,r>=t[u-1]?i[u-1].evaluate(n):i[ec(t,r)].evaluate(n))};nu.prototype.eachChild=function(n){n(this.input);for(var t=0,i=this.outputs;t<i.length;t+=1)n(i[t])};nu.prototype.outputDefined=function(){return this.outputs.every(function(n){return n.outputDefined()})};nu.prototype.serialize=function(){for(var t=["step",this.input.serialize()],n=0;n<this.labels.length;n++)n>0&&t.push(this.labels[n]),t.push(this.outputs[n].serialize());return t};var oc=Object.freeze({__proto__:null,number:ot,color:function(n,t,i){return new y(ot(n.r,t.r,i),ot(n.g,t.g,i),ot(n.b,t.b,i),ot(n.a,t.a,i))},array:function(n,t,i){return n.map(function(n,r){return ot(n,t[r],i)})}}),ik=6/29*3*(6/29),pit=Math.PI/180,wit=180/Math.PI;var rs={forward:rk,reverse:uk,interpolate:function(n,t,i){return{l:ot(n.l,t.l,i),a:ot(n.a,t.a,i),b:ot(n.b,t.b,i),alpha:ot(n.alpha,t.alpha,i)}}},us={forward:function(n){var t=rk(n),f=t.l,i=t.a,r=t.b,u=Math.atan2(r,i)*wit;return{h:u<0?u+360:u,c:Math.sqrt(i*i+r*r),l:f,alpha:n.a}},reverse:function(n){var t=n.h*pit,i=n.c;return uk({l:n.l,a:Math.cos(t)*i,b:Math.sin(t)*i,alpha:n.alpha})},interpolate:function(n,t,i){return{h:bit(n.h,t.h,i),c:ot(n.c,t.c,i),l:ot(n.l,t.l,i),alpha:ot(n.alpha,t.alpha,i)}}},fk=Object.freeze({__proto__:null,lab:rs,hcl:us}),yt=function(n,t,i,r,u){var f,e,o,s;for(this.type=n,this.operator=t,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[],f=0,e=u;f<e.length;f+=1)o=e[f],s=o[1],this.labels.push(o[0]),this.outputs.push(s)};yt.interpolationFactor=function(n,t,i,r){var f=0,u;return"exponential"===n.name?f=gv(t,n.base,i,r):"linear"===n.name?f=gv(t,1,i,r):"cubic-bezier"===n.name&&(u=n.controlPoints,f=new sw(u[0],u[1],u[2],u[3]).solve(gv(t,1,i,r))),f};yt.parse=function(n,t){var h=n[0],u=n[1],c=n[2],l=n.slice(3),a,o,e,r,f,s;if(!Array.isArray(u)||0===u.length)return t.error("Expected an interpolation type expression.",1);if("linear"===u[0])u={name:"linear"};else if("exponential"===u[0]){if(a=u[1],"number"!=typeof a)return t.error("Exponential interpolation requires a numeric base.",1,1);u={name:"exponential",base:a}}else{if("cubic-bezier"!==u[0])return t.error("Unknown interpolation type "+String(u[0]),1,0);if(o=u.slice(1),4!==o.length||o.some(function(n){return"number"!=typeof n||n<0||n>1}))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);u={name:"cubic-bezier",controlPoints:o}}if(n.length-1<4)return t.error("Expected at least 4 arguments, but found only "+(n.length-1)+".");if((n.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(!(c=t.parse(c,2,i)))return null;for(e=[],r=null,"interpolate-hcl"===h||"interpolate-lab"===h?r=rr:t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType),f=0;f<l.length;f+=2){var v=l[f],p=l[f+1],y=f+3,w=f+4;if("number"!=typeof v)return t.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',y);if(e.length&&e[e.length-1][0]>=v)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',y);if(s=t.parse(p,w,r),!s)return null;r=r||s.type;e.push([v,s])}return"number"===r.kind||"color"===r.kind||"array"===r.kind&&"number"===r.itemType.kind&&"number"==typeof r.N?new yt(r,h,u,c,e):t.error("Type "+g(r)+" is not interpolatable.")};yt.prototype.evaluate=function(n){var t=this.labels,r=this.outputs,i,f;if(1===t.length||(i=this.input.evaluate(n),i<=t[0]))return r[0].evaluate(n);if(f=t.length,i>=t[f-1])return r[f-1].evaluate(n);var u=ec(t,i),e=yt.interpolationFactor(this.interpolation,i,t[u],t[u+1]),o=r[u].evaluate(n),s=r[u+1].evaluate(n);return"interpolate"===this.operator?oc[this.type.kind.toLowerCase()](o,s,e):"interpolate-hcl"===this.operator?us.reverse(us.interpolate(us.forward(o),us.forward(s),e)):rs.reverse(rs.interpolate(rs.forward(o),rs.forward(s),e))};yt.prototype.eachChild=function(n){n(this.input);for(var t=0,i=this.outputs;t<i.length;t+=1)n(i[t])};yt.prototype.outputDefined=function(){return this.outputs.every(function(n){return n.outputDefined()})};yt.prototype.serialize=function(){var i,t,n;for(i="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints),t=[this.operator,i,this.input.serialize()],n=0;n<this.labels.length;n++)t.push(this.labels[n],this.outputs[n].serialize());return t};tu=function(n,t){this.type=n;this.args=t};tu.parse=function(n,t){var i,r,f,s;if(n.length<2)return t.error("Expectected at least one argument.");i=null;r=t.expectedType;r&&"value"!==r.kind&&(i=r);for(var u=[],e=0,o=n.slice(1);e<o.length;e+=1){if(f=t.parse(o[e],1+u.length,i,void 0,{typeAnnotation:"omit"}),!f)return null;i=i||f.type;u.push(f)}return s=r&&u.some(function(n){return go(r,n.type)}),new tu(s?l:i,u)};tu.prototype.evaluate=function(n){for(var i,t=null,u=0,r=0,f=this.args;r<f.length&&(u++,(t=f[r].evaluate(n))&&t instanceof ti&&!t.available&&(i||(i=t.name),t=null,u===this.args.length&&(t=i)),null===t);r+=1);return t};tu.prototype.eachChild=function(n){this.args.forEach(n)};tu.prototype.outputDefined=function(){return this.args.every(function(n){return n.outputDefined()})};tu.prototype.serialize=function(){var n=["coalesce"];return this.eachChild(function(t){n.push(t.serialize())}),n};iu=function(n,t){this.type=t.type;this.bindings=[].concat(n);this.result=t};iu.prototype.evaluate=function(n){return this.result.evaluate(n)};iu.prototype.eachChild=function(n){for(var t=0,i=this.bindings;t<i.length;t+=1)n(i[t][1]);n(this.result)};iu.parse=function(n,t){var u,i,r,f,e;if(n.length<4)return t.error("Expected at least 3 arguments, but found "+(n.length-1)+" instead.");for(u=[],i=1;i<n.length-1;i+=2){if(r=n[i],"string"!=typeof r)return t.error("Expected string, but found "+typeof r+" instead.",i);if(/[^a-zA-Z0-9_]/.test(r))return t.error("Variable names must contain only alphanumeric characters or '_'.",i);if(f=t.parse(n[i+1],i+1),!f)return null;u.push([r,f])}return e=t.parse(n[n.length-1],n.length-1,t.expectedType,u),e?new iu(u,e):null};iu.prototype.outputDefined=function(){return this.result.outputDefined()};iu.prototype.serialize=function(){for(var i,n=["let"],t=0,r=this.bindings;t<r.length;t+=1)i=r[t],n.push(i[0],i[1].serialize());return n.push(this.result.serialize()),n};lu=function(n,t,i){this.type=n;this.index=t;this.input=i};lu.parse=function(n,t){if(3!==n.length)return t.error("Expected 2 arguments, but found "+(n.length-1)+" instead.");var u=t.parse(n[1],1,i),r=t.parse(n[2],2,yi(t.expectedType||l));return u&&r?new lu(r.type.itemType,u,r):null};lu.prototype.evaluate=function(n){var t=this.index.evaluate(n),i=this.input.evaluate(n);if(t<0)throw new ct("Array index out of bounds: "+t+" < 0.");if(t>=i.length)throw new ct("Array index out of bounds: "+t+" > "+(i.length-1)+".");if(t!==Math.floor(t))throw new ct("Array index must be an integer, but found "+t+" instead.");return i[t]};lu.prototype.eachChild=function(n){n(this.index);n(this.input)};lu.prototype.outputDefined=function(){return!1};lu.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};au=function(n,t){this.type=c;this.needle=n;this.haystack=t};au.parse=function(n,t){if(3!==n.length)return t.error("Expected 2 arguments, but found "+(n.length-1)+" instead.");var r=t.parse(n[1],1,l),u=t.parse(n[2],2,l);return r&&u?lv(r.type,[c,a,i,wo,l])?new au(r,u):t.error("Expected first argument to be of type boolean, string, number or null, but found "+g(r.type)+" instead"):null};au.prototype.evaluate=function(n){var i=this.needle.evaluate(n),t=this.haystack.evaluate(n);if(!t)return!1;if(!ns(i,["boolean","string","number","null"]))throw new ct("Expected first argument to be of type boolean, string, number or null, but found "+g(et(i))+" instead.");if(!ns(t,["string","array"]))throw new ct("Expected second argument to be of type array or string, but found "+g(et(t))+" instead.");return t.indexOf(i)>=0};au.prototype.eachChild=function(n){n(this.needle);n(this.haystack)};au.prototype.outputDefined=function(){return!0};au.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};ru=function(n,t,r){this.type=i;this.needle=n;this.haystack=t;this.fromIndex=r};ru.parse=function(n,t){var r,u,f;return n.length<=2||n.length>=5?t.error("Expected 3 or 4 arguments, but found "+(n.length-1)+" instead."):(r=t.parse(n[1],1,l),u=t.parse(n[2],2,l),!r||!u)?null:lv(r.type,[c,a,i,wo,l])?4===n.length?(f=t.parse(n[3],3,i),f?new ru(r,u,f):null):new ru(r,u):t.error("Expected first argument to be of type boolean, string, number or null, but found "+g(r.type)+" instead")};ru.prototype.evaluate=function(n){var t=this.needle.evaluate(n),i=this.haystack.evaluate(n),r;if(!ns(t,["boolean","string","number","null"]))throw new ct("Expected first argument to be of type boolean, string, number or null, but found "+g(et(t))+" instead.");if(!ns(i,["string","array"]))throw new ct("Expected second argument to be of type array or string, but found "+g(et(i))+" instead.");return this.fromIndex?(r=this.fromIndex.evaluate(n),i.indexOf(t,r)):i.indexOf(t)};ru.prototype.eachChild=function(n){n(this.needle);n(this.haystack);this.fromIndex&&n(this.fromIndex)};ru.prototype.outputDefined=function(){return!1};ru.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var n=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),n]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};vu=function(n,t,i,r,u,f){this.inputType=n;this.type=t;this.input=i;this.cases=r;this.outputs=u;this.otherwise=f};vu.parse=function(n,t){var o,u,e,w,r,h,y,i,c,s,p;if(n.length<5)return t.error("Expected at least 4 arguments, but found only "+(n.length-1)+".");if(n.length%2!=1)return t.error("Expected an even number of arguments.");t.expectedType&&"value"!==t.expectedType.kind&&(u=t.expectedType);for(var a={},v=[],f=2;f<n.length-1;f+=2){if(e=n[f],w=n[f+1],Array.isArray(e)||(e=[e]),r=t.concat(f),0===e.length)return r.error("Expected at least one branch label.");for(h=0,y=e;h<y.length;h+=1){if(i=y[h],"number"!=typeof i&&"string"!=typeof i)return r.error("Branch labels must be numbers or strings.");if("number"==typeof i&&Math.abs(i)>Number.MAX_SAFE_INTEGER)return r.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof i&&Math.floor(i)!==i)return r.error("Numeric branch labels must be integer values.");if(o){if(r.checkSubtype(o,et(i)))return null}else o=et(i);if(void 0!==a[String(i)])return r.error("Branch labels must be unique.");a[String(i)]=v.length}if(c=t.parse(w,f,u),!c)return null;u=u||c.type;v.push(c)}return(s=t.parse(n[1],1,l),!s)?null:(p=t.parse(n[n.length-1],n.length-1,u),p?"value"!==s.type.kind&&t.concat(1).checkSubtype(o,s.type)?null:new vu(o,u,s,a,v,p):null)};vu.prototype.evaluate=function(n){var t=this.input.evaluate(n);return(et(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(n)};vu.prototype.eachChild=function(n){n(this.input);this.outputs.forEach(n);n(this.otherwise)};vu.prototype.outputDefined=function(){return this.outputs.every(function(n){return n.outputDefined()})&&this.otherwise.outputDefined()};vu.prototype.serialize=function(){for(var n,a=this,t=["match",this.input.serialize()],i=[],e={},r=0,o=Object.keys(this.cases).sort();r<o.length;r+=1)n=o[r],void 0===(l=e[this.cases[n]])?(e[this.cases[n]]=i.length,i.push([this.cases[n],[n]])):i[l][1].push(n);for(var s=function(n){return"number"===a.inputType.kind?Number(n):n},u=0,h=i;u<h.length;u+=1){var c=h[u],l=c[0],f=c[1];t.push(1===f.length?s(f[0]):f.map(s));t.push(this.outputs[outputIndex$1].serialize())}return t.push(this.otherwise.serialize()),t};yu=function(n,t,i){this.type=n;this.branches=t;this.otherwise=i};yu.parse=function(n,t){var r,f,i,e,u,o;if(n.length<4)return t.error("Expected at least 3 arguments, but found only "+(n.length-1)+".");if(n.length%2!=0)return t.error("Expected an odd number of arguments.");for(t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType),f=[],i=1;i<n.length-1;i+=2){if((e=t.parse(n[i],i,c),!e)||(u=t.parse(n[i+1],i+1,r),!u))return null;f.push([e,u]);r=r||u.type}return o=t.parse(n[n.length-1],n.length-1,r),o?new yu(r,f,o):null};yu.prototype.evaluate=function(n){for(var r,u,t=0,i=this.branches;t<i.length;t+=1)if(r=i[t],u=r[1],r[0].evaluate(n))return u.evaluate(n);return this.otherwise.evaluate(n)};yu.prototype.eachChild=function(n){for(var r,u,t=0,i=this.branches;t<i.length;t+=1)r=i[t],u=r[1],n(r[0]),n(u);n(this.otherwise)};yu.prototype.outputDefined=function(){return this.branches.every(function(n){return n[1].outputDefined()})&&this.otherwise.outputDefined()};yu.prototype.serialize=function(){var n=["case"];return this.eachChild(function(t){n.push(t.serialize())}),n};uu=function(n,t,i,r){this.type=n;this.input=t;this.beginIndex=i;this.endIndex=r};uu.parse=function(n,t){var r,u,f;return n.length<=2||n.length>=5?t.error("Expected 3 or 4 arguments, but found "+(n.length-1)+" instead."):(r=t.parse(n[1],1,l),u=t.parse(n[2],2,i),!r||!u)?null:lv(r.type,[yi(l),a,l])?4===n.length?(f=t.parse(n[3],3,i),f?new uu(r.type,r,u,f):null):new uu(r.type,r,u):t.error("Expected first argument to be of type array or string, but found "+g(r.type)+" instead")};uu.prototype.evaluate=function(n){var t=this.input.evaluate(n),i=this.beginIndex.evaluate(n),r;if(!ns(t,["string","array"]))throw new ct("Expected first argument to be of type array or string, but found "+g(et(t))+" instead.");return this.endIndex?(r=this.endIndex.evaluate(n),t.slice(i,r)):t.slice(i)};uu.prototype.eachChild=function(n){n(this.input);n(this.beginIndex);this.endIndex&&n(this.endIndex)};uu.prototype.outputDefined=function(){return!1};uu.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var n=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),n]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var kit=oe("==",function(n,t,i){return t===i},ok),dit=oe("!=",function(n,t,i){return t!==i},function(n,t,i,r){return!ok(0,t,i,r)}),git=oe("<",function(n,t,i){return t<i},function(n,t,i,r){return r.compare(t,i)<0}),nrt=oe(">",function(n,t,i){return t>i},function(n,t,i,r){return r.compare(t,i)>0}),trt=oe("<=",function(n,t,i){return t<=i},function(n,t,i,r){return r.compare(t,i)<=0}),irt=oe(">=",function(n,t,i){return t>=i},function(n,t,i,r){return r.compare(t,i)>=0}),ff=function(n,t,i,r,u){this.type=a;this.number=n;this.locale=t;this.currency=i;this.minFractionDigits=r;this.maxFractionDigits=u};ff.parse=function(n,t){var u,r,f,e,o,s;return 3!==n.length?t.error("Expected two arguments."):(u=t.parse(n[1],1,i),!u)?null:(r=n[2],"object"!=typeof r||Array.isArray(r))?t.error("NumberFormat options argument must be an object."):(f=null,r.locale&&!(f=t.parse(r.locale,1,a)))?null:(e=null,r.currency&&!(e=t.parse(r.currency,1,a)))?null:(o=null,r["min-fraction-digits"]&&!(o=t.parse(r["min-fraction-digits"],1,i)))?null:(s=null,r["max-fraction-digits"]&&!(s=t.parse(r["max-fraction-digits"],1,i))?null:new ff(u,f,e,o,s))};ff.prototype.evaluate=function(n){return new Intl.NumberFormat(this.locale?this.locale.evaluate(n):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(n):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(n):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(n):void 0}).format(this.number.evaluate(n))};ff.prototype.eachChild=function(n){n(this.number);this.locale&&n(this.locale);this.currency&&n(this.currency);this.minFractionDigits&&n(this.minFractionDigits);this.maxFractionDigits&&n(this.maxFractionDigits)};ff.prototype.outputDefined=function(){return!1};ff.prototype.serialize=function(){var n={};return this.locale&&(n.locale=this.locale.serialize()),this.currency&&(n.currency=this.currency.serialize()),this.minFractionDigits&&(n["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(n["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),n]};pu=function(n){this.type=i;this.input=n};pu.parse=function(n,t){if(2!==n.length)return t.error("Expected 1 argument, but found "+(n.length-1)+" instead.");var i=t.parse(n[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?t.error("Expected argument of type string or array, but found "+g(i.type)+" instead."):new pu(i):null};pu.prototype.evaluate=function(n){var t=this.input.evaluate(n);if("string"==typeof t||Array.isArray(t))return t.length;throw new ct("Expected value to be of type string or array, but found "+g(et(t))+" instead.");};pu.prototype.eachChild=function(n){n(this.input)};pu.prototype.outputDefined=function(){return!1};pu.prototype.serialize=function(){var n=["length"];return this.eachChild(function(t){n.push(t.serialize())}),n};ef={"==":kit,"!=":dit,">":nrt,"<":git,">=":irt,"<=":trt,array:kt,at:lu,boolean:kt,"case":yu,coalesce:tu,collator:kr,format:ur,image:wr,"in":au,"index-of":ru,interpolate:yt,"interpolate-hcl":yt,"interpolate-lab":yt,length:pu,"let":iu,literal:pi,match:vu,number:kt,"number-format":ff,object:kt,slice:uu,step:nu,string:kt,"to-boolean":li,"to-color":li,"to-number":li,"to-string":li,"var":dr,within:wi};vt.register(ef,{error:[{kind:"error"},[a],function(n,t){throw new ct(t[0].evaluate(n));}],"typeof":[a,[l],function(n,t){return g(et(t[0].evaluate(n)))}],"to-rgba":[yi(i,4),[rr],function(n,t){return t[0].evaluate(n).toArray()}],rgb:[rr,[i,i,i],sk],rgba:[rr,[i,i,i,i],sk],has:{type:c,overloads:[[[a],function(n,t){return hk(t[0].evaluate(n),n.properties())}],[[a,fe],function(n,t){var i=t[1];return hk(t[0].evaluate(n),i.evaluate(n))}]]},get:{type:l,overloads:[[[a],function(n,t){return ny(t[0].evaluate(n),n.properties())}],[[a,fe],function(n,t){var i=t[1];return ny(t[0].evaluate(n),i.evaluate(n))}]]},"feature-state":[l,[a],function(n,t){return ny(t[0].evaluate(n),n.featureState||{})}],properties:[fe,[],function(n){return n.properties()}],"geometry-type":[a,[],function(n){return n.geometryType()}],id:[l,[],function(n){return n.id()}],zoom:[i,[],function(n){return n.globals.zoom}],"heatmap-density":[i,[],function(n){return n.globals.heatmapDensity||0}],"line-progress":[i,[],function(n){return n.globals.lineProgress||0}],accumulated:[l,[],function(n){return void 0===n.globals.accumulated?null:n.globals.accumulated}],"+":[i,of(i),function(n,t){for(var r=0,i=0,u=t;i<u.length;i+=1)r+=u[i].evaluate(n);return r}],"*":[i,of(i),function(n,t){for(var r=1,i=0,u=t;i<u.length;i+=1)r*=u[i].evaluate(n);return r}],"-":{type:i,overloads:[[[i,i],function(n,t){var i=t[1];return t[0].evaluate(n)-i.evaluate(n)}],[[i],function(n,t){return-t[0].evaluate(n)}]]},"/":[i,[i,i],function(n,t){var i=t[1];return t[0].evaluate(n)/i.evaluate(n)}],"%":[i,[i,i],function(n,t){var i=t[1];return t[0].evaluate(n)%i.evaluate(n)}],ln2:[i,[],function(){return Math.LN2}],pi:[i,[],function(){return Math.PI}],e:[i,[],function(){return Math.E}],"^":[i,[i,i],function(n,t){var i=t[1];return Math.pow(t[0].evaluate(n),i.evaluate(n))}],sqrt:[i,[i],function(n,t){return Math.sqrt(t[0].evaluate(n))}],log10:[i,[i],function(n,t){return Math.log(t[0].evaluate(n))/Math.LN10}],ln:[i,[i],function(n,t){return Math.log(t[0].evaluate(n))}],log2:[i,[i],function(n,t){return Math.log(t[0].evaluate(n))/Math.LN2}],sin:[i,[i],function(n,t){return Math.sin(t[0].evaluate(n))}],cos:[i,[i],function(n,t){return Math.cos(t[0].evaluate(n))}],tan:[i,[i],function(n,t){return Math.tan(t[0].evaluate(n))}],asin:[i,[i],function(n,t){return Math.asin(t[0].evaluate(n))}],acos:[i,[i],function(n,t){return Math.acos(t[0].evaluate(n))}],atan:[i,[i],function(n,t){return Math.atan(t[0].evaluate(n))}],min:[i,of(i),function(n,t){return Math.min.apply(Math,t.map(function(t){return t.evaluate(n)}))}],max:[i,of(i),function(n,t){return Math.max.apply(Math,t.map(function(t){return t.evaluate(n)}))}],abs:[i,[i],function(n,t){return Math.abs(t[0].evaluate(n))}],round:[i,[i],function(n,t){var i=t[0].evaluate(n);return i<0?-Math.round(-i):Math.round(i)}],floor:[i,[i],function(n,t){return Math.floor(t[0].evaluate(n))}],ceil:[i,[i],function(n,t){return Math.ceil(t[0].evaluate(n))}],"filter-==":[c,[a,l],function(n,t){var i=t[0],r=t[1];return n.properties()[i.value]===r.value}],"filter-id-==":[c,[l],function(n,t){var i=t[0];return n.id()===i.value}],"filter-type-==":[c,[a],function(n,t){var i=t[0];return n.geometryType()===i.value}],"filter-<":[c,[a,l],function(n,t){var u=t[0],f=t[1],i=n.properties()[u.value],r=f.value;return typeof i==typeof r&&i<r}],"filter-id-<":[c,[l],function(n,t){var u=t[0],i=n.id(),r=u.value;return typeof i==typeof r&&i<r}],"filter->":[c,[a,l],function(n,t){var u=t[0],f=t[1],i=n.properties()[u.value],r=f.value;return typeof i==typeof r&&i>r}],"filter-id->":[c,[l],function(n,t){var u=t[0],i=n.id(),r=u.value;return typeof i==typeof r&&i>r}],"filter-<=":[c,[a,l],function(n,t){var u=t[0],f=t[1],i=n.properties()[u.value],r=f.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[c,[l],function(n,t){var u=t[0],i=n.id(),r=u.value;return typeof i==typeof r&&i<=r}],"filter->=":[c,[a,l],function(n,t){var u=t[0],f=t[1],i=n.properties()[u.value],r=f.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[c,[l],function(n,t){var u=t[0],i=n.id(),r=u.value;return typeof i==typeof r&&i>=r}],"filter-has":[c,[l],function(n,t){return t[0].value in n.properties()}],"filter-has-id":[c,[],function(n){return null!==n.id()&&void 0!==n.id()}],"filter-type-in":[c,[yi(a)],function(n,t){return t[0].value.indexOf(n.geometryType())>=0}],"filter-id-in":[c,[yi(l)],function(n,t){return t[0].value.indexOf(n.id())>=0}],"filter-in-small":[c,[a,yi(l)],function(n,t){var i=t[0];return t[1].value.indexOf(n.properties()[i.value])>=0}],"filter-in-large":[c,[a,yi(l)],function(n,t){var r=t[0],i=t[1];return function(n,t,i,r){for(;i<=r;){var u=i+r>>1;if(t[u]===n)return!0;t[u]>n?r=u-1:i=u+1}return!1}(n.properties()[r.value],i.value,0,i.value.length-1)}],all:{type:c,overloads:[[[c,c],function(n,t){var i=t[1];return t[0].evaluate(n)&&i.evaluate(n)}],[of(c),function(n,t){for(var i=0,r=t;i<r.length;i+=1)if(!r[i].evaluate(n))return!1;return!0}]]},any:{type:c,overloads:[[[c,c],function(n,t){var i=t[1];return t[0].evaluate(n)||i.evaluate(n)}],[of(c),function(n,t){for(var i=0,r=t;i<r.length;i+=1)if(r[i].evaluate(n))return!0;return!1}]]},"!":[c,[c],function(n,t){return!t[0].evaluate(n)}],"is-supported-script":[c,[a],function(n,t){var i=n.globals&&n.globals.isSupportedScript;return!i||i(t[0].evaluate(n))}],upcase:[a,[a],function(n,t){return t[0].evaluate(n).toUpperCase()}],downcase:[a,[a],function(n,t){return t[0].evaluate(n).toLowerCase()}],concat:[a,of(l),function(n,t){return t.map(function(t){return ts(t.evaluate(n))}).join("")}],"resolved-locale":[a,[gh],function(n,t){return t[0].evaluate(n).resolvedLocale()}]});ce=function(n,t){this.expression=n;this._warningHistory={};this._evaluator=new br;this._defaultValue=t?function(n){return"color"===n.type&&sc(n.default)?new y(0,0,0,0):"color"===n.type?y.parse(n.default)||null:void 0===n.default?null:n.default}(t):null;this._enumValues=t&&"enum"===t.type?t.values:null};ce.prototype.evaluateWithoutErrorHandling=function(n,t,i,r,u,f){return this._evaluator.globals=n,this._evaluator.feature=t,this._evaluator.featureState=i,this._evaluator.canonical=r,this._evaluator.availableImages=u||null,this._evaluator.formattedSection=f,this.expression.evaluate(this._evaluator)};ce.prototype.evaluate=function(n,t,i,r,u,f){this._evaluator.globals=n;this._evaluator.feature=t||null;this._evaluator.featureState=i||null;this._evaluator.canonical=r;this._evaluator.availableImages=u||null;this._evaluator.formattedSection=f||null;try{var e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new ct("Expected value to be one of "+Object.keys(this._enumValues).map(function(n){return JSON.stringify(n)}).join(", ")+", but found "+JSON.stringify(e)+" instead.");return e}catch(n){return this._warningHistory[n.message]||(this._warningHistory[n.message]=!0,"undefined"!=typeof console&&console.warn(n.message)),this._defaultValue}};le=function(n,t){this.kind=n;this._styleExpression=t;this.isStateDependent="constant"!==n&&!is(t.expression)};le.prototype.evaluateWithoutErrorHandling=function(n,t,i,r,u,f){return this._styleExpression.evaluateWithoutErrorHandling(n,t,i,r,u,f)};le.prototype.evaluate=function(n,t,i,r,u,f){return this._styleExpression.evaluate(n,t,i,r,u,f)};sf=function(n,t,i,r){this.kind=n;this.zoomStops=i;this._styleExpression=t;this.isStateDependent="camera"!==n&&!is(t.expression);this.interpolationType=r};sf.prototype.evaluateWithoutErrorHandling=function(n,t,i,r,u,f){return this._styleExpression.evaluateWithoutErrorHandling(n,t,i,r,u,f)};sf.prototype.evaluate=function(n,t,i,r,u,f){return this._styleExpression.evaluate(n,t,i,r,u,f)};sf.prototype.interpolationFactor=function(n,t,i){return this.interpolationType?yt.interpolationFactor(this.interpolationType,n,t,i):0};ae=function(n,t){this._parameters=n;this._specification=t;re(this,function n(t,i){var r,o,c,it="color"===i.type,l=t.stops&&"object"==typeof t.stops[0][0],rt=l||!(l||void 0!==t.property),u=t.type||(ty(i)?"exponential":"interval"),s,a,v,h,f,k,d,g;if(it&&((t=re({},t)).stops&&(t.stops=t.stops.map(function(n){return[n[0],y.parse(n[1])]})),t.default=y.parse(t.default?t.default:i.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!fk[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=ak;else if("interval"===u)r=frt;else if("categorical"===u){for(r=urt,o=Object.create(null),s=0,a=t.stops;s<a.length;s+=1)v=a[s],o[v[0]]=v[1];c=typeof t.stops[0][0]}else{if("identity"!==u)throw new Error('Unknown function type "'+u+'"');r=ert}if(l){for(var e={},nt=[],p=0;p<t.stops.length;p++)h=t.stops[p],f=h[0].zoom,void 0===e[f]&&(e[f]={zoom:f,type:t.type,property:t.property,"default":t.default,stops:[]},nt.push(f)),e[f].stops.push([h[0].value,h[1]]);for(var w=[],b=0,tt=nt;b<tt.length;b+=1)k=tt[b],w.push([e[k].zoom,n(e[k],i)]);return d={name:"linear"},{kind:"composite",interpolationType:d,interpolationFactor:yt.interpolationFactor.bind(void 0,d),zoomStops:w.map(function(n){return n[0]}),evaluate:function(n,r){var u=n.zoom;return ak({stops:w,base:t.base},i,u).evaluate(u,r)}}}return rt?(g="exponential"===u?{name:"exponential",base:void 0!==t.base?t.base:1}:null,{kind:"camera",interpolationType:g,interpolationFactor:yt.interpolationFactor.bind(void 0,g),zoomStops:t.stops.map(function(n){return n[0]}),evaluate:function(n){return r(t,i,n.zoom,o,c)}}):{kind:"source",evaluate:function(n,u){var f=u&&u.properties?u.properties[t.property]:void 0;return void 0===f?fs(t.default,i.default):r(t,i,f,o,c)}}}(this._parameters,this._specification))};ae.deserialize=function(n){return new ae(n._parameters,n._specification)};ae.serialize=function(n){return{_parameters:n._parameters,_specification:n._specification}};bk={type:"boolean","default":!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};fy={promoteId:function(n){var u=n.key,t=n.value,i,r;if("string"===b(t))return ye({key:u,value:t});i=[];for(r in t)i.push.apply(i,ye({key:u+"."+r,value:t[r]}));return i}};ey={"*":function(){return[]},array:yk,boolean:function(n){var t=n.value,r=n.key,i=b(t);return"boolean"!==i?[new u(r,t,"boolean expected, "+i+" found")]:[]},number:pk,color:function(n){var i=n.key,t=n.value,r=b(t);return"string"!==r?[new u(i,t,"color expected, "+r+" found")]:null===av(t)?[new u(i,t,'color expected, "'+t+'" found')]:[]},constants:ab,"enum":lc,filter:uy,"function":wk,layer:id,object:nr,source:rd,light:ud,string:ye,formatted:function(n){return 0===ye(n).length?[]:ve(n)},resolvedImage:function(n){return 0===ye(n).length?[]:ve(n)}};hf.source=pe(rd);hf.light=pe(ud);hf.layer=pe(id);hf.filter=pe(uy);hf.paintProperty=pe(nd);hf.layoutProperty=pe(td);var es=hf,hrt=es.light,crt=es.paintProperty,lrt=es.layoutProperty;cf=fr;fr.prototype.insert=function(n,t,i,r,u){this._forEachCell(t,i,r,u,this._insertCell,this.uid++);this.keys.push(n);this.bboxes.push(t);this.bboxes.push(i);this.bboxes.push(r);this.bboxes.push(u)};fr.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer.";};fr.prototype._insertCell=function(n,t,i,r,u,f){this.cells[u].push(f)};fr.prototype.query=function(n,t,i,r,u){var e=this.min,o=this.max,f;return n<=e&&t<=e&&o<=i&&o<=r&&!u?Array.prototype.slice.call(this.keys):(f=[],this._forEachCell(n,t,i,r,this._queryCell,f,{},u),f)};fr.prototype._queryCell=function(n,t,i,r,u,f,e,o){var l=this.cells[u],c,s;if(null!==l)for(var v=this.keys,h=this.bboxes,a=0;a<l.length;a++)c=l[a],void 0===e[c]&&(s=4*c,(o?o(h[s+0],h[s+1],h[s+2],h[s+3]):n<=h[s+2]&&t<=h[s+3]&&i>=h[s+0]&&r>=h[s+1])?(e[c]=!0,f.push(v[c])):e[c]=!1)};fr.prototype._forEachCell=function(n,t,i,r,u,f,e,o){for(var s,c,l=this._convertToCellCoord(n),a=this._convertToCellCoord(t),v=this._convertToCellCoord(i),y=this._convertToCellCoord(r),h=l;h<=v;h++)for(s=a;s<=y;s++)if(c=this.d*s+h,(!o||o(this._convertFromCellCoord(h),this._convertFromCellCoord(s),this._convertFromCellCoord(h+1),this._convertFromCellCoord(s+1)))&&u.call(this,n,t,i,r,c,f,e,o))return};fr.prototype._convertFromCellCoord=function(n){return(n-this.padding)/this.scale};fr.prototype._convertToCellCoord=function(n){return Math.max(0,Math.min(this.d-1,Math.floor(n*this.scale)+this.padding))};fr.prototype.toArrayBuffer=function(){var n,t,i,f;if(this.arrayBuffer)return this.arrayBuffer;for(var r=this.cells,e=3+this.cells.length+1+1,o=0,u=0;u<this.cells.length;u++)o+=this.cells[u].length;for(n=new Int32Array(e+o+this.keys.length+this.bboxes.length),n[0]=this.extent,n[1]=this.n,n[2]=this.padding,t=e,i=0;i<r.length;i++)f=r[i],n[3+i]=t,n.set(f,t),t+=f.length;return n[3+r.length]=t,n.set(this.keys,t),n[3+r.length+1]=t+=this.keys.length,n.set(this.bboxes,t),t+=this.bboxes.length,n.buffer};var od=e.ImageData,sd=e.ImageBitmap,os={};for(pc in f("Object",Object),cf.serialize=function(n,t){var i=n.toArrayBuffer();return t&&t.push(i),{buffer:i}},cf.deserialize=function(n){return new cf(n.buffer)},f("Grid",cf),f("Color",y),f("Error",Error),f("ResolvedImage",ti),f("StylePropertyFunction",ae),f("StyleExpression",ce,{omit:["_evaluator"]}),f("ZoomDependentExpression",sf),f("ZoomConstantExpression",le),f("CompoundExpression",vt,{omit:["_evaluate"]}),ef)ef[pc]._classRegistryKey||f("Expression_"+pc,ef[pc]);wc=function(){this.first=!0};wc.prototype.update=function(n,t){var i=Math.floor(n);return this.first?(this.first=!1,this.lastIntegerZoom=i,this.lastIntegerZoomTime=0,this.lastZoom=n,this.lastFloorZoom=i,!0):(this.lastFloorZoom>i?(this.lastIntegerZoom=i+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<i&&(this.lastIntegerZoom=i,this.lastIntegerZoomTime=t),n!==this.lastZoom&&(this.lastZoom=n,this.lastFloorZoom=i,!0))};r={"Latin-1 Supplement":function(n){return n>=128&&n<=255},Arabic:function(n){return n>=1536&&n<=1791},"Arabic Supplement":function(n){return n>=1872&&n<=1919},"Arabic Extended-A":function(n){return n>=2208&&n<=2303},"Hangul Jamo":function(n){return n>=4352&&n<=4607},"Unified Canadian Aboriginal Syllabics":function(n){return n>=5120&&n<=5759},Khmer:function(n){return n>=6016&&n<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(n){return n>=6320&&n<=6399},"General Punctuation":function(n){return n>=8192&&n<=8303},"Letterlike Symbols":function(n){return n>=8448&&n<=8527},"Number Forms":function(n){return n>=8528&&n<=8591},"Miscellaneous Technical":function(n){return n>=8960&&n<=9215},"Control Pictures":function(n){return n>=9216&&n<=9279},"Optical Character Recognition":function(n){return n>=9280&&n<=9311},"Enclosed Alphanumerics":function(n){return n>=9312&&n<=9471},"Geometric Shapes":function(n){return n>=9632&&n<=9727},"Miscellaneous Symbols":function(n){return n>=9728&&n<=9983},"Miscellaneous Symbols and Arrows":function(n){return n>=11008&&n<=11263},"CJK Radicals Supplement":function(n){return n>=11904&&n<=12031},"Kangxi Radicals":function(n){return n>=12032&&n<=12255},"Ideographic Description Characters":function(n){return n>=12272&&n<=12287},"CJK Symbols and Punctuation":function(n){return n>=12288&&n<=12351},Hiragana:function(n){return n>=12352&&n<=12447},Katakana:function(n){return n>=12448&&n<=12543},Bopomofo:function(n){return n>=12544&&n<=12591},"Hangul Compatibility Jamo":function(n){return n>=12592&&n<=12687},Kanbun:function(n){return n>=12688&&n<=12703},"Bopomofo Extended":function(n){return n>=12704&&n<=12735},"CJK Strokes":function(n){return n>=12736&&n<=12783},"Katakana Phonetic Extensions":function(n){return n>=12784&&n<=12799},"Enclosed CJK Letters and Months":function(n){return n>=12800&&n<=13055},"CJK Compatibility":function(n){return n>=13056&&n<=13311},"CJK Unified Ideographs Extension A":function(n){return n>=13312&&n<=19903},"Yijing Hexagram Symbols":function(n){return n>=19904&&n<=19967},"CJK Unified Ideographs":function(n){return n>=19968&&n<=40959},"Yi Syllables":function(n){return n>=40960&&n<=42127},"Yi Radicals":function(n){return n>=42128&&n<=42191},"Hangul Jamo Extended-A":function(n){return n>=43360&&n<=43391},"Hangul Syllables":function(n){return n>=44032&&n<=55215},"Hangul Jamo Extended-B":function(n){return n>=55216&&n<=55295},"Private Use Area":function(n){return n>=57344&&n<=63743},"CJK Compatibility Ideographs":function(n){return n>=63744&&n<=64255},"Arabic Presentation Forms-A":function(n){return n>=64336&&n<=65023},"Vertical Forms":function(n){return n>=65040&&n<=65055},"CJK Compatibility Forms":function(n){return n>=65072&&n<=65103},"Small Form Variants":function(n){return n>=65104&&n<=65135},"Arabic Presentation Forms-B":function(n){return n>=65136&&n<=65279},"Halfwidth and Fullwidth Forms":function(n){return n>=65280&&n<=65519}};var hy=null,ei="unavailable",wu=null,vd=function(n){n&&"string"==typeof n&&n.indexOf("NetworkError")>-1&&(ei="error");hy&&hy(n)};var ly=new pr,ay=function(){return ei},yd=function(){if("deferred"!==ei||!wu)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");ei="loading";cy();wu&&ov({url:wu},function(n){n?vd(n):(ei="loaded",cy())})},ai={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return"loaded"===ei||null!=ai.applyArabicShaping},isLoading:function(){return"loading"===ei},setState:function(n){ei=n.pluginStatus;wu=n.pluginURL},isParsed:function(){return null!=ai.applyArabicShaping&&null!=ai.processBidirectionalText&&null!=ai.processStyledBidirectionalText},getPluginURL:function(){return wu}},d=function(n,t){this.zoom=n;t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wc,this.transition={})};d.prototype.isSupportedScript=function(n){return function(n,t){for(var i=0,r=n;i<r.length;i+=1)if(!art(r[i].charCodeAt(0),t))return!1;return!0}(n,ai.isLoaded())};d.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)};d.prototype.getCrossfadeParameters=function(){var n=this.zoom,t=n-Math.floor(n),i=this.crossFadingFactor();return n>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*t}};lf=function(n,t){this.property=n;this.value=t;this.expression=function(n,t){var i,r;if(sc(n))return new ae(n,t);if(hc(n)){if(i=vk(n,t),"error"===i.result)throw new Error(i.value.map(function(n){return n.key+": "+n.message}).join(", "));return i.value}return r=n,"string"==typeof n&&"color"===t.type&&(r=y.parse(n)),{kind:"constant",evaluate:function(){return r}}}(void 0===t?n.specification.default:t,n.specification)};lf.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind};lf.prototype.possiblyEvaluate=function(n,t,i){return this.property.possiblyEvaluate(this,n,t,i)};we=function(n){this.property=n;this.value=new lf(n,void 0)};we.prototype.transitioned=function(n,t){return new bc(this.property,this.value,t,fi({},n.transition,this.transition),n.now)};we.prototype.untransitioned=function(){return new bc(this.property,this.value,null,{},0)};er=function(n){this._properties=n;this._values=Object.create(n.defaultTransitionablePropertyValues)};er.prototype.getValue=function(n){return lr(this._values[n].value.value)};er.prototype.setValue=function(n,t){this._values.hasOwnProperty(n)||(this._values[n]=new we(this._values[n].property));this._values[n].value=new lf(this._values[n].property,null===t?void 0:lr(t))};er.prototype.getTransition=function(n){return lr(this._values[n].transition)};er.prototype.setTransition=function(n,t){this._values.hasOwnProperty(n)||(this._values[n]=new we(this._values[n].property));this._values[n].transition=lr(t)||void 0};er.prototype.serialize=function(){for(var n,r,u,t={},i=0,f=Object.keys(this._values);i<f.length;i+=1)n=f[i],r=this.getValue(n),void 0!==r&&(t[n]=r),u=this.getTransition(n),void 0!==u&&(t[n+"-transition"]=u);return t};er.prototype.transitioned=function(n,t){for(var i,u=new cs(this._properties),r=0,f=Object.keys(this._values);r<f.length;r+=1)i=f[r],u._values[i]=this._values[i].transitioned(n,t._values[i]);return u};er.prototype.untransitioned=function(){for(var t,i=new cs(this._properties),n=0,r=Object.keys(this._values);n<r.length;n+=1)t=r[n],i._values[t]=this._values[t].untransitioned();return i};bc=function(n,t,i,r,u){this.property=n;this.value=t;this.begin=u+r.delay||0;this.end=this.begin+r.duration||0;n.specification.transition&&(r.delay||r.duration)&&(this.prior=i)};bc.prototype.possiblyEvaluate=function(n,t,i){var u=n.now||0,r=this.value.possiblyEvaluate(n,t,i),f=this.prior,e;return f?u>this.end?(this.prior=null,r):this.value.isDataDriven()?(this.prior=null,r):u<this.begin?f.possiblyEvaluate(n,t,i):(e=(u-this.begin)/(this.end-this.begin),this.property.interpolate(f.possiblyEvaluate(n,t,i),r,function(n){if(n<=0)return 0;if(n>=1)return 1;var t=n*n,i=t*n;return 4*(n<.5?i:3*(n-t)+i-.75)}(e))):r};cs=function(n){this._properties=n;this._values=Object.create(n.defaultTransitioningPropertyValues)};cs.prototype.possiblyEvaluate=function(n,t,i){for(var u,f=new ke(this._properties),r=0,e=Object.keys(this._values);r<e.length;r+=1)u=e[r],f._values[u]=this._values[u].possiblyEvaluate(n,t,i);return f};cs.prototype.hasTransition=function(){for(var n=0,t=Object.keys(this._values);n<t.length;n+=1)if(this._values[t[n]].prior)return!0;return!1};be=function(n){this._properties=n;this._values=Object.create(n.defaultPropertyValues)};be.prototype.getValue=function(n){return lr(this._values[n].value)};be.prototype.setValue=function(n,t){this._values[n]=new lf(this._values[n].property,null===t?void 0:lr(t))};be.prototype.serialize=function(){for(var t,i,r={},n=0,u=Object.keys(this._values);n<u.length;n+=1)t=u[n],i=this.getValue(t),void 0!==i&&(r[t]=i);return r};be.prototype.possiblyEvaluate=function(n,t,i){for(var u,f=new ke(this._properties),r=0,e=Object.keys(this._values);r<e.length;r+=1)u=e[r],f._values[u]=this._values[u].possiblyEvaluate(n,t,i);return f};oi=function(n,t,i){this.property=n;this.value=t;this.parameters=i};oi.prototype.isConstant=function(){return"constant"===this.value.kind};oi.prototype.constantOr=function(n){return"constant"===this.value.kind?this.value.value:n};oi.prototype.evaluate=function(n,t,i,r){return this.property.evaluate(this.value,this.parameters,n,t,i,r)};ke=function(n){this._properties=n;this._values=Object.create(n.defaultPossiblyEvaluatedValues)};ke.prototype.get=function(n){return this._values[n]};o=function(n){this.specification=n};o.prototype.possiblyEvaluate=function(n,t){return n.expression.evaluate(t)};o.prototype.interpolate=function(n,t,i){var r=oc[this.specification.type];return r?r(n,t,i):n};s=function(n,t){this.specification=n;this.overrides=t};s.prototype.possiblyEvaluate=function(n,t,i,r){return new oi(this,"constant"===n.expression.kind||"camera"===n.expression.kind?{kind:"constant",value:n.expression.evaluate(t,null,{},i,r)}:n.expression,t)};s.prototype.interpolate=function(n,t,i){if("constant"!==n.value.kind||"constant"!==t.value.kind)return n;if(void 0===n.value.value||void 0===t.value.value)return new oi(this,{kind:"constant",value:void 0},n.parameters);var r=oc[this.specification.type];return r?new oi(this,{kind:"constant",value:r(n.value.value,t.value.value,i)},n.parameters):n};s.prototype.evaluate=function(n,t,i,r,u,f){return"constant"===n.kind?n.value:n.evaluate(t,i,r,u,f)};ls=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.possiblyEvaluate=function(n,t,i,r){var e;if(void 0===n.value)return new oi(this,{kind:"constant",value:void 0},t);if("constant"===n.expression.kind){var u=n.expression.evaluate(t,null,{},i,r),f="resolvedImage"===n.property.specification.type&&"string"!=typeof u?u.name:u,o=this._calculate(f,f,f,t);return new oi(this,{kind:"constant",value:o},t)}return"camera"===n.expression.kind?(e=this._calculate(n.expression.evaluate({zoom:t.zoom-1}),n.expression.evaluate({zoom:t.zoom}),n.expression.evaluate({zoom:t.zoom+1}),t),new oi(this,{kind:"constant",value:e},t)):new oi(this,n.expression,t)},t.prototype.evaluate=function(n,t,i,r,u,f){if("source"===n.kind){var e=n.evaluate(t,i,r,u,f);return this._calculate(e,e,e,t)}return"composite"===n.kind?this._calculate(n.evaluate({zoom:Math.floor(t.zoom)-1},i,r),n.evaluate({zoom:Math.floor(t.zoom)},i,r),n.evaluate({zoom:Math.floor(t.zoom)+1},i,r),t):n.value},t.prototype._calculate=function(n,t,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:n,to:t}:{from:i,to:t}},t.prototype.interpolate=function(n){return n},t}(s);af=function(n){this.specification=n};af.prototype.possiblyEvaluate=function(n,t,i,r){if(void 0!==n.value){if("constant"===n.expression.kind){var u=n.expression.evaluate(t,null,{},i,r);return this._calculate(u,u,u,t)}return this._calculate(n.expression.evaluate(new d(Math.floor(t.zoom-1),t)),n.expression.evaluate(new d(Math.floor(t.zoom),t)),n.expression.evaluate(new d(Math.floor(t.zoom+1),t)),t)}};af.prototype._calculate=function(n,t,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:n,to:t}:{from:i,to:t}};af.prototype.interpolate=function(n){return n};de=function(n){this.specification=n};de.prototype.possiblyEvaluate=function(n,t,i,r){return!!n.expression.evaluate(t,null,{},i,r)};de.prototype.interpolate=function(){return!1};ii=function(n){var t,i,r,u;for(t in this.properties=n,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],n)i=n[t],i.specification.overridable&&this.overridableProperties.push(t),r=this.defaultPropertyValues[t]=new lf(i,void 0),u=this.defaultTransitionablePropertyValues[t]=new we(i),this.defaultTransitioningPropertyValues[t]=u.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})};f("DataDrivenProperty",s);f("DataConstantProperty",o);f("CrossFadedDataDrivenProperty",ls);f("CrossFadedProperty",af);f("ColorRampProperty",de);var or=function(n){function i(t,i){var r,u;if(n.call(this),this.id=t.id,this.type=t.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==t.type&&(this.metadata=(t=t).metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),i.layout&&(this._unevaluatedLayout=new be(i.layout)),i.paint)){for(r in this._transitionablePaint=new er(i.paint),t.paint)this.setPaintProperty(r,t.paint[r],{validate:!1});for(u in t.layout)this.setLayoutProperty(u,t.layout[u],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned();this.paint=new ke(i.paint)}}return n&&(i.__proto__=n),(i.prototype=Object.create(n&&n.prototype)).constructor=i,i.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},i.prototype.getLayoutProperty=function(n){return"visibility"===n?this.visibility:this._unevaluatedLayout.getValue(n)},i.prototype.setLayoutProperty=function(n,t,i){void 0===i&&(i={});null!=t&&this._validate(lrt,"layers."+this.id+".layout."+n,n,t,i)||("visibility"!==n?this._unevaluatedLayout.setValue(n,t):this.visibility=t)},i.prototype.getPaintProperty=function(n){return ba(n,"-transition")?this._transitionablePaint.getTransition(n.slice(0,-11)):this._transitionablePaint.getValue(n)},i.prototype.setPaintProperty=function(n,t,i){var u;if(void 0===i&&(i={}),null!=t&&this._validate(crt,"layers."+this.id+".paint."+n,n,t,i))return!1;if(ba(n,"-transition"))return this._transitionablePaint.setTransition(n.slice(0,-11),t||void 0),!1;var r=this._transitionablePaint._values[n],f="cross-faded-data-driven"===r.property.specification["property-type"],e=r.value.isDataDriven(),o=r.value;return this._transitionablePaint.setValue(n,t),this._handleSpecialPaintPropertyUpdate(n),u=this._transitionablePaint._values[n].value,u.isDataDriven()||e||f||this._handleOverridablePaintPropertyUpdate(n,o,u)},i.prototype._handleSpecialPaintPropertyUpdate=function(){},i.prototype._handleOverridablePaintPropertyUpdate=function(){return!1},i.prototype.isHidden=function(n){return!!(this.minzoom&&n<this.minzoom)||!!(this.maxzoom&&n>=this.maxzoom)||"none"===this.visibility},i.prototype.updateTransitions=function(n){this._transitioningPaint=this._transitionablePaint.transitioned(n,this._transitioningPaint)},i.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},i.prototype.recalculate=function(n,t){n.getCrossfadeParameters&&(this._crossfadeParameters=n.getCrossfadeParameters());this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(n,void 0,t));this.paint=this._transitioningPaint.possiblyEvaluate(n,void 0,t)},i.prototype.serialize=function(){var n={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&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(n.layout=n.layout||{},n.layout.visibility=this.visibility),bw(n,function(n,t){return!(void 0===n||"layout"===t&&!Object.keys(n).length||"paint"===t&&!Object.keys(n).length)})},i.prototype._validate=function(n,i,r,u,f){return void 0===f&&(f={}),(!f||!1!==f.validate)&&ed(this,n.call(es,{key:i,layerType:this.type,objectKey:r,value:u,styleSpec:t,style:{glyphs:!0,sprite:!0}}))},i.prototype.is3D=function(){return!1},i.prototype.isTileClipped=function(){return!1},i.prototype.hasOffscreenPass=function(){return!1},i.prototype.resize=function(){},i.prototype.isStateDependent=function(){var t,n;for(t in this.paint._values)if(n=this.paint.get(t),n instanceof oi&&he(n.property.specification)&&("source"===n.value.kind||"composite"===n.value.kind)&&n.value.isStateDependent)return!0;return!1},i}(pr),yrt={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},kc=function(n,t){this._structArray=n;this._pos1=t*this.size;this._pos2=this._pos1/2;this._pos4=this._pos1/4;this._pos8=this._pos1/8},k=function(){this.isTransferred=!1;this.capacity=-1;this.resize(0)};k.serialize=function(n,t){return n._trim(),t&&(n.isTransferred=!0,t.push(n.arrayBuffer)),{length:n.length,arrayBuffer:n.arrayBuffer}};k.deserialize=function(n){var t=Object.create(this.prototype);return t.arrayBuffer=n.arrayBuffer,t.length=n.length,t.capacity=n.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t};k.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())};k.prototype.clear=function(){this.length=0};k.prototype.resize=function(n){this.reserve(n);this.length=n};k.prototype.reserve=function(n){if(n>this.capacity){this.capacity=Math.max(n,Math.floor(5*this.capacity),128);this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var t=this.uint8;this._refreshViews();t&&this.uint8.set(t)}};k.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout");};ge=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t){var i=this.length;return this.resize(i+1),this.emplace(i,n,t)},t.prototype.emplace=function(n,t,i){var r=2*n;return this.int16[r+0]=t,this.int16[r+1]=i,n},t}(k);ge.prototype.bytesPerElement=4;f("StructArrayLayout2i4",ge);dc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r){var u=this.length;return this.resize(u+1),this.emplace(u,n,t,i,r)},t.prototype.emplace=function(n,t,i,r,u){var f=4*n;return this.int16[f+0]=t,this.int16[f+1]=i,this.int16[f+2]=r,this.int16[f+3]=u,n},t}(k);dc.prototype.bytesPerElement=8;f("StructArrayLayout4i8",dc);gc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r,u,f){var e=this.length;return this.resize(e+1),this.emplace(e,n,t,i,r,u,f)},t.prototype.emplace=function(n,t,i,r,u,f,e){var o=6*n;return this.int16[o+0]=t,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=u,this.int16[o+4]=f,this.int16[o+5]=e,n},t}(k);gc.prototype.bytesPerElement=12;f("StructArrayLayout2i4i12",gc);nl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r,u,f){var e=this.length;return this.resize(e+1),this.emplace(e,n,t,i,r,u,f)},t.prototype.emplace=function(n,t,i,r,u,f,e){var s=4*n,o=8*n;return this.int16[s+0]=t,this.int16[s+1]=i,this.uint8[o+4]=r,this.uint8[o+5]=u,this.uint8[o+6]=f,this.uint8[o+7]=e,n},t}(k);nl.prototype.bytesPerElement=8;f("StructArrayLayout2i4ub8",nl);fu=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s,h){var c=this.length;return this.resize(c+1),this.emplace(c,n,t,i,r,u,f,e,o,s,h)},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c){var l=10*n;return this.uint16[l+0]=t,this.uint16[l+1]=i,this.uint16[l+2]=r,this.uint16[l+3]=u,this.uint16[l+4]=f,this.uint16[l+5]=e,this.uint16[l+6]=o,this.uint16[l+7]=s,this.uint16[l+8]=h,this.uint16[l+9]=c,n},t}(k);fu.prototype.bytesPerElement=20;f("StructArrayLayout10ui20",fu);tl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s,h,c,l){var a=this.length;return this.resize(a+1),this.emplace(a,n,t,i,r,u,f,e,o,s,h,c,l)},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c,l,a){var v=12*n;return this.int16[v+0]=t,this.int16[v+1]=i,this.int16[v+2]=r,this.int16[v+3]=u,this.uint16[v+4]=f,this.uint16[v+5]=e,this.uint16[v+6]=o,this.uint16[v+7]=s,this.int16[v+8]=h,this.int16[v+9]=c,this.int16[v+10]=l,this.int16[v+11]=a,n},t}(k);tl.prototype.bytesPerElement=24;f("StructArrayLayout4i4ui4i24",tl);il=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i){var r=this.length;return this.resize(r+1),this.emplace(r,n,t,i)},t.prototype.emplace=function(n,t,i,r){var u=3*n;return this.float32[u+0]=t,this.float32[u+1]=i,this.float32[u+2]=r,n},t}(k);il.prototype.bytesPerElement=12;f("StructArrayLayout3f12",il);rl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n){var t=this.length;return this.resize(t+1),this.emplace(t,n)},t.prototype.emplace=function(n,t){return this.uint32[1*n+0]=t,n},t}(k);rl.prototype.bytesPerElement=4;f("StructArrayLayout1ul4",rl);ul=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s){var h=this.length;return this.resize(h+1),this.emplace(h,n,t,i,r,u,f,e,o,s)},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h){var c=10*n,l=5*n;return this.int16[c+0]=t,this.int16[c+1]=i,this.int16[c+2]=r,this.int16[c+3]=u,this.int16[c+4]=f,this.int16[c+5]=e,this.uint32[l+3]=o,this.uint16[c+8]=s,this.uint16[c+9]=h,n},t}(k);ul.prototype.bytesPerElement=20;f("StructArrayLayout6i1ul2ui20",ul);as=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r,u,f){var e=this.length;return this.resize(e+1),this.emplace(e,n,t,i,r,u,f)},t.prototype.emplace=function(n,t,i,r,u,f,e){var o=6*n;return this.int16[o+0]=t,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=u,this.int16[o+4]=f,this.int16[o+5]=e,n},t}(k);as.prototype.bytesPerElement=12;f("StructArrayLayout2i2i2i12",as);fl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r,u){var f=this.length;return this.resize(f+1),this.emplace(f,n,t,i,r,u)},t.prototype.emplace=function(n,t,i,r,u,f){var e=4*n,o=8*n;return this.float32[e+0]=t,this.float32[e+1]=i,this.float32[e+2]=r,this.int16[o+6]=u,this.int16[o+7]=f,n},t}(k);fl.prototype.bytesPerElement=16;f("StructArrayLayout2f1f2i16",fl);el=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r){var u=this.length;return this.resize(u+1),this.emplace(u,n,t,i,r)},t.prototype.emplace=function(n,t,i,r,u){var f=12*n,e=3*n;return this.uint8[f+0]=t,this.uint8[f+1]=i,this.float32[e+1]=r,this.float32[e+2]=u,n},t}(k);el.prototype.bytesPerElement=12;f("StructArrayLayout2ub2f12",el);eu=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i){var r=this.length;return this.resize(r+1),this.emplace(r,n,t,i)},t.prototype.emplace=function(n,t,i,r){var u=3*n;return this.uint16[u+0]=t,this.uint16[u+1]=i,this.uint16[u+2]=r,n},t}(k);eu.prototype.bytesPerElement=6;f("StructArrayLayout3ui6",eu);ol=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){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)},t.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w){var b=this.length;return this.resize(b+1),this.emplace(b,n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w)},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){var k=24*n,d=12*n,g=48*n;return this.int16[k+0]=t,this.int16[k+1]=i,this.uint16[k+2]=r,this.uint16[k+3]=u,this.uint32[d+2]=f,this.uint32[d+3]=e,this.uint32[d+4]=o,this.uint16[k+10]=s,this.uint16[k+11]=h,this.uint16[k+12]=c,this.float32[d+7]=l,this.float32[d+8]=a,this.uint8[g+36]=v,this.uint8[g+37]=y,this.uint8[g+38]=p,this.uint32[d+10]=w,this.int16[k+22]=b,n},t}(k);ol.prototype.bytesPerElement=48;f("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ol);sl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){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)},t.prototype.emplaceBack=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et){var ot=this.length;return this.resize(ot+1),this.emplace(ot,n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et)},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et,ot){var st=34*n,ht=17*n;return this.int16[st+0]=t,this.int16[st+1]=i,this.int16[st+2]=r,this.int16[st+3]=u,this.int16[st+4]=f,this.int16[st+5]=e,this.int16[st+6]=o,this.int16[st+7]=s,this.uint16[st+8]=h,this.uint16[st+9]=c,this.uint16[st+10]=l,this.uint16[st+11]=a,this.uint16[st+12]=v,this.uint16[st+13]=y,this.uint16[st+14]=p,this.uint16[st+15]=w,this.uint16[st+16]=b,this.uint16[st+17]=k,this.uint16[st+18]=d,this.uint16[st+19]=g,this.uint16[st+20]=nt,this.uint16[st+21]=tt,this.uint16[st+22]=it,this.uint32[ht+12]=rt,this.float32[ht+13]=ut,this.float32[ht+14]=ft,this.float32[ht+15]=et,this.float32[ht+16]=ot,n},t}(k);sl.prototype.bytesPerElement=68;f("StructArrayLayout8i15ui1ul4f68",sl);vs=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n){var t=this.length;return this.resize(t+1),this.emplace(t,n)},t.prototype.emplace=function(n,t){return this.float32[1*n+0]=t,n},t}(k);vs.prototype.bytesPerElement=4;f("StructArrayLayout1f4",vs);hl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i){var r=this.length;return this.resize(r+1),this.emplace(r,n,t,i)},t.prototype.emplace=function(n,t,i,r){var u=3*n;return this.int16[u+0]=t,this.int16[u+1]=i,this.int16[u+2]=r,n},t}(k);hl.prototype.bytesPerElement=6;f("StructArrayLayout3i6",hl);cl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint32=new Uint32Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i){var r=this.length;return this.resize(r+1),this.emplace(r,n,t,i)},t.prototype.emplace=function(n,t,i,r){var u=4*n;return this.uint32[2*n+0]=t,this.uint16[u+2]=i,this.uint16[u+3]=r,n},t}(k);cl.prototype.bytesPerElement=8;f("StructArrayLayout1ul2ui8",cl);no=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t){var i=this.length;return this.resize(i+1),this.emplace(i,n,t)},t.prototype.emplace=function(n,t,i){var r=2*n;return this.uint16[r+0]=t,this.uint16[r+1]=i,n},t}(k);no.prototype.bytesPerElement=4;f("StructArrayLayout2ui4",no);ll=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n){var t=this.length;return this.resize(t+1),this.emplace(t,n)},t.prototype.emplace=function(n,t){return this.uint16[1*n+0]=t,n},t}(k);ll.prototype.bytesPerElement=2;f("StructArrayLayout1ui2",ll);ys=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t){var i=this.length;return this.resize(i+1),this.emplace(i,n,t)},t.prototype.emplace=function(n,t,i){var r=2*n;return this.float32[r+0]=t,this.float32[r+1]=i,n},t}(k);ys.prototype.bytesPerElement=8;f("StructArrayLayout2f8",ys);al=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer);this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t,i,r){var u=this.length;return this.resize(u+1),this.emplace(u,n,t,i,r)},t.prototype.emplace=function(n,t,i,r,u){var f=4*n;return this.float32[f+0]=t,this.float32[f+1]=i,this.float32[f+2]=r,this.float32[f+3]=u,n},t}(k);al.prototype.bytesPerElement=16;f("StructArrayLayout4f16",al);vy=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);(i.prototype=Object.create(n&&n.prototype)).constructor=i;var t={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return t.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},t.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},t.x1.get=function(){return this._structArray.int16[this._pos2+2]},t.y1.get=function(){return this._structArray.int16[this._pos2+3]},t.x2.get=function(){return this._structArray.int16[this._pos2+4]},t.y2.get=function(){return this._structArray.int16[this._pos2+5]},t.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},t.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},t.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},t.anchorPoint.get=function(){return new h(this.anchorPointX,this.anchorPointY)},Object.defineProperties(i.prototype,t),i}(kc);vy.prototype.size=20;vl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.get=function(n){return new vy(this,n)},t}(ul);f("CollisionBoxArray",vl);yy=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);(i.prototype=Object.create(n&&n.prototype)).constructor=i;var t={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return t.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},t.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},t.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},t.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},t.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},t.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},t.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},t.segment.get=function(){return this._structArray.uint16[this._pos2+10]},t.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},t.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},t.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},t.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},t.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},t.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},t.placedOrientation.set=function(n){this._structArray.uint8[this._pos1+37]=n},t.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},t.hidden.set=function(n){this._structArray.uint8[this._pos1+38]=n},t.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},t.crossTileID.set=function(n){this._structArray.uint32[this._pos4+10]=n},t.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(i.prototype,t),i}(kc);yy.prototype.size=48;py=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.get=function(n){return new yy(this,n)},t}(ol);f("PlacedSymbolArray",py);wy=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);(i.prototype=Object.create(n&&n.prototype)).constructor=i;var t={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return t.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},t.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},t.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},t.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},t.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},t.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},t.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},t.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},t.key.get=function(){return this._structArray.uint16[this._pos2+8]},t.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},t.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},t.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},t.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},t.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},t.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},t.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},t.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},t.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},t.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},t.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},t.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},t.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},t.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},t.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},t.crossTileID.set=function(n){this._structArray.uint32[this._pos4+12]=n},t.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},t.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},t.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},t.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(i.prototype,t),i}(kc);wy.prototype.size=68;by=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.get=function(n){return new wy(this,n)},t}(sl);f("SymbolInstanceArray",by);ky=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getoffsetX=function(n){return this.float32[1*n+0]},t}(vs);f("GlyphOffsetArray",ky);dy=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getx=function(n){return this.int16[3*n+0]},t.prototype.gety=function(n){return this.int16[3*n+1]},t.prototype.gettileUnitDistanceFromAnchor=function(n){return this.int16[3*n+2]},t}(hl);f("SymbolLineVertexArray",dy);gy=function(n){function t(){n.apply(this,arguments)}n&&(t.__proto__=n);(t.prototype=Object.create(n&&n.prototype)).constructor=t;var i={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return i.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},i.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},i.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(t.prototype,i),t}(kc);gy.prototype.size=8;np=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.get=function(n){return new gy(this,n)},t}(cl);f("FeatureIndexArray",np);wd=pt([{name:"a_pos",components:2,type:"Int16"}],4).members;ft=function(n){void 0===n&&(n=[]);this.segments=n};ft.prototype.prepareSegment=function(n,t,i,r){var u=this.segments[this.segments.length-1];return n>ft.MAX_VERTEX_ARRAY_LENGTH&&bt("Max vertices per segment is "+ft.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+n),(!u||u.vertexLength+n>ft.MAX_VERTEX_ARRAY_LENGTH||u.sortKey!==r)&&(u={vertexOffset:t.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},void 0!==r&&(u.sortKey=r),this.segments.push(u)),u};ft.prototype.get=function(){return this.segments};ft.prototype.destroy=function(){for(var i,r,n=0,t=this.segments;n<t.length;n+=1){i=t[n];for(r in i.vaos)i.vaos[r].destroy()}};ft.simpleSegment=function(n,t,i,r){return new ft([{vertexOffset:n,primitiveOffset:t,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])};ft.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1;f("SegmentVector",ft);var yl=pt([{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"}]),kd=hh(function(n){n.exports=function(n,t){var o,s,i,h,f,e,r,u;for(s=n.length-(o=3&n.length),i=t,f=3432918353,e=461845907,u=0;u<s;)r=255&n.charCodeAt(u)|(255&n.charCodeAt(++u))<<8|(255&n.charCodeAt(++u))<<16|(255&n.charCodeAt(++u))<<24,++u,i=27492+(65535&(h=5*(65535&(i=(i^=r=(65535&(r=(r=(65535&r)*f+(((r>>>16)*f&65535)<<16)&4294967295)<<15|r>>>17))*e+(((r>>>16)*e&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(h>>>16)&65535)<<16);switch(r=0,o){case 3:r^=(255&n.charCodeAt(u+2))<<16;case 2:r^=(255&n.charCodeAt(u+1))<<8;case 1:i^=r=(65535&(r=(r=(65535&(r^=255&n.charCodeAt(u)))*f+(((r>>>16)*f&65535)<<16)&4294967295)<<15|r>>>17))*e+(((r>>>16)*e&65535)<<16)&4294967295}return i^=n.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}}),prt=hh(function(n){n.exports=function(n,t){for(var u,f=n.length,i=t^f,r=0;f>=4;)u=1540483477*(65535&(u=255&n.charCodeAt(r)|(255&n.charCodeAt(++r))<<8|(255&n.charCodeAt(++r))<<16|(255&n.charCodeAt(++r))<<24))+((1540483477*(u>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(u=1540483477*(65535&(u^=u>>>24))+((1540483477*(u>>>16)&65535)<<16)),f-=4,++r;switch(f){case 3:i^=(255&n.charCodeAt(r+2))<<16;case 2:i^=(255&n.charCodeAt(r+1))<<8;case 1:i=1540483477*(65535&(i^=255&n.charCodeAt(r)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}}),ps=kd,wrt=prt;ps.murmur3=kd;ps.murmur2=wrt;bu=function(){this.ids=[];this.positions=[];this.indexed=!1};bu.prototype.add=function(n,t,i,r){this.ids.push(gd(n));this.positions.push(t,i,r)};bu.prototype.getPositions=function(n){for(var i,u,f=gd(n),t=0,r=this.ids.length-1;t<r;)i=t+r>>1,this.ids[i]>=f?r=i:t=i+1;for(u=[];this.ids[t]===f;)u.push({index:this.positions[3*t],start:this.positions[3*t+1],end:this.positions[3*t+2]}),t++;return u};bu.serialize=function(n,t){var i=new Float64Array(n.ids),r=new Uint32Array(n.positions);return function n(t,i,r,u){for(;r<u;){for(var o=t[r+u>>1],e=r-1,f=u+1;;){do e++;while(t[e]<o);do f--;while(t[f]>o);if(e>=f)break;pl(t,e,f);pl(i,3*e,3*f);pl(i,3*e+1,3*f+1);pl(i,3*e+2,3*f+2)}f-r<u-f?(n(t,i,r,f),r=f+1):(n(t,i,f+1,u),u=f)}}(i,r,0,i.length-1),t&&t.push(i.buffer,r.buffer),{ids:i,positions:r}};bu.deserialize=function(n){var t=new bu;return t.ids=n.ids,t.positions=n.positions,t.indexed=!0,t};dd=Math.pow(2,53)-1;f("FeaturePositionMap",bu);var vf=function(n,t){this.gl=n.gl;this.location=t},brt=function(n){function t(t,i){n.call(this,t,i);this.current=0}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.set=function(n){this.current!==n&&(this.current=n,this.gl.uniform1i(this.location,n))},t}(vf),wl=function(n){function t(t,i){n.call(this,t,i);this.current=0}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.set=function(n){this.current!==n&&(this.current=n,this.gl.uniform1f(this.location,n))},t}(vf),krt=function(n){function t(t,i){n.call(this,t,i);this.current=[0,0]}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.set=function(n){n[0]===this.current[0]&&n[1]===this.current[1]||(this.current=n,this.gl.uniform2f(this.location,n[0],n[1]))},t}(vf),drt=function(n){function t(t,i){n.call(this,t,i);this.current=[0,0,0]}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.set=function(n){n[0]===this.current[0]&&n[1]===this.current[1]&&n[2]===this.current[2]||(this.current=n,this.gl.uniform3f(this.location,n[0],n[1],n[2]))},t}(vf),ng=function(n){function t(t,i){n.call(this,t,i);this.current=[0,0,0,0]}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.set=function(n){n[0]===this.current[0]&&n[1]===this.current[1]&&n[2]===this.current[2]&&n[3]===this.current[3]||(this.current=n,this.gl.uniform4f(this.location,n[0],n[1],n[2],n[3]))},t}(vf),tg=function(n){function t(t,i){n.call(this,t,i);this.current=y.transparent}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.set=function(n){n.r===this.current.r&&n.g===this.current.g&&n.b===this.current.b&&n.a===this.current.a||(this.current=n,this.gl.uniform4f(this.location,n.r,n.g,n.b,n.a))},t}(vf),grt=new Float32Array(16),nut=function(n){function t(t,i){n.call(this,t,i);this.current=grt}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.set=function(n){if(n[12]!==this.current[12]||n[0]!==this.current[0])return this.current=n,void this.gl.uniformMatrix4fv(this.location,!1,n);for(var t=1;t<16;t++)if(n[t]!==this.current[t]){this.current=n;this.gl.uniformMatrix4fv(this.location,!1,n);break}},t}(vf);ku=function(n,t,i){this.value=n;this.uniformNames=t.map(function(n){return"u_"+n});this.type=i};ku.prototype.setUniform=function(n,t,i){n.set(i.constantOr(this.value))};ku.prototype.getBinding=function(n,t){return"color"===this.type?new tg(n,t):new wl(n,t)};sr=function(n,t){this.uniformNames=t.map(function(n){return"u_"+n});this.patternFrom=null;this.patternTo=null;this.pixelRatioFrom=1;this.pixelRatioTo=1};sr.prototype.setConstantPatternPositions=function(n,t){this.pixelRatioFrom=t.pixelRatio;this.pixelRatioTo=n.pixelRatio;this.patternFrom=t.tlbr;this.patternTo=n.tlbr};sr.prototype.setUniform=function(n,t,i,r){var u="u_pattern_to"===r?this.patternTo:"u_pattern_from"===r?this.patternFrom:"u_pixel_ratio_to"===r?this.pixelRatioTo:"u_pixel_ratio_from"===r?this.pixelRatioFrom:null;u&&n.set(u)};sr.prototype.getBinding=function(n,t,i){return"u_pattern"===i.substr(0,9)?new ng(n,t):new wl(n,t)};ri=function(n,t,i,r){this.expression=n;this.type=i;this.maxValue=0;this.paintVertexAttributes=t.map(function(n){return{name:"a_"+n,type:"Float32",components:"color"===i?2:1,offset:0}});this.paintVertexArray=new r};ri.prototype.populatePaintArray=function(n,t,i,r,u){var f=this.paintVertexArray.length,e=this.expression.evaluate(new d(0),t,{},r,[],u);this.paintVertexArray.resize(n);this._setPaintValue(f,n,e)};ri.prototype.updatePaintArray=function(n,t,i,r){var u=this.expression.evaluate({zoom:0},i,r);this._setPaintValue(n,t,u)};ri.prototype._setPaintValue=function(n,t,i){var f,r,u;if("color"===this.type)for(f=tp(i),r=n;r<t;r++)this.paintVertexArray.emplace(r,f[0],f[1]);else{for(u=n;u<t;u++)this.paintVertexArray.emplace(u,i);this.maxValue=Math.max(this.maxValue,Math.abs(i))}};ri.prototype.upload=function(n){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=n.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))};ri.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};lt=function(n,t,i,r,u,f){this.expression=n;this.uniformNames=t.map(function(n){return"u_"+n+"_t"});this.type=i;this.useIntegerZoom=r;this.zoom=u;this.maxValue=0;this.paintVertexAttributes=t.map(function(n){return{name:"a_"+n,type:"Float32",components:"color"===i?4:2,offset:0}});this.paintVertexArray=new f};lt.prototype.populatePaintArray=function(n,t,i,r,u){var f=this.expression.evaluate(new d(this.zoom),t,{},r,[],u),e=this.expression.evaluate(new d(this.zoom+1),t,{},r,[],u),o=this.paintVertexArray.length;this.paintVertexArray.resize(n);this._setPaintValue(o,n,f,e)};lt.prototype.updatePaintArray=function(n,t,i,r){var u=this.expression.evaluate({zoom:this.zoom},i,r),f=this.expression.evaluate({zoom:this.zoom+1},i,r);this._setPaintValue(n,t,u,f)};lt.prototype._setPaintValue=function(n,t,i,r){var u;if("color"===this.type)for(var e=tp(i),o=tp(r),f=n;f<t;f++)this.paintVertexArray.emplace(f,e[0],e[1],o[0],o[1]);else{for(u=n;u<t;u++)this.paintVertexArray.emplace(u,i,r);this.maxValue=Math.max(this.maxValue,Math.abs(i),Math.abs(r))}};lt.prototype.upload=function(n){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=n.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))};lt.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};lt.prototype.setUniform=function(n,t){var i=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,r=rf(this.expression.interpolationFactor(i,this.zoom,this.zoom+1),0,1);n.set(r)};lt.prototype.getBinding=function(n,t){return new wl(n,t)};si=function(n,t,i,r,u,f){this.expression=n;this.type=t;this.useIntegerZoom=i;this.zoom=r;this.layerId=f;this.zoomInPaintVertexArray=new u;this.zoomOutPaintVertexArray=new u};si.prototype.populatePaintArray=function(n,t,i){var r=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(n);this.zoomOutPaintVertexArray.resize(n);this._setPaintValues(r,n,t.patterns&&t.patterns[this.layerId],i)};si.prototype.updatePaintArray=function(n,t,i,r,u){this._setPaintValues(n,t,i.patterns&&i.patterns[this.layerId],u)};si.prototype._setPaintValues=function(n,t,i,r){var o;if(r&&i){var f=r[i.min],u=r[i.mid],e=r[i.max];if(f&&u&&e)for(o=n;o<t;o++)this.zoomInPaintVertexArray.emplace(o,u.tl[0],u.tl[1],u.br[0],u.br[1],f.tl[0],f.tl[1],f.br[0],f.br[1],u.pixelRatio,f.pixelRatio),this.zoomOutPaintVertexArray.emplace(o,u.tl[0],u.tl[1],u.br[0],u.br[1],e.tl[0],e.tl[1],e.br[0],e.br[1],u.pixelRatio,e.pixelRatio)}};si.prototype.upload=function(n){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=n.createVertexBuffer(this.zoomInPaintVertexArray,yl.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=n.createVertexBuffer(this.zoomOutPaintVertexArray,yl.members,this.expression.isStateDependent))};si.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy();this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};dt=function(n,t,i){var o,r,u,c,v;this.binders={};this._buffers=[];o=[];for(r in n.paint._values)if(i(r)&&(u=n.paint.get(r),u instanceof oi&&he(u.property.specification))){var s=tut(r,n.type),f=u.value,e=u.property.specification.type,l=u.property.useIntegerZoom,a=u.property.specification["property-type"],h="cross-faded"===a||"cross-faded-data-driven"===a;"constant"===f.kind?(this.binders[r]=h?new sr(f.value,s):new ku(f.value,s,e),o.push("/u_"+r)):"source"===f.kind||h?(c=ig(r,e,"source"),this.binders[r]=h?new si(f,e,l,t,c,n.id):new ri(f,s,e,c),o.push("/a_"+r)):(v=ig(r,e,"composite"),this.binders[r]=new lt(f,s,e,l,t,v),o.push("/z_"+r))}this.cacheKey=o.sort().join("")};dt.prototype.getMaxValue=function(n){var t=this.binders[n];return t instanceof ri||t instanceof lt?t.maxValue:0};dt.prototype.populatePaintArrays=function(n,t,i,r,u){var e,f;for(e in this.binders)f=this.binders[e],(f instanceof ri||f instanceof lt||f instanceof si)&&f.populatePaintArray(n,t,i,r,u)};dt.prototype.setConstantPatternPositions=function(n,t){var r,i;for(r in this.binders)i=this.binders[r],i instanceof sr&&i.setConstantPatternPositions(n,t)};dt.prototype.updatePaintArrays=function(n,t,i,r,u){var l=!1,s,e,h,o,a,c,f,v;for(s in n)for(e=0,h=t.getPositions(s);e<h.length;e+=1){o=h[e];a=i.feature(o.index);for(c in this.binders)f=this.binders[c],(f instanceof ri||f instanceof lt||f instanceof si)&&!0===f.expression.isStateDependent&&(v=r.paint.get(c),f.expression=v.value,f.updatePaintArray(o.start,o.end,a,n[s],u),l=!0)}return l};dt.prototype.defines=function(){var t=[],i,n;for(i in this.binders)n=this.binders[i],(n instanceof ku||n instanceof sr)&&t.push.apply(t,n.uniformNames.map(function(n){return"#define HAS_UNIFORM_"+n}));return t};dt.prototype.getBinderAttributes=function(){var r=[],u,n,t,i;for(u in this.binders)if(n=this.binders[u],n instanceof ri||n instanceof lt)for(t=0;t<n.paintVertexAttributes.length;t++)r.push(n.paintVertexAttributes[t].name);else if(n instanceof si)for(i=0;i<yl.members.length;i++)r.push(yl.members[i].name);return r};dt.prototype.getBinderUniforms=function(){var r=[],u,n,t,i;for(u in this.binders)if(n=this.binders[u],n instanceof ku||n instanceof sr||n instanceof lt)for(t=0,i=n.uniformNames;t<i.length;t+=1)r.push(i[t]);return r};dt.prototype.getPaintVertexBuffers=function(){return this._buffers};dt.prototype.getUniforms=function(n,t){var o=[],f,i,u,e,r,s;for(f in this.binders)if(i=this.binders[f],i instanceof ku||i instanceof sr||i instanceof lt)for(u=0,e=i.uniformNames;u<e.length;u+=1)r=e[u],t[r]&&(s=i.getBinding(n,t[r],r),o.push({name:r,property:f,binding:s}));return o};dt.prototype.setUniforms=function(n,t,i,r){for(var u=0,f=t;u<f.length;u+=1){var e=f[u],s=e.name,o=e.property;this.binders[o].setUniform(e.binding,r,i.get(o),s)}};dt.prototype.updatePaintBuffers=function(n){var r,t,i;for(r in this._buffers=[],this.binders)t=this.binders[r],n&&t instanceof si?(i=2===n.fromScale?t.zoomInPaintVertexBuffer:t.zoomOutPaintVertexBuffer,i&&this._buffers.push(i)):(t instanceof ri||t instanceof lt)&&t.paintVertexBuffer&&this._buffers.push(t.paintVertexBuffer)};dt.prototype.upload=function(n){var i,t;for(i in this.binders)t=this.binders[i],(t instanceof ri||t instanceof lt||t instanceof si)&&t.upload(n);this.updatePaintBuffers()};dt.prototype.destroy=function(){var t,n;for(t in this.binders)n=this.binders[t],(n instanceof ri||n instanceof lt||n instanceof si)&&n.destroy()};vi=function(n,t,i){var r,u,f;for(void 0===i&&(i=function(){return!0}),this.programConfigurations={},r=0,u=n;r<u.length;r+=1)f=u[r],this.programConfigurations[f.id]=new dt(f,t,i);this.needsUpload=!1;this._featureMap=new bu;this._bufferOffset=0};vi.prototype.populatePaintArrays=function(n,t,i,r,u,f){for(var e in this.programConfigurations)this.programConfigurations[e].populatePaintArrays(n,t,r,u,f);void 0!==t.id&&this._featureMap.add(t.id,i,this._bufferOffset,n);this._bufferOffset=n;this.needsUpload=!0};vi.prototype.updatePaintArrays=function(n,t,i,r){for(var e,u=0,f=i;u<f.length;u+=1)e=f[u],this.needsUpload=this.programConfigurations[e.id].updatePaintArrays(n,this._featureMap,t,e,r)||this.needsUpload};vi.prototype.get=function(n){return this.programConfigurations[n]};vi.prototype.upload=function(n){if(this.needsUpload){for(var t in this.programConfigurations)this.programConfigurations[t].upload(n);this.needsUpload=!1}};vi.prototype.destroy=function(){for(var n in this.programConfigurations)this.programConfigurations[n].destroy()};f("ConstantBinder",ku);f("CrossFadedConstantBinder",sr);f("SourceExpressionBinder",ri);f("CrossFadedCompositeBinder",si);f("CompositeExpressionBinder",lt);f("ProgramConfiguration",dt,{omit:["_buffers"]});f("ProgramConfigurationSet",vi);bl=Math.pow(2,14)-1;ip=-bl-1;ir=function(n){this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.hasPattern=!1;this.layoutVertexArray=new ge;this.indexArray=new eu;this.segments=new ft;this.programConfigurations=new vi(n.layers,n.zoom);this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id})};ir.prototype.populate=function(n,t,i){var y=this.layers[0],c=[],u=null,f,l,b,s,a;for("circle"===y.type&&(u=y.layout.get("circle-sort-key")),f=0,l=n;f<l.length;f+=1){var e=l[f],r=e.feature,p=e.id,g=e.index,nt=e.sourceLayerIndex,w=this.layers[0]._featureFilter.needGeometry,o={type:r.type,id:p,properties:r.properties,geometry:w?bi(r):[]};this.layers[0]._featureFilter.filter(new d(this.zoom),o,i)&&(w||(o.geometry=bi(r)),b=u?u.evaluate(o,{},i):void 0,c.push({id:p,properties:r.properties,type:r.type,sourceLayerIndex:nt,index:g,geometry:o.geometry,patterns:{},sortKey:b}))}for(u&&c.sort(function(n,t){return n.sortKey-t.sortKey}),s=0,a=c;s<a.length;s+=1){var h=a[s],k=h.geometry,v=h.index,tt=h.sourceLayerIndex,it=n[v].feature;this.addFeature(h,k,v,i);t.featureIndex.insert(it,k,v,tt,this.index)}};ir.prototype.update=function(n,t,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers,i)};ir.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};ir.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};ir.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,wd),this.indexBuffer=n.createIndexBuffer(this.indexArray));this.programConfigurations.upload(n);this.uploaded=!0};ir.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())};ir.prototype.addFeature=function(n,t,i,r){for(var s,l,h,u,o=0,c=t;o<c.length;o+=1)for(s=0,l=c[o];s<l.length;s+=1){var a=l[s],f=a.x,e=a.y;f<0||f>=8192||e<0||e>=8192||(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,n.sortKey),u=h.vertexLength,kl(this.layoutVertexArray,f,e,-1,-1),kl(this.layoutVertexArray,f,e,1,-1),kl(this.layoutVertexArray,f,e,1,1),kl(this.layoutVertexArray,f,e,-1,1),this.indexArray.emplaceBack(u,u+1,u+2),this.indexArray.emplaceBack(u,u+3,u+2),h.vertexLength+=4,h.primitiveLength+=2)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i,{},r)};f("CircleBucket",ir,{omit:["layers"]});var eut=new ii({"circle-sort-key":new s(t.layout_circle["circle-sort-key"])}),out={paint:new ii({"circle-radius":new s(t.paint_circle["circle-radius"]),"circle-color":new s(t.paint_circle["circle-color"]),"circle-blur":new s(t.paint_circle["circle-blur"]),"circle-opacity":new s(t.paint_circle["circle-opacity"]),"circle-translate":new o(t.paint_circle["circle-translate"]),"circle-translate-anchor":new o(t.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new o(t.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new o(t.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new s(t.paint_circle["circle-stroke-width"]),"circle-stroke-color":new s(t.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new s(t.paint_circle["circle-stroke-opacity"])}),layout:eut},hi="undefined"!=typeof Float32Array?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=arguments,i=0,n=arguments.length;n--;)i+=t[n]*t[n];return Math.sqrt(i)});sg=og;na=new hi(3);hi!=Float32Array&&(na[0]=0,na[1]=0,na[2]=0),function(){var n=new hi(4);hi!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0)}();hg=(function(){var n=new hi(2);hi!=Float32Array&&(n[0]=0,n[1]=0)}(),function(n){function t(t){n.call(this,t,out)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.createBucket=function(n){return new ir(n)},t.prototype.queryRadius=function(n){var t=n;return ws("circle-radius",this,t)+ws("circle-stroke-width",this,t)+dl(this.paint.get("circle-translate"))},t.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e,o){for(var s,a,y=gl(n,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),f.angle,e),p=this.paint.get("circle-radius").evaluate(t,i)+this.paint.get("circle-stroke-width").evaluate(t,i),c="map"===this.paint.get("circle-pitch-alignment"),k=c?y:function(n,t){return n.map(function(n){return cg(n,t)})}(y,o),d=c?p*e:p,l=0,w=r;l<w.length;l+=1)for(s=0,a=w[l];s<a.length;s+=1){var h=a[s],g=c?h:cg(h,o),v=d,b=ta([],[h.x,h.y,0,1],o);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?v*=b[3]/f.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(v*=f.cameraToCenterDistance/b[3]),iut(k,g,v))return!0}return!1},t}(or));ep=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t}(ir);f("HeatmapBucket",ep,{omit:["layers"]});du=function(n,t){op(this,n,1,t)};du.prototype.resize=function(n){lg(this,n,1)};du.prototype.clone=function(){return new du({width:this.width,height:this.height},new Uint8Array(this.data))};du.copy=function(n,t,i,r,u){sp(n,t,i,r,u,1)};wt=function(n,t){op(this,n,4,t)};wt.prototype.resize=function(n){lg(this,n,4)};wt.prototype.replace=function(n,t){t?this.data.set(n):this.data=n instanceof Uint8ClampedArray?new Uint8Array(n.buffer):n};wt.prototype.clone=function(){return new wt({width:this.width,height:this.height},new Uint8Array(this.data))};wt.copy=function(n,t,i,r,u){sp(n,t,i,r,u,4)};f("AlphaImage",du);f("RGBAImage",wt);ag={paint:new ii({"heatmap-radius":new s(t.paint_heatmap["heatmap-radius"]),"heatmap-weight":new s(t.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new o(t.paint_heatmap["heatmap-intensity"]),"heatmap-color":new de(t.paint_heatmap["heatmap-color"]),"heatmap-opacity":new o(t.paint_heatmap["heatmap-opacity"])})};var sut=function(n){function t(t){n.call(this,t,ag);this._updateColorRamp()}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.createBucket=function(n){return new ep(n)},t.prototype._handleSpecialPaintPropertyUpdate=function(n){"heatmap-color"===n&&this._updateColorRamp()},t.prototype._updateColorRamp=function(){this.colorRamp=vg(this._transitionablePaint._values["heatmap-color"].value.expression,"heatmapDensity");this.colorRampTexture=null},t.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},t.prototype.queryRadius=function(){return 0},t.prototype.queryIntersectsFeature=function(){return!1},t.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},t}(or),hut={paint:new ii({"hillshade-illumination-direction":new o(t.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new o(t.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new o(t.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new o(t.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new o(t.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new o(t.paint_hillshade["hillshade-accent-color"])})},cut=function(n){function t(t){n.call(this,t,hut)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},t}(or),lut=pt([{name:"a_pos",components:2,type:"Int16"}],4).members,hp=ia,aut=ia;ia.deviation=function(n,t,i,r){var h=t&&t.length,f=Math.abs(ap(n,0,h?t[0]*i:n.length,i)),u,s,e;if(h)for(u=0,s=t.length;u<s;u++)f-=Math.abs(ap(n,t[u]*i,u<s-1?t[u+1]*i:n.length,i));for(e=0,u=0;u<r.length;u+=3){var o=r[u]*i,c=r[u+1]*i,l=r[u+2]*i;e+=Math.abs((n[o]-n[l])*(n[c+1]-n[o+1])-(n[o]-n[c])*(n[l+1]-n[o+1]))}return 0===f&&0===e?0:Math.abs((e-f)/f)};ia.flatten=function(n){for(var i,r,f=n[0][0].length,u={vertices:[],holes:[],dimensions:f},e=0,t=0;t<n.length;t++){for(i=0;i<n[t].length;i++)for(r=0;r<f;r++)u.vertices.push(n[t][i][r]);t>0&&u.holes.push(e+=n[t-1].length)}return u};hp.default=aut;ki=function(n){this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.hasPattern=!1;this.patternFeatures=[];this.layoutVertexArray=new ge;this.indexArray=new eu;this.indexArray2=new no;this.programConfigurations=new vi(n.layers,n.zoom);this.segments=new ft;this.segments2=new ft;this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id})};ki.prototype.populate=function(n,t,i){var w,o,l,k;this.hasPattern=yp("fill",this.layers,t);for(var s=this.layers[0].layout.get("fill-sort-key"),h=[],c=0,v=n;c<v.length;c+=1){var f=v[c],r=f.feature,y=f.id,g=f.index,nt=f.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,e={type:r.type,id:y,properties:r.properties,geometry:p?bi(r):[]};this.layers[0]._featureFilter.filter(new d(this.zoom),e,i)&&(p||(e.geometry=bi(r)),w=s?s.evaluate(e,{},i,t.availableImages):void 0,h.push({id:y,properties:r.properties,type:r.type,sourceLayerIndex:nt,index:g,geometry:e.geometry,patterns:{},sortKey:w}))}for(s&&h.sort(function(n,t){return n.sortKey-t.sortKey}),o=0,l=h;o<l.length;o+=1){var u=l[o],b=u.geometry,a=u.index,tt=u.sourceLayerIndex;this.hasPattern?(k=pp("fill",this.layers,u,this.zoom,t),this.patternFeatures.push(k)):this.addFeature(u,b,a,i,{});t.featureIndex.insert(n[a].feature,b,a,tt,this.index)}};ki.prototype.update=function(n,t,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers,i)};ki.prototype.addFeatures=function(n,t,i){for(var u,r=0,f=this.patternFeatures;r<f.length;r+=1)u=f[r],this.addFeature(u,u.geometry,u.index,t,i)};ki.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};ki.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};ki.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,lut),this.indexBuffer=n.createIndexBuffer(this.indexArray),this.indexBuffer2=n.createIndexBuffer(this.indexArray2));this.programConfigurations.upload(n);this.uploaded=!0};ki.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())};ki.prototype.addFeature=function(n,t,i,r,u){for(var f,a,c,e,s,h,l=0,v=vp(t,500);l<v.length;l+=1){for(var y=v[l],p=0,w=0,g=y;w<g.length;w+=1)p+=g[w].length;for(var b=this.segments.prepareSegment(p,this.layoutVertexArray,this.indexArray),k=b.vertexLength,o=[],nt=[],d=0,tt=y;d<tt.length;d+=1)if(f=tt[d],0!==f.length){for(f!==y[0]&&nt.push(o.length/2),a=this.segments2.prepareSegment(f.length,this.layoutVertexArray,this.indexArray2),c=a.vertexLength,this.layoutVertexArray.emplaceBack(f[0].x,f[0].y),this.indexArray2.emplaceBack(c+f.length-1,c),o.push(f[0].x),o.push(f[0].y),e=1;e<f.length;e++)this.layoutVertexArray.emplaceBack(f[e].x,f[e].y),this.indexArray2.emplaceBack(c+e-1,c+e),o.push(f[e].x),o.push(f[e].y);a.vertexLength+=f.length;a.primitiveLength+=f.length}for(s=hp(o,nt),h=0;h<s.length;h+=3)this.indexArray.emplaceBack(k+s[h],k+s[h+1],k+s[h+2]);b.vertexLength+=p;b.primitiveLength+=s.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i,u,r)};f("FillBucket",ki,{omit:["layers","patternFeatures"]});var uft=new ii({"fill-sort-key":new s(t.layout_fill["fill-sort-key"])}),fft={paint:new ii({"fill-antialias":new o(t.paint_fill["fill-antialias"]),"fill-opacity":new s(t.paint_fill["fill-opacity"]),"fill-color":new s(t.paint_fill["fill-color"]),"fill-outline-color":new s(t.paint_fill["fill-outline-color"]),"fill-translate":new o(t.paint_fill["fill-translate"]),"fill-translate-anchor":new o(t.paint_fill["fill-translate-anchor"]),"fill-pattern":new ls(t.paint_fill["fill-pattern"])}),layout:uft},eft=function(n){function t(t){n.call(this,t,fft)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.recalculate=function(t,i){n.prototype.recalculate.call(this,t,i);var r=this.paint._values["fill-outline-color"];"constant"===r.value.kind&&void 0===r.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},t.prototype.createBucket=function(n){return new ki(n)},t.prototype.queryRadius=function(){return dl(this.paint.get("fill-translate"))},t.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e){return ug(gl(n,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),f.angle,e),r)},t.prototype.isTileClipped=function(){return!0},t}(or),oft=pt([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,kg=ro;ro.types=["Unknown","Point","LineString","Polygon"];ro.prototype.loadGeometry=function(){var t=this._pbf,f;t.pos=this._geometry;for(var n,s=t.readVarint()+t.pos,i=1,r=0,e=0,o=0,u=[];t.pos<s;)if(r<=0&&(f=t.readVarint(),i=7&f,r=f>>3),r--,1===i||2===i)e+=t.readSVarint(),o+=t.readSVarint(),1===i&&(n&&u.push(n),n=[]),n.push(new h(e,o));else{if(7!==i)throw new Error("unknown command "+i);n&&n.push(n[0].clone())}return n&&u.push(n),u};ro.prototype.bbox=function(){var n=this._pbf,h;n.pos=this._geometry;for(var c=n.readVarint()+n.pos,t=1,u=0,i=0,r=0,f=1/0,e=-1/0,o=1/0,s=-1/0;n.pos<c;)if(u<=0&&(h=n.readVarint(),t=7&h,u=h>>3),u--,1===t||2===t)(i+=n.readSVarint())<f&&(f=i),i>e&&(e=i),(r+=n.readSVarint())<o&&(o=r),r>s&&(s=r);else if(7!==t)throw new Error("unknown command "+t);return[f,o,e,s]};ro.prototype.toGeoJSON=function(n,t,i){function o(n){for(var i,t=0;t<n.length;t++)i=n[t],n[t]=[360*(i.x+l)/c-180,360/Math.PI*Math.atan(Math.exp((180-360*(i.y+a)/c)*Math.PI/180))-90]}var r,f,c=this.extent*Math.pow(2,i),l=this.extent*n,a=this.extent*t,u=this.loadGeometry(),e=ro.types[this.type],s,h;switch(this.type){case 1:for(s=[],r=0;r<u.length;r++)s[r]=u[r][0];o(u=s);break;case 2:for(r=0;r<u.length;r++)o(u[r]);break;case 3:for(u=function(n){var e=n.length,t,f,r,i,u;if(e<=1)return[n];for(r=[],i=0;i<e;i++)u=hft(n[i]),0!==u&&(void 0===f&&(f=u<0),f===u<0?(t&&r.push(t),t=[n[i]]):t.push(n[i]));return t&&r.push(t),r}(u),r=0;r<u.length;r++)for(f=0;f<u[r].length;f++)o(u[r][f])}return 1===u.length?u=u[0]:e="Multi"+e,h={type:"Feature",geometry:{type:e,coordinates:u},properties:this.properties},"id"in this&&(h.id=this.id),h};wp=dg;dg.prototype.feature=function(n){if(n<0||n>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[n];var t=this._pbf.readVarint()+this._pbf.pos;return new kg(this._pbf,t,this.extent,this._keys,this._values)};var uo={VectorTile:function(n,t){this.layers=n.readFields(lft,{},t)},VectorTileFeature:kg,VectorTileLayer:wp},aft=uo.VectorTileFeature.types,bp=Math.pow(2,13);di=function(n){this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.hasPattern=!1;this.layoutVertexArray=new gc;this.indexArray=new eu;this.programConfigurations=new vi(n.layers,n.zoom);this.segments=new ft;this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id})};di.prototype.populate=function(n,t,i){var f,o,u;for(this.features=[],this.hasPattern=yp("fill-extrusion",this.layers,t),f=0,o=n;f<o.length;f+=1){var e=o[f],r=e.feature,h=e.id,s=e.index,c=e.sourceLayerIndex,l=this.layers[0]._featureFilter.needGeometry,a={type:r.type,id:h,properties:r.properties,geometry:l?bi(r):[]};this.layers[0]._featureFilter.filter(new d(this.zoom),a,i)&&(u={id:h,sourceLayerIndex:c,index:s,geometry:l?a.geometry:bi(r),properties:r.properties,type:r.type,patterns:{}},void 0!==r.id&&(u.id=r.id),this.hasPattern?this.features.push(pp("fill-extrusion",this.layers,u,this.zoom,t)):this.addFeature(u,u.geometry,s,i,{}),t.featureIndex.insert(r,u.geometry,s,c,this.index,!0))}};di.prototype.addFeatures=function(n,t,i){for(var u,r=0,f=this.features;r<f.length;r+=1)u=f[r],this.addFeature(u,u.geometry,u.index,t,i)};di.prototype.update=function(n,t,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers,i)};di.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};di.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};di.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,oft),this.indexBuffer=n.createIndexBuffer(this.indexArray));this.programConfigurations.upload(n);this.uploaded=!0};di.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())};di.prototype.addFeature=function(n,t,i,r,u){for(var l,h,a,o,s,e,et,c,p,nt,w,v,y,tt,b=0,it=vp(t,500);b<it.length;b+=1){for(var k=it[b],d=0,rt=0,ht=k;rt<ht.length;rt+=1)d+=ht[rt].length;for(var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),ut=0,ct=k;ut<ct.length;ut+=1)if(l=ct[ut],0!==l.length&&!((tt=l).every(function(n){return n.x<0})||tt.every(function(n){return n.x>8192})||tt.every(function(n){return n.y<0})||tt.every(function(n){return n.y>8192})))for(h=0,a=0;a<l.length;a++)o=l[a],a>=1&&(s=l[a-1],vft(o,s)||(f.vertexLength+4>ft.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)),e=o.sub(s)._perp()._unit(),et=s.dist(o),h+et>32768&&(h=0),nh(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,0,h),nh(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,1,h),nh(this.layoutVertexArray,s.x,s.y,e.x,e.y,0,0,h+=et),nh(this.layoutVertexArray,s.x,s.y,e.x,e.y,0,1,h),c=f.vertexLength,this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),f.vertexLength+=4,f.primitiveLength+=2));if(f.vertexLength+d>ft.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(d,this.layoutVertexArray,this.indexArray)),"Polygon"===aft[n.type]){for(var g=[],lt=[],ot=f.vertexLength,st=0,at=k;st<at.length;st+=1)if(p=at[st],0!==p.length)for(p!==k[0]&&lt.push(g.length/2),nt=0;nt<p.length;nt++)w=p[nt],nh(this.layoutVertexArray,w.x,w.y,0,0,1,1,0),g.push(w.x),g.push(w.y);for(v=hp(g,lt),y=0;y<v.length;y+=3)this.indexArray.emplaceBack(ot+v[y],ot+v[y+2],ot+v[y+1]);f.primitiveLength+=v.length/3;f.vertexLength+=d}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i,u,r)};f("FillExtrusionBucket",di,{omit:["layers","features"]});gg={paint:new ii({"fill-extrusion-opacity":new o(t["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new s(t["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new o(t["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new o(t["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new ls(t["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new s(t["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new s(t["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new o(t["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})};nn=function(n){function t(t){n.call(this,t,gg)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.createBucket=function(n){return new di(n)},t.prototype.queryRadius=function(){return dl(this.paint.get("fill-extrusion-translate"))},t.prototype.is3D=function(){return!0},t.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e,o){var c=gl(n,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),f.angle,e),l=this.paint.get("fill-extrusion-height").evaluate(t,i),a=this.paint.get("fill-extrusion-base").evaluate(t,i),v=function(n,t){for(var u,i,f=[],r=0,e=n;r<e.length;r+=1)u=e[r],i=[u.x,u.y,0,1],ta(i,i,t),f.push(new h(i[0]/i[3],i[1]/i[3]));return f}(c,o),s=function(n,t,i,r){for(var l,a=[],v=[],rt=r[8]*t,ut=r[9]*t,ft=r[10]*t,et=r[11]*t,ot=r[8]*i,st=r[9]*i,ht=r[10]*i,ct=r[11]*i,e=0,y=n;e<y.length;e+=1){for(var p=[],w=[],o=0,b=y[e];o<b.length;o+=1){var k=b[o],u=k.x,f=k.y,d=r[0]*u+r[4]*f+r[12],g=r[1]*u+r[5]*f+r[13],nt=r[2]*u+r[6]*f+r[14],tt=r[3]*u+r[7]*f+r[15],lt=nt+ft,s=tt+et,at=d+ot,vt=g+st,yt=nt+ht,c=tt+ct,it=new h((d+rt)/s,(g+ut)/s);it.z=lt/s;p.push(it);l=new h(at/c,vt/c);l.z=yt/c;w.push(l)}a.push(p);v.push(w)}return[a,v]}(r,a,l,o);return function(n,t,i){var u=1/0,f,o,s;for(ug(i,t)&&(u=tn(i,t[0])),f=0;f<t.length;f++)for(var e=t[f],h=n[f],r=0;r<e.length-1;r++)o=e[r],s=[o,e[r+1],h[r+1],h[r],o],rg(i,s)&&(u=Math.min(u,tn(i,s)));return u!==1/0&&u}(s[0],s[1],v)},t}(or);var yft=pt([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,pft=uo.VectorTileFeature.types,wft=Math.cos(Math.PI/180*37.5),rn=Math.pow(2,14)/.5,gt=function(n){this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.hasPattern=!1;this.patternFeatures=[];this.layoutVertexArray=new nl;this.indexArray=new eu;this.programConfigurations=new vi(n.layers,n.zoom);this.segments=new ft;this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id})};gt.prototype.populate=function(n,t,i){var w,o,l,k;this.hasPattern=yp("line",this.layers,t);for(var s=this.layers[0].layout.get("line-sort-key"),h=[],c=0,v=n;c<v.length;c+=1){var f=v[c],r=f.feature,y=f.id,g=f.index,nt=f.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,e={type:r.type,id:y,properties:r.properties,geometry:p?bi(r):[]};this.layers[0]._featureFilter.filter(new d(this.zoom),e,i)&&(p||(e.geometry=bi(r)),w=s?s.evaluate(e,{},i):void 0,h.push({id:y,properties:r.properties,type:r.type,sourceLayerIndex:nt,index:g,geometry:e.geometry,patterns:{},sortKey:w}))}for(s&&h.sort(function(n,t){return n.sortKey-t.sortKey}),o=0,l=h;o<l.length;o+=1){var u=l[o],b=u.geometry,a=u.index,tt=u.sourceLayerIndex;this.hasPattern?(k=pp("line",this.layers,u,this.zoom,t),this.patternFeatures.push(k)):this.addFeature(u,b,a,i,{});t.featureIndex.insert(n[a].feature,b,a,tt,this.index)}};gt.prototype.update=function(n,t,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers,i)};gt.prototype.addFeatures=function(n,t,i){for(var u,r=0,f=this.patternFeatures;r<f.length;r+=1)u=f[r],this.addFeature(u,u.geometry,u.index,t,i)};gt.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};gt.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};gt.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,yft),this.indexBuffer=n.createIndexBuffer(this.indexArray));this.programConfigurations.upload(n);this.uploaded=!0};gt.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())};gt.prototype.addFeature=function(n,t,i,r,u){for(var f=this.layers[0].layout,s=f.get("line-join").evaluate(n,{}),h=f.get("line-cap"),c=f.get("line-miter-limit"),l=f.get("line-round-limit"),e=0,o=t;e<o.length;e+=1)this.addLine(o[e],n,s,h,c,l);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i,u,r)};gt.prototype.addLine=function(n,t,i,r,u,f){var d,g,a,w,b,l,st,ut,ht,s,pt,ct,ft,k,et,lt,at,vt,ot;if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,t.properties&&t.properties.hasOwnProperty("mapbox_clip_start")&&t.properties.hasOwnProperty("mapbox_clip_end")){for(this.clipStart=+t.properties.mapbox_clip_start,this.clipEnd=+t.properties.mapbox_clip_end,d=0;d<n.length-1;d++)this.totalDistance+=n[d].dist(n[d+1]);this.updateScaledDistance()}for(g="Polygon"===pft[t.type],a=n.length;a>=2&&n[a-1].equals(n[a-2]);)a--;for(w=0;w<a-1&&n[w].equals(n[w+1]);)w++;if(!(a<(g?3:2))){"bevel"===i&&(u=1.05);var e,it=this.overscaling<=16?240/this.overscaling:0,c=this.segments.prepareSegment(10*a,this.layoutVertexArray,this.indexArray),v=void 0,y=void 0,h=void 0,o=void 0;for(this.e1=this.e2=-1,g&&(o=n[w].sub(e=n[a-2])._unit()._perp()),b=w;b<a;b++)if(!(y=b===a-1?g?n[w+1]:void 0:n[b+1])||!n[b].equals(y)){o&&(h=o);e&&(v=e);e=n[b];o=y?y.sub(e)._unit()._perp():h;l=(h=h||o).add(o);0===l.x&&0===l.y||l._unit();var nt=h.x*o.x+h.y*o.y,rt=l.x*o.x+l.y*o.y,p=0!==rt?1/rt:1/0,dt=2*Math.sqrt(2-2*rt),yt=rt<wft&&v&&y,tt=h.x*o.y-h.y*o.x>0;if(yt&&b>w&&(st=e.dist(v),st>2*it&&(ut=e.sub(e.sub(v)._mult(it/st)._round()),this.updateDistance(v,ut),this.addCurrentVertex(ut,h,0,0,c),v=ut)),ht=v&&y,s=ht?i:g?"butt":r,ht&&"round"===s&&(p<f?s="miter":p<=2&&(s="fakeround")),"miter"===s&&p>u&&(s="bevel"),"bevel"===s&&(p>2&&(s="flipbevel"),p<u&&(s="miter")),v&&this.updateDistance(v,e),"miter"===s)l._mult(p),this.addCurrentVertex(e,l,0,0,c);else if("flipbevel"===s)p>100?l=o.mult(-1):(pt=p*h.add(o).mag()/h.sub(o).mag(),l._perp()._mult(pt*(tt?-1:1))),this.addCurrentVertex(e,l,0,0,c),this.addCurrentVertex(e,l.mult(-1),0,0,c);else if("bevel"===s||"fakeround"===s){var wt=-Math.sqrt(p*p-1),bt=tt?wt:0,kt=tt?0:wt;if(v&&this.addCurrentVertex(e,h,bt,kt,c),"fakeround"===s)for(ct=Math.round(180*dt/Math.PI/20),ft=1;ft<ct;ft++)k=ft/ct,.5!==k&&(et=k-.5,k+=k*et*(k-1)*((1.0904+nt*(nt*(3.55645-1.43519*nt)-3.2452))*et*et+(.848013+nt*(.215638*nt-1.06021)))),lt=o.sub(h)._mult(k)._add(h)._unit()._mult(tt?-1:1),this.addHalfVertex(e,lt.x,lt.y,!1,tt,0,c);y&&this.addCurrentVertex(e,o,-bt,-kt,c)}else"butt"===s?this.addCurrentVertex(e,l,0,0,c):"square"===s?(at=v?1:-1,this.addCurrentVertex(e,l,at,at,c)):"round"===s&&(v&&(this.addCurrentVertex(e,h,0,0,c),this.addCurrentVertex(e,h,1,1,c,!0)),y&&(this.addCurrentVertex(e,o,-1,-1,c,!0),this.addCurrentVertex(e,o,0,0,c)));yt&&b<a-1&&(vt=e.dist(y),vt>2*it&&(ot=e.add(y.sub(e)._mult(it/vt)._round()),this.updateDistance(e,ot),this.addCurrentVertex(ot,o,0,0,c),e=ot))}}};gt.prototype.addCurrentVertex=function(n,t,i,r,u,f){void 0===f&&(f=!1);var e=t.y*r-t.x,o=-t.y-t.x*r;this.addHalfVertex(n,t.x+t.y*i,t.y-t.x*i,f,!1,i,u);this.addHalfVertex(n,e,o,f,!0,-r,u);this.distance>rn/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(n,t,i,r,u,f))};gt.prototype.addHalfVertex=function(n,t,i,r,u,f,e){var s=.5*this.scaledDistance,o;this.layoutVertexArray.emplaceBack((n.x<<1)+(r?1:0),(n.y<<1)+(u?1:0),Math.round(63*t)+128,Math.round(63*i)+128,1+(0===f?0:f<0?-1:1)|(63&s)<<2,s>>6);o=e.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,o),e.primitiveLength++);u?this.e2=o:this.e1=o};gt.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(rn-1):this.distance};gt.prototype.updateDistance=function(n,t){this.distance+=n.dist(t);this.updateScaledDistance()};f("LineBucket",gt,{omit:["layers","patternFeatures"]});var bft=new ii({"line-cap":new o(t.layout_line["line-cap"]),"line-join":new s(t.layout_line["line-join"]),"line-miter-limit":new o(t.layout_line["line-miter-limit"]),"line-round-limit":new o(t.layout_line["line-round-limit"]),"line-sort-key":new s(t.layout_line["line-sort-key"])}),un={paint:new ii({"line-opacity":new s(t.paint_line["line-opacity"]),"line-color":new s(t.paint_line["line-color"]),"line-translate":new o(t.paint_line["line-translate"]),"line-translate-anchor":new o(t.paint_line["line-translate-anchor"]),"line-width":new s(t.paint_line["line-width"]),"line-gap-width":new s(t.paint_line["line-gap-width"]),"line-offset":new s(t.paint_line["line-offset"]),"line-blur":new s(t.paint_line["line-blur"]),"line-dasharray":new af(t.paint_line["line-dasharray"]),"line-pattern":new ls(t.paint_line["line-pattern"]),"line-gradient":new de(t.paint_line["line-gradient"])}),layout:bft},fn=new(function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.possiblyEvaluate=function(t,i){return i=new d(Math.floor(i.zoom),{now:i.now,fadeDuration:i.fadeDuration,zoomHistory:i.zoomHistory,transition:i.transition}),n.prototype.possiblyEvaluate.call(this,t,i)},t.prototype.evaluate=function(t,i,r,u){return i=fi({},i,{zoom:Math.floor(i.zoom)}),n.prototype.evaluate.call(this,t,i,r,u)},t}(s))(un.paint.properties["line-width"].specification);fn.useIntegerZoom=!0;en=function(n){function t(t){n.call(this,t,un)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._handleSpecialPaintPropertyUpdate=function(n){"line-gradient"===n&&this._updateGradient()},t.prototype._updateGradient=function(){this.gradient=vg(this._transitionablePaint._values["line-gradient"].value.expression,"lineProgress");this.gradientTexture=null},t.prototype.recalculate=function(t,i){n.prototype.recalculate.call(this,t,i);this.paint._values["line-floorwidth"]=fn.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)},t.prototype.createBucket=function(n){return new gt(n)},t.prototype.queryRadius=function(n){var t=n,i=on(ws("line-width",this,t),ws("line-gap-width",this,t)),r=ws("line-offset",this,t);return i/2+Math.abs(r)+dl(this.paint.get("line-translate"))},t.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e){var s=gl(n,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),f.angle,e),c=e/2*on(this.paint.get("line-width").evaluate(t,i),this.paint.get("line-gap-width").evaluate(t,i)),o=this.paint.get("line-offset").evaluate(t,i);return o&&(r=function(n,t){for(var s=[],c=new h(0,0),f=0;f<n.length;f++){for(var r=n[f],l=[],i=0;i<r.length;i++){var e=r[i],a=r[i+1],v=0===i?c:e.sub(r[i-1])._unit()._perp(),o=i===r.length-1?c:a.sub(e)._unit()._perp(),u=v._add(o)._unit();u._mult(1/(u.x*o.x+u.y*o.y));l.push(u._mult(t)._add(e))}s.push(l)}return s}(r,o*e)),function(n,t,i){for(var u,f,r=0;r<t.length;r++){if(u=t[r],n.length>=3)for(f=0;f<u.length;f++)if(to(n,u[f]))return!0;if(rut(n,u,i))return!0}return!1}(s,r,c)},t.prototype.isTileClipped=function(){return!0},t}(or);var kft=pt([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),dft=pt([{name:"a_projected_pos",components:3,type:"Float32"}],4),gft=(pt([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),pt([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),sn=(pt([{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"}]),pt([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),net=pt([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);pt([{name:"triangle",components:3,type:"Uint16"}]);pt([{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"}]);pt([{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]);pt([{type:"Float32",name:"offsetX"}]);pt([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var ih={"!":"︕","#":"＃",$:"＄","%":"％","&":"＆","(":"︵",")":"︶","*":"＊","+":"＋",",":"︐","-":"︲",".":"・","/":"／",":":"︓",";":"︔","<":"︿","=":"＝",">":"﹀","?":"︖","@":"＠","[":"﹇","\\":"＼","]":"﹈","^":"＾",_:"︳","`":"｀","{":"︷","|":"―","}":"︸","~":"～","¢":"￠","£":"￡","¥":"￥","¦":"￤","¬":"￢","¯":"￣","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"￦","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","！":"︕","（":"︵","）":"︶","，":"︐","－":"︲","．":"・","：":"︓","；":"︔","＜":"︿","＞":"﹀","？":"︖","［":"﹇","］":"﹈","＿":"︳","｛":"︷","｜":"―","｝":"︸","｟":"︵","｠":"︶","｡":"︒","｢":"﹁","｣":"﹂"},hn=function(n,t,i,r,u){var f,o,l=8*u-r-1,a=(1<<l)-1,v=a>>1,e=-7,s=i?u-1:0,c=i?-1:1,h=n[t+s];for(s+=c,f=h&(1<<-e)-1,h>>=-e,e+=l;e>0;f=256*f+n[t+s],s+=c,e-=8);for(o=f&(1<<-e)-1,f>>=-e,e+=r;e>0;o=256*o+n[t+s],s+=c,e-=8);if(0===f)f=1-v;else{if(f===a)return o?NaN:1/0*(h?-1:1);o+=Math.pow(2,r);f-=v}return(h?-1:1)*o*Math.pow(2,f-r)},cn=function(n,t,i,r,u,f){var e,o,s,l=8*f-u-1,a=(1<<l)-1,h=a>>1,y=23===u?Math.pow(2,-24)-Math.pow(2,-77):0,c=r?0:f-1,v=r?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,e=a):(e=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-e))<1&&(e--,s*=2),(t+=e+h>=1?y/s:y*Math.pow(2,1-h))*s>=2&&(e++,s/=2),e+h>=a?(o=0,e=a):e+h>=1?(o=(t*s-1)*Math.pow(2,u),e+=h):(o=t*Math.pow(2,h-1)*Math.pow(2,u),e=0));u>=8;n[i+c]=255&o,c+=v,o/=256,u-=8);for(e=e<<u|o,l+=u;l>0;n[i+c]=255&e,c+=v,e/=256,l-=8);n[i+c-v]|=128*p},ea=p;p.Varint=0;p.Fixed64=1;p.Bytes=2;p.Fixed32=5;kp="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");p.prototype={destroy:function(){this.buf=null},readFields:function(n,t,i){for(i=i||this.length;this.pos<i;){var r=this.readVarint(),u=r>>3,f=this.pos;this.type=7&r;n(u,t,this);this.pos===f&&this.skip(r)}return t},readMessage:function(n,t){return this.readFields(n,t,this.readVarint()+this.pos)},readFixed32:function(){var n=oa(this.buf,this.pos);return this.pos+=4,n},readSFixed32:function(){var n=an(this.buf,this.pos);return this.pos+=4,n},readFixed64:function(){var n=oa(this.buf,this.pos)+4294967296*oa(this.buf,this.pos+4);return this.pos+=8,n},readSFixed64:function(){var n=oa(this.buf,this.pos)+4294967296*an(this.buf,this.pos+4);return this.pos+=8,n},readFloat:function(){var n=hn(this.buf,this.pos,!0,23,4);return this.pos+=4,n},readDouble:function(){var n=hn(this.buf,this.pos,!0,52,8);return this.pos+=8,n},readVarint:function(n){var t,i,r=this.buf;return t=127&(i=r[this.pos++]),i<128?t:(t|=(127&(i=r[this.pos++]))<<7,i<128?t:(t|=(127&(i=r[this.pos++]))<<14,i<128?t:(t|=(127&(i=r[this.pos++]))<<21,i<128?t:function(n,t,i){var u,r,f=i.buf;if((u=(112&(r=f[i.pos++]))>>4,r<128)||(u|=(127&(r=f[i.pos++]))<<3,r<128)||(u|=(127&(r=f[i.pos++]))<<10,r<128)||(u|=(127&(r=f[i.pos++]))<<17,r<128)||(u|=(127&(r=f[i.pos++]))<<24,r<128)||(u|=(1&(r=f[i.pos++]))<<31,r<128))return fo(n,u,t);throw new Error("Expected varint not more than 10 bytes");}(t|=(15&(i=r[this.pos]))<<28,n,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var n=this.readVarint();return n%2==1?(n+1)/-2:n/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var n=this.readVarint()+this.pos,t=this.pos;return this.pos=n,n-t>=12&&kp?function(n,t,i){return kp.decode(n.subarray(t,i))}(this.buf,t,n):function(n,t,i){for(var h="",u=t;u<i;){var o,s,c,f=n[u],r=null,e=f>239?4:f>223?3:f>191?2:1;if(u+e>i)break;1===e?f<128&&(r=f):2===e?128==(192&(o=n[u+1]))&&(r=(31&f)<<6|63&o)<=127&&(r=null):3===e?(s=n[u+2],128==(192&(o=n[u+1]))&&128==(192&s)&&((r=(15&f)<<12|(63&o)<<6|63&s)<=2047||r>=55296&&r<=57343)&&(r=null)):4===e&&(s=n[u+2],c=n[u+3],128==(192&(o=n[u+1]))&&128==(192&s)&&128==(192&c)&&((r=(15&f)<<18|(63&o)<<12|(63&s)<<6|63&c)<=65535||r>=1114112)&&(r=null));null===r?(r=65533,e=1):r>65535&&(r-=65536,h+=String.fromCharCode(r>>>10&1023|55296),r=56320|1023&r);h+=String.fromCharCode(r);u+=e}return h}(this.buf,t,n)},readBytes:function(){var n=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,n);return this.pos=n,t},readPackedVarint:function(n,t){if(this.type!==p.Bytes)return n.push(this.readVarint(t));var i=ou(this);for(n=n||[];this.pos<i;)n.push(this.readVarint(t));return n},readPackedSVarint:function(n){if(this.type!==p.Bytes)return n.push(this.readSVarint());var t=ou(this);for(n=n||[];this.pos<t;)n.push(this.readSVarint());return n},readPackedBoolean:function(n){if(this.type!==p.Bytes)return n.push(this.readBoolean());var t=ou(this);for(n=n||[];this.pos<t;)n.push(this.readBoolean());return n},readPackedFloat:function(n){if(this.type!==p.Bytes)return n.push(this.readFloat());var t=ou(this);for(n=n||[];this.pos<t;)n.push(this.readFloat());return n},readPackedDouble:function(n){if(this.type!==p.Bytes)return n.push(this.readDouble());var t=ou(this);for(n=n||[];this.pos<t;)n.push(this.readDouble());return n},readPackedFixed32:function(n){if(this.type!==p.Bytes)return n.push(this.readFixed32());var t=ou(this);for(n=n||[];this.pos<t;)n.push(this.readFixed32());return n},readPackedSFixed32:function(n){if(this.type!==p.Bytes)return n.push(this.readSFixed32());var t=ou(this);for(n=n||[];this.pos<t;)n.push(this.readSFixed32());return n},readPackedFixed64:function(n){if(this.type!==p.Bytes)return n.push(this.readFixed64());var t=ou(this);for(n=n||[];this.pos<t;)n.push(this.readFixed64());return n},readPackedSFixed64:function(n){if(this.type!==p.Bytes)return n.push(this.readSFixed64());var t=ou(this);for(n=n||[];this.pos<t;)n.push(this.readSFixed64());return n},skip:function(n){var t=7&n;if(t===p.Varint)for(;this.buf[this.pos++]>127;);else if(t===p.Bytes)this.pos=this.readVarint()+this.pos;else if(t===p.Fixed32)this.pos+=4;else{if(t!==p.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(n,t){this.writeVarint(n<<3|t)},realloc:function(n){for(var i,t=this.length||16;t<this.pos+n;)t*=2;t!==this.length&&(i=new Uint8Array(t),i.set(this.buf),this.buf=i,this.length=t)},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(n){this.realloc(4);eo(this.buf,n,this.pos);this.pos+=4},writeSFixed32:function(n){this.realloc(4);eo(this.buf,n,this.pos);this.pos+=4},writeFixed64:function(n){this.realloc(8);eo(this.buf,-1&n,this.pos);eo(this.buf,Math.floor(n*(1/4294967296)),this.pos+4);this.pos+=8},writeSFixed64:function(n){this.realloc(8);eo(this.buf,-1&n,this.pos);eo(this.buf,Math.floor(n*(1/4294967296)),this.pos+4);this.pos+=8},writeVarint:function(n){(n=+n||0)>268435455||n<0?function(n,t){var i,r;if(n>=0?(i=n%4294967296|0,r=n/4294967296|0):(r=~(-n/4294967296),4294967295^(i=~(-n%4294967296))?i=i+1|0:(i=0,r=r+1|0)),n>=0x10000000000000000||n<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(n,t,i){i.buf[i.pos++]=127&n|128;n>>>=7;i.buf[i.pos++]=127&n|128;n>>>=7;i.buf[i.pos++]=127&n|128;n>>>=7;i.buf[i.pos++]=127&n|128;i.buf[i.pos]=127&(n>>>=7)}(i,0,t),function(n,t){var i=(7&n)<<4;t.buf[t.pos++]|=i|((n>>>=3)?128:0);n&&(t.buf[t.pos++]=127&n|((n>>>=7)?128:0),n&&(t.buf[t.pos++]=127&n|((n>>>=7)?128:0),n&&(t.buf[t.pos++]=127&n|((n>>>=7)?128:0),n&&(t.buf[t.pos++]=127&n|((n>>>=7)?128:0),n&&(t.buf[t.pos++]=127&n)))))}(r,t)}(n,this):(this.realloc(4),this.buf[this.pos++]=127&n|(n>127?128:0),n<=127||(this.buf[this.pos++]=127&(n>>>=7)|(n>127?128:0),n<=127||(this.buf[this.pos++]=127&(n>>>=7)|(n>127?128:0),n<=127||(this.buf[this.pos++]=n>>>7&127))))},writeSVarint:function(n){this.writeVarint(n<0?2*-n-1:2*n)},writeBoolean:function(n){this.writeVarint(Boolean(n))},writeString:function(n){var i,t;n=String(n);this.realloc(4*n.length);this.pos++;i=this.pos;this.pos=function(n,t,i){for(var r,u,f=0;f<t.length;f++){if((r=t.charCodeAt(f))>55295&&r<57344){if(!u){r>56319||f+1===t.length?(n[i++]=239,n[i++]=191,n[i++]=189):u=r;continue}if(r<56320){n[i++]=239;n[i++]=191;n[i++]=189;u=r;continue}r=u-55296<<10|r-56320|65536;u=null}else u&&(n[i++]=239,n[i++]=191,n[i++]=189,u=null);r<128?n[i++]=r:(r<2048?n[i++]=r>>6|192:(r<65536?n[i++]=r>>12|224:(n[i++]=r>>18|240,n[i++]=r>>12&63|128),n[i++]=r>>6&63|128),n[i++]=63&r|128)}return i}(this.buf,n,this.pos);t=this.pos-i;t>=128&&ln(i,t,this);this.pos=i-1;this.writeVarint(t);this.pos+=t},writeFloat:function(n){this.realloc(4);cn(this.buf,n,this.pos,!0,23,4);this.pos+=4},writeDouble:function(n){this.realloc(8);cn(this.buf,n,this.pos,!0,52,8);this.pos+=8},writeBytes:function(n){var i=n.length,t;for(this.writeVarint(i),this.realloc(i),t=0;t<i;t++)this.buf[this.pos++]=n[t]},writeRawMessage:function(n,t){var r,i;this.pos++;r=this.pos;n(t,this);i=this.pos-r;i>=128&&ln(r,i,this);this.pos=r-1;this.writeVarint(i);this.pos+=i},writeMessage:function(n,t,i){this.writeTag(n,p.Bytes);this.writeRawMessage(t,i)},writePackedVarint:function(n,t){t.length&&this.writeMessage(n,iet,t)},writePackedSVarint:function(n,t){t.length&&this.writeMessage(n,ret,t)},writePackedBoolean:function(n,t){t.length&&this.writeMessage(n,eet,t)},writePackedFloat:function(n,t){t.length&&this.writeMessage(n,uet,t)},writePackedDouble:function(n,t){t.length&&this.writeMessage(n,fet,t)},writePackedFixed32:function(n,t){t.length&&this.writeMessage(n,oet,t)},writePackedSFixed32:function(n,t){t.length&&this.writeMessage(n,set,t)},writePackedFixed64:function(n,t){t.length&&this.writeMessage(n,het,t)},writePackedSFixed64:function(n,t){t.length&&this.writeMessage(n,cet,t)},writeBytesField:function(n,t){this.writeTag(n,p.Bytes);this.writeBytes(t)},writeFixed32Field:function(n,t){this.writeTag(n,p.Fixed32);this.writeFixed32(t)},writeSFixed32Field:function(n,t){this.writeTag(n,p.Fixed32);this.writeSFixed32(t)},writeFixed64Field:function(n,t){this.writeTag(n,p.Fixed64);this.writeFixed64(t)},writeSFixed64Field:function(n,t){this.writeTag(n,p.Fixed64);this.writeSFixed64(t)},writeVarintField:function(n,t){this.writeTag(n,p.Varint);this.writeVarint(t)},writeSVarintField:function(n,t){this.writeTag(n,p.Varint);this.writeSVarint(t)},writeStringField:function(n,t){this.writeTag(n,p.Bytes);this.writeString(t)},writeFloatField:function(n,t){this.writeTag(n,p.Fixed32);this.writeFloat(t)},writeDoubleField:function(n,t){this.writeTag(n,p.Fixed64);this.writeDouble(t)},writeBooleanField:function(n,t){this.writeVarintField(n,Boolean(t))}};rh=function(n,t){var i=t.pixelRatio,r=t.version,u=t.stretchX,f=t.stretchY,e=t.content;this.paddedRect=n;this.pixelRatio=i;this.stretchX=u;this.stretchY=f;this.content=e;this.version=r};oo={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};oo.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]};oo.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]};oo.tlbr.get=function(){return this.tl.concat(this.br)};oo.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]};Object.defineProperties(rh.prototype,oo);so=function(n,t){var h={},c={},e,l,i,a,v,y,p;this.haveRenderCallbacks=[];e=[];this.addImages(n,h,e);this.addImages(t,c,e);l=vn(e);i=new wt({width:l.w||1,height:l.h||1});for(a in n)v=n[a],y=h[a].paddedRect,wt.copy(v.data,i,{x:0,y:0},{x:y.x+1,y:y.y+1},v.data);for(p in t){var r=t[p],w=c[p].paddedRect,u=w.x+1,f=w.y+1,o=r.data.width,s=r.data.height;wt.copy(r.data,i,{x:0,y:0},{x:u,y:f},r.data);wt.copy(r.data,i,{x:0,y:s-1},{x:u,y:f-1},{width:o,height:1});wt.copy(r.data,i,{x:0,y:0},{x:u,y:f+s},{width:o,height:1});wt.copy(r.data,i,{x:o-1,y:0},{x:u-1,y:f},{width:1,height:s});wt.copy(r.data,i,{x:0,y:0},{x:u+o,y:f},{width:1,height:s})}this.image=i;this.iconPositions=h;this.patternPositions=c};so.prototype.addImages=function(n,t,i){var u,r,f;for(u in n)r=n[u],f={x:0,y:0,w:r.data.width+2,h:r.data.height+2},i.push(f),t[u]=new rh(f,r),r.hasRenderCallback&&this.haveRenderCallbacks.push(u)};so.prototype.patchUpdatedImages=function(n,t){for(var i in n.dispatchRenderCallbacks(this.haveRenderCallbacks),n.updatedImages)this.patchUpdatedImage(this.iconPositions[i],n.getImage(i),t),this.patchUpdatedImage(this.patternPositions[i],n.getImage(i),t)};so.prototype.patchUpdatedImage=function(n,t,i){if(n&&t&&n.version!==t.version){n.version=t.version;var r=n.tl;i.update(t.data,void 0,{x:r[0],y:r[1]})}};f("ImagePosition",rh);f("ImageAtlas",so);ui={horizontal:1,vertical:2,horizontalOnly:3};yf=function(){this.scale=1;this.fontStack="";this.imageName=null};yf.forText=function(n,t){var i=new yf;return i.scale=n||1,i.fontStack=t,i};yf.forImage=function(n){var t=new yf;return t.imageName=n,t};at=function(){this.text="";this.sectionIndex=[];this.sections=[];this.imageSectionID=null};at.fromFeature=function(n,t){for(var u,i=new at,r=0;r<n.sections.length;r++)u=n.sections[r],u.image?i.addImageSection(u):i.addTextSection(u,t);return i};at.prototype.length=function(){return this.text.length};at.prototype.getSection=function(n){return this.sections[this.sectionIndex[n]]};at.prototype.getSectionIndex=function(n){return this.sectionIndex[n]};at.prototype.getCharCode=function(n){return this.text.charCodeAt(n)};at.prototype.verticalizePunctuation=function(){this.text=function(n){for(var r,u,i="",t=0;t<n.length;t++)r=n.charCodeAt(t+1)||null,u=n.charCodeAt(t-1)||null,i+=r&&ld(r)&&!ih[n[t+1]]||u&&ld(u)&&!ih[n[t-1]]||!ih[n[t]]?n[t]:ih[n[t]];return i}(this.text)};at.prototype.trim=function(){for(var r,t,n=0,i=0;i<this.text.length&&uh[this.text.charCodeAt(i)];i++)n++;for(r=this.text.length,t=this.text.length-1;t>=0&&t>=n&&uh[this.text.charCodeAt(t)];t--)r--;this.text=this.text.substring(n,r);this.sectionIndex=this.sectionIndex.slice(n,r)};at.prototype.substring=function(n,t){var i=new at;return i.text=this.text.substring(n,t),i.sectionIndex=this.sectionIndex.slice(n,t),i.sections=this.sections,i};at.prototype.toString=function(){return this.text};at.prototype.getMaxScale=function(){var n=this;return this.sectionIndex.reduce(function(t,i){return Math.max(t,n.sections[i].scale)},0)};at.prototype.addTextSection=function(n,t){this.text+=n.text;this.sections.push(yf.forText(n.scale,n.fontStack||t));for(var r=this.sections.length-1,i=0;i<n.text.length;++i)this.sectionIndex.push(r)};at.prototype.addImageSection=function(n){var i=n.image?n.image.name:"",t;0!==i.length?(t=this.getNextImageSectionCharCode(),t?(this.text+=String.fromCharCode(t),this.sections.push(yf.forImage(i)),this.sectionIndex.push(this.sections.length-1)):bt("Reached maximum number of images 6401")):bt("Can't add FormattedSection with an empty image.")};at.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};uh={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0};ni={};ni[10]=!0;ni[32]=!0;ni[38]=!0;ni[40]=!0;ni[41]=!0;ni[43]=!0;ni[45]=!0;ni[47]=!0;ni[173]=!0;ni[183]=!0;ni[8203]=!0;ni[8208]=!0;ni[8211]=!0;ni[8231]=!0;pf=function(n){function t(t,i,r,u){n.call(this,t,i);this.angle=r;void 0!==u&&(this.segment=u)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.clone=function(){return new t(this.x,this.y,this.angle,this.segment)},t}(h);f("Anchor",pf);gn=Object.freeze({__proto__:null,getSizeData:nw,evaluateSizeForFeature:kn,evaluateSizeForZoom:dn,SIZE_PACK_FACTOR:128});fh=function(n,t,i,r,u,f,e,o,s,c){var l;if(this.boxStartIndex=n.length,s){var it=f.top,rt=f.bottom,tt=f.collisionPadding;tt&&(it-=tt[1],rt+=tt[3]);l=rt-it;l>0&&(l=Math.max(10,l),this.circleDiameter=l)}else{var a=f.top*e-o,v=f.bottom*e+o,y=f.left*e-o,p=f.right*e+o,w=f.collisionPadding;if(w&&(y-=w[0]*e,a-=w[1]*e,p+=w[2]*e,v+=w[3]*e),c){var b=new h(y,a),k=new h(p,a),d=new h(y,v),g=new h(p,v),nt=c*Math.PI/180;b._rotate(nt);k._rotate(nt);d._rotate(nt);g._rotate(nt);y=Math.min(b.x,k.x,d.x,g.x);p=Math.max(b.x,k.x,d.x,g.x);a=Math.min(b.y,k.y,d.y,g.y);v=Math.max(b.y,k.y,d.y,g.y)}n.emplaceBack(t.x,t.y,y,a,p,v,i,r,u)}this.boxEndIndex=n.length};wf=function(n,t){if(void 0===n&&(n=[]),void 0===t&&(t=det),this.data=n,this.length=this.data.length,this.compare=t,this.length>0)for(var i=(this.length>>1)-1;i>=0;i--)this._down(i)};wf.prototype.push=function(n){this.data.push(n);this.length++;this._up(this.length-1)};wf.prototype.pop=function(){if(0!==this.length){var n=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),n}};wf.prototype.peek=function(){return this.data[0]};wf.prototype._up=function(n){for(var i,r,t=this.data,f=this.compare,u=t[n];n>0;){if(i=n-1>>1,r=t[i],f(u,r)>=0)break;t[n]=r;n=i}t[n]=u};wf.prototype._down=function(n){for(var t=this.data,f=this.compare,o=this.length>>1,e=t[n];n<o;){var i=1+(n<<1),r=t[i],u=i+1;if(u<this.length&&f(t[u],r)<0&&(i=u,r=t[u]),f(r,e)>=0)break;t[n]=r;n=i}t[n]=e};aa=Number.POSITIVE_INFINITY;ctt=uo.VectorTileFeature.types;ltt=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];bf=function(n){this.layoutVertexArray=new tl;this.indexArray=new eu;this.programConfigurations=n;this.segments=new ft;this.dynamicLayoutVertexArray=new il;this.opacityVertexArray=new rl;this.placedSymbolArray=new py};bf.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length};bf.prototype.upload=function(n,t,i,r){this.isEmpty()||(i&&(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,kft.members),this.indexBuffer=n.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=n.createVertexBuffer(this.dynamicLayoutVertexArray,dft.members,!0),this.opacityVertexBuffer=n.createVertexBuffer(this.opacityVertexArray,ltt,!0),this.opacityVertexBuffer.itemSize=1),(i||r)&&this.programConfigurations.upload(n))};bf.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())};f("SymbolBuffers",bf);co=function(n,t,i){this.layoutVertexArray=new n;this.layoutAttributes=t;this.indexArray=new i;this.segments=new ft;this.collisionVertexArray=new el};co.prototype.upload=function(n){this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes);this.indexBuffer=n.createIndexBuffer(this.indexArray);this.collisionVertexBuffer=n.createVertexBuffer(this.collisionVertexArray,gft.members,!0)};co.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())};f("CollisionBuffers",co);v=function(n){var i;this.collisionBoxArray=n.collisionBoxArray;this.zoom=n.zoom;this.overscaling=n.overscaling;this.layers=n.layers;this.layerIds=this.layers.map(function(n){return n.id});this.index=n.index;this.pixelRatio=n.pixelRatio;this.sourceLayerIndex=n.sourceLayerIndex;this.hasPattern=!1;this.hasRTLText=!1;this.sortKeyRanges=[];this.collisionCircleArray=[];this.placementInvProjMatrix=fp([]);this.placementViewportMatrix=fp([]);i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=nw(this.zoom,i["text-size"]);this.iconSizeData=nw(this.zoom,i["icon-size"]);var t=this.layers[0].layout,u=t.get("symbol-sort-key"),r=t.get("symbol-z-order");this.sortFeaturesByKey="viewport-y"!==r&&void 0!==u.constantOr(1);this.sortFeaturesByY=("viewport-y"===r||"auto"===r&&!this.sortFeaturesByKey)&&(t.get("text-allow-overlap")||t.get("icon-allow-overlap")||t.get("text-ignore-placement")||t.get("icon-ignore-placement"));"point"===t.get("symbol-placement")&&(this.writingModes=t.get("text-writing-mode").map(function(n){return ui[n]}));this.stateDependentLayerIds=this.layers.filter(function(n){return n.isStateDependent()}).map(function(n){return n.id});this.sourceID=n.sourceID};v.prototype.createArrays=function(){this.text=new bf(new vi(this.layers,this.zoom,function(n){return/^text/.test(n)}));this.icon=new bf(new vi(this.layers,this.zoom,function(n){return/^icon/.test(n)}));this.glyphOffsetArray=new ky;this.lineVertexArray=new dy;this.symbolInstances=new by};v.prototype.calculateGlyphDependencies=function(n,t,i,r,u){for(var e,f=0;f<n.length;f++)(t[n.charCodeAt(f)]=!0,(i||r)&&u)&&(e=ih[n.charAt(f)],e&&(t[e.charCodeAt(0)]=!0))};v.prototype.populate=function(n,t,i){var o=this.layers[0],r=o.layout,y=r.get("text-font"),c=r.get("text-field"),p=r.get("icon-image"),g=("constant"!==c.value.kind||c.value.value instanceof ht&&!c.value.value.isEmpty()||c.value.value.toString().length>0)&&("constant"!==y.value.kind||y.value.value.length>0),nt="constant"!==p.value.kind||!!p.value.value||Object.keys(p.parameters).length>0,yt=r.get("symbol-sort-key"),e,ot,b,s,a,st,ct,lt,at,v,k,h;if(this.features=[],g||nt){for(var tt=t.iconDependencies,it=t.glyphDependencies,rt=t.availableImages,pt=new d(this.zoom),w=0,ut=n;w<ut.length;w+=1){var l=ut[w],u=l.feature,ft=l.id,wt=l.index,bt=l.sourceLayerIndex,et=o._featureFilter.needGeometry,f={type:u.type,id:ft,properties:u.properties,geometry:et?bi(u):[]};if(o._featureFilter.filter(pt,f,i)&&(et||(f.geometry=bi(u)),e=void 0,g&&(ot=o.getValueAndResolveTokens("text-field",f,i,rt),b=ht.factory(ot),iot(b)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===ay()||this.hasRTLText&&ai.isParsed())&&(e=tet(b,o,f))),s=void 0,nt&&(a=o.getValueAndResolveTokens("icon-image",f,i,rt),s=a instanceof ti?a:ti.fromString(a)),(e||s)&&(st=this.sortFeaturesByKey?yt.evaluate(f,{},i):void 0,ct={id:ft,text:e,icon:s,index:wt,sourceLayerIndex:bt,geometry:bi(u),properties:u.properties,type:ctt[u.type],sortKey:st},this.features.push(ct),s&&(tt[s.name]=!0),e)))for(lt=y.evaluate(f,{},i).join(","),at="map"===r.get("text-rotation-alignment")&&"point"!==r.get("symbol-placement"),this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(ui.vertical)>=0,v=0,k=e.sections;v<k.length;v+=1)if(h=k[v],h.image)tt[h.image.name]=!0;else{var kt=oy(e.toString()),vt=h.fontStack||lt,dt=it[vt]=it[vt]||{};this.calculateGlyphDependencies(h.text,dt,at,this.allowVerticalPlacement,kt)}}"line"===r.get("symbol-placement")&&(this.features=function(n){function y(i){t.push(n[i]);h++}function p(n,i,r){var f=u[n];return delete u[n],u[i]=f,t[f].geometry[0].pop(),t[f].geometry[0]=t[f].geometry[0].concat(r[0]),f}function w(n,i,r){var u=f[i];return delete f[i],f[n]=u,t[u].geometry[0].shift(),t[u].geometry[0]=r[0].concat(t[u].geometry[0]),u}function c(n,t,i){var r=i?t[0][t[0].length-1]:t[0][0];return n+":"+r.x+":"+r.y}for(var i,r,a,v,f={},u={},t=[],h=0,e=0;e<n.length;e++){var l=n[e],o=l.geometry,s=l.text?l.text.toString():null;s?(i=c(s,o),r=c(s,o,!0),i in u&&r in f&&u[i]!==f[r]?(a=w(i,r,o),v=p(i,r,t[a].geometry),delete f[i],delete u[r],u[c(s,t[v].geometry,!0)]=v,t[a].geometry=null):i in u?p(i,r,o):r in f?w(i,r,o):(y(e),f[i]=h-1,u[r]=h-1)):y(e)}return t.filter(function(n){return n.geometry})}(this.features));this.sortFeaturesByKey&&this.features.sort(function(n,t){return n.sortKey-t.sortKey})}};v.prototype.update=function(n,t,i){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(n,t,this.layers,i),this.icon.programConfigurations.updatePaintArrays(n,t,this.layers,i))};v.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText};v.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload};v.prototype.upload=function(n){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(n),this.iconCollisionBox.upload(n));this.text.upload(n,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload);this.icon.upload(n,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload);this.uploaded=!0};v.prototype.destroyDebugData=function(){this.textCollisionBox.destroy();this.iconCollisionBox.destroy()};v.prototype.destroy=function(){this.text.destroy();this.icon.destroy();this.hasDebugData()&&this.destroyDebugData()};v.prototype.addToLineVertexArray=function(n,t){var o=this.lineVertexArray.length,i,u,f;if(void 0!==n.segment){for(var s=n.dist(t[n.segment+1]),h=n.dist(t[n.segment]),e={},r=n.segment+1;r<t.length;r++)e[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:s},r<t.length-1&&(s+=t[r+1].dist(t[r]));for(i=n.segment||0;i>=0;i--)e[i]={x:t[i].x,y:t[i].y,tileUnitDistanceFromAnchor:h},i>0&&(h+=t[i-1].dist(t[i]));for(u=0;u<t.length;u++)f=e[u],this.lineVertexArray.emplaceBack(f.x,f.y,f.tileUnitDistanceFromAnchor)}return{lineStartIndex:o,lineLength:this.lineVertexArray.length-o}};v.prototype.addSymbols=function(n,t,i,r,u,f,e,o,s,h,c,l){for(var rt=n.indexArray,y=n.layoutVertexArray,b=n.segments.prepareSegment(4*t.length,y,rt,f.sortKey),ut=this.glyphOffsetArray.length,at=b.vertexLength,vt=this.allowVerticalPlacement&&e===ui.vertical?Math.PI/2:0,ft=f.text&&f.text.sections,w=0;w<t.length;w++){var a=t[w],et=a.tl,ot=a.tr,st=a.bl,ht=a.br,v=a.tex,k=a.pixelOffsetTL,d=a.pixelOffsetBR,g=a.minFontScaleX,nt=a.minFontScaleY,ct=a.glyphOffset,tt=a.isSDF,lt=a.sectionIndex,p=b.vertexLength,it=ct[1];va(y,o.x,o.y,et.x,it+et.y,v.x,v.y,i,tt,k.x,k.y,g,nt);va(y,o.x,o.y,ot.x,it+ot.y,v.x+v.w,v.y,i,tt,d.x,k.y,g,nt);va(y,o.x,o.y,st.x,it+st.y,v.x,v.y+v.h,i,tt,k.x,d.y,g,nt);va(y,o.x,o.y,ht.x,it+ht.y,v.x+v.w,v.y+v.h,i,tt,d.x,d.y,g,nt);iw(n.dynamicLayoutVertexArray,o,vt);rt.emplaceBack(p,p+1,p+2);rt.emplaceBack(p+1,p+2,p+3);b.vertexLength+=4;b.primitiveLength+=2;this.glyphOffsetArray.emplaceBack(ct[0]);w!==t.length-1&&lt===t[w+1].sectionIndex||n.programConfigurations.populatePaintArrays(y.length,f,f.index,{},l,ft&&ft[lt])}n.placedSymbolArray.emplaceBack(o.x,o.y,ut,this.glyphOffsetArray.length-ut,at,s,h,o.segment,i?i[0]:0,i?i[1]:0,r[0],r[1],e,0,!1,0,c)};v.prototype._addCollisionDebugVertex=function(n,t,i,r,u,f){return t.emplaceBack(0,0),n.emplaceBack(i.x,i.y,r,u,Math.round(f.x),Math.round(f.y))};v.prototype.addCollisionDebugVertices=function(n,t,i,r,u,f,e){var y=u.segments.prepareSegment(4,u.layoutVertexArray,u.indexArray),o=y.vertexLength,c=u.layoutVertexArray,l=u.collisionVertexArray,a=e.anchorX,v=e.anchorY,s;this._addCollisionDebugVertex(c,l,f,a,v,new h(n,t));this._addCollisionDebugVertex(c,l,f,a,v,new h(i,t));this._addCollisionDebugVertex(c,l,f,a,v,new h(i,r));this._addCollisionDebugVertex(c,l,f,a,v,new h(n,r));y.vertexLength+=4;s=u.indexArray;s.emplaceBack(o,o+1);s.emplaceBack(o+1,o+2);s.emplaceBack(o+2,o+3);s.emplaceBack(o+3,o);y.primitiveLength+=4};v.prototype.addDebugCollisionBoxes=function(n,t,i,r){for(var u,f=n;f<t;f++)u=this.collisionBoxArray.get(f),this.addCollisionDebugVertices(u.x1,u.y1,u.x2,u.y2,r?this.textCollisionBox:this.iconCollisionBox,u.anchorPoint,i)};v.prototype.generateCollisionDebugBuffers=function(){var t,n;for(this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new co(as,sn.members,no),this.iconCollisionBox=new co(as,sn.members,no),t=0;t<this.symbolInstances.length;t++)n=this.symbolInstances.get(t),this.addDebugCollisionBoxes(n.textBoxStartIndex,n.textBoxEndIndex,n,!0),this.addDebugCollisionBoxes(n.verticalTextBoxStartIndex,n.verticalTextBoxEndIndex,n,!0),this.addDebugCollisionBoxes(n.iconBoxStartIndex,n.iconBoxEndIndex,n,!1),this.addDebugCollisionBoxes(n.verticalIconBoxStartIndex,n.verticalIconBoxEndIndex,n,!1)};v.prototype._deserializeCollisionBoxesForSymbol=function(n,t,i,r,u,f,e,o,s){for(var c,p,l,w,a,b,v,h={},y=t;y<i;y++){c=n.get(y);h.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY};h.textFeatureIndex=c.featureIndex;break}for(p=r;p<u;p++){l=n.get(p);h.verticalTextBox={x1:l.x1,y1:l.y1,x2:l.x2,y2:l.y2,anchorPointX:l.anchorPointX,anchorPointY:l.anchorPointY};h.verticalTextFeatureIndex=l.featureIndex;break}for(w=f;w<e;w++){a=n.get(w);h.iconBox={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,anchorPointX:a.anchorPointX,anchorPointY:a.anchorPointY};h.iconFeatureIndex=a.featureIndex;break}for(b=o;b<s;b++){v=n.get(b);h.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY};h.verticalIconFeatureIndex=v.featureIndex;break}return h};v.prototype.deserializeCollisionBoxes=function(n){var i,t;for(this.collisionArrays=[],i=0;i<this.symbolInstances.length;i++)t=this.symbolInstances.get(i),this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(n,t.textBoxStartIndex,t.textBoxEndIndex,t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t.iconBoxStartIndex,t.iconBoxEndIndex,t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex))};v.prototype.hasTextData=function(){return this.text.segments.get().length>0};v.prototype.hasIconData=function(){return this.icon.segments.get().length>0};v.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox};v.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0};v.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0};v.prototype.addIndicesForPlacedSymbol=function(n,t){for(var r=n.placedSymbolArray.get(t),u=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<u;i+=4)n.indexArray.emplaceBack(i,i+1,i+2),n.indexArray.emplaceBack(i+1,i+2,i+3)};v.prototype.getSortedSymbolIndexes=function(n){var i;if(this.sortedAngle===n&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(n),o=Math.cos(n),r=[],u=[],f=[],t=0;t<this.symbolInstances.length;++t)f.push(t),i=this.symbolInstances.get(t),r.push(0|Math.round(e*i.anchorX+o*i.anchorY)),u.push(i.featureIndex);return f.sort(function(n,t){return r[n]-r[t]||u[t]-u[n]}),f};v.prototype.addToSortKeyRanges=function(n,t){var i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===t?i.symbolInstanceEnd=n+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:n,symbolInstanceEnd:n+1})};v.prototype.sortFeatures=function(n){var u=this,i,r,t;if(this.sortFeaturesByY&&this.sortedAngle!==n&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){for(this.symbolInstanceIndexes=this.getSortedSymbolIndexes(n),this.sortedAngle=n,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[],i=0,r=this.symbolInstanceIndexes;i<r.length;i+=1)t=this.symbolInstances.get(r[i]),this.featureSortOrder.push(t.featureIndex),[t.rightJustifiedTextSymbolIndex,t.centerJustifiedTextSymbolIndex,t.leftJustifiedTextSymbolIndex].forEach(function(n,t,i){n>=0&&i.indexOf(n)===t&&u.addIndicesForPlacedSymbol(u.text,n)}),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)}};f("SymbolBucket",v,{omit:["layers","collisionBoxArray","features","compareText"]});v.MAX_GLYPHS=65535;v.addDynamicAttributes=iw;var rot=new ii({"symbol-placement":new o(t.layout_symbol["symbol-placement"]),"symbol-spacing":new o(t.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new o(t.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new s(t.layout_symbol["symbol-sort-key"]),"symbol-z-order":new o(t.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new o(t.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new o(t.layout_symbol["icon-ignore-placement"]),"icon-optional":new o(t.layout_symbol["icon-optional"]),"icon-rotation-alignment":new o(t.layout_symbol["icon-rotation-alignment"]),"icon-size":new s(t.layout_symbol["icon-size"]),"icon-text-fit":new o(t.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new o(t.layout_symbol["icon-text-fit-padding"]),"icon-image":new s(t.layout_symbol["icon-image"]),"icon-rotate":new s(t.layout_symbol["icon-rotate"]),"icon-padding":new o(t.layout_symbol["icon-padding"]),"icon-keep-upright":new o(t.layout_symbol["icon-keep-upright"]),"icon-offset":new s(t.layout_symbol["icon-offset"]),"icon-anchor":new s(t.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new o(t.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new o(t.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new o(t.layout_symbol["text-rotation-alignment"]),"text-field":new s(t.layout_symbol["text-field"]),"text-font":new s(t.layout_symbol["text-font"]),"text-size":new s(t.layout_symbol["text-size"]),"text-max-width":new s(t.layout_symbol["text-max-width"]),"text-line-height":new o(t.layout_symbol["text-line-height"]),"text-letter-spacing":new s(t.layout_symbol["text-letter-spacing"]),"text-justify":new s(t.layout_symbol["text-justify"]),"text-radial-offset":new s(t.layout_symbol["text-radial-offset"]),"text-variable-anchor":new o(t.layout_symbol["text-variable-anchor"]),"text-anchor":new s(t.layout_symbol["text-anchor"]),"text-max-angle":new o(t.layout_symbol["text-max-angle"]),"text-writing-mode":new o(t.layout_symbol["text-writing-mode"]),"text-rotate":new s(t.layout_symbol["text-rotate"]),"text-padding":new o(t.layout_symbol["text-padding"]),"text-keep-upright":new o(t.layout_symbol["text-keep-upright"]),"text-transform":new s(t.layout_symbol["text-transform"]),"text-offset":new s(t.layout_symbol["text-offset"]),"text-allow-overlap":new o(t.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new o(t.layout_symbol["text-ignore-placement"]),"text-optional":new o(t.layout_symbol["text-optional"])}),rw={paint:new ii({"icon-opacity":new s(t.paint_symbol["icon-opacity"]),"icon-color":new s(t.paint_symbol["icon-color"]),"icon-halo-color":new s(t.paint_symbol["icon-halo-color"]),"icon-halo-width":new s(t.paint_symbol["icon-halo-width"]),"icon-halo-blur":new s(t.paint_symbol["icon-halo-blur"]),"icon-translate":new o(t.paint_symbol["icon-translate"]),"icon-translate-anchor":new o(t.paint_symbol["icon-translate-anchor"]),"text-opacity":new s(t.paint_symbol["text-opacity"]),"text-color":new s(t.paint_symbol["text-color"],{runtimeType:rr,getOverride:function(n){return n.textColor},hasOverride:function(n){return!!n.textColor}}),"text-halo-color":new s(t.paint_symbol["text-halo-color"]),"text-halo-width":new s(t.paint_symbol["text-halo-width"]),"text-halo-blur":new s(t.paint_symbol["text-halo-blur"]),"text-translate":new o(t.paint_symbol["text-translate"]),"text-translate-anchor":new o(t.paint_symbol["text-translate-anchor"])}),layout:rot},lo=function(n){this.type=n.property.overrides?n.property.overrides.runtimeType:wo;this.defaultValue=n};lo.prototype.evaluate=function(n){if(n.formattedSection){var t=this.defaultValue.property.overrides;if(t&&t.hasOverride(n.formattedSection))return t.getOverride(n.formattedSection)}return n.feature&&n.featureState?this.defaultValue.evaluate(n.feature,n.featureState):this.defaultValue.property.specification.default};lo.prototype.eachChild=function(n){this.defaultValue.isConstant()||n(this.defaultValue.value._styleExpression.expression)};lo.prototype.outputDefined=function(){return!1};lo.prototype.serialize=function(){return null};f("FormatSectionOverride",lo,{omit:["defaultValue"]});var uot=function(n){function t(t){n.call(this,t,rw)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.recalculate=function(t,i){var r,e;if(n.prototype.recalculate.call(this,t,i),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement"))if(r=this.layout.get("text-writing-mode"),r){for(var u=[],f=0,o=r;f<o.length;f+=1)e=o[f],u.indexOf(e)<0&&u.push(e);this.layout._values["text-writing-mode"]=u}else this.layout._values["text-writing-mode"]=["horizontal"];this._setPaintOverrides()},t.prototype.getValueAndResolveTokens=function(n,t,i,r){var u=this.layout.get(n).evaluate(t,{},i,r),f=this._unevaluatedLayout._values[n];return f.isDataDriven()||hc(f.value)||!u?u:function(n,t){return t.replace(/{([^{}]+)}/g,function(t,i){return i in n?String(n[i]):""})}(t.properties,u)},t.prototype.createBucket=function(n){return new v(n)},t.prototype.queryRadius=function(){return 0},t.prototype.queryIntersectsFeature=function(){return!1},t.prototype._setPaintOverrides=function(){for(var r,i=0,u=rw.paint.overridableProperties;i<u.length;i+=1)if(r=u[i],t.hasPaintOverride(this.layout,r)){var f,n=this.paint.get(r),o=new lo(n),e=new ce(o,n.property.specification);f="constant"===n.value.kind||"source"===n.value.kind?new le("source",e):new sf("composite",e,n.value.zoomStops,n.value._interpolationType);this.paint._values[r]=new oi(n.property,f,n.parameters)}},t.prototype._handleOverridablePaintPropertyUpdate=function(n,i,r){return!(!this.layout||i.isDataDriven()||r.isDataDriven())&&t.hasPaintOverride(this.layout,n)},t.hasPaintOverride=function(n,t){var i=n.get("text-field"),o=rw.paint.properties[t],r=!1,u=function(n){for(var t=0,i=n;t<i.length;t+=1)if(o.overrides&&o.overrides.hasOverride(i[t]))return void(r=!0)},f,e;return"constant"===i.value.kind&&i.value.value instanceof ht?u(i.value.value.sections):"source"===i.value.kind&&(f=function(n){r||(n instanceof pi&&et(n.value)===bo?u(n.value.sections):n instanceof ur?u(n.sections):n.eachChild(f))},e=i.value,e._styleExpression&&f(e._styleExpression.expression)),r},t}(or),fot={paint:new ii({"background-color":new o(t.paint_background["background-color"]),"background-pattern":new af(t.paint_background["background-pattern"]),"background-opacity":new o(t.paint_background["background-opacity"])})},eot=function(n){function t(t){n.call(this,t,fot)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t}(or),oot={paint:new ii({"raster-opacity":new o(t.paint_raster["raster-opacity"]),"raster-hue-rotate":new o(t.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new o(t.paint_raster["raster-brightness-min"]),"raster-brightness-max":new o(t.paint_raster["raster-brightness-max"]),"raster-saturation":new o(t.paint_raster["raster-saturation"]),"raster-contrast":new o(t.paint_raster["raster-contrast"]),"raster-resampling":new o(t.paint_raster["raster-resampling"]),"raster-fade-duration":new o(t.paint_raster["raster-fade-duration"])})},sot=function(n){function t(t){n.call(this,t,oot)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t}(or),hot=function(n){function t(t){n.call(this,t,{});this.implementation=t}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.is3D=function(){return"3d"===this.implementation.renderingMode},t.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},t.prototype.recalculate=function(){},t.prototype.updateTransitions=function(){},t.prototype.hasTransition=function(){},t.prototype.serialize=function(){},t.prototype.onAdd=function(n){this.implementation.onAdd&&this.implementation.onAdd(n,n.painter.context.gl)},t.prototype.onRemove=function(n){this.implementation.onRemove&&this.implementation.onRemove(n,n.painter.context.gl)},t}(or),cot={circle:hg,heatmap:sut,hillshade:cut,fill:eft,"fill-extrusion":nn,line:en,symbol:uot,background:eot,raster:sot},att=e.HTMLImageElement,vtt=e.HTMLCanvasElement,ytt=e.HTMLVideoElement,ptt=e.ImageData,ya=e.ImageBitmap,kf=function(n,t,i,r){this.context=n;this.format=i;this.texture=n.gl.createTexture();this.update(t,r)};kf.prototype.update=function(n,t,i){var u=n.width,f=n.height,c=!(this.size&&this.size[0]===u&&this.size[1]===f||i),e=this.context,r=e.gl;if(this.useMipmap=Boolean(t&&t.useMipmap),r.bindTexture(r.TEXTURE_2D,this.texture),e.pixelStoreUnpackFlipY.set(!1),e.pixelStoreUnpack.set(1),e.pixelStoreUnpackPremultiplyAlpha.set(this.format===r.RGBA&&(!t||!1!==t.premultiply)),c)this.size=[u,f],n instanceof att||n instanceof vtt||n instanceof ytt||n instanceof ptt||ya&&n instanceof ya?r.texImage2D(r.TEXTURE_2D,0,this.format,this.format,r.UNSIGNED_BYTE,n):r.texImage2D(r.TEXTURE_2D,0,this.format,u,f,0,this.format,r.UNSIGNED_BYTE,n.data);else{var o=i||{x:0,y:0},s=o.x,h=o.y;n instanceof att||n instanceof vtt||n instanceof ytt||n instanceof ptt||ya&&n instanceof ya?r.texSubImage2D(r.TEXTURE_2D,0,s,h,r.RGBA,r.UNSIGNED_BYTE,n):r.texSubImage2D(r.TEXTURE_2D,0,s,h,u,f,r.RGBA,r.UNSIGNED_BYTE,n.data)}this.useMipmap&&this.isSizePowerOfTwo()&&r.generateMipmap(r.TEXTURE_2D)};kf.prototype.bind=function(n,t,i){var r=this.context.gl;r.bindTexture(r.TEXTURE_2D,this.texture);i!==r.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=r.LINEAR);n!==this.filter&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,n),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,i||n),this.filter=n);t!==this.wrap&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,t),this.wrap=t)};kf.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0};kf.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture);this.texture=null};pa=function(n){var t=this;this._callback=n;this._triggered=!1;"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){t._triggered=!1;t._callback()})};pa.prototype.trigger=function(){var n=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){n._triggered=!1;n._callback()},0))};pa.prototype.remove=function(){delete this._channel;this._callback=function(){}};df=function(n,t,i){this.target=n;this.parent=t;this.mapId=i;this.callbacks={};this.tasks={};this.taskQueue=[];this.cancelCallbacks={};ww(["receive","process"],this);this.invoker=new pa(this.process);this.target.addEventListener("message",this.receive,!1);this.globalScope=ch()?n:e};df.prototype.send=function(n,t,i,r,u){var e=this,f,o;return void 0===u&&(u=!1),f=Math.round(1e18*Math.random()).toString(36).substring(0,10),i&&(this.callbacks[f]=i),o=kw(this.globalScope)?void 0:[],this.target.postMessage({id:f,type:n,hasCallback:!!i,targetMapId:r,mustQueue:u,sourceMapId:this.mapId,data:ss(t,o)},o),{cancel:function(){i&&delete e.callbacks[f];e.target.postMessage({id:f,type:"<cancel>",targetMapId:r,sourceMapId:e.mapId})}}};df.prototype.receive=function(n){var t=n.data,i=t.id,r;i&&(!t.targetMapId||this.mapId===t.targetMapId)&&("<cancel>"===t.type?(delete this.tasks[i],r=this.cancelCallbacks[i],delete this.cancelCallbacks[i],r&&r()):ch()||t.mustQueue?(this.tasks[i]=t,this.taskQueue.push(i),this.invoker.trigger()):this.processTask(i,t))};df.prototype.process=function(){if(this.taskQueue.length){var n=this.taskQueue.shift(),t=this.tasks[n];delete this.tasks[n];this.taskQueue.length&&this.invoker.trigger();t&&this.processTask(n,t)}};df.prototype.processTask=function(n,t){var u=this,r,s;if("<response>"===t.type)r=this.callbacks[n],delete this.callbacks[n],r&&(t.error?r(hs(t.error)):r(null,hs(t.data)));else{var f=!1,h=kw(this.globalScope)?void 0:[],e=t.hasCallback?function(t,i){f=!0;delete u.cancelCallbacks[n];u.target.postMessage({id:n,type:"<response>",sourceMapId:u.mapId,error:t?ss(t):null,data:ss(i,h)},h)}:function(){f=!0},i=null,o=hs(t.data);this.parent[t.type]?i=this.parent[t.type](t.sourceMapId,o,e):this.parent.getWorkerSource?(s=t.type.split("."),i=this.parent.getWorkerSource(t.sourceMapId,s[0],o.source)[s[1]](o,e)):e(new Error("Could not find function "+t.type));!f&&i&&i.cancel&&(this.cancelCallbacks[n]=i.cancel)}};df.prototype.remove=function(){this.invoker.remove();this.target.removeEventListener("message",this.receive,!1)};nt=function(n,t){n&&(t?this.setSouthWest(n).setNorthEast(t):4===n.length?this.setSouthWest([n[0],n[1]]).setNorthEast([n[2],n[3]]):this.setSouthWest(n[0]).setNorthEast(n[1]))};nt.prototype.setNorthEast=function(n){return this._ne=n instanceof w?new w(n.lng,n.lat):w.convert(n),this};nt.prototype.setSouthWest=function(n){return this._sw=n instanceof w?new w(n.lng,n.lat):w.convert(n),this};nt.prototype.extend=function(n){var i,t,r=this._sw,u=this._ne;if(n instanceof w)i=n,t=n;else{if(!(n instanceof nt))return Array.isArray(n)?4===n.length||n.every(Array.isArray)?this.extend(nt.convert(n)):this.extend(w.convert(n)):this;if(t=n._ne,!(i=n._sw)||!t)return this}return r||u?(r.lng=Math.min(i.lng,r.lng),r.lat=Math.min(i.lat,r.lat),u.lng=Math.max(t.lng,u.lng),u.lat=Math.max(t.lat,u.lat)):(this._sw=new w(i.lng,i.lat),this._ne=new w(t.lng,t.lat)),this};nt.prototype.getCenter=function(){return new w((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)};nt.prototype.getSouthWest=function(){return this._sw};nt.prototype.getNorthEast=function(){return this._ne};nt.prototype.getNorthWest=function(){return new w(this.getWest(),this.getNorth())};nt.prototype.getSouthEast=function(){return new w(this.getEast(),this.getSouth())};nt.prototype.getWest=function(){return this._sw.lng};nt.prototype.getSouth=function(){return this._sw.lat};nt.prototype.getEast=function(){return this._ne.lng};nt.prototype.getNorth=function(){return this._ne.lat};nt.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]};nt.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"};nt.prototype.isEmpty=function(){return!(this._sw&&this._ne)};nt.prototype.contains=function(n){var i=w.convert(n),t=i.lng,r=i.lat,u=this._sw.lng<=t&&t<=this._ne.lng;return this._sw.lng>this._ne.lng&&(u=this._sw.lng>=t&&t>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&u};nt.convert=function(n){return!n||n instanceof nt?n:new nt(n)};w=function(n,t){if(isNaN(n)||isNaN(t))throw new Error("Invalid LngLat object: ("+n+", "+t+")");if(this.lng=+n,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90");};w.prototype.wrap=function(){return new w(lw(this.lng,-180,180),this.lat)};w.prototype.toArray=function(){return[this.lng,this.lat]};w.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"};w.prototype.distanceTo=function(n){var t=Math.PI/180,i=this.lat*t,r=n.lat*t,u=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((n.lng-this.lng)*t);return 6371008.8*Math.acos(Math.min(u,1))};w.prototype.toBounds=function(n){void 0===n&&(n=0);var t=360*n/40075017,i=t/Math.cos(Math.PI/180*this.lat);return new nt(new w(this.lng-i,this.lat-t),new w(this.lng+i,this.lat+t))};w.convert=function(n){if(n instanceof w)return n;if(Array.isArray(n)&&(2===n.length||3===n.length))return new w(Number(n[0]),Number(n[1]));if(!Array.isArray(n)&&"object"==typeof n&&null!==n)return new w(Number("lng"in n?n.lng:n.lon),Number(n.lat));throw new 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>]");};uw=2*Math.PI*6371008.8;nf=function(n,t,i){void 0===i&&(i=0);this.x=+n;this.y=+t;this.z=+i};nf.fromLngLat=function(n,t){void 0===t&&(t=0);var i=w.convert(n);return new nf(ktt(i.lng),dtt(i.lat),gtt(t,i.lat))};nf.prototype.toLngLat=function(){return new w(360*this.x-180,fw(this.y))};nf.prototype.toAltitude=function(){return this.z*btt(fw(this.y))};nf.prototype.meterInMercatorCoordinateUnits=function(){return 1/uw*(n=fw(this.y),1/Math.cos(n*Math.PI/180));var n};tf=function(n,t,i){this.z=n;this.x=t;this.y=i;this.key=eh(0,n,n,t,i)};tf.prototype.equals=function(n){return this.z===n.z&&this.x===n.x&&this.y===n.y};tf.prototype.url=function(n,t){var e,i,r,u,f,o=(i=this.y,r=this.z,u=wtt(256*(e=this.x),256*(i=Math.pow(2,r)-i-1),r),f=wtt(256*(e+1),256*(i+1),r),u[0]+","+u[1]+","+f[0]+","+f[1]),s=function(n,t,i){for(var u,f="",r=n;r>0;r--)f+=(t&(u=1<<r-1)?1:0)+(i&u?2:0);return f}(this.z,this.x,this.y);return n[(this.x+this.y)%n.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===t?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",s).replace("{bbox-epsg-3857}",o)};tf.prototype.getTilePoint=function(n){var t=Math.pow(2,this.z);return new h(8192*(n.x*t-this.x),8192*(n.y*t-this.y))};tf.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};ew=function(n,t){this.wrap=n;this.canonical=t;this.key=eh(n,t.z,t.z,t.x,t.y)};tt=function(n,t,i,r,u){this.overscaledZ=n;this.wrap=t;this.canonical=new tf(i,+r,+u);this.key=eh(t,n,i,r,u)};tt.prototype.equals=function(n){return this.overscaledZ===n.overscaledZ&&this.wrap===n.wrap&&this.canonical.equals(n.canonical)};tt.prototype.scaledTo=function(n){var t=this.canonical.z-n;return n>this.canonical.z?new tt(n,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new tt(n,this.wrap,n,this.canonical.x>>t,this.canonical.y>>t)};tt.prototype.calculateScaledKey=function(n,t){var i=this.canonical.z-n;return n>this.canonical.z?eh(this.wrap*+t,n,this.canonical.z,this.canonical.x,this.canonical.y):eh(this.wrap*+t,n,n,this.canonical.x>>i,this.canonical.y>>i)};tt.prototype.isChildOf=function(n){if(n.wrap!==this.wrap)return!1;var t=this.canonical.z-n.canonical.z;return 0===n.overscaledZ||n.overscaledZ<this.overscaledZ&&n.canonical.x===this.canonical.x>>t&&n.canonical.y===this.canonical.y>>t};tt.prototype.children=function(n){if(this.overscaledZ>=n)return[new tt(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var t=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new tt(t,this.wrap,t,i,r),new tt(t,this.wrap,t,i+1,r),new tt(t,this.wrap,t,i,r+1),new tt(t,this.wrap,t,i+1,r+1)]};tt.prototype.isLessThan=function(n){return this.wrap<n.wrap||!(this.wrap>n.wrap)&&(this.overscaledZ<n.overscaledZ||!(this.overscaledZ>n.overscaledZ)&&(this.canonical.x<n.canonical.x||!(this.canonical.x>n.canonical.x)&&this.canonical.y<n.canonical.y))};tt.prototype.wrapped=function(){return new tt(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)};tt.prototype.unwrapTo=function(n){return new tt(this.overscaledZ,n,this.canonical.z,this.canonical.x,this.canonical.y)};tt.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)};tt.prototype.toUnwrapped=function(){return new ew(this.wrap,this.canonical)};tt.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y};tt.prototype.getTilePoint=function(n){return this.canonical.getTilePoint(new nf(n.x-this.wrap,n.y))};f("CanonicalTileID",tf);f("OverscaledTileID",tt,{omit:["posMatrix"]});hr=function(n,t,i){var r,u;if(this.uid=n,t.height!==t.width)throw new RangeError("DEM tiles must be square");if(i&&"mapbox"!==i&&"terrarium"!==i)return bt('"'+i+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');for(this.stride=t.height,r=this.dim=t.height-2,this.data=new Uint32Array(t.data.buffer),this.encoding=i||"mapbox",u=0;u<r;u++)this.data[this._idx(-1,u)]=this.data[this._idx(0,u)],this.data[this._idx(r,u)]=this.data[this._idx(r-1,u)],this.data[this._idx(u,-1)]=this.data[this._idx(u,0)],this.data[this._idx(u,r)]=this.data[this._idx(u,r-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)];this.data[this._idx(r,-1)]=this.data[this._idx(r-1,0)];this.data[this._idx(-1,r)]=this.data[this._idx(0,r-1)];this.data[this._idx(r,r)]=this.data[this._idx(r-1,r-1)]};hr.prototype.get=function(n,t){var i=new Uint8Array(this.data.buffer),r=4*this._idx(n,t);return("terrarium"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(i[r],i[r+1],i[r+2])};hr.prototype.getUnpackVector=function(){return"terrarium"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]};hr.prototype._idx=function(n,t){if(n<-1||n>=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(n+1)};hr.prototype._unpackMapbox=function(n,t,i){return(65536*n+256*t+i)/10-1e4};hr.prototype._unpackTerrarium=function(n,t,i){return 256*n+t+i/256-32768};hr.prototype.getPixels=function(){return new wt({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))};hr.prototype.backfillBorder=function(n,t,i){var r;if(this.dim!==n.dim)throw new Error("dem dimension mismatch");var f=t*this.dim,e=t*this.dim+this.dim,o=i*this.dim,s=i*this.dim+this.dim;switch(t){case-1:f=e-1;break;case 1:e=f+1}switch(i){case-1:o=s-1;break;case 1:s=o+1}for(var h=-t*this.dim,c=-i*this.dim,u=o;u<s;u++)for(r=f;r<e;r++)this.data[this._idx(r,u)]=n.data[this._idx(r+h,u+c)]};f("DEMData",hr);oh=function(n){var t,i;for(this._stringToNumber={},this._numberToString=[],t=0;t<n.length;t++)i=n[t],this._stringToNumber[i]=t,this._numberToString[t]=i};oh.prototype.encode=function(n){return this._stringToNumber[n]};oh.prototype.decode=function(n){return this._numberToString[n]};sh=function(n,t,i,r,u){this.type="Feature";this._vectorTileFeature=n;n._z=t;n._x=i;n._y=r;this.properties=n.properties;this.id=u};wa={geometry:{configurable:!0}};wa.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry};wa.geometry.set=function(n){this._geometry=n};sh.prototype.toJSON=function(){var t={geometry:this.geometry};for(var n in this)"_geometry"!==n&&"_vectorTileFeature"!==n&&(t[n]=this[n]);return t};Object.defineProperties(sh.prototype,wa);gf=function(){this.state={};this.stateChanges={};this.deletedStates={}};gf.prototype.updateState=function(n,t,i){var r=String(t),u,f,e;if(this.stateChanges[n]=this.stateChanges[n]||{},this.stateChanges[n][r]=this.stateChanges[n][r]||{},fi(this.stateChanges[n][r],i),null===this.deletedStates[n])for(u in this.deletedStates[n]={},this.state[n])u!==r&&(this.deletedStates[n][u]=null);else if(this.deletedStates[n]&&null===this.deletedStates[n][r])for(f in this.deletedStates[n][r]={},this.state[n][r])i[f]||(this.deletedStates[n][r][f]=null);else for(e in i)this.deletedStates[n]&&this.deletedStates[n][r]&&null===this.deletedStates[n][r][e]&&delete this.deletedStates[n][r][e]};gf.prototype.removeFeatureState=function(n,t,i){if(null!==this.deletedStates[n]){var r=String(t);if(this.deletedStates[n]=this.deletedStates[n]||{},i&&void 0!==t)null!==this.deletedStates[n][r]&&(this.deletedStates[n][r]=this.deletedStates[n][r]||{},this.deletedStates[n][r][i]=null);else if(void 0!==t)if(this.stateChanges[n]&&this.stateChanges[n][r])for(i in this.deletedStates[n][r]={},this.stateChanges[n][r])this.deletedStates[n][r][i]=null;else this.deletedStates[n][r]=null;else this.deletedStates[n]=null}};gf.prototype.getState=function(n,t){var r=String(t),u=fi({},(this.state[n]||{})[r],(this.stateChanges[n]||{})[r]),i,f;if(null===this.deletedStates[n])return{};if(this.deletedStates[n]){if(i=this.deletedStates[n][t],null===i)return{};for(f in i)delete u[f]}return u};gf.prototype.initializeTileState=function(n,t){n.setFeatureState(this.state,t)};gf.prototype.coalesceChanges=function(n,t){var e={},r,h,u,i,o,c,f,s,l,a;for(r in this.stateChanges){this.state[r]=this.state[r]||{};h={};for(u in this.stateChanges[r])this.state[r][u]||(this.state[r][u]={}),fi(this.state[r][u],this.stateChanges[r][u]),h[u]=this.state[r][u];e[r]=h}for(i in this.deletedStates){if(this.state[i]=this.state[i]||{},o={},null===this.deletedStates[i])for(c in this.state[i])o[c]={},this.state[i][c]={};else for(f in this.deletedStates[i]){if(null===this.deletedStates[i][f])this.state[i][f]={};else for(s=0,l=Object.keys(this.deletedStates[i][f]);s<l.length;s+=1)delete this.state[i][f][l[s]];o[f]=this.state[i][f]}e[i]=e[i]||{};fi(e[i],o)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(e).length)for(a in n)n[a].setFeatureState(e,t)};cr=function(n,t){this.tileID=n;this.x=n.canonical.x;this.y=n.canonical.y;this.z=n.canonical.z;this.grid=new cf(8192,16,0);this.grid3D=new cf(8192,16,0);this.featureIndexArray=new np;this.promoteId=t};cr.prototype.insert=function(n,t,i,r,u,f){var a=this.featureIndexArray.length,c,s,o;for(this.featureIndexArray.emplaceBack(i,r,u),c=f?this.grid3D:this.grid,s=0;s<t.length;s++){for(var l=t[s],e=[1/0,1/0,-1/0,-1/0],h=0;h<l.length;h++)o=l[h],e[0]=Math.min(e[0],o.x),e[1]=Math.min(e[1],o.y),e[2]=Math.max(e[2],o.x),e[3]=Math.max(e[3],o.y);e[0]<8192&&e[1]<8192&&e[2]>=0&&e[3]>=0&&c.insert(a,e[0],e[1],e[2],e[3])}};cr.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new uo.VectorTile(new ea(this.rawTileData)).layers,this.sourceLayerCoder=new oh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers};cr.prototype.query=function(n,t,i,r){var s=this;this.loadVTLayers();for(var c=n.params||{},v=8192/n.tileSize/n.scale,k=ac(c.filter),y=n.queryGeometry,u=n.queryPadding*v,f=tit(y),e=this.grid.query(f.minX-u,f.minY-u,f.maxX+u,f.maxY+u),o=tit(n.cameraQueryGeometry),d=this.grid3D.query(o.minX-u,o.minY-u,o.maxX+u,o.maxY+u,function(t,i,r,f){return function(n,t,i,r,u){for(var f,l,s,a,e,o=0,c=n;o<c.length;o+=1)if(f=c[o],t<=f.x&&i<=f.y&&r>=f.x&&u>=f.y)return!0;if(l=[new h(t,i),new h(t,u),new h(r,u),new h(r,i)],n.length>2)for(s=0,a=l;s<a.length;s+=1)if(to(n,a[s]))return!0;for(e=0;e<n.length-1;e++)if(fut(n[e],n[e+1],l))return!0;return!1}(n.cameraQueryGeometry,t-u,i-u,r+u,f+u)}),l=0,p=d;l<p.length;l+=1)e.push(p[l]);e.sort(lot);for(var w,b={},g=function(u){var h=e[u],f,o;h!==w&&(w=h,f=s.featureIndexArray.get(h),o=null,s.loadMatchingFeature(b,f.bucketIndex,f.sourceLayerIndex,f.featureIndex,k,c.layers,c.availableImages,t,i,r,function(t,i,r){return o||(o=bi(t)),i.queryIntersectsFeature(y,t,r,o,s.z,n.transform,v,n.pixelPosMatrix)}))},a=0;a<e.length;a++)g(a);return b};cr.prototype.loadMatchingFeature=function(n,t,i,r,u,f,e,o,s,h,c){var g=this.bucketLayerIDs[t],nt,l,w,b,a,v,p,y,tt,it,k;if((!f||function(n,t){for(var i=0;i<n.length;i++)if(t.indexOf(n[i])>=0)return!0;return!1}(f,g))&&(nt=this.sourceLayerCoder.decode(i),l=this.vtLayers[nt].feature(r),u.filter(new d(this.tileID.overscaledZ),l)))for(w=this.getId(l,nt),b=0;b<g.length;b++)a=g[b],f&&f.indexOf(a)<0||(v=o[a],v&&(p={},void 0!==w&&h&&(p=h.getState(v.sourceLayer||"_geojsonTileLayer",w)),y=s[a],y.paint=nit(y.paint,v.paint,l,p,e),y.layout=nit(y.layout,v.layout,l,p,e),tt=!c||c(l,v,p),tt&&(it=new sh(l,this.z,this.x,this.y,w),it.layer=y,k=n[a],void 0===k&&(k=n[a]=[]),k.push({featureIndex:r,feature:it,intersectionZ:tt}))))};cr.prototype.lookupSymbolFeatures=function(n,t,i,r,u,f,e,o){var h={};this.loadVTLayers();for(var l=ac(u),s=0,c=n;s<c.length;s+=1)this.loadMatchingFeature(h,i,r,c[s],l,f,e,o,t);return h};cr.prototype.hasLayer=function(n){for(var i,u,t=0,r=this.bucketLayerIDs;t<r.length;t+=1)for(i=0,u=r[t];i<u.length;i+=1)if(n===u[i])return!0;return!1};cr.prototype.getId=function(n,t){var i=n.id;return this.promoteId&&"boolean"==typeof(i=n.properties["string"==typeof this.promoteId?this.promoteId:this.promoteId[t]])&&(i=Number(i)),i};f("FeatureIndex",cr,{omit:["rawTileData","sourceLayerCoder"]});rt=function(n,t){this.tileID=n;this.uid=vw();this.uses=0;this.tileSize=t;this.buckets={};this.expirationTime=null;this.queryPadding=0;this.hasSymbolBuckets=!1;this.hasRTLText=!1;this.dependencies={};this.expiredRequestCount=0;this.state="loading"};rt.prototype.registerFadeDuration=function(n){var t=n+this.timeAdded;t<ie.now()||this.fadeEndTime&&t<this.fadeEndTime||(this.fadeEndTime=t)};rt.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state};rt.prototype.loadVectorData=function(n,t,i){var e,r,o,u,f,s;if(this.hasData()&&this.unloadVectorData(),this.state="loaded",n){for(e in n.featureIndex&&(this.latestFeatureIndex=n.featureIndex,n.rawTileData?(this.latestRawTileData=n.rawTileData,this.latestFeatureIndex.rawTileData=n.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=n.collisionBoxArray,this.buckets=function(n,t){var i={};if(!t)return i;for(var f=function(){var n=u[r],f=n.layerIds.map(function(n){return t.getLayer(n)}).filter(Boolean),e,o;if(0!==f.length)for(n.layers=f,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map(function(n){return f.filter(function(t){return t.id===n})[0]})),e=0,o=f;e<o.length;e+=1)i[o[e].id]=n},r=0,u=n;r<u.length;r+=1)f();return i}(n.buckets,t.style),this.hasSymbolBuckets=!1,this.buckets)if(r=this.buckets[e],r instanceof v){if(this.hasSymbolBuckets=!0,!i)break;r.justReloaded=!0}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(o in this.buckets)if(u=this.buckets[o],u instanceof v&&u.hasRTLText){this.hasRTLText=!0;ai.isLoading()||ai.isLoaded()||"deferred"!==ay()||yd();break}for(f in this.queryPadding=0,this.buckets)s=this.buckets[f],this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(f).queryRadius(s));n.imageAtlas&&(this.imageAtlas=n.imageAtlas);n.glyphAtlasImage&&(this.glyphAtlasImage=n.glyphAtlasImage)}else this.collisionBoxArray=new vl};rt.prototype.unloadVectorData=function(){for(var n in this.buckets)this.buckets[n].destroy();this.buckets={};this.imageAtlasTexture&&this.imageAtlasTexture.destroy();this.imageAtlas&&(this.imageAtlas=null);this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy();this.latestFeatureIndex=null;this.state="unloaded"};rt.prototype.getBucket=function(n){return this.buckets[n.id]};rt.prototype.upload=function(n){var r,t,i;for(r in this.buckets)t=this.buckets[r],t.uploadPending()&&t.upload(n);i=n.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new kf(n,this.imageAtlas.image,i.RGBA),this.imageAtlas.uploaded=!0);this.glyphAtlasImage&&(this.glyphAtlasTexture=new kf(n,this.glyphAtlasImage,i.ALPHA),this.glyphAtlasImage=null)};rt.prototype.prepare=function(n){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(n,this.imageAtlasTexture)};rt.prototype.queryRenderedFeatures=function(n,t,i,r,u,f,e,o,s,h){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:u,scale:f,tileSize:this.tileSize,pixelPosMatrix:h,transform:o,params:e,queryPadding:this.queryPadding*s},n,t,i):{}};rt.prototype.querySourceFeatures=function(n,t){var i=this.latestFeatureIndex,r,v,o;if(i&&i.rawTileData){var s=i.loadVTLayers(),h=t?t.sourceLayer:"",u=s._geojsonTileLayer||s[h];if(u)for(var y=ac(t&&t.filter),f=this.tileID.canonical,c=f.z,l=f.x,a=f.y,p={z:c,x:l,y:a},e=0;e<u.length;e++)r=u.feature(e),y.filter(new d(this.tileID.overscaledZ),r)&&(v=i.getId(r,h),o=new sh(r,c,l,a,v),o.tile=p,n.push(o))}};rt.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state};rt.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length};rt.prototype.setExpiryData=function(n){var i=this.expirationTime,r,u,t,f;n.cacheControl?(r=ga(n.cacheControl),r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])):n.expires&&(this.expirationTime=new Date(n.expires).getTime());this.expirationTime&&(u=Date.now(),t=!1,this.expirationTime>u?t=!1:i?this.expirationTime<i?t=!0:(f=this.expirationTime-i,f?this.expirationTime=u+Math.max(f,3e4):t=!0):t=!0,t?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0)};rt.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)};rt.prototype.setFeatureState=function(n,t){var e,i,f;if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(n).length){e=this.latestFeatureIndex.loadVTLayers();for(i in this.buckets)if(t.style.hasLayer(i)){var r=this.buckets[i],o=r.layers[0].sourceLayer||"_geojsonTileLayer",s=e[o],u=n[o];s&&u&&0!==Object.keys(u).length&&(r.update(u,s,this.imageAtlas&&this.imageAtlas.patternPositions||{}),f=t&&t.style&&t.style.getLayer(i),f&&(this.queryPadding=Math.max(this.queryPadding,f.queryRadius(r))))}}};rt.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil};rt.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<ie.now()};rt.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0};rt.prototype.setHoldDuration=function(n){this.symbolFadeHoldUntil=ie.now()+n};rt.prototype.setDependencies=function(n,t){for(var r={},i=0,u=t;i<u.length;i+=1)r[u[i]]=!0;this.dependencies[n]=r};rt.prototype.hasDependency=function(n,t){for(var f,r,e,i=0,u=n;i<u.length;i+=1)if(f=this.dependencies[u[i]],f)for(r=0,e=t;r<e.length;r+=1)if(f[e[r]])return!0;return!1};su=e.performance;ow=function(n){this._marks={start:[n.url,"start"].join("#"),end:[n.url,"end"].join("#"),measure:n.url.toString()};su.mark(this._marks.start)};ow.prototype.finish=function(){su.mark(this._marks.end);var n=su.getEntriesByName(this._marks.measure);return 0===n.length&&(su.measure(this._marks.measure,this._marks.start,this._marks.end),n=su.getEntriesByName(this._marks.measure),su.clearMarks(this._marks.start),su.clearMarks(this._marks.end),su.clearMeasures(this._marks.measure)),n};n.Actor=df;n.AlphaImage=du;n.CanonicalTileID=tf;n.CollisionBoxArray=vl;n.Color=y;n.DEMData=hr;n.DataConstantProperty=o;n.DictionaryCoder=oh;n.EXTENT=8192;n.ErrorEvent=cv;n.EvaluationParameters=d;n.Event=dh;n.Evented=pr;n.FeatureIndex=cr;n.FillBucket=ki;n.FillExtrusionBucket=di;n.ImageAtlas=so;n.ImagePosition=rh;n.LineBucket=gt;n.LngLat=w;n.LngLatBounds=nt;n.MercatorCoordinate=nf;n.ONE_EM=24;n.OverscaledTileID=tt;n.Point=h;n.Point$1=h;n.Properties=ii;n.Protobuf=ea;n.RGBAImage=wt;n.RequestManager=ci;n.RequestPerformance=ow;n.ResourceType=fv;n.SegmentVector=ft;n.SourceFeatureState=gf;n.StructArrayLayout1ui2=ll;n.StructArrayLayout2f1f2i16=fl;n.StructArrayLayout2i4=ge;n.StructArrayLayout3ui6=eu;n.StructArrayLayout4i8=dc;n.SymbolBucket=v;n.Texture=kf;n.Tile=rt;n.Transitionable=er;n.Uniform1f=wl;n.Uniform1i=brt;n.Uniform2f=krt;n.Uniform3f=drt;n.Uniform4f=ng;n.UniformColor=tg;n.UniformMatrix4f=nut;n.UnwrappedTileID=ew;n.ValidationError=u;n.WritingMode=ui;n.ZoomHistory=wc;n.add=function(n,t,i){return n[0]=t[0]+i[0],n[1]=t[1]+i[1],n[2]=t[2]+i[2],n};n.addDynamicAttributes=iw;n.asyncAll=function(n,t,i){if(!n.length)return i(null,[]);var f=n.length,r=new Array(n.length),u=null;n.forEach(function(n,e){t(n,function(n,t){n&&(u=n);r[e]=t;0==--f&&i(u,r)})})};n.bezier=hw;n.bindAll=ww;n.browser=ie;n.cacheEntryPossiblyAdded=function(n){++uv>ob&&(n.getActor().send("enforceCacheSizeLimit",eb),uv=0)};n.clamp=rf;n.clearTileCache=function(n){var t=e.caches.delete("mapbox-tiles");n&&t.catch(n).then(function(){return n()})};n.clipLine=utt;n.clone=function(n){var t=new hi(16);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t};n.clone$1=lr;n.clone$2=function(n){var t=new hi(3);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t};n.collisionCircleLayout=net;n.config=st;n.create=function(){var n=new hi(16);return hi!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0),n[0]=1,n[5]=1,n[10]=1,n[15]=1,n};n.create$1=function(){var n=new hi(9);return hi!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1,n};n.create$2=function(){var n=new hi(4);return hi!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n};n.createCommonjsModule=hh;n.createExpression=cc;n.createLayout=pt;n.createStyleLayer=function(n){return"custom"===n.type?new hot(n):new cot[n.type](n)};n.cross=function(n,t,i){var r=t[0],u=t[1],f=t[2],e=i[0],o=i[1],s=i[2];return n[0]=u*s-f*o,n[1]=f*e-r*s,n[2]=r*o-u*e,n};n.deepEqual=function n(t,i){var r,u;if(Array.isArray(t)){if(!Array.isArray(i)||t.length!==i.length)return!1;for(r=0;r<t.length;r++)if(!n(t[r],i[r]))return!1;return!0}if("object"==typeof t&&null!==t&&null!==i){if("object"!=typeof i||Object.keys(t).length!==Object.keys(i).length)return!1;for(u in t)if(!n(t[u],i[u]))return!1;return!0}return t===i};n.dot=function(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]};n.dot$1=function(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]};n.ease=cw;n.emitValidationErrors=ed;n.endsWith=ba;n.enforceCacheSizeLimit=function(n){wh();yr&&yr.then(function(t){t.keys().then(function(i){for(var r=0;r<i.length-n;r++)t.delete(i[r])})})};n.evaluateSizeForFeature=kn;n.evaluateSizeForZoom=dn;n.evaluateVariableOffset=ott;n.evented=ly;n.extend=fi;n.featureFilter=ac;n.filterObject=bw;n.fromRotation=function(n,t){var i=Math.sin(t),r=Math.cos(t);return n[0]=r,n[1]=i,n[2]=0,n[3]=-i,n[4]=r,n[5]=0,n[6]=0,n[7]=0,n[8]=1,n};n.getAnchorAlignment=gp;n.getAnchorJustification=tw;n.getArrayBuffer=ov;n.getImage=sv;n.getJSON=function(n,t){return kh(fi(n,{type:"json"}),t)};n.getRTLTextPluginStatus=ay;n.getReferrer=ev;n.getVideo=function(n,t){var o,u,i=e.document.createElement("video"),r,f;for(i.muted=!0,i.onloadstart=function(){t(null,i)},r=0;r<n.length;r++)f=e.document.createElement("source"),o=n[r],u=void 0,(u=e.document.createElement("a")).href=o,(u.protocol!==e.document.location.protocol||u.host!==e.document.location.host)&&(i.crossOrigin="Anonymous"),f.src=n[r],i.appendChild(f);return{cancel:function(){}}};n.identity=fp;n.invert=function(n,t){var r=t[0],u=t[1],f=t[2],e=t[3],o=t[4],s=t[5],h=t[6],c=t[7],l=t[8],a=t[9],v=t[10],y=t[11],p=t[12],w=t[13],b=t[14],k=t[15],d=r*s-u*o,g=r*h-f*o,nt=r*c-e*o,tt=u*h-f*s,it=u*c-e*s,rt=f*c-e*h,ut=l*w-a*p,ft=l*b-v*p,et=l*k-y*p,ot=a*b-v*w,st=a*k-y*w,ht=v*k-y*b,i=d*ht-g*st+nt*ot+tt*et-it*ft+rt*ut;return i?(n[0]=(s*ht-h*st+c*ot)*(i=1/i),n[1]=(f*st-u*ht-e*ot)*i,n[2]=(w*rt-b*it+k*tt)*i,n[3]=(v*it-a*rt-y*tt)*i,n[4]=(h*et-o*ht-c*ft)*i,n[5]=(r*ht-f*et+e*ft)*i,n[6]=(b*nt-p*rt-k*g)*i,n[7]=(l*rt-v*nt+y*g)*i,n[8]=(o*st-s*et+c*ut)*i,n[9]=(u*et-r*st-e*ut)*i,n[10]=(p*it-w*nt+k*d)*i,n[11]=(a*nt-l*it-y*d)*i,n[12]=(s*ft-o*ot-h*ut)*i,n[13]=(r*ot-u*ft+f*ut)*i,n[14]=(w*g-p*tt-b*d)*i,n[15]=(l*tt-a*g+v*d)*i,n):null};n.isChar=r;n.isMapboxURL=ar;n.keysDifference=function(n,t){var i=[];for(var r in n)r in t||i.push(r);return i};n.makeRequest=kh;n.mapObject=ka;n.mercatorXfromLng=ktt;n.mercatorYfromLat=dtt;n.mercatorZfromAltitude=gtt;n.mul=sg;n.multiply=og;n.mvt=uo;n.normalize=function(n,t){var r=t[0],u=t[1],f=t[2],i=r*r+u*u+f*f;return i>0&&(i=1/Math.sqrt(i)),n[0]=t[0]*i,n[1]=t[1]*i,n[2]=t[2]*i,n};n.number=ot;n.offscreenCanvasSupported=hb;n.ortho=function(n,t,i,r,u,f,e){var o=1/(t-i),s=1/(r-u),h=1/(f-e);return n[0]=-2*o,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=-2*s,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=2*h,n[11]=0,n[12]=(t+i)*o,n[13]=(u+r)*s,n[14]=(e+f)*h,n[15]=1,n};n.parseGlyphPBF=function(n){return new ea(n).readFields(aet,[])};n.pbf=ea;n.performSymbolLayout=function(n,t,i,u,f,e,o){var a,b,y,k;n.createArrays();n.tilePixelRatio=16/n.overscaling;n.compareText={};n.iconsNeedLinear=!1;var s=n.layers[0].layout,c=n.layers[0]._unevaluatedLayout._values,h={};"composite"===n.textSizeData.kind&&(a=n.textSizeData,b=a.maxZoom,h.compositeTextSizes=[c["text-size"].possiblyEvaluate(new d(a.minZoom),o),c["text-size"].possiblyEvaluate(new d(b),o)]);"composite"===n.iconSizeData.kind&&(y=n.iconSizeData,k=y.maxZoom,h.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new d(y.minZoom),o),c["icon-size"].possiblyEvaluate(new d(k),o)]);h.layoutTextSize=c["text-size"].possiblyEvaluate(new d(n.zoom+1),o);h.layoutIconSize=c["icon-size"].possiblyEvaluate(new d(n.zoom+1),o);h.textMaxSize=c["text-size"].possiblyEvaluate(new d(18));for(var l=24*s.get("text-line-height"),p="map"===s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement"),nt=s.get("text-keep-upright"),tt=s.get("text-size"),it=function(){var e=g[w],ft=s.get("text-font").evaluate(e,{},o).join(","),et=tt.evaluate(e,{},o),d=h.layoutTextSize.evaluate(e,{},o),ti=h.layoutIconSize.evaluate(e,{},o),c={horizontal:{},vertical:void 0},y=e.text,b=[0,0],yt,ut,ht,wt,ct,kt,k,lt;if(y){var at=y.toString(),ii=24*s.get("text-letter-spacing").evaluate(e,{},o),ot=function(n){for(var t,i=0,u=n;i<u.length;i+=1)if(t=u[i].charCodeAt(0),r.Arabic(t)||r["Arabic Supplement"](t)||r["Arabic Extended-A"](t)||r["Arabic Presentation Forms-A"](t)||r["Arabic Presentation Forms-B"](t))return!1;return!0}(at)?ii:0,it=s.get("text-anchor").evaluate(e,{},o),vt=s.get("text-variable-anchor");vt||(yt=s.get("text-radial-offset").evaluate(e,{},o),b=yt?ott(it,[24*yt,aa]):s.get("text-offset").evaluate(e,{},o).map(function(n){return 24*n}));var a=p?"center":s.get("text-justify").evaluate(e,{},o),rt=s.get("symbol-placement"),st="point"===rt?24*s.get("text-max-width").evaluate(e,{},o):0,dt=function(){n.allowVerticalPlacement&&oy(at)&&(c.vertical=sa(y,t,i,f,ft,st,l,it,"left",ot,b,ui.vertical,!0,rt,d,et))};if(!p&&vt){for(var gt="auto"===a?vt.map(function(n){return tw(n)}):[a],ni=!1,pt=0;pt<gt.length;pt++)ut=gt[pt],c.horizontal[ut]||(ni?c.horizontal[ut]=c.horizontal[0]:(ht=sa(y,t,i,f,ft,st,l,"center",ut,ot,b,ui.horizontal,!1,rt,d,et),ht&&(c.horizontal[ut]=ht,ni=1===ht.positionedLines.length)));dt()}else"auto"===a&&(a=tw(it)),wt=sa(y,t,i,f,ft,st,l,it,a,ot,b,ui.horizontal,!1,rt,d,et),wt&&(c.horizontal[a]=wt),dt(),oy(at)&&p&&nt&&(c.vertical=sa(y,t,i,f,ft,st,l,it,a,ot,b,ui.vertical,!1,rt,d,et))}ct=void 0;kt=!1;e.icon&&e.icon.name&&(k=u[e.icon.name],k&&(ct=function(n,t,i){var r=gp(i),u=t[0]-n.displaySize[0]*r.horizontalAlign,f=t[1]-n.displaySize[1]*r.verticalAlign;return{image:n,top:f,bottom:f+n.displaySize[1],left:u,right:u+n.displaySize[0]}}(f[e.icon.name],s.get("icon-offset").evaluate(e,{},o),s.get("icon-anchor").evaluate(e,{},o)),kt=k.sdf,void 0===n.sdfIcons?n.sdfIcons=k.sdf:n.sdfIcons!==k.sdf&&bt("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(k.pixelRatio!==n.pixelRatio||0!==s.get("icon-rotate").constantOr(1))&&(n.iconsNeedLinear=!0)));lt=htt(c.horizontal)||c.vertical;n.iconsInText=!!lt&&lt.iconsInText;(lt||ct)&&function(n,t,i,r,u,f,e,o,s,h,c){var rt=f.textMaxSize.evaluate(t,{}),y,p,ot,ht,w,ct,b,lt,k,at,vt,yt,d,pt,g,nt,wt,tt,kt,it;void 0===rt&&(rt=e);var dt,l=n.layers[0].layout,ut=l.get("icon-offset").evaluate(t,{},c),a=htt(i.horizontal),ft=e/24,ei=n.tilePixelRatio*ft,gt=n.tilePixelRatio*rt/24,oi=n.tilePixelRatio*o,ni=n.tilePixelRatio*l.get("symbol-spacing"),si=l.get("text-padding")*n.tilePixelRatio,hi=l.get("icon-padding")*n.tilePixelRatio,ti=l.get("text-max-angle")/180*Math.PI,ci="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),li="map"===l.get("icon-rotation-alignment")&&"point"!==l.get("symbol-placement"),ii=l.get("symbol-placement"),ai=ni/2,et=l.get("icon-text-fit");if(r&&"none"!==et&&(n.allowVerticalPlacement&&i.vertical&&(dt=bn(r,i.vertical,et,l.get("icon-text-fit-padding"),ut,ft)),a&&(r=bn(r,a,et,l.get("icon-text-fit-padding"),ut,ft))),y=function(o,l){l.x<0||l.x>=8192||l.y<0||l.y>=8192||function(n,t,i,r,u,f,e,o,s,h,c,l,a,y,p,w,b,k,d,g,nt,tt,it,rt,ut){var oi,ot,st,ht,ct,lt=n.addToLineVertexArray(t,i),si=0,hi=0,ci=0,li=0,pt=-1,wt=-1,et={},ai=ps(""),kt=0,dt=0,gt,ii,at,ri,vt,pi,fi,ei;if((void 0===o._unevaluatedLayout.getValue("text-radial-offset")?(kt=(oi=o.layout.get("text-offset").evaluate(nt,{},rt).map(function(n){return 24*n}))[0],dt=oi[1]):(kt=24*o.layout.get("text-radial-offset").evaluate(nt,{},rt),dt=aa),n.allowVerticalPlacement&&r.vertical)&&(gt=o.layout.get("text-rotate").evaluate(nt,{},rt)+90,ht=new fh(s,t,h,c,l,r.vertical,a,y,p,gt),e&&(ct=new fh(s,t,h,c,l,e,b,k,p,gt))),u){var ni=o.layout.get("icon-rotate").evaluate(nt,{}),vi="none"!==o.layout.get("icon-text-fit"),yi=ftt(u,ni,it,vi),ti=e?ftt(e,ni,it,vi):void 0;st=new fh(s,t,h,c,l,u,b,k,!1,ni);si=4*yi.length;ii=n.iconSizeData;at=null;"source"===ii.kind?(at=[128*o.layout.get("icon-size").evaluate(nt,{})])[0]>32640&&bt(n.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):"composite"===ii.kind&&((at=[128*tt.compositeIconSizes[0].evaluate(nt,{},rt),128*tt.compositeIconSizes[1].evaluate(nt,{},rt)])[0]>32640||at[1]>32640)&&bt(n.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".');n.addSymbols(n.icon,yi,at,g,d,nt,!1,t,lt.lineStartIndex,lt.lineLength,-1,rt);pt=n.icon.placedSymbolArray.length-1;ti&&(hi=4*ti.length,n.addSymbols(n.icon,ti,at,g,d,nt,ui.vertical,t,lt.lineStartIndex,lt.lineLength,-1,rt),wt=n.icon.placedSymbolArray.length-1)}for(ri in r.horizontal)if(vt=r.horizontal[ri],ot||(ai=ps(vt.text),pi=o.layout.get("text-rotate").evaluate(nt,{},rt),ot=new fh(s,t,h,c,l,vt,a,y,p,pi)),fi=1===vt.positionedLines.length,ci+=stt(n,t,vt,f,o,p,nt,w,lt,r.vertical?ui.horizontal:ui.horizontalOnly,fi?Object.keys(r.horizontal):[ri],et,pt,tt,rt),fi)break;r.vertical&&(li+=stt(n,t,r.vertical,f,o,p,nt,w,lt,ui.vertical,["vertical"],et,wt,tt,rt));var wi=ot?ot.boxStartIndex:n.collisionBoxArray.length,bi=ot?ot.boxEndIndex:n.collisionBoxArray.length,ki=ht?ht.boxStartIndex:n.collisionBoxArray.length,di=ht?ht.boxEndIndex:n.collisionBoxArray.length,gi=st?st.boxStartIndex:n.collisionBoxArray.length,nr=st?st.boxEndIndex:n.collisionBoxArray.length,tr=ct?ct.boxStartIndex:n.collisionBoxArray.length,ir=ct?ct.boxEndIndex:n.collisionBoxArray.length,ft=-1,yt=function(n,t){return n&&n.circleDiameter?Math.max(n.circleDiameter,t):t};ft=yt(ot,ft);ft=yt(ht,ft);ft=yt(st,ft);ei=(ft=yt(ct,ft))>-1?1:0;ei&&(ft*=ut/24);n.glyphOffsetArray.length>=v.MAX_GLYPHS&&bt("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907");void 0!==nt.sortKey&&n.addToSortKeyRanges(n.symbolInstances.length,nt.sortKey);n.symbolInstances.emplaceBack(t.x,t.y,et.right>=0?et.right:-1,et.center>=0?et.center:-1,et.left>=0?et.left:-1,et.vertical||-1,pt,wt,ai,wi,bi,ki,di,gi,nr,tr,ir,h,ci,li,si,hi,ei,0,a,kt,dt,ft)}(n,l,o,i,r,u,dt,n.layers[0],n.collisionBoxArray,t.index,t.sourceLayerIndex,n.index,ei,si,ci,s,oi,hi,li,ut,t,f,h,c,e)},"line"===ii)for(p=0,ot=utt(t.geometry,0,0,8192,8192);p<ot.length;p+=1)for(var ri=ot[p],st=0,fi=ket(ri,ni,ti,i.vertical||a,r,24,gt,n.overscaling,8192);st<fi.length;st+=1)ht=fi[st],a&&tot(n,a.text,ai,ht)||y(ri,ht);else if("line-center"===ii)for(w=0,ct=t.geometry;w<ct.length;w+=1)b=ct[w],b.length>1&&(lt=bet(b,ti,i.vertical||a,r,24,gt),lt&&y(b,lt));else if("Polygon"===t.type)for(k=0,at=vp(t.geometry,0);k<at.length;k+=1)vt=at[k],yt=get(vt,16),y(vt[0],new pf(yt.x,yt.y,0));else if("LineString"===t.type)for(d=0,pt=t.geometry;d<pt.length;d+=1)g=pt[d],y(g,new pf(g[0].x,g[0].y,0));else if("Point"===t.type)for(nt=0,wt=t.geometry;nt<wt.length;nt+=1)for(tt=0,kt=wt[nt];tt<kt.length;tt+=1)it=kt[tt],y([it],new pf(it.x,it.y,0))}(n,e,c,ct,u,h,d,ti,b,kt,o)},w=0,g=n.features;w<g.length;w+=1)it();e&&n.generateCollisionDebugBuffers()};n.perspective=function(n,t,i,r,u){var f,e=1/Math.tan(t/2);return n[0]=e/i,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=e,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,null!=u&&u!==1/0?(n[10]=(u+r)*(f=1/(r-u)),n[14]=2*u*r*f):(n[10]=-1,n[14]=-2*r),n};n.pick=function(n,t){for(var r,u={},i=0;i<t.length;i++)r=t[i],r in n&&(u[r]=n[r]);return u};n.plugin=ai;n.polygonIntersectsPolygon=rg;n.postMapLoadEvent=sit;n.postTurnstileEvent=oit;n.potpack=vn;n.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"];n.register=f;n.registerForPluginStateChange=function(n){return n({pluginStatus:ei,pluginURL:wu}),ly.on("pluginStateChange",n),n};n.rotate=function(n,t,i){var f=t[0],e=t[1],o=t[2],s=t[3],r=Math.sin(i),u=Math.cos(i);return n[0]=f*u+o*r,n[1]=e*u+s*r,n[2]=f*-r+o*u,n[3]=e*-r+s*u,n};n.rotateX=function(n,t,i){var r=Math.sin(i),u=Math.cos(i),f=t[4],e=t[5],o=t[6],s=t[7],h=t[8],c=t[9],l=t[10],a=t[11];return t!==n&&(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[4]=f*u+h*r,n[5]=e*u+c*r,n[6]=o*u+l*r,n[7]=s*u+a*r,n[8]=h*u-f*r,n[9]=c*u-e*r,n[10]=l*u-o*r,n[11]=a*u-s*r,n};n.rotateZ=function(n,t,i){var r=Math.sin(i),u=Math.cos(i),f=t[0],e=t[1],o=t[2],s=t[3],h=t[4],c=t[5],l=t[6],a=t[7];return t!==n&&(n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[0]=f*u+h*r,n[1]=e*u+c*r,n[2]=o*u+l*r,n[3]=s*u+a*r,n[4]=h*u-f*r,n[5]=c*u-e*r,n[6]=l*u-o*r,n[7]=a*u-s*r,n};n.scale=function(n,t,i){var r=i[0],u=i[1],f=i[2];return n[0]=t[0]*r,n[1]=t[1]*r,n[2]=t[2]*r,n[3]=t[3]*r,n[4]=t[4]*u,n[5]=t[5]*u,n[6]=t[6]*u,n[7]=t[7]*u,n[8]=t[8]*f,n[9]=t[9]*f,n[10]=t[10]*f,n[11]=t[11]*f,n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n};n.scale$1=function(n,t,i){return n[0]=t[0]*i,n[1]=t[1]*i,n[2]=t[2]*i,n[3]=t[3]*i,n};n.scale$2=function(n,t,i){return n[0]=t[0]*i,n[1]=t[1]*i,n[2]=t[2]*i,n};n.setCacheLimits=function(n,t){eb=n;ob=t};n.setRTLTextPlugin=function(n,t,i){if(void 0===i&&(i=!1),"deferred"===ei||"loading"===ei||"loaded"===ei)throw new Error("setRTLTextPlugin cannot be called multiple times.");wu=ie.resolveURL(n);ei="deferred";hy=t;cy();i||yd()};n.sphericalToCartesian=function(n){var r=n[0],t=n[1],i=n[2];return t+=90,t*=Math.PI/180,i*=Math.PI/180,{x:r*Math.cos(t)*Math.sin(i),y:r*Math.sin(t)*Math.sin(i),z:r*Math.cos(i)}};n.sqrLen=function(n){var t=n[0],i=n[1];return t*t+i*i};n.styleSpec=t;n.sub=function(n,t,i){return n[0]=t[0]-i[0],n[1]=t[1]-i[1],n[2]=t[2]-i[2],n};n.symbolSize=gn;n.transformMat3=function(n,t,i){var r=t[0],u=t[1],f=t[2];return n[0]=r*i[0]+u*i[3]+f*i[6],n[1]=r*i[1]+u*i[4]+f*i[7],n[2]=r*i[2]+u*i[5]+f*i[8],n};n.transformMat4=ta;n.translate=function(n,t,i){var b,e,o,s,h,c,l,a,v,y,p,w,r=i[0],u=i[1],f=i[2];return t===n?(n[12]=t[0]*r+t[4]*u+t[8]*f+t[12],n[13]=t[1]*r+t[5]*u+t[9]*f+t[13],n[14]=t[2]*r+t[6]*u+t[10]*f+t[14],n[15]=t[3]*r+t[7]*u+t[11]*f+t[15]):(e=t[1],o=t[2],s=t[3],h=t[4],c=t[5],l=t[6],a=t[7],v=t[8],y=t[9],p=t[10],w=t[11],n[0]=b=t[0],n[1]=e,n[2]=o,n[3]=s,n[4]=h,n[5]=c,n[6]=l,n[7]=a,n[8]=v,n[9]=y,n[10]=p,n[11]=w,n[12]=b*r+h*u+v*f+t[12],n[13]=e*r+c*u+y*f+t[13],n[14]=o*r+l*u+p*f+t[14],n[15]=s*r+a*u+w*f+t[15]),n};n.triggerPluginCompletionEvent=vd;n.uniqueId=vw;n.validateCustomStyleLayer=function(n){var t=[],i=n.id;return void 0===i&&t.push({message:"layers."+i+': missing required property "id"'}),void 0===n.render&&t.push({message:"layers."+i+': missing required method "render"'}),n.renderingMode&&"2d"!==n.renderingMode&&"3d"!==n.renderingMode&&t.push({message:"layers."+i+': property "renderingMode" must be either "2d" or "3d"'}),t};n.validateLight=hrt;n.validateStyle=es;n.values=function(n){var t=[];for(var i in n)t.push(n[i]);return t};n.vectorTile=uo;n.version="1.11.0";n.warnOnce=bt;n.webpSupported=vh;n.window=e;n.wrap=lw}),r(["./shared"],function(n){function y(n){var i=typeof n;if("number"===i||"boolean"===i||"string"===i||null==n)return JSON.stringify(n);if(Array.isArray(n)){for(var f="[",r=0,e=n;r<e.length;r+=1)f+=y(e[r])+",";return f+"]"}for(var u=Object.keys(n).sort(),o="{",t=0;t<u.length;t++)o+=JSON.stringify(u[t])+":"+y(n[u[t]])+",";return o+"}"}function wi(t){for(var r="",i=0,u=n.refProperties;i<u.length;i+=1)r+="/"+y(t[u[i]]);return r}function k(t,i,r){for(var e=new n.EvaluationParameters(i),u=0,f=t;u<f.length;u+=1)f[u].recalculate(e,r)}function bi(t,i){var r=n.getArrayBuffer(t.request,function(t,r,u,f){t?i(t):r&&i(null,{vectorTile:new n.vectorTile.VectorTile(new n.pbf(r)),rawData:r,cacheControl:u,expires:f})});return function(){r.cancel();i()}}function pt(n,t){if(0!==n.length){wt(n[0],t);for(var i=1;i<n.length;i++)wt(n[i],!t)}}function wt(n,t){for(var u=0,i=0,f=n.length,r=f-1;i<f;r=i++)u+=(n[i][0]-n[r][0])*(n[r][1]+n[i][1]);u>=0!=!!t&&n.reverse()}function dt(n,t){this.options=t||{};this.features=n;this.length=n.length}function l(n,t){this.id="number"==typeof n.id?n.id:void 0;this.type=n.type;this.rawGeometry=1===n.type?[n.geometry]:n.geometry;this.properties=n.tags;this.extent=t||4096}function tt(t){var i=new n.pbf;return function(n,t){for(var i in n.layers)t.writeMessage(3,ki,n.layers[i])}(t,i),i.finish()}function ki(n,t){var i,r,u,f;for(t.writeVarintField(15,n.version||1),t.writeStringField(1,n.name||""),t.writeVarintField(5,n.extent||4096),r={keys:[],values:[],keycache:{},valuecache:{}},i=0;i<n.length;i++)r.feature=n.feature(i),t.writeMessage(2,di,r);for(u=r.keys,i=0;i<u.length;i++)t.writeStringField(3,u[i]);for(f=r.values,i=0;i<f.length;i++)t.writeMessage(4,tr,f[i])}function di(n,t){var i=n.feature;void 0!==i.id&&t.writeVarintField(1,i.id);t.writeMessage(2,gi,n);t.writeVarintField(3,i.type);t.writeMessage(4,nr,i)}function gi(n,t){var s=n.feature,h=n.keys,c=n.values,l=n.keycache,a=n.valuecache,r,f,i,u,o,e;for(r in s.properties)f=l[r],void 0===f&&(h.push(r),l[r]=f=h.length-1),t.writeVarint(f),i=s.properties[r],u=typeof i,"string"!==u&&"boolean"!==u&&"number"!==u&&(i=JSON.stringify(i)),o=u+":"+i,e=a[o],void 0===e&&(c.push(i),a[o]=e=c.length-1),t.writeVarint(e)}function it(n,t){return(t<<3)+(7&n)}function ni(n){return n<<1^n>>31}function nr(n,t){for(var i,e,o,r,s,h,c=n.loadGeometry(),u=n.type,l=0,a=0,v=c.length,f=0;f<v;f++){for(i=c[f],e=1,1===u&&(e=i.length),t.writeVarint(it(1,e)),o=3===u?i.length-1:i.length,r=0;r<o;r++)1===r&&1!==u&&t.writeVarint(it(2,o-1)),s=i[r].x-l,h=i[r].y-a,t.writeVarint(ni(s)),t.writeVarint(ni(h)),l+=s,a+=h;3===u&&t.writeVarint(it(7,1))}}function tr(n,t){var i=typeof n;"string"===i?t.writeStringField(1,n):"boolean"===i?t.writeBooleanField(7,n):"number"===i&&(n%1!=0?t.writeDoubleField(3,n):n<0?t.writeSVarintField(6,n):t.writeVarintField(5,n))}function o(n,t,i,r){rt(n,i,r);rt(t,2*i,2*r);rt(t,2*i+1,2*r+1)}function rt(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function ti(n,t,i,r){var u=n-i,f=t-r;return u*u+f*f}function ur(n,t,i,r,u){return{x:n,y:t,zoom:1/0,id:i,parentId:-1,numPoints:r,properties:u}}function fr(n,t){var i=n.geometry.coordinates,r=i[1];return{x:ut(i[0]),y:ft(r),zoom:1/0,index:t,parentId:-1}}function ri(n){return{type:"Feature",id:n.id,properties:ui(n),geometry:{type:"Point",coordinates:[(r=n.x,360*(r-.5)),(t=n.y,i=(180-360*t)*Math.PI/180,360*Math.atan(Math.exp(i))/Math.PI-90)]}};var t,i,r}function ui(n){var t=n.numPoints,i=t>=1e4?Math.round(t/1e3)+"k":t>=1e3?Math.round(t/100)/10+"k":t;return s(s({},n.properties),{cluster:!0,cluster_id:n.id,point_count:t,point_count_abbreviated:i})}function ut(n){return n/360+.5}function ft(n){var i=Math.sin(n*Math.PI/180),t=.5-.25*Math.log((1+i)/(1-i))/Math.PI;return t<0?0:t>1?1:t}function s(n,t){for(var i in t)n[i]=t[i];return n}function fi(n){return n.x}function ei(n){return n.y}function er(n,t,i,r,u,f){var e=u-i,o=f-r,s;return(0!==e||0!==o)&&(s=((n-i)*e+(t-r)*o)/(e*e+o*o),s>1?(i=u,r=f):s>0&&(i+=e*s,r+=o*s)),(e=n-i)*e+(o=t-r)*o}function h(n,t,i,r){var u={id:void 0===n?null:n,type:t,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(n){var i=n.geometry,r=n.type,t,u;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(n,i);else if("Polygon"===r||"MultiLineString"===r)for(t=0;t<i.length;t++)et(n,i[t]);else if("MultiPolygon"===r)for(t=0;t<i.length;t++)for(u=0;u<i[t].length;u++)et(n,i[t][u])}(u),u}function et(n,t){for(var i=0;i<t.length;i+=3)n.minX=Math.min(n.minX,t[i]),n.minY=Math.min(n.minY,t[i+1]),n.maxX=Math.max(n.maxX,t[i]),n.maxY=Math.max(n.maxY,t[i+1])}function ot(n,t,i,r){var u,l;if(t.geometry){var f=t.geometry.coordinates,o=t.geometry.type,s=Math.pow(i.tolerance/((1<<i.maxZoom)*i.extent),2),e=[],c=t.id;if(i.promoteId?c=t.properties[i.promoteId]:i.generateId&&(c=r||0),"Point"===o)oi(f,e);else if("MultiPoint"===o)for(u=0;u<f.length;u++)oi(f[u],e);else if("LineString"===o)st(f,e,s,!1);else if("MultiLineString"===o){if(i.lineMetrics){for(u=0;u<f.length;u++)st(f[u],e=[],s,!1),n.push(h(c,"LineString",e,t.properties));return}ht(f,e,s,!1)}else if("Polygon"===o)ht(f,e,s,!0);else{if("MultiPolygon"!==o){if("GeometryCollection"===o){for(u=0;u<t.geometry.geometries.length;u++)ot(n,{id:c,geometry:t.geometry.geometries[u],properties:t.properties},i,r);return}throw new Error("Input data is not a valid GeoJSON object.");}for(u=0;u<f.length;u++)l=[],ht(f[u],l,s,!0),e.push(l)}n.push(h(c,o,e,t.properties))}}function oi(n,t){t.push(si(n[0]));t.push(hi(n[1]));t.push(0)}function st(n,t,i,r){for(var o,s,f,e,c,h=0,u=0;u<n.length;u++)f=si(n[u][0]),e=hi(n[u][1]),t.push(f),t.push(e),t.push(0),u>0&&(h+=r?(o*e-f*s)/2:Math.sqrt(Math.pow(f-o,2)+Math.pow(e-s,2))),o=f,s=e;c=t.length-3;t[2]=1,function n(t,i,r,u){for(var s,h,f,o=u,l=r-i>>1,c=r-i,a=t[i],v=t[i+1],y=t[r],p=t[r+1],e=i+3;e<r;e+=3)s=er(t[e],t[e+1],a,v,y,p),s>o?(f=e,o=s):s===o&&(h=Math.abs(e-l),h<c&&(f=e,c=h));o>u&&(f-i>3&&n(t,i,f,u),t[f+2]=o,r-f>3&&n(t,f,r,u))}(t,0,c,i);t[c+2]=1;t.size=Math.abs(h);t.start=0;t.end=t.size}function ht(n,t,i,r){for(var f,u=0;u<n.length;u++)f=[],st(n[u],f,i,r),t.push(f)}function si(n){return n/360+.5}function hi(n){var i=Math.sin(n*Math.PI/180),t=.5-.25*Math.log((1+i)/(1-i))/Math.PI;return t<0?0:t>1?1:t}function r(n,t,i,r,u,f,e,o){var v,p,c,a,w;if(r/=t,f>=(i/=t)&&e<r)return n;if(e<i||f>=r)return null;for(v=[],p=0;p<n.length;p++){var l=n[p],y=l.geometry,s=l.type,b=0===u?l.minX:l.minY,k=0===u?l.maxX:l.maxY;if(b>=i&&k<r)v.push(l);else if(!(k<i||b>=r)){if(c=[],"Point"===s||"MultiPoint"===s)or(y,c,i,r,u);else if("LineString"===s)ci(y,c,i,r,u,!1,o.lineMetrics);else if("MultiLineString"===s)ct(y,c,i,r,u,!1);else if("Polygon"===s)ct(y,c,i,r,u,!0);else if("MultiPolygon"===s)for(a=0;a<y.length;a++)w=[],ct(y[a],w,i,r,u,!0),w.length&&c.push(w);if(c.length){if(o.lineMetrics&&"LineString"===s){for(a=0;a<c.length;a++)v.push(h(l.id,s,c[a],l.tags));continue}"LineString"!==s&&"MultiLineString"!==s||(1===c.length?(s="LineString",c=c[0]):s="MultiLineString");"Point"!==s&&"MultiPoint"!==s||(s=3===c.length?"Point":"MultiPoint");v.push(h(l.id,s,c,l.tags))}}}return v.length?v:null}function or(n,t,i,r,u){for(var e,f=0;f<n.length;f+=3)e=n[f+u],e>=i&&e<=r&&(t.push(n[f]),t.push(n[f+1]),t.push(n[f+2]))}function ci(n,t,i,r,u,f,e){for(var c,w,l,o=li(n),b=0===u?sr:hr,k=n.start,a=0;a<n.length-3;a+=3){var s=n[a],h=n[a+1],g=n[a+2],v=n[a+3],y=n[a+4],p=0===u?s:h,d=0===u?v:y,nt=!1;e&&(w=Math.sqrt(Math.pow(s-v,2)+Math.pow(h-y,2)));p<i?d>i&&(l=b(o,s,h,v,y,i),e&&(o.start=k+w*l)):p>r?d<r&&(l=b(o,s,h,v,y,r),e&&(o.start=k+w*l)):lt(o,s,h,g);d<i&&p>=i&&(l=b(o,s,h,v,y,i),nt=!0);d>r&&p<=r&&(l=b(o,s,h,v,y,r),nt=!0);!f&&nt&&(e&&(o.end=k+w*l),t.push(o),o=li(n));e&&(k+=w)}c=n.length-3;s=n[c];h=n[c+1];g=n[c+2];(p=0===u?s:h)>=i&&p<=r&&lt(o,s,h,g);c=o.length-3;f&&c>=3&&(o[c]!==o[0]||o[c+1]!==o[1])&&lt(o,o[0],o[1],o[2]);o.length&&t.push(o)}function li(n){var t=[];return t.size=n.size,t.start=n.start,t.end=n.end,t}function ct(n,t,i,r,u,f){for(var e=0;e<n.length;e++)ci(n[e],t,i,r,u,f,!1)}function lt(n,t,i,r){n.push(t);n.push(i);n.push(r)}function sr(n,t,i,r,u,f){var e=(f-t)/(r-t);return n.push(f),n.push(i+(u-i)*e),n.push(1),e}function hr(n,t,i,r,u,f){var e=(f-i)/(u-i);return n.push(t+(r-t)*e),n.push(f),n.push(1),e}function ai(n,t){for(var f,i,u,r,c,o,s=[],e=0;e<n.length;e++){if(i=n[e],u=i.type,"Point"===u||"MultiPoint"===u||"LineString"===u)f=at(i.geometry,t);else if("MultiLineString"===u||"Polygon"===u)for(f=[],r=0;r<i.geometry.length;r++)f.push(at(i.geometry[r],t));else if("MultiPolygon"===u)for(f=[],r=0;r<i.geometry.length;r++){for(c=[],o=0;o<i.geometry[r].length;o++)c.push(at(i.geometry[r][o],t));f.push(c)}s.push(h(i.id,u,f,i.tags))}return s}function at(n,t){var r=[],i;for(r.size=n.size,void 0!==n.start&&(r.start=n.start,r.end=n.end),i=0;i<n.length;i+=3)r.push(n[i]+t,n[i+1],n[i+2]);return r}function vi(n,t){var o;if(n.transformed)return n;for(var i,u,s=1<<n.z,h=n.x,c=n.y,e=0;e<n.features.length;e++){var f=n.features[e],r=f.geometry,l=f.type;if(f.geometry=[],1===l)for(i=0;i<r.length;i+=2)f.geometry.push(yi(r[i],r[i+1],t,s,h,c));else for(i=0;i<r.length;i++){for(o=[],u=0;u<r[i].length;u+=2)o.push(yi(r[i][u],r[i][u+1],t,s,h,c));f.geometry.push(o)}}return n.transformed=!0,n}function yi(n,t,i,r,u,f){return[Math.round(i*(n*r-u)),Math.round(i*(t*r-f))]}function cr(n,t,i,r,u){for(var l=t===u.maxZoom?0:u.tolerance/((1<<t)*u.extent),f={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:i,y:r,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},e=0;e<n.length;e++){f.numFeatures++;lr(f,n[e],l,u);var o=n[e].minX,s=n[e].minY,h=n[e].maxX,c=n[e].maxY;o<f.minX&&(f.minX=o);s<f.minY&&(f.minY=s);h>f.maxX&&(f.maxX=h);c>f.maxY&&(f.maxY=c)}return f}function lr(n,t,i,r){var f=t.geometry,e=t.type,o=[],u,h,c,s,l,a;if("Point"===e||"MultiPoint"===e)for(u=0;u<f.length;u+=3)o.push(f[u]),o.push(f[u+1]),n.numPoints++,n.numSimplified++;else if("LineString"===e)vt(o,f,n,i,!1,!1);else if("MultiLineString"===e||"Polygon"===e)for(u=0;u<f.length;u++)vt(o,f[u],n,i,"Polygon"===e,0===u);else if("MultiPolygon"===e)for(h=0;h<f.length;h++)for(c=f[h],u=0;u<c.length;u++)vt(o,c[u],n,i,!0,0===u);if(o.length){if(s=t.tags||null,"LineString"===e&&r.lineMetrics){for(l in s={},t.tags)s[l]=t.tags[l];s.mapbox_clip_start=f.start/f.size;s.mapbox_clip_end=f.end/f.size}a={geometry:o,type:"Polygon"===e||"MultiPolygon"===e?3:"LineString"===e||"MultiLineString"===e?2:1,tags:s};null!==t.id&&(a.id=t.id);n.features.push(a)}}function vt(n,t,i,r,u,f){var s=r*r,o,e;if(r>0&&t.size<(u?s:r))i.numPoints+=t.length/3;else{for(o=[],e=0;e<t.length;e+=3)(0===r||t[e+2]>s)&&(i.numSimplified++,o.push(t[e]),o.push(t[e+1])),i.numPoints++;u&&function(n,t){for(var e,o,f=0,i=0,r=n.length,u=r-2;i<r;u=i,i+=2)f+=(n[i]-n[u])*(n[i+1]+n[u+1]);if(f>0===t)for(i=0,r=n.length;i<r/2;i+=2)e=n[i],o=n[i+1],n[i]=n[r-2-i],n[i+1]=n[r-1-i],n[r-2-i]=e,n[r-1-i]=o}(o,f);n.push(o)}}function v(n,t){var u=(t=this.options=function(n,t){for(var i in t)n[i]=t[i];return n}(Object.create(this.options),t)).debug,i;if(u&&console.time("preprocess data"),t.maxZoom<0||t.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");i=function(n,t){var r=[],i;if("FeatureCollection"===n.type)for(i=0;i<n.features.length;i++)ot(r,n.features[i],t,i);else ot(r,"Feature"===n.type?n:{geometry:n},t);return r}(n,t);this.tiles={};this.tileCoords=[];u&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",t.indexMaxZoom,t.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0);(i=function(n,t){var i=t.buffer/t.extent,u=n,f=r(n,1,-1-i,i,0,-1,2,t),e=r(n,1,1-i,2+i,0,-1,2,t);return(f||e)&&(u=r(n,1,-i,1+i,0,-1,2,t)||[],f&&(u=ai(f,1).concat(u)),e&&(u=u.concat(ai(e,-1)))),u}(i,t)).length&&this.splitTile(i,0,0,0);u&&(i.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)))}function yt(n,t,i){return 32*((1<<n)*i+t)+n}function ar(n,t){var r=n.tileID.canonical,u,f,i;if(!this._geoJSONIndex||(u=this._geoJSONIndex.getTile(r.z,r.x,r.y),!u))return t(null,null);f=new g(u.features);i=e(f);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i));t(null,{vectorTile:f,rawData:i.buffer})}var p=function(n){this.keyCache={};n&&this.replace(n)},w,b,u,d,f,bt,c,g,kt,nt,e,gt,ii,i,pi,t;p.prototype.replace=function(n){this._layerConfigs={};this._layers={};this.update(n,[])};p.prototype.update=function(t,i){for(var r,l,f,a,e,o,v,y,s,p,u,w,h,k=this,c=0,b=t;c<b.length;c+=1)r=b[c],this._layerConfigs[r.id]=r,l=this._layers[r.id]=n.createStyleLayer(r),l._featureFilter=n.featureFilter(l.filter),this.keyCache[r.id]&&delete this.keyCache[r.id];for(f=0,a=i;f<a.length;f+=1)e=a[f],delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];for(this.familiesBySource={},o=0,v=function(n,t){for(var u,f,e,o,r={},i=0;i<n.length;i++)u=t&&t[n[i].id]||wi(n[i]),t&&(t[n[i].id]=u),f=r[u],f||(f=r[u]=[]),f.push(n[i]);e=[];for(o in r)e.push(r[o]);return e}(n.values(this._layerConfigs),this.keyCache);o<v.length;o+=1)y=v[o].map(function(n){return k._layers[n.id]}),s=y[0],"none"!==s.visibility&&(p=s.source||"",u=this.familiesBySource[p],u||(u=this.familiesBySource[p]={}),w=s.sourceLayer||"_geojsonTileLayer",h=u[w],h||(h=u[w]=[]),h.push(y))};w=function(t){var u={},p=[],f,e,w,o,i,s,h,c,l,a,v,r,y;for(f in t){e=t[f];w=u[f]={};for(o in e)i=e[+o],i&&0!==i.bitmap.width&&0!==i.bitmap.height&&(s={x:0,y:0,w:i.bitmap.width+2,h:i.bitmap.height+2},p.push(s),w[o]={rect:s,metrics:i.metrics})}h=n.potpack(p);c=new n.AlphaImage({width:h.w||1,height:h.h||1});for(l in t){a=t[l];for(v in a)r=a[+v],r&&0!==r.bitmap.width&&0!==r.bitmap.height&&(y=u[l][v].rect,n.AlphaImage.copy(r.bitmap,c,{x:0,y:0},{x:y.x+1,y:y.y+1},r.bitmap))}this.image=c;this.positions=u};n.register("GlyphAtlas",w);b=function(t){this.tileID=new n.OverscaledTileID(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};b.prototype.parse=function(t,i,r,u,f){function nt(){var i,u,o,t;if(e)return f(e);if(h&&c&&p){i=new w(h);u=new n.ImageAtlas(c,p);for(o in b)t=b[o],t instanceof n.SymbolBucket?(k(t.layers,this.zoom,r),n.performSymbolLayout(t,h,i.positions,c,u.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):t.hasPattern&&(t instanceof n.LineBucket||t instanceof n.FillBucket||t instanceof n.FillExtrusionBucket)&&(k(t.layers,this.zoom,r),t.addFeatures(a,this.tileID.canonical,u.patternPositions));this.status="done";f(null,{buckets:n.values(b).filter(function(n){return!n.isEmpty()}),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:i.image,imageAtlas:u,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?c:null,glyphPositions:this.returnDependencies?i.positions:null})}}var tt=this,ot,s,l,v,it,lt,g,rt,y,o,ut,ft,et;this.status="parsing";this.data=t;this.collisionBoxArray=new n.CollisionBoxArray;ot=new n.DictionaryCoder(Object.keys(t.layers).sort());s=new n.FeatureIndex(this.tileID,this.promoteId);s.bucketLayerIDs=[];var e,h,c,p,b={},a={featureIndex:s,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},st=i.familiesBySource[this.source];for(l in st)if(v=t.layers[l],v){1===v.version&&n.warnOnce('Vector tile source "'+this.source+'" layer "'+l+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var ht=ot.encode(l),ct=[],d=0;d<v.length;d++)it=v.feature(d),lt=s.getId(it,l),ct.push({feature:it,id:lt,index:d,sourceLayerIndex:ht});for(g=0,rt=st[l];g<rt.length;g+=1)y=rt[g],o=y[0],o.minzoom&&this.zoom<Math.floor(o.minzoom)||o.maxzoom&&this.zoom>=o.maxzoom||"none"!==o.visibility&&(k(y,this.zoom,r),(b[o.id]=o.createBucket({index:s.bucketLayerIDs.length,layers:y,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ht,sourceID:this.source})).populate(ct,a,this.tileID.canonical),s.bucketLayerIDs.push(y.map(function(n){return n.id})))}ut=n.mapObject(a.glyphDependencies,function(n){return Object.keys(n).map(Number)});Object.keys(ut).length?u.send("getGlyphs",{uid:this.uid,stacks:ut},function(n,t){e||(e=n,h=t,nt.call(tt))}):h={};ft=Object.keys(a.iconDependencies);ft.length?u.send("getImages",{icons:ft,source:this.source,tileID:this.tileID,type:"icons"},function(n,t){e||(e=n,c=t,nt.call(tt))}):c={};et=Object.keys(a.patternDependencies);et.length?u.send("getImages",{icons:et,source:this.source,tileID:this.tileID,type:"patterns"},function(n,t){e||(e=n,p=t,nt.call(tt))}):p={};nt.call(this)};u=function(n,t,i,r){this.actor=n;this.layerIndex=t;this.availableImages=i;this.loadVectorData=r||bi;this.loading={};this.loaded={}};u.prototype.loadTile=function(t,i){var r=this,f=t.uid,e,u;this.loading||(this.loading={});e=!!(t&&t.request&&t.request.collectResourceTiming)&&new n.RequestPerformance(t.request);u=this.loading[f]=new b(t);u.abort=this.loadVectorData(t,function(t,o){var l,s,h,c;if(delete r.loading[f],t||!o)return u.status="done",r.loaded[f]=u,i(t);l=o.rawData;s={};o.expires&&(s.expires=o.expires);o.cacheControl&&(s.cacheControl=o.cacheControl);h={};e&&(c=e.finish(),c&&(h.resourceTiming=JSON.parse(JSON.stringify(c))));u.vectorTile=o.vectorTile;u.parse(o.vectorTile,r.layerIndex,r.availableImages,r.actor,function(t,r){if(t||!r)return i(t);i(null,n.extend({rawTileData:l.slice(0)},r,s,h))});r.loaded=r.loaded||{};r.loaded[f]=u})};u.prototype.reloadTile=function(n,t){var o=this,u=this.loaded,f=n.uid,e=this,i,r;u&&u[f]&&(i=u[f],i.showCollisionBoxes=n.showCollisionBoxes,r=function(n,r){var u=i.reloadCallback;u&&(delete i.reloadCallback,i.parse(i.vectorTile,e.layerIndex,o.availableImages,e.actor,u));t(n,r)},"parsing"===i.status?i.reloadCallback=r:"done"===i.status&&(i.vectorTile?i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor,r):r()))};u.prototype.abortTile=function(n,t){var i=this.loading,r=n.uid;i&&i[r]&&i[r].abort&&(i[r].abort(),delete i[r]);t()};u.prototype.removeTile=function(n,t){var i=this.loaded,r=n.uid;i&&i[r]&&delete i[r];t()};d=n.window.ImageBitmap;f=function(){this.loaded={}};f.prototype.loadTile=function(t,i){var u=t.uid,e=t.encoding,r=t.rawImageData,o=d&&r instanceof d?this.getImageData(r):r,f=new n.DEMData(u,o,e);this.loaded=this.loaded||{};this.loaded[u]=f;i(null,f)};f.prototype.getImageData=function(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d"));this.offscreenCanvas.width=t.width;this.offscreenCanvas.height=t.height;this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var i=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new n.RGBAImage({width:i.width,height:i.height},i.data)};f.prototype.removeTile=function(n){var t=this.loaded,i=n.uid;t&&t[i]&&delete t[i]};bt=n.vectorTile.VectorTileFeature.prototype.toGeoJSON;c=function(t){this._feature=t;this.extent=n.EXTENT;this.type=t.type;this.properties=t.tags;"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};c.prototype.loadGeometry=function(){var i,f;if(1===this._feature.type){for(var e=[],t=0,o=this._feature.geometry;t<o.length;t+=1)i=o[t],e.push([new n.Point$1(i[0],i[1])]);return e}for(var s=[],r=0,h=this._feature.geometry;r<h.length;r+=1){for(var c=[],u=0,l=h[r];u<l.length;u+=1)f=l[u],c.push(new n.Point$1(f[0],f[1]));s.push(c)}return s};c.prototype.toGeoJSON=function(n,t,i){return bt.call(this,n,t,i)};g=function(t){this.layers={_geojsonTileLayer:this};this.name="_geojsonTileLayer";this.extent=n.EXTENT;this.length=t.length;this._features=t};g.prototype.feature=function(n){return new c(this._features[n])};kt=n.vectorTile.VectorTileFeature;nt=dt;dt.prototype.feature=function(n){return new l(this.features[n],this.options.extent)};l.prototype.loadGeometry=function(){var u=this.rawGeometry,t;for(this.geometry=[],t=0;t<u.length;t++){for(var r=u[t],f=[],i=0;i<r.length;i++)f.push(new n.Point$1(r[i][0],r[i][1]));this.geometry.push(f)}return this.geometry};l.prototype.bbox=function(){var o,t,n;this.geometry||this.loadGeometry();for(var s=this.geometry,i=1/0,r=-1/0,u=1/0,f=-1/0,e=0;e<s.length;e++)for(o=s[e],t=0;t<o.length;t++)n=o[t],i=Math.min(i,n.x),r=Math.max(r,n.x),u=Math.min(u,n.y),f=Math.max(f,n.y);return[i,u,r,f]};l.prototype.toGeoJSON=kt.prototype.toGeoJSON;e=tt;gt=nt;e.fromVectorTileJs=tt;e.fromGeojsonVt=function(n,t){var r,i;t=t||{};r={};for(i in n)r[i]=new nt(n[i].features,t),r[i].name=i,r[i].version=t.version,r[i].extent=t.extent;return tt({layers:r})};e.GeoJSONWrapper=gt;var ir=function(n){return n[0]},rr=function(n){return n[1]},a=function(n,t,i,r,u){void 0===t&&(t=ir);void 0===i&&(i=rr);void 0===r&&(r=64);void 0===u&&(u=Float64Array);this.nodeSize=r;this.points=n;for(var h=n.length<65536?Uint16Array:Uint32Array,e=this.ids=new h(n.length),s=this.coords=new u(2*n.length),f=0;f<n.length;f++)e[f]=f,s[2*f]=t(n[f]),s[2*f+1]=i(n[f]);!function n(t,i,r,u,f,e){if(!(f-u<=r)){var s=u+f>>1;!function n(t,i,r,u,f,e){for(;f>u;){if(f-u>600){var h=f-u+1,v=r-u+1,y=Math.log(h),l=.5*Math.exp(2*y/3),p=.5*Math.sqrt(y*l*(h-l)/h)*(v-h/2<0?-1:1);n(t,i,r,Math.max(u,Math.floor(r-v*l/h+p)),Math.min(f,Math.floor(r+(h-v)*l/h+p)),e)}var a=i[2*r+e],c=u,s=f;for(o(t,i,u,r),i[2*f+e]>a&&o(t,i,u,f);c<s;){for(o(t,i,c,s),c++,s--;i[2*c+e]<a;)c++;for(;i[2*s+e]>a;)s--}i[2*u+e]===a?o(t,i,u,s):o(t,i,++s,f);s<=r&&(u=s+1);r<=s&&(f=s-1)}}(t,i,s,u,f,e%2);n(t,i,r,u,s-1,e+1);n(t,i,r,s+1,f,e+1)}}(e,s,r,0,e.length-1,0)};return a.prototype.range=function(n,t,i,r){return function(n,t,i,r,u,f,e){for(var h,s,c,l,w,o=[0,n.length-1,0],a=[];o.length;){var p=o.pop(),v=o.pop(),y=o.pop();if(v-y<=e)for(c=y;c<=v;c++)s=t[2*c+1],(h=t[2*c])>=i&&h<=u&&s>=r&&s<=f&&a.push(n[c]);else l=Math.floor((y+v)/2),s=t[2*l+1],(h=t[2*l])>=i&&h<=u&&s>=r&&s<=f&&a.push(n[l]),w=(p+1)%2,(0===p?i<=h:r<=s)&&(o.push(y),o.push(l-1),o.push(w)),(0===p?u>=h:f>=s)&&(o.push(l+1),o.push(v),o.push(w))}return a}(this.ids,this.coords,n,t,i,r,this.nodeSize)},a.prototype.within=function(n,t,i){return function(n,t,i,r,u,f){for(var o,p,e=[0,n.length-1,0],l=[],w=u*u;e.length;){var a=e.pop(),h=e.pop(),c=e.pop();if(h-c<=f)for(o=c;o<=h;o++)ti(t[2*o],t[2*o+1],i,r)<=w&&l.push(n[o]);else{var s=Math.floor((c+h)/2),v=t[2*s],y=t[2*s+1];ti(v,y,i,r)<=w&&l.push(n[s]);p=(a+1)%2;(0===a?i-u<=v:r-u<=y)&&(e.push(c),e.push(s-1),e.push(p));(0===a?i+u>=v:r+u>=y)&&(e.push(s+1),e.push(h),e.push(p))}}return l}(this.ids,this.coords,n,t,i,this.nodeSize)},ii={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(n){return n}},i=function(n){this.options=s(Object.create(ii),n);this.trees=new Array(this.options.maxZoom+1)},i.prototype.load=function(n){var f=this.options,u=f.log,c=f.minZoom,o=f.maxZoom,s=f.nodeSize,e,t,i,r,h;for(u&&console.time("total time"),e="prepare "+n.length+" points",u&&console.time(e),this.points=n,t=[],i=0;i<n.length;i++)n[i].geometry&&t.push(fr(n[i],i));for(this.trees[o+1]=new a(t,fi,ei,s,Float32Array),u&&console.timeEnd(e),r=o;r>=c;r--)h=+Date.now(),t=this._cluster(t,r),this.trees[r]=new a(t,fi,ei,s,Float32Array),u&&console.log("z%d: %d clusters in %dms",r,t.length,+Date.now()-h);return u&&console.timeEnd("total time"),this},i.prototype.getClusters=function(n,t){var i=((n[0]+180)%360+360)%360-180,f=Math.max(-90,Math.min(90,n[1])),r=180===n[2]?180:((n[2]+180)%360+360)%360-180,e=Math.max(-90,Math.min(90,n[3])),s,h,u;if(n[2]-n[0]>=360)i=-180,r=180;else if(i>r)return s=this.getClusters([i,f,180,e],t),h=this.getClusters([-180,f,r,e],t),s.concat(h);for(var c=this.trees[this._limitZoom(t)],l=[],o=0,a=c.range(ut(i),ft(e),ut(r),ft(f));o<a.length;o+=1)u=c.points[a[o]],l.push(u.numPoints?ri(u):this.points[u.index]);return l},i.prototype.getChildren=function(n){var h=this._getOriginId(n),o=this._getOriginZoom(n),u="No cluster with the specified id.",i=this.trees[o],r,t;if(!i)throw new Error(u);if(r=i.points[h],!r)throw new Error(u);for(var c=this.options.radius/(this.options.extent*Math.pow(2,o-1)),f=[],e=0,s=i.within(r.x,r.y,c);e<s.length;e+=1)t=i.points[s[e]],t.parentId===n&&f.push(t.numPoints?ri(t):this.points[t.index]);if(0===f.length)throw new Error(u);return f},i.prototype.getLeaves=function(n,t,i){var r=[];return this._appendLeaves(r,n,t=t||10,i=i||0,0),r},i.prototype.getTile=function(n,t,i){var u=this.trees[this._limitZoom(n)],r=Math.pow(2,n),h=this.options,f=h.radius/h.extent,o=(i-f)/r,s=(i+1+f)/r,e={features:[]};return this._addTileFeatures(u.range((t-f)/r,o,(t+1+f)/r,s),u.points,t,i,r,e),0===t&&this._addTileFeatures(u.range(1-f/r,o,1,s),u.points,r,i,r,e),t===r-1&&this._addTileFeatures(u.range(0,o,f/r,s),u.points,-1,i,r,e),e.features.length?e:null},i.prototype.getClusterExpansionZoom=function(n){for(var i,t=this._getOriginZoom(n)-1;t<=this.options.maxZoom;){if(i=this.getChildren(n),t++,1!==i.length)break;n=i[0].properties.cluster_id}return t},i.prototype._appendLeaves=function(n,t,i,r,u){for(var s,f,e=0,o=this.getChildren(t);e<o.length;e+=1)if(s=o[e],f=s.properties,f&&f.cluster?u+f.point_count<=r?u+=f.point_count:u=this._appendLeaves(n,f.cluster_id,i,r,u):u<r?u++:n.push(s),n.length===i)break;return u},i.prototype._addTileFeatures=function(n,t,i,r,u,f){for(var s=0,h=n;s<h.length;s+=1){var e=t[h[s]],c=e.numPoints,l={type:1,geometry:[[Math.round(this.options.extent*(e.x*u-i)),Math.round(this.options.extent*(e.y*u-r))]],tags:c?ui(e):this.points[e.index].properties},o=void 0;c?o=e.id:this.options.generateId?o=e.index:this.points[e.index].id&&(o=this.points[e.index].id);void 0!==o&&(l.id=o);f.features.push(l)}},i.prototype._limitZoom=function(n){return Math.max(this.options.minZoom,Math.min(+n,this.options.maxZoom+1))},i.prototype._cluster=function(n,t){for(var i,w,r,d,l,g,a,f=[],e=this.options,v=e.reduce,ut=e.minPoints,ft=e.radius/(e.extent*Math.pow(2,t)),o=0;o<n.length;o++)if(i=n[o],!(i.zoom<=t)){i.zoom=t;for(var s=this.trees[t+1],y=s.within(i.x,i.y,ft),h=i.numPoints||1,u=h,p=0,nt=y;p<nt.length;p+=1)w=s.points[nt[p]],w.zoom>t&&(u+=w.numPoints||1);if(u>=ut){for(var tt=i.x*h,it=i.y*h,c=v&&h>1?this._map(i,!0):null,b=(o<<5)+(t+1)+this.points.length,k=0,rt=y;k<rt.length;k+=1)r=s.points[rt[k]],r.zoom<=t||(r.zoom=t,d=r.numPoints||1,tt+=r.x*d,it+=r.y*d,r.parentId=b,v&&(c||(c=this._map(i,!0)),v(c,this._map(r))));i.parentId=b;f.push(ur(tt/u,it/u,b,u,c))}else if(f.push(i),u>1)for(l=0,g=y;l<g.length;l+=1)a=s.points[g[l]],a.zoom<=t||(a.zoom=t,f.push(a))}return f},i.prototype._getOriginId=function(n){return n-this.points.length>>5},i.prototype._getOriginZoom=function(n){return(n-this.points.length)%32},i.prototype._map=function(n,t){if(n.numPoints)return t?s({},n.properties):n.properties;var r=this.points[n.index].properties,i=this.options.map(r);return t&&i===r?s({},i):i},v.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},v.prototype.splitTile=function(n,t,i,u,f,e,o){for(var w,b,c=[n,t,i,u],h=this.options,v=h.debug;c.length;){u=c.pop();i=c.pop();t=c.pop();n=c.pop();var l=1<<t,ut=yt(t,i,u),s=this.tiles[ut];if(!s&&(v>1&&console.time("creation"),s=this.tiles[ut]=cr(n,t,i,u,h),this.tileCoords.push({z:t,x:i,y:u}),v)&&(v>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,u,s.numFeatures,s.numPoints,s.numSimplified),console.timeEnd("creation")),w="z"+t,this.stats[w]=(this.stats[w]||0)+1,this.total++),s.source=n,f){if(t===h.maxZoom||t===f)continue;if(b=1<<f-t,i!==Math.floor(e/b)||u!==Math.floor(o/b))continue}else if(t===h.indexMaxZoom||s.numPoints<=h.indexMaxPoints)continue;if(s.source=null,0!==n.length){v>1&&console.time("clipping");var k,d,g,nt,y,p,a=.5*h.buffer/h.extent,tt=.5-a,it=.5+a,rt=1+a;k=d=g=nt=null;y=r(n,l,i-a,i+it,0,s.minX,s.maxX,h);p=r(n,l,i+tt,i+rt,0,s.minX,s.maxX,h);n=null;y&&(k=r(y,l,u-a,u+it,1,s.minY,s.maxY,h),d=r(y,l,u+tt,u+rt,1,s.minY,s.maxY,h),y=null);p&&(g=r(p,l,u-a,u+it,1,s.minY,s.maxY,h),nt=r(p,l,u+tt,u+rt,1,s.minY,s.maxY,h),p=null);v>1&&console.timeEnd("clipping");c.push(k||[],t+1,2*i,2*u);c.push(d||[],t+1,2*i,2*u+1);c.push(g||[],t+1,2*i+1,2*u);c.push(nt||[],t+1,2*i+1,2*u+1)}}},v.prototype.getTile=function(n,t,i){var c=this.options,l=c.extent,s=c.debug,h,r;if(n<0||n>24)return null;if(h=1<<n,r=yt(n,t=(t%h+h)%h,i),this.tiles[r])return vi(this.tiles[r],l);s>1&&console.log("drilling down to z%d-%d-%d",n,t,i);for(var u,f=n,e=t,o=i;!u&&f>0;)f--,e=Math.floor(e/2),o=Math.floor(o/2),u=this.tiles[yt(f,e,o)];return u&&u.source?(s>1&&console.log("found parent tile z%d-%d-%d",f,e,o),s>1&&console.time("drilling down"),this.splitTile(u.source,f,e,o,n,t,i),s>1&&console.timeEnd("drilling down"),this.tiles[r]?vi(this.tiles[r],l):null):null},pi=function(t){function r(n,i,r,u){t.call(this,n,i,r,ar);u&&(this.loadGeoJSON=u)}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r.prototype.loadData=function(n,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});this._pendingCallback=t;this._pendingLoadDataParams=n;this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var f=this,r,t,u;this._pendingCallback&&this._pendingLoadDataParams&&(r=this._pendingCallback,t=this._pendingLoadDataParams,delete this._pendingCallback,delete this._pendingLoadDataParams,u=!!(t&&t.request&&t.request.collectResourceTiming)&&new n.RequestPerformance(t.request),this.loadGeoJSON(t,function(e,o){var s,h;if(e||!o)return r(e);if("object"!=typeof o)return r(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."));!function n(t,i){var r,u=t&&t.type;if("FeatureCollection"===u)for(r=0;r<t.features.length;r++)n(t.features[r],i);else if("GeometryCollection"===u)for(r=0;r<t.geometries.length;r++)n(t.geometries[r],i);else if("Feature"===u)n(t.geometry,i);else if("Polygon"===u)pt(t.coordinates,i);else if("MultiPolygon"===u)for(r=0;r<t.coordinates.length;r++)pt(t.coordinates[r],i);return t}(o,!0);try{f._geoJSONIndex=t.cluster?new i(function(t){var i=t.superclusterOptions,f=t.clusterProperties;if(!f||!i)return i;for(var c={},l={},e={accumulated:null,zoom:0},r={properties:null},o=Object.keys(f),s=0,a=o;s<a.length;s+=1){var u=a[s],v=f[u],h=v[0],y=n.createExpression(v[1]),p=n.createExpression("string"==typeof h?[h,["accumulated"],["get",u]]:h);c[u]=y.value;l[u]=p.value}return i.map=function(n){var i;r.properties=n;for(var u={},t=0,f=o;t<f.length;t+=1)i=f[t],u[i]=c[i].evaluate(e,r);return u},i.reduce=function(n,t){var i,f,u;for(r.properties=t,i=0,f=o;i<f.length;i+=1)u=f[i],e.accumulated=n[u],n[u]=l[u].evaluate(e,r)},i}(t)).load(o.features):function(n,t){return new v(n,t)}(o,t.geojsonVtOptions)}catch(e){return r(e)}f.loaded={};s={};u&&(h=u.finish(),h&&(s.resourceTiming={},s.resourceTiming[t.source]=JSON.parse(JSON.stringify(h))));r(null,s)}))},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(n,i){var r=this.loaded;return r&&r[n.uid]?t.prototype.reloadTile.call(this,n,i):this.loadTile(n,i)},r.prototype.loadGeoJSON=function(t,i){if(t.request)n.getJSON(t.request,i);else{if("string"!=typeof t.data)return i(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."));try{return i(null,JSON.parse(t.data))}catch(n){return i(new Error("Input data given to '"+t.source+"' is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(n,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});t()},r.prototype.getClusterExpansionZoom=function(n,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(n.clusterId))}catch(n){t(n)}},r.prototype.getClusterChildren=function(n,t){try{t(null,this._geoJSONIndex.getChildren(n.clusterId))}catch(n){t(n)}},r.prototype.getClusterLeaves=function(n,t){try{t(null,this._geoJSONIndex.getLeaves(n.clusterId,n.limit,n.offset))}catch(n){t(n)}},r}(u),t=function(t){var i=this;this.self=t;this.actor=new n.Actor(t,this);this.layerIndexes={};this.availableImages={};this.workerSourceTypes={vector:u,geojson:pi};this.workerSources={};this.demWorkerSources={};this.self.registerWorkerSource=function(n,t){if(i.workerSourceTypes[n])throw new Error('Worker source with name "'+n+'" already registered.');i.workerSourceTypes[n]=t};this.self.registerRTLTextPlugin=function(t){if(n.plugin.isParsed())throw new Error("RTL text plugin already registered.");n.plugin.applyArabicShaping=t.applyArabicShaping;n.plugin.processBidirectionalText=t.processBidirectionalText;n.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText}},t.prototype.setReferrer=function(n,t){this.referrer=t},t.prototype.setImages=function(n,t,i){var u,r,f;for(u in this.availableImages[n]=t,this.workerSources[n]){r=this.workerSources[n][u];for(f in r)r[f].availableImages=t}i()},t.prototype.setLayers=function(n,t,i){this.getLayerIndex(n).replace(t);i()},t.prototype.updateLayers=function(n,t,i){this.getLayerIndex(n).update(t.layers,t.removedIds);i()},t.prototype.loadTile=function(n,t,i){this.getWorkerSource(n,t.type,t.source).loadTile(t,i)},t.prototype.loadDEMTile=function(n,t,i){this.getDEMWorkerSource(n,t.source).loadTile(t,i)},t.prototype.reloadTile=function(n,t,i){this.getWorkerSource(n,t.type,t.source).reloadTile(t,i)},t.prototype.abortTile=function(n,t,i){this.getWorkerSource(n,t.type,t.source).abortTile(t,i)},t.prototype.removeTile=function(n,t,i){this.getWorkerSource(n,t.type,t.source).removeTile(t,i)},t.prototype.removeDEMTile=function(n,t){this.getDEMWorkerSource(n,t.source).removeTile(t)},t.prototype.removeSource=function(n,t,i){if(this.workerSources[n]&&this.workerSources[n][t.type]&&this.workerSources[n][t.type][t.source]){var r=this.workerSources[n][t.type][t.source];delete this.workerSources[n][t.type][t.source];void 0!==r.removeSource?r.removeSource(t,i):i()}},t.prototype.loadWorkerSource=function(n,t,i){try{this.self.importScripts(t.url);i()}catch(n){i(n.toString())}},t.prototype.syncRTLPluginState=function(t,i,r){var u,f;try{n.plugin.setState(i);u=n.plugin.getPluginURL();n.plugin.isLoaded()&&!n.plugin.isParsed()&&null!=u&&(this.self.importScripts(u),f=n.plugin.isParsed(),r(f?void 0:new Error("RTL Text Plugin failed to import scripts from "+u),f))}catch(n){r(n.toString())}},t.prototype.getAvailableImages=function(n){var t=this.availableImages[n];return t||(t=[]),t},t.prototype.getLayerIndex=function(n){var t=this.layerIndexes[n];return t||(t=this.layerIndexes[n]=new p),t},t.prototype.getWorkerSource=function(n,t,i){var r=this;return this.workerSources[n]||(this.workerSources[n]={}),this.workerSources[n][t]||(this.workerSources[n][t]={}),this.workerSources[n][t][i]||(this.workerSources[n][t][i]=new this.workerSourceTypes[t]({send:function(t,i,u){r.actor.send(t,i,u,n)}},this.getLayerIndex(n),this.getAvailableImages(n))),this.workerSources[n][t][i]},t.prototype.getDEMWorkerSource=function(n,t){return this.demWorkerSources[n]||(this.demWorkerSources[n]={}),this.demWorkerSources[n][t]||(this.demWorkerSources[n][t]=new f),this.demWorkerSources[n][t]},t.prototype.enforceCacheSizeLimit=function(t,i){n.enforceCacheSizeLimit(i)},"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new t(self)),t}),r(["./shared"],function(n){function yf(n){if(!ni)return n[0];for(var t=0;t<n.length;t++)if(n[t]in ni)return n[t];return n[0]}function ds(n){var t=n.userImage;return!!(t&&t.render&&t.render())&&(n.data.replace(new Uint8Array(t.data.buffer)),!0)}function yu(n,t,i,r,u,f){this.fontSize=n||24;this.buffer=void 0===t?3:t;this.cutoff=r||.25;this.fontFamily=u||"sans-serif";this.fontWeight=f||"normal";this.radius=i||8;var e=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas");this.canvas.width=this.canvas.height=e;this.ctx=this.canvas.getContext("2d");this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily;this.ctx.textBaseline="middle";this.ctx.fillStyle="black";this.gridOuter=new Float64Array(e*e);this.gridInner=new Float64Array(e*e);this.f=new Float64Array(e);this.d=new Float64Array(e);this.z=new Float64Array(e+1);this.v=new Int16Array(e);this.middle=Math.round(e/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function kf(n,t,i,r,u,f,e){for(var s,o=0;o<t;o++){for(s=0;s<i;s++)r[s]=n[s*t+o];for(df(r,u,f,e,i),s=0;s<i;s++)n[s*t+o]=u[s]}for(s=0;s<i;s++){for(o=0;o<t;o++)r[o]=n[s*t+o];for(df(r,u,f,e,t),o=0;o<t;o++)n[s*t+o]=Math.sqrt(u[o])}}function df(n,t,i,r,u){var e,f,o;for(i[0]=0,r[0]=-nr,r[1]=+nr,e=1,f=0;e<u;e++){for(o=(n[e]+e*e-(n[i[f]]+i[f]*i[f]))/(2*e-2*i[f]);o<=r[f];)f--,o=(n[e]+e*e-(n[i[f]]+i[f]*i[f]))/(2*e-2*i[f]);i[++f]=e;r[f]=o;r[f+1]=+nr}for(e=0,f=0;e<u;e++){for(;r[f+1]<e;)f++;t[e]=(e-i[f])*(e-i[f])+n[i[f]]}}function gf(t,i,r){var u=function(u,f){if(u)return r(u);if(f){var e=n.pick(n.extend(f,t),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);f.vector_layers&&(e.vectorLayers=f.vector_layers,e.vectorLayerIds=e.vectorLayers.map(function(n){return n.id}));e.tiles=i.canonicalizeTileset(e,t.url);r(null,e)}};return t.url?n.getJSON(i.transformRequest(i.normalizeSourceURL(t.url),n.ResourceType.Source),u):n.browser.frame(function(){return u(null,t)})}function sh(t,i){var r=n.identity([]);return n.translate(r,r,[1,1,0]),n.scale(r,r,[.5*t.width,.5*t.height,1]),n.multiply(r,r,t.calculatePosMatrix(i.toUnwrapped()))}function hh(n,t,i,r,u,f){var y=function(n,t,i){var r,f,u,o,e;if(n){for(r=0,f=n;r<f.length;r+=1)if(u=t[f[r]],u&&u.source===i&&"fill-extrusion"===u.type)return!0}else for(o in t)if(e=t[o],e.source===i&&"fill-extrusion"===e.type)return!0;return!1}(u&&u.layers,t,n.id),h=f.maxPitchScaleFactor(),c=n.tilesIn(r,h,y),e,o,v;c.sort(te);for(var l=[],s=0,a=c;s<a.length;s+=1)e=a[s],l.push({wrappedTileID:e.tileID.wrapped().key,queryResults:e.tile.queryRenderedFeatures(t,i,n._state,e.queryGeometry,e.cameraQueryGeometry,e.scale,u,f,h,sh(n.transform,e.tileID))});o=function(n){for(var t,i,r={},e={},u=0,o=n;u<o.length;u+=1){var s=o[u],h=s.queryResults,c=s.wrappedTileID,l=e[c]=e[c]||{};for(t in h)for(var y=h[t],a=l[t]=l[t]||{},p=r[t]=r[t]||[],f=0,v=y;f<v.length;f+=1)i=v[f],a[i.featureIndex]||(a[i.featureIndex]=!0,p.push(i))}return r}(l);for(v in o)o[v].forEach(function(t){var i=t.feature,r=n.getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source;i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]);i.state=r});return o}function te(n,t){var i=n.tileID,r=t.tileID;return i.overscaledZ-r.overscaledZ||i.canonical.y-r.canonical.y||i.wrap-r.wrap||i.canonical.x-r.canonical.x}function fe(n,t){var i=Math.abs(2*n.wrap)-+(n.wrap<0),r=Math.abs(2*t.wrap)-+(t.wrap<0);return n.overscaledZ-t.overscaledZ||r-i||t.canonical.y-n.canonical.y||t.canonical.x-n.canonical.x}function ee(n){return"raster"===n||"image"===n||"video"===n}function tl(){return new n.window.Worker(ks.workerUrl)}function se(){return ur||(ur=new at),ur}function il(t,i){var r={};for(var u in t)"ref"!==u&&(r[u]=t[u]);return n.refProperties.forEach(function(n){n in i&&(r[n]=i[n])}),r}function he(n){var r,i,t;for(n=n.slice(),r=Object.create(null),i=0;i<n.length;i++)r[n[i].id]=n[i];for(t=0;t<n.length;t++)"ref"in n[t]&&(n[t]=il(n[t],r[n[t].ref]));return n}function ce(n,t,i){i.push({command:f.addSource,args:[n,t[n]]})}function le(n,t,i){t.push({command:f.removeSource,args:[n]});i[n]=!0}function rl(n,t,i,r){le(n,i,r);ce(n,t,i)}function ul(t,i,r){for(var u in t[r])if(t[r].hasOwnProperty(u)&&"data"!==u&&!n.deepEqual(t[r][u],i[r][u]))return!1;for(u in i[r])if(i[r].hasOwnProperty(u)&&"data"!==u&&!n.deepEqual(t[r][u],i[r][u]))return!1;return!0}function br(t,i,r,u,f,e){for(var o in i=i||{},t=t||{})t.hasOwnProperty(o)&&(n.deepEqual(t[o],i[o])||r.push({command:e,args:[u,o,i[o],f]}));for(o in i)i.hasOwnProperty(o)&&!t.hasOwnProperty(o)&&(n.deepEqual(t[o],i[o])||r.push({command:e,args:[u,o,i[o],f]}))}function ae(n){return n.id}function ve(n,t){return n[t.id]=t,n}function wu(t,i,r,u,f){var e=n.create();return i?(n.scale(e,e,[1/f,1/f,1]),r||n.rotateZ(e,e,u.angle)):n.multiply(e,u.labelPlaneMatrix,t),e}function ye(t,i,r,u,f){if(i){var e=n.clone(t);return n.scale(e,e,[f,f,1]),r||n.rotateZ(e,e,-u.angle),e}return u.glCoordMatrix}function it(t,i){var r=[t.x,t.y,0,1],u;return ge(r,r,i),u=r[3],{point:new n.Point(r[0]/u,r[1]/u),signedDistanceFromCamera:u}}function bu(n,t){return.5+n/t*.5}function fl(n,t){var i=n[0]/n[3],r=n[1]/n[3];return i>=-t[0]&&i<=t[0]&&r>=-t[1]&&r<=t[1]}function el(t,i,r,u,f,e,o,s){var w=u?t.textSizeData:t.iconSizeData,ft=n.evaluateSizeForZoom(w,r.transform.zoom),et=[512/r.width+1,512/r.height+1],c=u?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray,h,l;c.clear();for(var b=t.lineVertexArray,k=u?t.text.placedSymbolArray:t.icon.placedSymbolArray,d=r.transform.width/r.transform.height,a=!1,v=0;v<k.length;v++)if(h=k.get(v),h.hidden||h.writingMode===n.WritingMode.vertical&&!a)si(h.numGlyphs,c);else if(a=!1,l=[h.anchorX,h.anchorY,0,1],n.transformMat4(l,l,i),fl(l,et)){var g=bu(r.transform.cameraToCenterDistance,l[3]),nt=n.evaluateSizeForFeature(w,ft,h),tt=o?nt/g:nt*g,y=new n.Point(h.anchorX,h.anchorY),rt=it(y,f).point,ut={},p=be(h,tt,!1,s,i,f,e,t.glyphOffsetArray,b,c,rt,y,ut,d);a=p.useVertical;(p.notEnoughRoom||a||p.needsFlipping&&be(h,tt,!0,s,i,f,e,t.glyphOffsetArray,b,c,rt,y,ut,d).notEnoughRoom)&&si(h.numGlyphs,c)}else si(h.numGlyphs,c);u?t.text.dynamicLayoutVertexBuffer.updateData(c):t.icon.dynamicLayoutVertexBuffer.updateData(c)}function pe(n,t,i,r,u,f,e,o,s,h,c){var p=o.glyphStartIndex+o.numGlyphs,a=o.lineStartIndex,v=o.lineStartIndex+o.lineLength,w=t.getoffsetX(o.glyphStartIndex),b=t.getoffsetX(p-1),y=dr(n*w,i,r,u,f,e,o.segment,a,v,s,h,c),l;return y?(l=dr(n*b,i,r,u,f,e,o.segment,a,v,s,h,c),l?{first:y,last:l}:null):null}function we(t,i,r,u){return t===n.WritingMode.horizontal&&Math.abs(r.y-i.y)>Math.abs(r.x-i.x)*u?{useVertical:!0}:(t===n.WritingMode.vertical?i.y<r.y:i.x>r.x)?{needsFlipping:!0}:null}function be(t,i,r,u,f,e,o,s,h,c,l,a,v,y){var p,w=i/24,g=t.lineOffsetX*w,nt=t.lineOffsetY*w,et,ot,tt,k,rt,d,ut,ft;if(t.numGlyphs>1){var vt=t.glyphStartIndex+t.numGlyphs,yt=t.lineStartIndex,pt=t.lineStartIndex+t.lineLength,b=pe(w,s,g,nt,r,l,a,t,h,e,v);if(!b)return{notEnoughRoom:!0};if(et=it(b.first.point,o).point,ot=it(b.last.point,o).point,u&&!r&&(tt=we(t.writingMode,et,ot,y),tt))return tt;for(p=[b.first],k=t.glyphStartIndex+1;k<vt-1;k++)p.push(dr(w*s.getoffsetX(k),g,nt,r,l,a,t.segment,yt,pt,h,e,v));p.push(b.last)}else{if(u&&!r){var st=it(a,f).point,ht=t.lineStartIndex+t.segment+1,ct=new n.Point(h.getx(ht),h.gety(ht)),lt=it(ct,f),wt=lt.signedDistanceFromCamera>0?lt.point:ke(a,ct,st,1,f),at=we(t.writingMode,st,wt,y);if(at)return at}if(rt=dr(w*s.getoffsetX(t.glyphStartIndex),g,nt,r,l,a,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,h,e,v),!rt)return{notEnoughRoom:!0};p=[rt]}for(d=0,ut=p;d<ut.length;d+=1)ft=ut[d],n.addDynamicAttributes(c,ft.point,ft.angle);return{}}function ke(n,t,i,r,u){var e=it(n.add(n.sub(t)._unit()),u).point,f=i.sub(e);return i.add(f._mult(r/f.mag()))}function dr(t,i,r,u,f,e,o,s,h,c,l,a){var et=u?t-i:t+i,w=et>0?1:-1,d=0,tt,rt,ut,st;u&&(w*=-1,d=Math.PI);w<0&&(d+=Math.PI);for(var y=w>0?s+o:s+o+1,v=f,p=f,b=0,k=0,g=Math.abs(et),nt=[];b+k<=g;){if((y+=w)<s||y>=h)return null;(p=v,nt.push(v),void 0===(v=a[y]))&&(tt=new n.Point(c.getx(y),c.gety(y)),rt=it(tt,l),rt.signedDistanceFromCamera>0?v=a[y]=rt.point:(ut=y-w,v=ke(0===b?e:new n.Point(c.getx(ut),c.gety(ut)),tt,p,g-b+1,l)));b+=k;k=p.dist(v)}var ht=(g-b)/k,ot=v.sub(p),ft=ot.mult(ht)._add(p);return ft._add(ot._unit()._perp()._mult(r*w)),st=d+Math.atan2(v.y-p.y,v.x-p.x),nt.push(ft),{point:ft,angle:st,path:nt}}function si(n,t){for(var r,i=0;i<n;i++)r=t.length,t.resize(r+4),t.float32.set(de,3*r)}function ge(n,t,i){var r=t[0],u=t[1];return n[0]=i[0]*r+i[4]*u+i[12],n[1]=i[1]*r+i[5]*u+i[13],n[3]=i[3]*r+i[7]*u+i[15],n}function g(t,i,r){return i*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}function io(t,i,r,u,f){var e=n.getAnchorAlignment(t),s=-(e.horizontalAlign-.5)*i,h=-(e.verticalAlign-.5)*r,o=n.evaluateVariableOffset(t,u);return new n.Point(s+o[0]*f,h+o[1]*f)}function ku(t,i,r,u,f,e){var s=t.x1,h=t.x2,c=t.y1,l=t.y2,a=t.anchorPointX,v=t.anchorPointY,o=new n.Point(i,r);return u&&o._rotate(f?e:-e),{x1:s+o.x,y1:c+o.y,x2:h+o.x,y2:l+o.y,anchorPointX:a,anchorPointY:v}}function nu(n,t,i,r,u){n.emplaceBack(t?1:0,i?1:0,r||0,u||0);n.emplaceBack(t?1:0,i?1:0,r||0,u||0);n.emplaceBack(t?1:0,i?1:0,r||0,u||0);n.emplaceBack(t?1:0,i?1:0,r||0,u||0)}function ro(n){if(0===n.opacity&&!n.placed)return 0;if(1===n.opacity&&n.placed)return 4294967295;var t=n.placed?1:0,i=Math.floor(127*n.opacity);return i*hl+t*cl+i*ll+t*al+i*vl+t*yl+i*pl+t}function s(n,t){var i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,e=t.match(/attribute ([\w]+) ([\w]+)/g),r=n.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),u=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=u?u.concat(r):r,f={};return{fragmentSource:n=n.replace(i,function(n,t,i,r,u){return f[u]=!0,"define"===t?"\n#ifndef HAS_UNIFORM_u_"+u+"\nvarying "+i+" "+r+" "+u+";\n#else\nuniform "+i+" "+r+" u_"+u+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+u+"\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n"}),vertexSource:t=t.replace(i,function(n,t,i,r,u){var o="float"===r?"vec2":"vec4",e=u.match(/color/)?"color":o;return f[u]?"define"===t?"\n#ifndef HAS_UNIFORM_u_"+u+"\nuniform lowp float u_"+u+"_t;\nattribute "+i+" "+o+" a_"+u+";\nvarying "+i+" "+r+" "+u+";\n#else\nuniform "+i+" "+r+" u_"+u+";\n#endif\n":"vec4"===e?"\n#ifndef HAS_UNIFORM_u_"+u+"\n    "+u+" = a_"+u+";\n#else\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+u+"\n    "+u+" = unpack_mix_"+e+"(a_"+u+", u_"+u+"_t);\n#else\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n":"define"===t?"\n#ifndef HAS_UNIFORM_u_"+u+"\nuniform lowp float u_"+u+"_t;\nattribute "+i+" "+o+" a_"+u+";\n#else\nuniform "+i+" "+r+" u_"+u+";\n#endif\n":"vec4"===e?"\n#ifndef HAS_UNIFORM_u_"+u+"\n    "+i+" "+r+" "+u+" = a_"+u+";\n#else\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+u+"\n    "+i+" "+r+" "+u+" = unpack_mix_"+e+"(a_"+u+", u_"+u+"_t);\n#else\n    "+i+" "+r+" "+u+" = u_"+u+";\n#endif\n"}),staticAttributes:e,staticUniforms:o}}function eo(n){for(var r,i=[],t=0;t<n.length;t++)null!==n[t]&&(r=n[t].split(" "),i.push(r.pop()));return i}function oo(n,t,i){var o=1/g(i,1,t.transform.tileZoom),r=Math.pow(2,i.tileID.overscaledZ),u=i.tileSize*Math.pow(2,t.transform.tileZoom)/r,f=u*(i.tileID.canonical.x+i.tileID.wrap*r),e=u*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[o,n.fromScale,n.toScale],u_fade:n.t,u_pixel_coord_upper:[f>>16,e>>16],u_pixel_coord_lower:[65535&f,65535&e]}}function vo(n,t){return 1/g(n,1,t.tileZoom)}function yo(n,t,i){return n.translatePosMatrix(t.tileID.posMatrix,t,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}function av(n){n*=Math.PI/180;var i=Math.sin(n),t=Math.cos(n);return[(2*t+1)/3,(-Math.sqrt(3)*i-t+1)/3,(Math.sqrt(3)*i-t+1)/3]}function ko(t,i,u,f,e,o,s){for(var g,v,nt,b,pt,wt,l,y,it,p,ni,w=t.context,vt=w.gl,ti=t.useProgram("collisionBox"),k=[],d=0,yt=0,st=0;st<f.length;st++){var ht=f[st],ct=i.getTile(ht),a=ct.getBucket(u);a&&(g=ht.posMatrix,0===e[0]&&0===e[1]||(g=t.translatePosMatrix(ht.posMatrix,ct,e,o)),v=s?a.textCollisionBox:a.iconCollisionBox,nt=a.collisionCircleArray,nt.length>0&&(b=n.create(),pt=g,n.mul(b,a.placementInvProjMatrix,t.transform.glCoordMatrix),n.mul(b,b,a.placementViewportMatrix),k.push({circleArray:nt,circleOffset:yt,transform:pt,invTransform:b}),yt=d+=nt.length/4),v&&ti.draw(w,vt.LINES,r.disabled,c.disabled,t.colorModeForRenderPass(),h.disabled,ev(g,t.transform,ct),u.id,v.layoutVertexBuffer,v.indexBuffer,v.segments,null,t.transform.zoom,null,null,v.collisionVertexBuffer))}if(s&&k.length){wt=t.useProgram("collisionCircle");l=new n.StructArrayLayout2f1f2i16;l.resize(4*d);l._trim();for(var tt=0,lt=0,bt=k;lt<bt.length;lt+=1)for(y=bt[lt],it=0;it<y.circleArray.length/4;it++){var rt=4*it,ut=y.circleArray[rt+0],ft=y.circleArray[rt+1],et=y.circleArray[rt+2],ot=y.circleArray[rt+3];l.emplace(tt++,ut,ft,et,ot,0);l.emplace(tt++,ut,ft,et,ot,1);l.emplace(tt++,ut,ft,et,ot,2);l.emplace(tt++,ut,ft,et,ot,3)}(!ru||ru.length<2*d)&&(ru=function(t){var f=2*t,r=new n.StructArrayLayout3ui6,i,u;for(r.resize(f),r._trim(),i=0;i<f;i++)u=6*i,r.uint16[u+0]=4*i+0,r.uint16[u+1]=4*i+1,r.uint16[u+2]=4*i+2,r.uint16[u+3]=4*i+2,r.uint16[u+4]=4*i+3,r.uint16[u+5]=4*i+0;return r}(d));for(var kt=w.createIndexBuffer(ru,!0),dt=w.createVertexBuffer(l,n.collisionCircleLayout.members,!0),at=0,gt=k;at<gt.length;at+=1)p=gt[at],ni=ov(p.transform,p.invTransform,t.transform),wt.draw(w,vt.TRIANGLES,r.disabled,c.disabled,t.colorModeForRenderPass(),h.disabled,ni,u.id,dt,kt,n.SegmentVector.simpleSegment(0,2*p.circleOffset,p.circleArray.length,p.circleArray.length/2),null,t.transform.zoom,null,null,null);dt.destroy();kt.destroy()}}function bv(t,i,r,u,f,e){var o=n.getAnchorAlignment(t),h=-(o.horizontalAlign-.5)*i,c=-(o.verticalAlign-.5)*r,s=n.evaluateVariableOffset(t,u);return new n.Point((h/f+s[0])*e,(c/f+s[1])*e)}function kv(t,i,r,u,f,e,o,s,h,c,l){var rt=t.text.placedSymbolArray,b=t.text.dynamicLayoutVertexArray,y=t.icon.dynamicLayoutVertexArray,ut={},k,a,v,nt,p,w,d,tt;for(b.clear(),k=0;k<rt.length;k++)if(a=rt.get(k),v=a.hidden||!a.crossTileID||t.allowVerticalPlacement&&!a.placedOrientation?null:u[a.crossTileID],v){var ft=new n.Point(a.anchorX,a.anchorY),et=it(ft,r?s:o),lt=bu(e.cameraToCenterDistance,et.signedDistanceFromCamera),ot=f.evaluateSizeForFeature(t.textSizeData,c,a)*lt/n.ONE_EM;r&&(ot*=t.tilePixelRatio/h);for(var g=bv(v.anchor,v.width,v.height,v.textOffset,v.textBoxScale,ot),st=r?it(ft.add(g),o).point:et.point.add(i?g.rotate(-e.angle):g),ht=t.allowVerticalPlacement&&a.placedOrientation===n.WritingMode.vertical?Math.PI/2:0,ct=0;ct<a.numGlyphs;ct++)n.addDynamicAttributes(b,st,ht);l&&a.associatedIconIndex>=0&&(ut[a.associatedIconIndex]={shiftedAnchor:st,angle:ht})}else si(a.numGlyphs,b);if(l){for(y.clear(),nt=t.icon.placedSymbolArray,p=0;p<nt.length;p++)if(w=nt.get(p),w.hidden)si(w.numGlyphs,y);else if(d=ut[p],d)for(tt=0;tt<w.numGlyphs;tt++)n.addDynamicAttributes(y,d.shiftedAnchor,d.angle);else si(w.numGlyphs,y);t.icon.dynamicLayoutVertexBuffer.updateData(y)}t.text.dynamicLayoutVertexBuffer.updateData(b)}function dv(n,t,i){return i.iconsInText&&t?"symbolTextAndIcon":n?"symbolSDF":"symbolIcon"}function ns(t,i,u,f,e,o,s,h,c,l,a,v){for(var d,li,et,gt,ni,ot,ti,st,y,ht,ct=t.context,b=ct.gl,ii=t.transform,ut="map"===h,k="map"===c,lt=ut&&"point"!==u.layout.get("symbol-placement"),at=ut&&!k&&!lt,ri=void 0!==u.layout.get("symbol-sort-key").constantOr(1),ui=t.depthModeForSublayer(0,r.ReadOnly),fi=u.layout.get("text-variable-anchor"),ft=[],vt=0,ei=f;vt<ei.length;vt+=1){var tt=ei[vt],w=i.getTile(tt),p=w.getBucket(u);if(p&&(d=e?p.text:p.icon,d&&d.segments.get().length)){var wi=d.programConfigurations.get(u.id),it=e||p.sdfIcons,nt=e?p.textSizeData:p.iconSizeData,oi=k||0!==ii.pitch,bi=t.useProgram(dv(it,e,p),wi),yt=n.evaluateSizeForZoom(nt,ii.zoom),rt=void 0,si=[0,0],pt=void 0,wt=void 0,hi=null,ci=void 0;e?(pt=w.glyphAtlasTexture,wt=b.LINEAR,rt=w.glyphAtlasTexture.size,p.iconsInText&&(si=w.imageAtlasTexture.size,hi=w.imageAtlasTexture,ci=oi||t.options.rotating||t.options.zooming||"composite"===nt.kind||"camera"===nt.kind?b.LINEAR:b.NEAREST)):(li=1!==u.layout.get("icon-size").constantOr(0)||p.iconsNeedLinear,pt=w.imageAtlasTexture,wt=it||t.options.rotating||t.options.zooming||li||oi?b.LINEAR:b.NEAREST,rt=w.imageAtlasTexture.size);var ai=g(w,1,t.transform.zoom),vi=wu(tt.posMatrix,k,ut,t.transform,ai),yi=ye(tt.posMatrix,k,ut,t.transform,ai),ki=fi&&p.hasTextData(),di="none"!==u.layout.get("icon-text-fit")&&ki&&p.hasIconData();lt&&el(p,tt.posMatrix,t,e,vi,yi,k,l);var bt=t.translatePosMatrix(tt.posMatrix,w,o,s),kt=lt||e&&fi||di?go:vi,dt=t.translatePosMatrix(yi,w,o,s,!0),gi=it&&0!==u.paint.get(e?"text-halo-width":"icon-halo-width").constantOr(1),pi={program:bi,buffers:d,uniformValues:it?p.iconsInText?vv(nt.kind,yt,at,k,t,bt,kt,dt,rt,si):bo(nt.kind,yt,at,k,t,bt,kt,dt,e,rt,!0):wo(nt.kind,yt,at,k,t,bt,kt,dt,e,rt),atlasTexture:pt,atlasTextureIcon:hi,atlasInterpolation:wt,atlasInterpolationIcon:ci,isSDF:it,hasHalo:gi};if(ri)for(et=0,gt=d.segments.get();et<gt.length;et+=1)ni=gt[et],ft.push({segments:new n.SegmentVector([ni]),sortKey:ni.sortKey,state:pi});else ft.push({segments:d.segments,sortKey:0,state:pi})}}for(ri&&ft.sort(function(n,t){return n.sortKey-t.sortKey}),ot=0,ti=ft;ot<ti.length;ot+=1)st=ti[ot],y=st.state,(ct.activeTexture.set(b.TEXTURE0),y.atlasTexture.bind(y.atlasInterpolation,b.CLAMP_TO_EDGE),y.atlasTextureIcon&&(ct.activeTexture.set(b.TEXTURE1),y.atlasTextureIcon&&y.atlasTextureIcon.bind(y.atlasInterpolationIcon,b.CLAMP_TO_EDGE)),y.isSDF)&&(ht=y.uniformValues,y.hasHalo&&(ht.u_is_halo=1,ts(y.buffers,st.segments,u,t,y.program,ui,a,v,ht)),ht.u_is_halo=0),ts(y.buffers,st.segments,u,t,y.program,ui,a,v,y.uniformValues)}function ts(n,t,i,r,u,f,e,o,s){var c=r.context;u.draw(c,c.gl.TRIANGLES,f,e,o,h.disabled,s,i.id,n.layoutVertexBuffer,n.indexBuffer,t,i.paint,r.transform.zoom,n.programConfigurations.get(i.id),n.dynamicLayoutVertexBuffer,n.opacityVertexBuffer)}function is(n,t,i,r,u,f,e){var k,y,d,g,nt,c=n.context.gl,tt=i.paint.get("fill-pattern"),l=tt&&tt.constantOr(1),it=i.getCrossfadeParameters(),p,rt,w,o,s,a,ft,b,v,ut;for(e?(y=l&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",k=c.LINES):(y=l?"fillPattern":"fill",k=c.TRIANGLES),p=0,rt=r;p<rt.length;p+=1)if(w=rt[p],o=t.getTile(w),(!l||o.patternsLoaded())&&(s=o.getBucket(i),s)){if(a=s.programConfigurations.get(i.id),ft=n.useProgram(y,a),l&&(n.context.activeTexture.set(c.TEXTURE0),o.imageAtlasTexture.bind(c.LINEAR,c.CLAMP_TO_EDGE),a.updatePaintBuffers(it)),b=tt.constantOr(null),b&&o.imageAtlas){var et=o.imageAtlas,ot=et.patternPositions[b.to.toString()],st=et.patternPositions[b.from.toString()];ot&&st&&a.setConstantPatternPositions(ot,st)}v=n.translatePosMatrix(w.posMatrix,o,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"));e?(g=s.indexBuffer2,nt=s.segments2,ut=[c.drawingBufferWidth,c.drawingBufferHeight],d="fillOutlinePattern"===y&&l?uv(v,n,it,o,ut):rv(v,ut)):(g=s.indexBuffer,nt=s.segments,d=l?co(v,n,it,o):ho(v));ft.draw(n.context,k,u,n.stencilModeForClipping(w),f,h.disabled,d,i.id,s.layoutVertexBuffer,g,nt,i.paint,n.transform.zoom,a)}}function ff(n,t,i,r,u,f,e){for(var c,nt,l,a=n.context,v=a.gl,b=i.paint.get("fill-extrusion-pattern"),y=b.constantOr(1),k=i.getCrossfadeParameters(),d=i.paint.get("fill-extrusion-opacity"),p=0,g=r;p<g.length;p+=1){var w=g[p],o=t.getTile(w),s=o.getBucket(i);if(s){if(c=s.programConfigurations.get(i.id),nt=n.useProgram(y?"fillExtrusionPattern":"fillExtrusion",c),y&&(n.context.activeTexture.set(v.TEXTURE0),o.imageAtlasTexture.bind(v.LINEAR,v.CLAMP_TO_EDGE),c.updatePaintBuffers(k)),l=b.constantOr(null),l&&o.imageAtlas){var tt=o.imageAtlas,it=tt.patternPositions[l.to.toString()],rt=tt.patternPositions[l.from.toString()];it&&rt&&c.setConstantPatternPositions(it,rt)}var ut=n.translatePosMatrix(w.posMatrix,o,i.paint.get("fill-extrusion-translate"),i.paint.get("fill-extrusion-translate-anchor")),ft=i.paint.get("fill-extrusion-vertical-gradient"),et=y?iv(ut,n,ft,d,w,k,o):so(ut,n,ft,d);nt.draw(a,a.gl.TRIANGLES,u,f,e,h.backCCW,et,i.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,i.paint,n.transform.zoom,c)}}}function gv(t,i,r,u,f,e){var s=t.context,o=s.gl,c=i.fbo,l,a;c&&(l=t.useProgram("hillshade"),s.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,c.colorAttachment.get()),a=function(t,i,r){var h=r.paint.get("hillshade-shadow-color"),c=r.paint.get("hillshade-highlight-color"),l=r.paint.get("hillshade-accent-color"),o=r.paint.get("hillshade-illumination-direction")*(Math.PI/180),u,f,e,s;return"viewport"===r.paint.get("hillshade-illumination-anchor")&&(o-=t.transform.angle),s=!t.options.moving,{u_matrix:t.transform.calculatePosMatrix(i.tileID.toUnwrapped(),s),u_image:0,u_latrange:(u=i.tileID,f=Math.pow(2,u.canonical.z),e=u.canonical.y,[new n.MercatorCoordinate(0,e/f).toLngLat().lat,new n.MercatorCoordinate(0,(e+1)/f).toLngLat().lat]),u_light:[r.paint.get("hillshade-exaggeration"),o],u_shadow:h,u_highlight:c,u_accent:l}}(t,i,r),l.draw(s,o.TRIANGLES,u,f,e,h.disabled,a,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments))}function ny(t,i,r,u,f,e,o){var c=t.context,s=c.gl,l=i.dem,y,v,p;if(l&&l.data){var a=l.dim,b=l.stride,w=l.getPixels();(c.activeTexture.set(s.TEXTURE1),c.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(b),i.demTexture)?(y=i.demTexture,y.update(w,{premultiply:!1}),y.bind(s.NEAREST,s.CLAMP_TO_EDGE)):(i.demTexture=new n.Texture(c,w,s.RGBA,{premultiply:!1}),i.demTexture.bind(s.NEAREST,s.CLAMP_TO_EDGE));c.activeTexture.set(s.TEXTURE0);v=i.fbo;v||(p=new n.Texture(c,{width:a,height:a,data:null},s.RGBA),p.bind(s.LINEAR,s.CLAMP_TO_EDGE),(v=i.fbo=c.createFramebuffer(a,a,!0)).colorAttachment.set(p.texture));c.bindFramebuffer.set(v.framebuffer);c.viewport.set([0,0,a,a]);t.useProgram("hillshadePrepare").draw(c,s.TRIANGLES,f,e,o,h.disabled,function(t,i,r){var f=i.stride,u=n.create();return n.ortho(u,0,n.EXTENT,-n.EXTENT,0,0,1),n.translate(u,u,[0,-n.EXTENT,0]),{u_matrix:u,u_image:1,u_dimension:[f,f],u_zoom:t.overscaledZ,u_maxzoom:r,u_unpack:i.getUnpackVector()}}(i.tileID,l,u),r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);i.needsHillshadePrepare=!1}}function ty(t,i,r,u,f){var e=u.paint.get("raster-fade-duration");if(e>0){var o=n.browser.now(),s=(o-t.timeAdded)/e,v=i?(o-i.timeAdded)/e:-1,h=r.getSource(),c=f.coveringZoomLevel({tileSize:h.tileSize,roundZoom:h.roundZoom}),l=!i||Math.abs(i.tileID.overscaledZ-c)>Math.abs(t.tileID.overscaledZ-c),a=l&&t.refreshedUponExpiration?1:n.clamp(l?s:1-v,0,1);return t.refreshedUponExpiration&&s>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-a}:{opacity:a,mix:0}}return{opacity:1,mix:0}}function rs(n,t,i,r){uu(n,0,t+i/2,n.transform.width,i,r)}function us(n,t,i,r){uu(n,t-i/2,0,i,n.transform.height,r)}function uu(t,i,r,u,f,e){var s=t.context,o=s.gl;o.enable(o.SCISSOR_TEST);o.scissor(i*n.browser.devicePixelRatio,r*n.browser.devicePixelRatio,u*n.browser.devicePixelRatio,f*n.browser.devicePixelRatio);s.clear({color:e});o.disable(o.SCISSOR_TEST)}function oy(t,i,u){var e=t.context,f=e.gl,o=u.posMatrix,s=t.useProgram("debug"),l=r.disabled,a=c.disabled,w=t.colorModeForRenderPass();e.activeTexture.set(f.TEXTURE0);t.emptyTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE);s.draw(e,f.LINE_STRIP,l,a,w,h.disabled,lo(o,n.Color.red),"$debug",t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);var y=i.getTileByID(u.key).latestRawTileData,b=Math.floor((y&&y.byteLength||0)/1024),k=i.getTile(u).tileSize,d=512/Math.min(k,512)*(u.overscaledZ/t.transform.zoom)*.5,p=u.canonical.toString();u.overscaledZ!==u.canonical.z&&(p+=" => "+u.overscaledZ),function(n,t){n.initDebugOverlayCanvas();var r=n.debugOverlayCanvas,u=n.context.gl,i=n.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.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);n.debugOverlayTexture.update(r);n.debugOverlayTexture.bind(u.LINEAR,u.CLAMP_TO_EDGE)}(t,p+" "+b+"kb");s.draw(e,f.TRIANGLES,l,a,v.alphaBlended,h.disabled,lo(o,n.Color.transparent,d),"$debug",t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments)}function ou(n,t){(!n.duration||n.duration<t.duration)&&(n.duration=t.duration,n.easing=t.easing)}function su(t,i,r){var u=r.maxSpeed,f=r.linearity,s=r.deceleration,e=n.clamp(t*f/(i/1e3),-u,u),o=Math.abs(e)/(s*f);return{easing:r.easing,duration:1e3*o,amount:e*(o/2)}}function of(n,t){for(var r={},i=0;i<n.length;i++)r[n[i].identifier]=t[i];return r}function cu(n,t,i){for(var r=0;r<n.length;r++)if(n[r].identifier===i)return t[r]}function ss(n,t){return Math.log(n/t)/Math.LN2}function cs(n,t){return 180*n.angleWith(t)/Math.PI}function sf(n){return Math.abs(n.y)>Math.abs(n.x)}function wy(n){return n*(2-n)}function hf(n){return n.panDelta&&n.panDelta.mag()||n.zoomDelta||n.bearingDelta||n.pitchDelta}function lf(n){n.parentNode&&n.parentNode.removeChild(n)}function ps(t,i,r){var u;if(t=new n.LngLat(t.lng,t.lat),i){var f=new n.LngLat(t.lng-360,t.lat),e=new n.LngLat(t.lng+360,t.lat),o=r.locationPoint(t).distSqr(i);r.locationPoint(f).distSqr(i)<o?t=f:r.locationPoint(e).distSqr(i)<o&&(t=e)}for(;Math.abs(t.lng-r.center.lng)>180;){if(u=r.locationPoint(t),u.x>=0&&u.y>=0&&u.x<=r.width&&u.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}function ws(n,t,i){var r=n.classList;for(var u in lu)r.remove("mapboxgl-"+i+"-anchor-"+u);r.add("mapboxgl-"+i+"-anchor-"+t)}function bs(n,t,i){var r=i&&i.maxWidth||100,e=n._container.clientHeight/2,o=n.unproject([0,e]),s=n.unproject([r,e]),u=o.distanceTo(s),f;i&&"imperial"===i.unit?(f=3.2808*u,f>5280?ar(t,r,f/5280,n._getUIString("ScaleControl.Miles")):ar(t,r,f,n._getUIString("ScaleControl.Feet"))):i&&"nautical"===i.unit?ar(t,r,u/1852,n._getUIString("ScaleControl.NauticalMiles")):u>=1e3?ar(t,r,u/1e3,n._getUIString("ScaleControl.Kilometers")):ar(t,r,u,n._getUIString("ScaleControl.Meters"))}function ar(n,t,i,r){var f,e,u,o=(f=i,(e=Math.pow(10,(""+Math.floor(f)).length-1))*(u=(u=f/e)>=10?10:u>=5?5:u>=3?3:u>=2?2:u>=1?1:function(n){var t=Math.pow(10,Math.ceil(-Math.log(n)/Math.LN10));return Math.round(n*t)/t}(u)));n.style.width=t*(o/i)+"px";n.innerHTML=o+"&nbsp;"+r}var vu=n.createCommonjsModule(function(n){function t(n){return!r(n)}function r(n){return"undefined"==typeof window||"undefined"==typeof document?"not a browser":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var n,t,r=new Blob([""],{type:"text/javascript"}),i=URL.createObjectURL(r);try{t=new Worker(i);n=!0}catch(t){n=!1}return t&&t.terminate(),URL.revokeObjectURL(i),n}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var n=document.createElement("canvas"),t,i;return(n.width=n.height=1,t=n.getContext("2d"),!t)?!1:(i=t.getImageData(0,0,1,1),i&&i.width===n.width)}()?(void 0===i[r=n&&n.failIfMajorPerformanceCaveat]&&(i[r]=function(n){var i=function(n){var i=document.createElement("canvas"),r=Object.create(t.webGLContextAttributes);return r.failIfMajorPerformanceCaveat=n,i.probablySupportsContext?i.probablySupportsContext("webgl",r)||i.probablySupportsContext("experimental-webgl",r):i.supportsContext?i.supportsContext("webgl",r)||i.supportsContext("experimental-webgl",r):i.getContext("webgl",r)||i.getContext("experimental-webgl",r)}(n),r;return i?(r=i.createShader(i.VERTEX_SHADER),!(!r||i.isContextLost())&&(i.shaderSource(r,"void main() {}"),i.compileShader(r),!0===i.getShaderParameter(r,i.COMPILE_STATUS))):!1}(r)),i[r]?void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support";var r}n.exports?n.exports=t:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=t,window.mapboxgl.notSupportedReason=r);var i={};t.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),t={create:function(t,i,r){var u=n.window.document.createElement(t);return void 0!==i&&(u.className=i),r&&r.appendChild(u),u},createNS:function(t,i){return n.window.document.createElementNS(t,i)}},ni=n.window.document&&n.window.document.documentElement.style,pf,ki=yf(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]),wf,di,gi,vr,lt,yr,ei,tr,tt,rr,ie,ii,i,r,c,v,h,k,oi,wr,at,ur,oe,f,kr,l,de,ft,gr,ri,w,fr,du,er,uo,tu,gu,hi,or,fo,sr,rf,po,go,ef,o,fu,ui,yt,u,e,pt,et,ut,li,wt,ot,fs,d,b,hs,ls,p,ai,bt,ht,vi,yi,kt,cr,as,a,vs,vt,dt,pi,ys,gt,nt,lu,ct;t.disableDrag=function(){ni&&ki&&(pf=ni[ki],ni[ki]="none")};t.enableDrag=function(){ni&&ki&&(ni[ki]=pf)};wf=yf(["transform","WebkitTransform"]);t.setTransform=function(n,t){n.style[wf]=t};di=!1;try{gi=Object.defineProperty({},"passive",{get:function(){di=!0}});n.window.addEventListener("test",gi,gi);n.window.removeEventListener("test",gi,gi)}catch(n){di=!1}t.addEventListener=function(n,t,i,r){void 0===r&&(r={});n.addEventListener(t,i,"passive"in r&&di?r:r.capture)};t.removeEventListener=function(n,t,i,r){void 0===r&&(r={});n.removeEventListener(t,i,"passive"in r&&di?r:r.capture)};vr=function(t){t.preventDefault();t.stopPropagation();n.window.removeEventListener("click",vr,!0)};t.suppressClick=function(){n.window.addEventListener("click",vr,!0);n.window.setTimeout(function(){n.window.removeEventListener("click",vr,!0)},0)};t.mousePos=function(t,i){var r=t.getBoundingClientRect();return new n.Point(i.clientX-r.left-t.clientLeft,i.clientY-r.top-t.clientTop)};t.touchPos=function(t,i){for(var u=t.getBoundingClientRect(),f=[],r=0;r<i.length;r++)f.push(new n.Point(i[r].clientX-u.left-t.clientLeft,i[r].clientY-u.top-t.clientTop));return f};t.mouseButton=function(t){return void 0!==n.window.InstallTrigger&&2===t.button&&t.ctrlKey&&n.window.navigator.platform.toUpperCase().indexOf("MAC")>=0?0:t.button};t.remove=function(n){n.parentNode&&n.parentNode.removeChild(n)};var gs=function(t){function i(){t.call(this);this.images={};this.updatedImages={};this.callbackDispatchedThisFrame={};this.loaded=!1;this.requestors=[];this.patterns={};this.atlasImage=new n.RGBAImage({width:1,height:1});this.dirty=!0}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.isLoaded=function(){return this.loaded},i.prototype.setLoaded=function(n){var t,i,r;if(this.loaded!==n&&(this.loaded=n,n)){for(t=0,i=this.requestors;t<i.length;t+=1)r=i[t],this._notify(r.ids,r.callback);this.requestors=[]}},i.prototype.getImage=function(n){return this.images[n]},i.prototype.addImage=function(n,t){this._validate(n,t)&&(this.images[n]=t)},i.prototype._validate=function(t,i){var r=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new n.ErrorEvent(new Error('Image "'+t+'" has invalid "stretchX" value'))),r=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new n.ErrorEvent(new Error('Image "'+t+'" has invalid "stretchY" value'))),r=!1),this._validateContent(i.content,i)||(this.fire(new n.ErrorEvent(new Error('Image "'+t+'" has invalid "content" value'))),r=!1),r},i.prototype._validateStretch=function(n,t){var i;if(!n)return!0;for(var u=0,r=0,f=n;r<f.length;r+=1){if(i=f[r],i[0]<u||i[1]<i[0]||t<i[1])return!1;u=i[1]}return!0},i.prototype._validateContent=function(n,t){return!(n&&(4!==n.length||n[0]<0||t.data.width<n[0]||n[1]<0||t.data.height<n[1]||n[2]<0||t.data.width<n[2]||n[3]<0||t.data.height<n[3]||n[2]<n[0]||n[3]<n[1]))},i.prototype.updateImage=function(n,t){t.version=this.images[n].version+1;this.images[n]=t;this.updatedImages[n]=!0},i.prototype.removeImage=function(n){var t=this.images[n];delete this.images[n];delete this.patterns[n];t.userImage&&t.userImage.onRemove&&t.userImage.onRemove()},i.prototype.listImages=function(){return Object.keys(this.images)},i.prototype.getImages=function(n,t){var u=!0,i,r;if(!this.isLoaded())for(i=0,r=n;i<r.length;i+=1)this.images[r[i]]||(u=!1);this.isLoaded()||u?this._notify(n,t):this.requestors.push({ids:n,callback:t})},i.prototype._notify=function(t,i){for(var u,r,e={},f=0,o=t;f<o.length;f+=1)u=o[f],this.images[u]||this.fire(new n.Event("styleimagemissing",{id:u})),r=this.images[u],r?e[u]={data:r.data.clone(),pixelRatio:r.pixelRatio,sdf:r.sdf,version:r.version,stretchX:r.stretchX,stretchY:r.stretchY,content:r.content,hasRenderCallback:Boolean(r.userImage&&r.userImage.render)}:n.warnOnce('Image "'+u+'" 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.');i(null,e)},i.prototype.getPixelSize=function(){var n=this.atlasImage;return{width:n.width,height:n.height}},i.prototype.getPattern=function(t){var r=this.patterns[t],i=this.getImage(t),u,f;return i?r&&r.position.version===i.version?r.position:(r?r.position.version=i.version:(u={w:i.data.width+2,h:i.data.height+2,x:0,y:0},f=new n.ImagePosition(u,i),this.patterns[t]={bin:u,position:f}),this._updatePatternAtlas(),this.patterns[t].position):null},i.prototype.bind=function(t){var i=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new n.Texture(t,this.atlasImage,i.RGBA);this.atlasTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE)},i.prototype._updatePatternAtlas=function(){var s=[],h,o;for(h in this.patterns)s.push(this.patterns[h].bin);var c=n.potpack(s),a=c.w,v=c.h,i=this.atlasImage;for(o in i.resize({width:a||1,height:v||1}),this.patterns){var l=this.patterns[o].bin,r=l.x+1,u=l.y+1,t=this.images[o].data,f=t.width,e=t.height;n.RGBAImage.copy(t,i,{x:0,y:0},{x:r,y:u},{width:f,height:e});n.RGBAImage.copy(t,i,{x:0,y:e-1},{x:r,y:u-1},{width:f,height:1});n.RGBAImage.copy(t,i,{x:0,y:0},{x:r,y:u+e},{width:f,height:1});n.RGBAImage.copy(t,i,{x:f-1,y:0},{x:r-1,y:u},{width:1,height:e});n.RGBAImage.copy(t,i,{x:0,y:0},{x:r+f,y:u},{width:1,height:e})}this.dirty=!0},i.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},i.prototype.dispatchRenderCallbacks=function(n){for(var t,u,i=0,r=n;i<r.length;i+=1)t=r[i],this.callbackDispatchedThisFrame[t]||(this.callbackDispatchedThisFrame[t]=!0,u=this.images[t],ds(u)&&this.updateImage(t,u))},i}(n.Evented),bf=yu,nh=yu,nr=1e20;yu.prototype.draw=function(n){var i;this.ctx.clearRect(0,0,this.size,this.size);this.ctx.fillText(n,this.buffer,this.middle);for(var u=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),t=0;t<this.size*this.size;t++)i=u.data[4*t+3]/255,this.gridOuter[t]=1===i?0:0===i?nr:Math.pow(Math.max(0,.5-i),2),this.gridInner[t]=1===i?nr:0===i?0:Math.pow(Math.max(0,i-.5),2);for(kf(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),kf(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),t=0;t<this.size*this.size;t++)r[t]=Math.max(0,Math.min(255,Math.round(255-255*((this.gridOuter[t]-this.gridInner[t])/this.radius+this.cutoff))));return r};bf.default=nh;lt=function(n,t){this.requestManager=n;this.localIdeographFontFamily=t;this.entries={}};lt.prototype.setURL=function(n){this.url=n};lt.prototype.getGlyphs=function(t,i){var r=this,o=[],f,u,e;for(f in t)for(u=0,e=t[f];u<e.length;u+=1)o.push({stack:f,id:e[u]});n.asyncAll(o,function(n,t){var f=n.stack,u=n.id,i=r.entries[f],o,e,s;if(i||(i=r.entries[f]={glyphs:{},requests:{},ranges:{}}),o=i.glyphs[u],void 0===o){if(o=r._tinySDF(i,f,u))return i.glyphs[u]=o,void t(null,{stack:f,id:u,glyph:o});e=Math.floor(u/256);256*e>65535?t(new Error("glyphs > 65535 not supported")):i.ranges[e]?t(null,{stack:f,id:u,glyph:o}):(s=i.requests[e],s||(s=i.requests[e]=[],lt.loadGlyphRange(f,e,r.url,r.requestManager,function(n,t){var u,f,o;if(t){for(u in t)r._doesCharSupportLocalGlyph(+u)||(i.glyphs[+u]=t[+u]);i.ranges[e]=!0}for(f=0,o=s;f<o.length;f+=1)o[f](n,t);delete i.requests[e]})),s.push(function(n,i){n?t(n):i&&t(null,{stack:f,id:u,glyph:i[u]||null})}))}else t(null,{stack:f,id:u,glyph:o})},function(n,t){if(n)i(n);else if(t){for(var u={},f=0,o=t;f<o.length;f+=1){var e=o[f],s=e.stack,h=e.id,r=e.glyph;(u[s]||(u[s]={}))[h]=r&&{id:r.id,bitmap:r.bitmap.clone(),metrics:r.metrics}}i(null,u)}})};lt.prototype._doesCharSupportLocalGlyph=function(t){return!!this.localIdeographFontFamily&&(n.isChar["CJK Unified Ideographs"](t)||n.isChar["Hangul Syllables"](t)||n.isChar.Hiragana(t)||n.isChar.Katakana(t))};lt.prototype._tinySDF=function(t,i,r){var e=this.localIdeographFontFamily,f,u;if(e&&this._doesCharSupportLocalGlyph(r))return f=t.tinySDF,f||(u="400",/bold/i.test(i)?u="900":/medium/i.test(i)?u="500":/light/i.test(i)&&(u="200"),f=t.tinySDF=new lt.TinySDF(24,3,8,.25,e,u)),{id:r,bitmap:new n.AlphaImage({width:30,height:30},f.draw(String.fromCharCode(r))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}};lt.loadGlyphRange=function(t,i,r,u,f){var e=256*i,o=e+255,s=u.transformRequest(u.normalizeGlyphsURL(r).replace("{fontstack}",t).replace("{range}",e+"-"+o),n.ResourceType.Glyphs);n.getArrayBuffer(s,function(t,i){var u;if(t)f(t);else if(i){for(var e={},r=0,o=n.parseGlyphPBF(i);r<o.length;r+=1)u=o[r],e[u.id]=u;f(null,e)}})};lt.TinySDF=bf;yr=function(){this.specification=n.styleSpec.light.position};yr.prototype.possiblyEvaluate=function(t,i){return n.sphericalToCartesian(t.expression.evaluate(i))};yr.prototype.interpolate=function(t,i,r){return{x:n.number(t.x,i.x,r),y:n.number(t.y,i.y,r),z:n.number(t.z,i.z,r)}};var th=new n.Properties({anchor:new n.DataConstantProperty(n.styleSpec.light.anchor),position:new yr,color:new n.DataConstantProperty(n.styleSpec.light.color),intensity:new n.DataConstantProperty(n.styleSpec.light.intensity)}),ih=function(t){function i(i){t.call(this);this._transitionable=new n.Transitionable(th);this.setLight(i);this._transitioning=this._transitionable.untransitioned()}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.getLight=function(){return this._transitionable.serialize()},i.prototype.setLight=function(t,i){var r,u;if(void 0===i&&(i={}),!this._validate(n.validateLight,t,i))for(r in t)u=t[r],n.endsWith(r,"-transition")?this._transitionable.setTransition(r.slice(0,-11),u):this._transitionable.setValue(r,u)},i.prototype.updateTransitions=function(n){this._transitioning=this._transitionable.transitioned(n,this._transitioning)},i.prototype.hasTransition=function(){return this._transitioning.hasTransition()},i.prototype.recalculate=function(n){this.properties=this._transitioning.possiblyEvaluate(n)},i.prototype._validate=function(t,i,r){return(!r||!1!==r.validate)&&n.emitValidationErrors(this,t.call(n.validateStyle,n.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:n.styleSpec})))},i}(n.Evented),ti=function(n,t){this.width=n;this.height=t;this.nextRow=0;this.data=new Uint8Array(this.width*this.height);this.dashEntry={}};ti.prototype.getDash=function(n,t){var i=n.join(",")+String(t);return this.dashEntry[i]||(this.dashEntry[i]=this.addDash(n,t)),this.dashEntry[i]};ti.prototype.getDashRanges=function(n,t,i){var u=[],s=n.length%2==1?-n[n.length-1]*i:0,h=n[0]*i,f=!0,e,r,o;for(u.push({left:s,right:h,isDash:f,zeroLength:0===n[0]}),e=n[0],r=1;r<n.length;r++)o=n[r],u.push({left:s=e*i,right:h=(e+=o)*i,isDash:f=!f,zeroLength:0===o});return u};ti.prototype.addRoundDash=function(n,t,i){for(var c,e=t/2,u=-i;u<=i;u++)for(var a=this.width*(this.nextRow+i+u),l=0,f=n[l],r=0;r<this.width;r++){r/f.right>1&&(f=n[++l]);var v=Math.abs(r-f.left),y=Math.abs(r-f.right),o=Math.min(v,y),s=void 0,h=u/i*(e+1);f.isDash?(c=e-Math.abs(h),s=Math.sqrt(o*o+c*c)):s=e-Math.sqrt(o*o+h*h);this.data[a+r]=Math.max(0,Math.min(255,s+128))}};ti.prototype.addRegularDash=function(n){for(var u,f,e,o,t=n.length-1;t>=0;--t)u=n[t],f=n[t+1],u.zeroLength?n.splice(t,1):f&&f.isDash===u.isDash&&(f.left=u.left,n.splice(t,1));e=n[0];o=n[n.length-1];e.isDash===o.isDash&&(e.left=o.left-this.width,o.right=e.right+this.width);for(var c=this.width*this.nextRow,s=0,r=n[s],i=0;i<this.width;i++){i/r.right>1&&(r=n[++s]);var l=Math.abs(i-r.left),a=Math.abs(i-r.right),h=Math.min(l,a);this.data[c+i]=Math.max(0,Math.min(255,(r.isDash?h:-h)+128))}};ti.prototype.addDash=function(t,i){var u=i?7:0,s=2*u+1,r,f,e,o,h;if(this.nextRow+s>this.height)return n.warnOnce("LineAtlas out of space"),null;for(r=0,f=0;f<t.length;f++)r+=t[f];return 0!==r&&(e=this.width/r,o=this.getDashRanges(t,this.width,e),i?this.addRoundDash(o,e,u):this.addRegularDash(o)),h={y:(this.nextRow+u+.5)/this.height,height:2*u/this.height,width:r},this.nextRow+=s,this.dirty=!0,h};ti.prototype.bind=function(n){var t=n.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))};ei=function vu(t,i){var u,r,f;for(this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n.uniqueId(),u=this.workerPool.acquire(this.id),r=0;r<u.length;r++)f=new vu.Actor(u[r],i,this.id),f.name="Worker "+r,this.actors.push(f)};ei.prototype.broadcast=function(t,i,r){n.asyncAll(this.actors,function(n,r){n.send(t,i,r)},r=r||function(){})};ei.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]};ei.prototype.remove=function(){this.actors.forEach(function(n){n.remove()});this.actors=[];this.workerPool.release(this.id)};ei.Actor=n.Actor;tr=function(t,i,r){this.bounds=n.LngLatBounds.convert(this.validateBounds(t));this.minzoom=i||0;this.maxzoom=r||24};tr.prototype.validateBounds=function(n){return Array.isArray(n)&&4===n.length?[Math.max(-180,n[0]),Math.max(-90,n[1]),Math.min(180,n[2]),Math.min(90,n[3])]:[-180,-90,180,90]};tr.prototype.contains=function(t){var i=Math.pow(2,t.z),r=Math.floor(n.mercatorXfromLng(this.bounds.getWest())*i),u=Math.floor(n.mercatorYfromLat(this.bounds.getNorth())*i),f=Math.ceil(n.mercatorXfromLng(this.bounds.getEast())*i),e=Math.ceil(n.mercatorYfromLat(this.bounds.getSouth())*i);return t.x>=r&&t.x<f&&t.y>=u&&t.y<e};var rh=function(t){function i(i,r,u,f){if(t.call(this),this.id=i,this.dispatcher=u,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,n.extend(this,n.pick(r,["url","scheme","tileSize","promoteId"])),this._options=n.extend({type:"vector"},r),this._collectResourceTiming=r.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(f)}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.load=function(){var t=this;this._loaded=!1;this.fire(new n.Event("dataloading",{dataType:"source"}));this._tileJSONRequest=gf(this._options,this.map._requestManager,function(i,r){t._tileJSONRequest=null;t._loaded=!0;i?t.fire(new n.ErrorEvent(i)):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new tr(r.bounds,t.minzoom,t.maxzoom)),n.postTurnstileEvent(r.tiles,t.map._requestManager._customAccessToken),n.postMapLoadEvent(r.tiles,t.map._getMapId(),t.map._requestManager._skuToken,t.map._requestManager._customAccessToken),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"content"})))})},i.prototype.loaded=function(){return this._loaded},i.prototype.hasTile=function(n){return!this.tileBounds||this.tileBounds.contains(n.canonical)},i.prototype.onAdd=function(n){this.map=n;this.load()},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},i.prototype.serialize=function(){return n.extend({},this._options)},i.prototype.loadTile=function(t,i){function u(r,u){return delete t.request,t.aborted?i(null):r&&404!==r.status?i(r):(u&&u.resourceTiming&&(t.resourceTiming=u.resourceTiming),this.map._refreshExpiredTiles&&u&&t.setExpiryData(u),t.loadVectorData(u,this.map.painter),n.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var f=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(f,n.ResourceType.Tile),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:n.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;t.actor&&"expired"!==t.state?"loading"===t.state?t.reloadCallback=i:t.request=t.actor.send("reloadTile",r,u.bind(this)):(t.actor=this.dispatcher.getActor(),t.request=t.actor.send("loadTile",r,u.bind(this)))},i.prototype.abortTile=function(n){n.request&&(n.request.cancel(),delete n.request);n.actor&&n.actor.send("abortTile",{uid:n.uid,type:this.type,source:this.id},void 0)},i.prototype.unloadTile=function(n){n.unloadVectorData();n.actor&&n.actor.send("removeTile",{uid:n.uid,type:this.type,source:this.id},void 0)},i.prototype.hasTransition=function(){return!1},i}(n.Evented),ne=function(t){function i(i,r,u,f){t.call(this);this.id=i;this.dispatcher=u;this.setEventedParent(f);this.type="raster";this.minzoom=0;this.maxzoom=22;this.roundZoom=!0;this.scheme="xyz";this.tileSize=512;this._loaded=!1;this._options=n.extend({type:"raster"},r);n.extend(this,n.pick(r,["url","scheme","tileSize"]))}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.load=function(){var t=this;this._loaded=!1;this.fire(new n.Event("dataloading",{dataType:"source"}));this._tileJSONRequest=gf(this._options,this.map._requestManager,function(i,r){t._tileJSONRequest=null;t._loaded=!0;i?t.fire(new n.ErrorEvent(i)):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new tr(r.bounds,t.minzoom,t.maxzoom)),n.postTurnstileEvent(r.tiles),n.postMapLoadEvent(r.tiles,t.map._getMapId(),t.map._requestManager._skuToken),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"content"})))})},i.prototype.loaded=function(){return this._loaded},i.prototype.onAdd=function(n){this.map=n;this.load()},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},i.prototype.serialize=function(){return n.extend({},this._options)},i.prototype.hasTile=function(n){return!this.tileBounds||this.tileBounds.contains(n.canonical)},i.prototype.loadTile=function(t,i){var r=this,u=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);t.request=n.getImage(this.map._requestManager.transformRequest(u,n.ResourceType.Tile),function(u,f){if(delete t.request,t.aborted)t.state="unloaded",i(null);else if(u)t.state="errored",i(u);else if(f){r.map._refreshExpiredTiles&&t.setExpiryData(f);delete f.cacheControl;delete f.expires;var o=r.map.painter.context,e=o.gl;t.texture=r.map.painter.getTileTexture(f.width);t.texture?t.texture.update(f,{useMipmap:!0}):(t.texture=new n.Texture(o,f,e.RGBA,{useMipmap:!0}),t.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE,e.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&e.texParameterf(e.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax));t.state="loaded";n.cacheEntryPossiblyAdded(r.dispatcher);i(null)}})},i.prototype.abortTile=function(n,t){n.request&&(n.request.cancel(),delete n.request);t()},i.prototype.unloadTile=function(n,t){n.texture&&this.map.painter.saveTileTexture(n.texture);t()},i.prototype.hasTransition=function(){return!1},i}(n.Evented),uh=function(t){function i(i,r,u,f){t.call(this,i,r,u,f);this.type="raster-dem";this.maxzoom=22;this._options=n.extend({type:"raster-dem"},r);this.encoding=r.encoding||"mapbox"}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},i.prototype.loadTile=function(t,i){function u(n,r){n&&(t.state="errored",i(n));r&&(t.dem=r,t.needsHillshadePrepare=!0,t.state="loaded",i(null))}var r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);t.request=n.getImage(this.map._requestManager.transformRequest(r,n.ResourceType.Tile),function(r,f){if(delete t.request,t.aborted)t.state="unloaded",i(null);else if(r)t.state="errored",i(r);else if(f){this.map._refreshExpiredTiles&&t.setExpiryData(f);delete f.cacheControl;delete f.expires;var e=n.window.ImageBitmap&&f instanceof n.window.ImageBitmap&&n.offscreenCanvasSupported()?f:n.browser.getImageData(f,1),o={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:e,encoding:this.encoding};t.actor&&"expired"!==t.state||(t.actor=this.dispatcher.getActor(),t.actor.send("loadDEMTile",o,u.bind(this)))}}.bind(this));t.neighboringTiles=this._getNeighboringTiles(t.tileID)},i.prototype._getNeighboringTiles=function(t){var i=t.canonical,u=Math.pow(2,i.z),f=(i.x-1+u)%u,e=0===i.x?t.wrap-1:t.wrap,o=(i.x+1+u)%u,s=i.x+1===u?t.wrap+1:t.wrap,r={};return r[new n.OverscaledTileID(t.overscaledZ,e,i.z,f,i.y).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,s,i.z,o,i.y).key]={backfilled:!1},i.y>0&&(r[new n.OverscaledTileID(t.overscaledZ,e,i.z,f,i.y-1).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,s,i.z,o,i.y-1).key]={backfilled:!1}),i.y+1<u&&(r[new n.OverscaledTileID(t.overscaledZ,e,i.z,f,i.y+1).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,t.wrap,i.z,i.x,i.y+1).key]={backfilled:!1},r[new n.OverscaledTileID(t.overscaledZ,s,i.z,o,i.y+1).key]={backfilled:!1}),r},i.prototype.unloadTile=function(n){n.demTexture&&this.map.painter.saveTileTexture(n.demTexture);n.fbo&&(n.fbo.destroy(),delete n.fbo);n.dem&&delete n.dem;delete n.neighboringTiles;n.state="unloaded";n.actor&&n.actor.send("removeDEMTile",{uid:n.uid,source:this.id})},i}(ne),fh=function(t){function i(i,r,u,f){t.call(this);this.id=i;this.type="geojson";this.minzoom=0;this.maxzoom=18;this.tileSize=512;this.isTileClipped=!0;this.reparseOverscaled=!0;this._removed=!1;this._loaded=!1;this.actor=u.getActor();this.setEventedParent(f);this._data=r.data;this._options=n.extend({},r);this._collectResourceTiming=r.collectResourceTiming;this._resourceTiming=[];void 0!==r.maxzoom&&(this.maxzoom=r.maxzoom);r.type&&(this.type=r.type);r.attribution&&(this.attribution=r.attribution);this.promoteId=r.promoteId;var e=n.EXTENT/this.tileSize;this.workerOptions=n.extend({source:this.id,cluster:r.cluster||!1,geojsonVtOptions:{buffer:(void 0!==r.buffer?r.buffer:128)*e,tolerance:(void 0!==r.tolerance?r.tolerance:.375)*e,extent:n.EXTENT,maxZoom:this.maxzoom,lineMetrics:r.lineMetrics||!1,generateId:r.generateId||!1},superclusterOptions:{maxZoom:void 0!==r.clusterMaxZoom?Math.min(r.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,r.clusterMinPoints||2),extent:n.EXTENT,radius:(r.clusterRadius||50)*e,log:!1,generateId:r.generateId||!1},clusterProperties:r.clusterProperties},r.workerOptions)}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.load=function(){var t=this;this.fire(new n.Event("dataloading",{dataType:"source"}));this._updateWorkerData(function(i){if(i)t.fire(new n.ErrorEvent(i));else{var r={dataType:"source",sourceDataType:"metadata"};t._collectResourceTiming&&t._resourceTiming&&t._resourceTiming.length>0&&(r.resourceTiming=t._resourceTiming,t._resourceTiming=[]);t.fire(new n.Event("data",r))}})},i.prototype.onAdd=function(n){this.map=n;this.load()},i.prototype.setData=function(t){var i=this;return this._data=t,this.fire(new n.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(t){if(t)i.fire(new n.ErrorEvent(t));else{var r={dataType:"source",sourceDataType:"content"};i._collectResourceTiming&&i._resourceTiming&&i._resourceTiming.length>0&&(r.resourceTiming=i._resourceTiming,i._resourceTiming=[]);i.fire(new n.Event("data",r))}}),this},i.prototype.getClusterExpansionZoom=function(n,t){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:n,source:this.id},t),this},i.prototype.getClusterChildren=function(n,t){return this.actor.send("geojson.getClusterChildren",{clusterId:n,source:this.id},t),this},i.prototype.getClusterLeaves=function(n,t,i,r){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:n,limit:t,offset:i},r),this},i.prototype._updateWorkerData=function(t){var i=this,r,u;this._loaded=!1;r=n.extend({},this.workerOptions);u=this._data;"string"==typeof u?(r.request=this.map._requestManager.transformRequest(n.browser.resolveURL(u),n.ResourceType.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(u);this.actor.send(this.type+".loadData",r,function(n,u){i._removed||u&&u.abandoned||(i._loaded=!0,u&&u.resourceTiming&&u.resourceTiming[i.id]&&(i._resourceTiming=u.resourceTiming[i.id].slice(0)),i.actor.send(i.type+".coalesce",{source:r.source},null),t(n))})},i.prototype.loaded=function(){return this._loaded},i.prototype.loadTile=function(t,i){var u=this,r=t.actor?"reloadTile":"loadTile";t.actor=this.actor;t.request=this.actor.send(r,{type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:n.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},function(n,f){return delete t.request,t.unloadVectorData(),t.aborted?i(null):n?i(n):(t.loadVectorData(f,u.map.painter,"reloadTile"===r),i(null))})},i.prototype.abortTile=function(n){n.request&&(n.request.cancel(),delete n.request);n.aborted=!0},i.prototype.unloadTile=function(n){n.unloadVectorData();this.actor.send("removeTile",{uid:n.uid,type:this.type,source:this.id})},i.prototype.onRemove=function(){this._removed=!0;this.actor.send("removeSource",{type:this.type,source:this.id})},i.prototype.serialize=function(){return n.extend({},this._options,{type:this.type,data:this._data})},i.prototype.hasTransition=function(){return!1},i}(n.Evented),pr=n.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),ir=function(t){function i(n,i,r,u){t.call(this);this.id=n;this.dispatcher=r;this.coordinates=i.coordinates;this.type="image";this.minzoom=0;this.maxzoom=22;this.tileSize=512;this.tiles={};this._loaded=!1;this.setEventedParent(u);this.options=i}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.load=function(t,i){var r=this;this._loaded=!1;this.fire(new n.Event("dataloading",{dataType:"source"}));this.url=this.options.url;n.getImage(this.map._requestManager.transformRequest(this.url,n.ResourceType.Image),function(u,f){r._loaded=!0;u?r.fire(new n.ErrorEvent(u)):f&&(r.image=f,t&&(r.coordinates=t),i&&i(),r._finishLoading())})},i.prototype.loaded=function(){return this._loaded},i.prototype.updateImage=function(n){var t=this;return this.image&&n.url?(this.options.url=n.url,this.load(n.coordinates,function(){t.texture=null}),this):this},i.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})))},i.prototype.onAdd=function(n){this.map=n;this.load()},i.prototype.setCoordinates=function(t){var u=this,r,i;return this.coordinates=t,r=t.map(n.MercatorCoordinate.fromLngLat),this.tileID=function(t){for(var i,r=1/0,u=1/0,f=-1/0,e=-1/0,o=0,s=t;o<s.length;o+=1)i=s[o],r=Math.min(r,i.x),u=Math.min(u,i.y),f=Math.max(f,i.x),e=Math.max(e,i.y);var l=Math.max(f-r,e-u),h=Math.max(0,Math.floor(-Math.log(l)/Math.LN2)),c=Math.pow(2,h);return new n.CanonicalTileID(h,Math.floor((r+f)/2*c),Math.floor((u+e)/2*c))}(r),this.minzoom=this.maxzoom=this.tileID.z,i=r.map(function(n){return u.tileID.getTilePoint(n)._round()}),this._boundsArray=new n.StructArrayLayout4i8,this._boundsArray.emplaceBack(i[0].x,i[0].y,0,0),this._boundsArray.emplaceBack(i[1].x,i[1].y,n.EXTENT,0),this._boundsArray.emplaceBack(i[3].x,i[3].y,0,n.EXTENT),this._boundsArray.emplaceBack(i[2].x,i[2].y,n.EXTENT,n.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new n.Event("data",{dataType:"source",sourceDataType:"content"})),this},i.prototype.prepare=function(){var t,i,u,r;if(0!==Object.keys(this.tiles).length&&this.image){t=this.map.painter.context;i=t.gl;for(u in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,pr.members)),this.boundsSegments||(this.boundsSegments=n.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new n.Texture(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles)r=this.tiles[u],"loaded"!==r.state&&(r.state="loaded",r.texture=this.texture)}},i.prototype.loadTile=function(n,t){this.tileID&&this.tileID.equals(n.tileID.canonical)?(this.tiles[String(n.tileID.wrap)]=n,n.buckets={},t(null)):(n.state="errored",t(null))},i.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return!1},i}(n.Evented),eh=function(t){function i(n,i,r,u){t.call(this,n,i,r,u);this.roundZoom=!0;this.type="video";this.options=i}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.load=function(){var t=this,u,i,r;for(this._loaded=!1,u=this.options,this.urls=[],i=0,r=u.urls;i<r.length;i+=1)this.urls.push(this.map._requestManager.transformRequest(r[i],n.ResourceType.Source).url);n.getVideo(this.urls,function(i,r){t._loaded=!0;i?t.fire(new n.ErrorEvent(i)):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener("playing",function(){t.map.triggerRepaint()}),t.map&&t.video.play(),t._finishLoading())})},i.prototype.pause=function(){this.video&&this.video.pause()},i.prototype.play=function(){this.video&&this.video.play()},i.prototype.seek=function(t){if(this.video){var i=this.video.seekable;t<i.start(0)||t>i.end(0)?this.fire(new n.ErrorEvent(new n.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+i.start(0)+" and "+i.end(0)+"-second mark."))):this.video.currentTime=t}},i.prototype.getVideo=function(){return this.video},i.prototype.onAdd=function(n){this.map||(this.map=n,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},i.prototype.prepare=function(){var i,t,u,r;if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){i=this.map.painter.context;t=i.gl;for(u in this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,pr.members)),this.boundsSegments||(this.boundsSegments=n.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.video)):(this.texture=new n.Texture(i,this.video,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)),this.tiles)r=this.tiles[u],"loaded"!==r.state&&(r.state="loaded",r.texture=this.texture)}},i.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this.video&&!this.video.paused},i}(ir),oh=function(t){function i(i,r,u,f){t.call(this,i,r,u,f);r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some(function(n){return!Array.isArray(n)||2!==n.length||n.some(function(n){return"number"!=typeof n})})||this.fire(new n.ErrorEvent(new n.ValidationError("sources."+i,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new n.ErrorEvent(new n.ValidationError("sources."+i,null,'missing required property "coordinates"')));r.animate&&"boolean"!=typeof r.animate&&this.fire(new n.ErrorEvent(new n.ValidationError("sources."+i,null,'optional "animate" property must be a boolean value')));r.canvas?"string"==typeof r.canvas||r.canvas instanceof n.window.HTMLCanvasElement||this.fire(new n.ErrorEvent(new n.ValidationError("sources."+i,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 n.ErrorEvent(new n.ValidationError("sources."+i,null,'missing required property "canvas"')));this.options=r;this.animate=void 0===r.animate||r.animate}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.load=function(){this._loaded=!0;this.canvas||(this.canvas=this.options.canvas instanceof n.window.HTMLCanvasElement?this.options.canvas:n.window.document.getElementById(this.options.canvas));this.width=this.canvas.width;this.height=this.canvas.height;this._hasInvalidDimensions()?this.fire(new n.ErrorEvent(new 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(),this._playing=!1)},this._finishLoading())},i.prototype.getCanvas=function(){return this.canvas},i.prototype.onAdd=function(n){this.map=n;this.load();this.canvas&&this.animate&&this.play()},i.prototype.onRemove=function(){this.pause()},i.prototype.prepare=function(){var r=!1,t,u,f,i;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,r=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,r=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){t=this.map.painter.context;u=t.gl;for(f in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,pr.members)),this.boundsSegments||(this.boundsSegments=n.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(r||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new n.Texture(t,this.canvas,u.RGBA,{premultiply:!0}),this.tiles)i=this.tiles[f],"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}},i.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this._playing},i.prototype._hasInvalidDimensions=function(){for(var i,n=0,t=[this.canvas.width,this.canvas.height];n<t.length;n+=1)if(i=t[n],isNaN(i)||i<=0)return!0;return!1},i}(ir),pu={vector:rh,raster:ne,"raster-dem":uh,geojson:fh,video:eh,image:ir,canvas:oh};tt=function(n,t){this.max=n;this.onRemove=t;this.reset()};tt.prototype.reset=function(){var r,n,i,t;for(r in this.data)for(n=0,i=this.data[r];n<i.length;n+=1)t=i[n],t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this};tt.prototype.add=function(n,t,i){var e=this,r=n.wrapped().key,u,f;return void 0===this.data[r]&&(this.data[r]=[]),u={value:t,timeout:void 0},(void 0!==i&&(u.timeout=setTimeout(function(){e.remove(n,u)},i)),this.data[r].push(u),this.order.push(r),this.order.length>this.max)&&(f=this._getAndRemoveByKey(this.order[0]),f&&this.onRemove(f)),this};tt.prototype.has=function(n){return n.wrapped().key in this.data};tt.prototype.getAndRemove=function(n){return this.has(n)?this._getAndRemoveByKey(n.wrapped().key):null};tt.prototype._getAndRemoveByKey=function(n){var t=this.data[n].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[n].length&&delete this.data[n],this.order.splice(this.order.indexOf(n),1),t.value};tt.prototype.getByKey=function(n){var t=this.data[n];return t?t[0].value:null};tt.prototype.get=function(n){return this.has(n)?this.data[n.wrapped().key][0].value:null};tt.prototype.remove=function(n,t){if(!this.has(n))return this;var i=n.wrapped().key,u=void 0===t?0:this.data[i].indexOf(t),r=this.data[i][u];return this.data[i].splice(u,1),r.timeout&&clearTimeout(r.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(r.value),this.order.splice(this.order.indexOf(i),1),this};tt.prototype.setMaxSize=function(n){for(this.max=n;this.order.length>this.max;){var t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this};tt.prototype.filter=function(n){var o=[],s,t,r,u,i,f,e;for(s in this.data)for(t=0,r=this.data[s];t<r.length;t+=1)u=r[t],n(u.value)||o.push(u);for(i=0,f=o;i<f.length;i+=1)e=f[i],this.remove(e.value.tileID,e)};rr=function(n,t,i){this.context=n;var r=n.gl;this.buffer=r.createBuffer();this.dynamicDraw=Boolean(i);this.context.unbindVAO();n.bindElementBuffer.set(this.buffer);r.bufferData(r.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW);this.dynamicDraw||delete t.arrayBuffer};rr.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)};rr.prototype.updateData=function(n){var t=this.context.gl;this.context.unbindVAO();this.bind();t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,n.arrayBuffer)};rr.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};ie={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};ii=function(n,t,i,r){this.length=t.length;this.attributes=i;this.itemSize=t.bytesPerElement;this.dynamicDraw=r;this.context=n;var u=n.gl;this.buffer=u.createBuffer();n.bindVertexBuffer.set(this.buffer);u.bufferData(u.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?u.DYNAMIC_DRAW:u.STATIC_DRAW);this.dynamicDraw||delete t.arrayBuffer};ii.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)};ii.prototype.updateData=function(n){var t=this.context.gl;this.bind();t.bufferSubData(t.ARRAY_BUFFER,0,n.arrayBuffer)};ii.prototype.enableAttributes=function(n,t){for(var r,i=0;i<this.attributes.length;i++)r=t.attributes[this.attributes[i].name],void 0!==r&&n.enableVertexAttribArray(r)};ii.prototype.setVertexAttribPointers=function(n,t,i){for(var r,f,u=0;u<this.attributes.length;u++)r=this.attributes[u],f=t.attributes[r.name],void 0!==f&&n.vertexAttribPointer(f,r.components,n[ie[r.type]],!1,this.itemSize,r.offset+this.itemSize*(i||0))};ii.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)};i=function(n){this.gl=n.gl;this.default=this.getDefault();this.current=this.default;this.dirty=!1};i.prototype.get=function(){return this.current};i.prototype.set=function(){};i.prototype.getDefault=function(){return this.default};i.prototype.setDefault=function(){this.set(this.default)};var ch=function(t){function i(){t.apply(this,arguments)}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.getDefault=function(){return n.Color.transparent},i.prototype.set=function(n){var t=this.current;(n.r!==t.r||n.g!==t.g||n.b!==t.b||n.a!==t.a||this.dirty)&&(this.gl.clearColor(n.r,n.g,n.b,n.a),this.current=n,this.dirty=!1)},i}(i),lh=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return 1},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.clearDepth(n),this.current=n,this.dirty=!1)},t}(i),ah=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return 0},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.clearStencil(n),this.current=n,this.dirty=!1)},t}(i),vh=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return[!0,!0,!0,!0]},t.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||n[2]!==t[2]||n[3]!==t[3]||this.dirty)&&(this.gl.colorMask(n[0],n[1],n[2],n[3]),this.current=n,this.dirty=!1)},t}(i),yh=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return!0},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.depthMask(n),this.current=n,this.dirty=!1)},t}(i),ph=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return 255},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.stencilMask(n),this.current=n,this.dirty=!1)},t}(i),wh=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},t.prototype.set=function(n){var t=this.current;(n.func!==t.func||n.ref!==t.ref||n.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(n.func,n.ref,n.mask),this.current=n,this.dirty=!1)},t}(i),bh=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){var n=this.gl;return[n.KEEP,n.KEEP,n.KEEP]},t.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||n[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(n[0],n[1],n[2]),this.current=n,this.dirty=!1)},t}(i),kh=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;n?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST);this.current=n;this.dirty=!1}},t}(i),dh=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return[0,1]},t.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||this.dirty)&&(this.gl.depthRange(n[0],n[1]),this.current=n,this.dirty=!1)},t}(i),gh=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;n?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST);this.current=n;this.dirty=!1}},t}(i),nc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return this.gl.LESS},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.depthFunc(n),this.current=n,this.dirty=!1)},t}(i),tc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;n?t.enable(t.BLEND):t.disable(t.BLEND);this.current=n;this.dirty=!1}},t}(i),ic=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){var n=this.gl;return[n.ONE,n.ZERO]},t.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(n[0],n[1]),this.current=n,this.dirty=!1)},t}(i),rc=function(t){function i(){t.apply(this,arguments)}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.getDefault=function(){return n.Color.transparent},i.prototype.set=function(n){var t=this.current;(n.r!==t.r||n.g!==t.g||n.b!==t.b||n.a!==t.a||this.dirty)&&(this.gl.blendColor(n.r,n.g,n.b,n.a),this.current=n,this.dirty=!1)},i}(i),uc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return this.gl.FUNC_ADD},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.blendEquation(n),this.current=n,this.dirty=!1)},t}(i),fc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;n?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE);this.current=n;this.dirty=!1}},t}(i),ec=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return this.gl.BACK},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.cullFace(n),this.current=n,this.dirty=!1)},t}(i),oc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return this.gl.CCW},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.frontFace(n),this.current=n,this.dirty=!1)},t}(i),sc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.useProgram(n),this.current=n,this.dirty=!1)},t}(i),hc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return this.gl.TEXTURE0},t.prototype.set=function(n){(n!==this.current||this.dirty)&&(this.gl.activeTexture(n),this.current=n,this.dirty=!1)},t}(i),cc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){var n=this.gl;return[0,0,n.drawingBufferWidth,n.drawingBufferHeight]},t.prototype.set=function(n){var t=this.current;(n[0]!==t[0]||n[1]!==t[1]||n[2]!==t[2]||n[3]!==t[3]||this.dirty)&&(this.gl.viewport(n[0],n[1],n[2],n[3]),this.current=n,this.dirty=!1)},t}(i),lc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,n);this.current=n;this.dirty=!1}},t}(i),ac=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,n);this.current=n;this.dirty=!1}},t}(i),vc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;t.bindTexture(t.TEXTURE_2D,n);this.current=n;this.dirty=!1}},t}(i),yc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,n);this.current=n;this.dirty=!1}},t}(i),pc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(n){var t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n);this.current=n;this.dirty=!1},t}(i),wc=function(n){function t(t){n.call(this,t);this.vao=t.extVertexArrayObject}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return null},t.prototype.set=function(n){this.vao&&(n!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(n),this.current=n,this.dirty=!1)},t}(i),bc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return 4},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,n);this.current=n;this.dirty=!1}},t}(i),kc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n);this.current=n;this.dirty=!1}},t}(i),dc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return!1},t.prototype.set=function(n){if(n!==this.current||this.dirty){var t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,n);this.current=n;this.dirty=!1}},t}(i),re=function(n){function t(t,i){n.call(this,t);this.context=t;this.parent=i}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.getDefault=function(){return null},t}(i),gc=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.setDirty=function(){this.dirty=!0},t.prototype.set=function(n){if(n!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0);this.current=n;this.dirty=!1}},t}(re),nl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.set=function(n){if(n!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,n);this.current=n;this.dirty=!1}},t}(re),ue=function(n,t,i,r){this.context=n;this.width=t;this.height=i;var u=this.framebuffer=n.gl.createFramebuffer();this.colorAttachment=new gc(n,u);r&&(this.depthAttachment=new nl(n,u))};ue.prototype.destroy=function(){var n=this.context.gl,i=this.colorAttachment.get(),t;(i&&n.deleteTexture(i),this.depthAttachment)&&(t=this.depthAttachment.get(),t&&n.deleteRenderbuffer(t));n.deleteFramebuffer(this.framebuffer)};r=function(n,t,i){this.func=n;this.mask=t;this.range=i};r.ReadOnly=!1;r.ReadWrite=!0;r.disabled=new r(519,r.ReadOnly,[0,1]);c=function(n,t,i,r,u,f){this.test=n;this.ref=t;this.mask=i;this.fail=r;this.depthFail=u;this.pass=f};c.disabled=new c({func:519,mask:0},0,0,7680,7680,7680);v=function(n,t,i){this.blendFunction=n;this.blendColor=t;this.mask=i};v.disabled=new v(v.Replace=[1,0],n.Color.transparent,[!1,!1,!1,!1]);v.unblended=new v(v.Replace,n.Color.transparent,[!0,!0,!0,!0]);v.alphaBlended=new v([1,771],n.Color.transparent,[!0,!0,!0,!0]);h=function(n,t,i){this.enable=n;this.mode=t;this.frontFace=i};h.disabled=new h(!1,1029,2305);h.backCCW=new h(!0,1029,2305);k=function(n){this.gl=n;this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object");this.clearColor=new ch(this);this.clearDepth=new lh(this);this.clearStencil=new ah(this);this.colorMask=new vh(this);this.depthMask=new yh(this);this.stencilMask=new ph(this);this.stencilFunc=new wh(this);this.stencilOp=new bh(this);this.stencilTest=new kh(this);this.depthRange=new dh(this);this.depthTest=new gh(this);this.depthFunc=new nc(this);this.blend=new tc(this);this.blendFunc=new ic(this);this.blendColor=new rc(this);this.blendEquation=new uc(this);this.cullFace=new fc(this);this.cullFaceSide=new ec(this);this.frontFace=new oc(this);this.program=new sc(this);this.activeTexture=new hc(this);this.viewport=new cc(this);this.bindFramebuffer=new lc(this);this.bindRenderbuffer=new ac(this);this.bindTexture=new vc(this);this.bindVertexBuffer=new yc(this);this.bindElementBuffer=new pc(this);this.bindVertexArrayOES=this.extVertexArrayObject&&new wc(this);this.pixelStoreUnpack=new bc(this);this.pixelStoreUnpackPremultiplyAlpha=new kc(this);this.pixelStoreUnpackFlipY=new dc(this);this.extTextureFilterAnisotropic=n.getExtension("EXT_texture_filter_anisotropic")||n.getExtension("MOZ_EXT_texture_filter_anisotropic")||n.getExtension("WEBKIT_EXT_texture_filter_anisotropic");this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=n.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT));this.extTextureHalfFloat=n.getExtension("OES_texture_half_float");this.extTextureHalfFloat&&(n.getExtension("OES_texture_half_float_linear"),this.extRenderToTextureHalfFloat=n.getExtension("EXT_color_buffer_half_float"));this.extTimerQuery=n.getExtension("EXT_disjoint_timer_query")};k.prototype.setDefault=function(){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()};k.prototype.setDirty=function(){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.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0);this.pixelStoreUnpack.dirty=!0;this.pixelStoreUnpackPremultiplyAlpha.dirty=!0;this.pixelStoreUnpackFlipY.dirty=!0};k.prototype.createIndexBuffer=function(n,t){return new rr(this,n,t)};k.prototype.createVertexBuffer=function(n,t,i){return new ii(this,n,t,i)};k.prototype.createRenderbuffer=function(n,t,i){var r=this.gl,u=r.createRenderbuffer();return this.bindRenderbuffer.set(u),r.renderbufferStorage(r.RENDERBUFFER,n,t,i),this.bindRenderbuffer.set(null),u};k.prototype.createFramebuffer=function(n,t,i){return new ue(this,n,t,i)};k.prototype.clear=function(n){var r=n.color,u=n.depth,t=this.gl,i=0;r&&(i|=t.COLOR_BUFFER_BIT,this.clearColor.set(r),this.colorMask.set([!0,!0,!0,!0]));void 0!==u&&(i|=t.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(u),this.depthMask.set(!0));t.clear(i)};k.prototype.setCullFace=function(n){!1===n.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(n.mode),this.frontFace.set(n.frontFace))};k.prototype.setDepthMode=function(n){n.func!==this.gl.ALWAYS||n.mask?(this.depthTest.set(!0),this.depthFunc.set(n.func),this.depthMask.set(n.mask),this.depthRange.set(n.range)):this.depthTest.set(!1)};k.prototype.setStencilMode=function(n){n.test.func!==this.gl.ALWAYS||n.mask?(this.stencilTest.set(!0),this.stencilMask.set(n.mask),this.stencilOp.set([n.fail,n.depthFail,n.pass]),this.stencilFunc.set({func:n.test.func,ref:n.ref,mask:n.test.mask})):this.stencilTest.set(!1)};k.prototype.setColorMode=function(t){n.deepEqual(t.blendFunction,v.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor));this.colorMask.set(t.mask)};k.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};oi=function(t){function i(i,r,u){var f=this;t.call(this);this.id=i;this.dispatcher=u;this.on("data",function(n){"source"===n.dataType&&"metadata"===n.sourceDataType&&(f._sourceLoaded=!0);f._sourceLoaded&&!f._paused&&"source"===n.dataType&&"content"===n.sourceDataType&&(f.reload(),f.transform&&f.update(f.transform))});this.on("error",function(){f._sourceErrored=!0});this._source=function(t,i,r,u){var f=new pu[i.type](t,i,r,u);if(f.id!==t)throw new Error("Expected Source id to be "+t+" instead of "+f.id);return n.bindAll(["load","abort","unload","serialize","prepare"],f),f}(i,r,u,this);this._tiles={};this._cache=new tt(0,this._unloadTile.bind(this));this._timers={};this._cacheTimers={};this._maxTileCacheSize=null;this._loadedParentTiles={};this._coveredTiles={};this._state=new n.SourceFeatureState}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.onAdd=function(n){this.map=n;this._maxTileCacheSize=n?n._maxTileCacheSize:null;this._source&&this._source.onAdd&&this._source.onAdd(n)},i.prototype.onRemove=function(n){this._source&&this._source.onRemove&&this._source.onRemove(n)},i.prototype.loaded=function(){var t,n;if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;for(t in this._tiles)if(n=this._tiles[t],"loaded"!==n.state&&"errored"!==n.state)return!1;return!0},i.prototype.getSource=function(){return this._source},i.prototype.pause=function(){this._paused=!0},i.prototype.resume=function(){if(this._paused){var n=this._shouldReloadOnResume;this._paused=!1;this._shouldReloadOnResume=!1;n&&this.reload();this.transform&&this.update(this.transform)}},i.prototype._loadTile=function(n,t){return this._source.loadTile(n,t)},i.prototype._unloadTile=function(n){if(this._source.unloadTile)return this._source.unloadTile(n,function(){})},i.prototype._abortTile=function(n){if(this._source.abortTile)return this._source.abortTile(n,function(){})},i.prototype.serialize=function(){return this._source.serialize()},i.prototype.prepare=function(n){var i,t;for(i in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles)t=this._tiles[i],t.upload(n),t.prepare(this.map.style.imageManager)},i.prototype.getIds=function(){return n.values(this._tiles).map(function(n){return n.tileID}).sort(fe).map(function(n){return n.key})},i.prototype.getRenderableIds=function(t){var r=this,i=[];for(var u in this._tiles)this._isIdRenderable(u,t)&&i.push(this._tiles[u]);return t?i.sort(function(t,i){var u=t.tileID,f=i.tileID,e=new n.Point(u.canonical.x,u.canonical.y)._rotate(r.transform.angle),o=new n.Point(f.canonical.x,f.canonical.y)._rotate(r.transform.angle);return u.overscaledZ-f.overscaledZ||o.y-e.y||o.x-e.x}).map(function(n){return n.tileID.key}):i.map(function(n){return n.tileID}).sort(fe).map(function(n){return n.key})},i.prototype.hasRenderableParent=function(n){var t=this.findLoadedParent(n,0);return!!t&&this._isIdRenderable(t.tileID.key)},i.prototype._isIdRenderable=function(n,t){return this._tiles[n]&&this._tiles[n].hasData()&&!this._coveredTiles[n]&&(t||!this._tiles[n].holdingForFade())},i.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var n in this._cache.reset(),this._tiles)"errored"!==this._tiles[n].state&&this._reloadTile(n,"reloading")},i.prototype._reloadTile=function(n,t){var i=this._tiles[n];i&&("loading"!==i.state&&(i.state=t),this._loadTile(i,this._tileLoaded.bind(this,i,n,t)))},i.prototype._tileLoaded=function(t,i,r,u){if(u)return t.state="errored",void(404!==u.status?this._source.fire(new n.ErrorEvent(u,{tile:t})):this.update(this.transform));t.timeAdded=n.browser.now();"expired"===r&&(t.refreshedUponExpiration=!0);this._setTileReloadTimer(i,t);"raster-dem"===this.getSource().type&&t.dem&&this._backfillDEM(t);this._state.initializeTileState(t,this.map?this.map.painter:null);this._source.fire(new n.Event("data",{dataType:"source",tile:t,coord:t.tileID}))},i.prototype._backfillDEM=function(n){function f(n,t){n.needsHillshadePrepare=!0;var i=t.tileID.canonical.x-n.tileID.canonical.x,u=t.tileID.canonical.y-n.tileID.canonical.y,r=Math.pow(2,n.tileID.canonical.z),f=t.tileID.key;0===i&&0===u||Math.abs(u)>1||(Math.abs(i)>1&&(1===Math.abs(i+r)?i+=r:1===Math.abs(i-r)&&(i-=r)),t.dem&&n.dem&&(n.dem.backfillBorder(t.dem,i,u),n.neighboringTiles&&n.neighboringTiles[f]&&(n.neighboringTiles[f].backfilled=!0)))}for(var r,u,i=this.getRenderableIds(),t=0;t<i.length;t++)r=i[t],n.neighboringTiles&&n.neighboringTiles[r]&&(u=this.getTileByID(r),f(n,u),f(u,n))},i.prototype.getTile=function(n){return this.getTileByID(n.key)},i.prototype.getTileByID=function(n){return this._tiles[n]},i.prototype._retainLoadedChildren=function(n,t,i,r){var o,u,f,s,e;for(o in this._tiles)if(u=this._tiles[o],!(r[o]||!u.hasData()||u.tileID.overscaledZ<=t||u.tileID.overscaledZ>i)){for(f=u.tileID;u&&u.tileID.overscaledZ>t+1;)s=u.tileID.scaledTo(u.tileID.overscaledZ-1),(u=this._tiles[s.key])&&u.hasData()&&(f=s);for(e=f;e.overscaledZ>t;)if(n[(e=e.scaledTo(e.overscaledZ-1)).key]){r[f.key]=f;break}}},i.prototype.findLoadedParent=function(n,t){var i,r,f,u;if(n.key in this._loadedParentTiles)return i=this._loadedParentTiles[n.key],i&&i.tileID.overscaledZ>=t?i:null;for(r=n.overscaledZ-1;r>=t;r--)if(f=n.scaledTo(r),u=this._getLoadedTile(f),u)return u},i.prototype._getLoadedTile=function(n){var t=this._tiles[n.key];return t&&t.hasData()?t:this._cache.getByKey(n.wrapped().key)},i.prototype.updateCacheSize=function(n){var i=Math.ceil(n.width/this._source.tileSize)+1,r=Math.ceil(n.height/this._source.tileSize)+1,t=Math.floor(i*r*5),u="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,t):t;this._cache.setMaxSize(u)},i.prototype.handleWrapJump=function(n){var f=Math.round((n-(void 0===this._prevLng?n:this._prevLng))/360),i,e,t,r,u;if(this._prevLng=n,f){i={};for(e in this._tiles)t=this._tiles[e],t.tileID=t.tileID.unwrapTo(t.tileID.wrap+f),i[t.tileID.key]=t;for(r in this._tiles=i,this._timers)clearTimeout(this._timers[r]),delete this._timers[r];for(u in this._tiles)this._setTileReloadTimer(u,this._tiles[u])}},i.prototype.update=function(t){var g=this,u,e,o,d,h,y,p,f;if(this.transform=t,this._sourceLoaded&&!this._paused){this.updateCacheSize(t);this.handleWrapJump(this.transform.center.lng);this._coveredTiles={};this.used?this._source.tileID?u=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new n.OverscaledTileID(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(u=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(u=u.filter(function(n){return g._source.hasTile(n)}))):u=[];var s=t.coveringZoomLevel(this._source),nt=Math.max(s-i.maxOverzooming,this._source.minzoom),tt=Math.max(s+i.maxUnderzooming,this._source.minzoom),r=this._updateRetainedTiles(u,s);if(ee(this._source.type)){for(var c={},w={},l=0,b=Object.keys(r);l<b.length;l+=1){var a=b[l],k=r[a],v=this._tiles[a];!v||v.fadeEndTime&&v.fadeEndTime<=n.browser.now()||(e=this.findLoadedParent(k,nt),e&&(this._addTile(e.tileID),c[e.tileID.key]=e.tileID),w[a]=k)}for(o in this._retainLoadedChildren(w,s,tt,r),c)r[o]||(this._coveredTiles[o]=!0,r[o]=c[o])}for(d in r)this._tiles[d].clearFadeHold();for(h=0,y=n.keysDifference(this._tiles,r);h<y.length;h+=1)p=y[h],f=this._tiles[p],f.hasSymbolBuckets&&!f.holdingForFade()?f.setHoldDuration(this.map._fadeDuration):f.hasSymbolBuckets&&!f.symbolFadeFinished()||this._removeTile(p);this._updateLoadedParentTileCache()}},i.prototype.releaseSymbolFadeTiles=function(){for(var n in this._tiles)this._tiles[n].holdingForFade()&&this._removeTile(n)},i.prototype._updateRetainedTiles=function(n,t){for(var e,d,h,v,o,u,c,y,s,p,l,f,r={},w={},g=Math.max(t-i.maxOverzooming,this._source.minzoom),nt=Math.max(t+i.maxUnderzooming,this._source.minzoom),b={},a=0,k=n;a<k.length;a+=1)e=k[a],d=this._addTile(e),r[e.key]=e,d.hasData()||t<this._source.maxzoom&&(b[e.key]=e);for(this._retainLoadedChildren(b,t,nt,r),h=0,v=n;h<v.length;h+=1)if(o=v[h],u=this._tiles[o.key],!u.hasData()){if(t+1>this._source.maxzoom){if(c=o.children(this._source.maxzoom)[0],y=this.getTile(c),y&&y.hasData()){r[c.key]=c;continue}}else if(s=o.children(this._source.maxzoom),r[s[0].key]&&r[s[1].key]&&r[s[2].key]&&r[s[3].key])continue;for(p=u.wasRequested(),l=o.overscaledZ-1;l>=g;--l){if(f=o.scaledTo(l),w[f.key])break;if(w[f.key]=!0,!(u=this.getTile(f))&&p&&(u=this._addTile(f)),u&&(r[f.key]=f,p=u.wasRequested(),u.hasData()))break}}return r},i.prototype._updateLoadedParentTileCache=function(){var f,r,t,u;for(f in this._loadedParentTiles={},this._tiles){for(var e=[],i=void 0,n=this._tiles[f].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){i=this._loadedParentTiles[n.key];break}if(e.push(n.key),r=n.scaledTo(n.overscaledZ-1),i=this._getLoadedTile(r))break;n=r}for(t=0,u=e;t<u.length;t+=1)this._loadedParentTiles[u[t]]=i}},i.prototype._addTile=function(t){var i=this._tiles[t.key],r;return i?i:((i=this._cache.getAndRemove(t))&&(this._setTileReloadTimer(t.key,i),i.tileID=t,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,i))),r=Boolean(i),r||(i=new n.Tile(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,t.key,i.state))),i?(i.uses++,this._tiles[t.key]=i,r||this._source.fire(new n.Event("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i):null)},i.prototype._setTileReloadTimer=function(n,t){var r=this,i;n in this._timers&&(clearTimeout(this._timers[n]),delete this._timers[n]);i=t.getExpiryTimeout();i&&(this._timers[n]=setTimeout(function(){r._reloadTile(n,"expired");delete r._timers[n]},i))},i.prototype._removeTile=function(n){var t=this._tiles[n];t&&(t.uses--,delete this._tiles[n],this._timers[n]&&(clearTimeout(this._timers[n]),delete this._timers[n]),t.uses>0||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))},i.prototype.clearTiles=function(){for(var n in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(n);this._cache.reset()},i.prototype.tilesIn=function(t,i,r){var b=this,o=[],u=this.transform,f,w,e;if(!u)return o;for(var k=r?u.getCameraQueryGeometry(t):t,d=t.map(function(n){return u.pointCoordinate(n)}),v=k.map(function(n){return u.pointCoordinate(n)}),y=this.getIds(),s=1/0,h=1/0,c=-1/0,l=-1/0,a=0,p=v;a<p.length;a+=1)f=p[a],s=Math.min(s,f.x),h=Math.min(h,f.y),c=Math.max(c,f.x),l=Math.max(l,f.y);for(w=function(t){var r=b._tiles[y[t]],w,k;if(!r.holdingForFade()){var f=r.tileID,p=Math.pow(2,u.zoom-r.tileID.overscaledZ),e=i*r.queryPadding*n.EXTENT/r.tileSize/p,a=[f.getTilePoint(new n.MercatorCoordinate(s,h)),f.getTilePoint(new n.MercatorCoordinate(c,l))];a[0].x-e<n.EXTENT&&a[0].y-e<n.EXTENT&&a[1].x+e>=0&&a[1].y+e>=0&&(w=d.map(function(n){return f.getTilePoint(n)}),k=v.map(function(n){return f.getTilePoint(n)}),o.push({tile:r,tileID:f,queryGeometry:w,cameraQueryGeometry:k,scale:p}))}},e=0;e<y.length;e++)w(e);return o},i.prototype.getVisibleCoordinates=function(n){for(var i,f=this,r=this.getRenderableIds(n).map(function(n){return f._tiles[n].tileID}),t=0,u=r;t<u.length;t+=1)i=u[t],i.posMatrix=this.transform.calculatePosMatrix(i.toUnwrapped());return r},i.prototype.hasTransition=function(){var i,t;if(this._source.hasTransition())return!0;if(ee(this._source.type))for(i in this._tiles)if(t=this._tiles[i],void 0!==t.fadeEndTime&&t.fadeEndTime>=n.browser.now())return!0;return!1},i.prototype.setFeatureState=function(n,t,i){this._state.updateState(n=n||"_geojsonTileLayer",t,i)},i.prototype.removeFeatureState=function(n,t,i){this._state.removeFeatureState(n=n||"_geojsonTileLayer",t,i)},i.prototype.getFeatureState=function(n,t){return this._state.getState(n=n||"_geojsonTileLayer",t)},i.prototype.setDependencies=function(n,t,i){var r=this._tiles[n];r&&r.setDependencies(t,i)},i.prototype.reloadTilesForDependencies=function(n,t){for(var i in this._tiles)this._tiles[i].hasDependency(n,t)&&this._reloadTile(i,"reloading");this._cache.filter(function(i){return!i.hasDependency(n,t)})},i}(n.Evented);oi.maxOverzooming=10;oi.maxUnderzooming=3;wr="mapboxgl_preloaded_worker_pool";at=function(){this.active={}};at.prototype.acquire=function(n){if(!this.workers)for(this.workers=[];this.workers.length<at.workerCount;)this.workers.push(new tl);return this.active[n]=!0,this.workers.slice()};at.prototype.release=function(n){delete this.active[n];0===this.numActive()&&(this.workers.forEach(function(n){n.terminate()}),this.workers=null)};at.prototype.isPreloaded=function(){return!!this.active[wr]};at.prototype.numActive=function(){return Object.keys(this.active).length};oe=Math.floor(n.browser.hardwareConcurrency/2);at.workerCount=Math.max(Math.min(oe,6),1);f={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};kr=function(n,t){this.reset(n,t)};kr.prototype.reset=function(n,t){this.points=n||[];this._distances=[0];for(var i=1;i<this.points.length;i++)this._distances[i]=this._distances[i-1]+this.points[i].dist(this.points[i-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};kr.prototype.lerp=function(t){if(1===this.points.length)return this.points[0];t=n.clamp(t,0,1);for(var i=1,r=this._distances[i],u=t*this.paddedLength+this.padding;r<u&&i<this._distances.length;)r=this._distances[++i];var f=i-1,e=this._distances[f],o=r-e,s=o>0?(u-e)/o:0;return this.points[f].mult(1-s).add(this.points[i].mult(s))};l=function(n,t,i){var u=this.boxCells=[],f=this.circleCells=[],r;for(this.xCellCount=Math.ceil(n/i),this.yCellCount=Math.ceil(t/i),r=0;r<this.xCellCount*this.yCellCount;r++)u.push([]),f.push([]);this.circleKeys=[];this.boxKeys=[];this.bboxes=[];this.circles=[];this.width=n;this.height=t;this.xScale=this.xCellCount/n;this.yScale=this.yCellCount/t;this.boxUid=0;this.circleUid=0};l.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length};l.prototype.insert=function(n,t,i,r,u){this._forEachCell(t,i,r,u,this._insertBoxCell,this.boxUid++);this.boxKeys.push(n);this.bboxes.push(t);this.bboxes.push(i);this.bboxes.push(r);this.bboxes.push(u)};l.prototype.insertCircle=function(n,t,i,r){this._forEachCell(t-r,i-r,t+r,i+r,this._insertCircleCell,this.circleUid++);this.circleKeys.push(n);this.circles.push(t);this.circles.push(i);this.circles.push(r)};l.prototype._insertBoxCell=function(n,t,i,r,u,f){this.boxCells[u].push(f)};l.prototype._insertCircleCell=function(n,t,i,r,u,f){this.circleCells[u].push(f)};l.prototype._query=function(n,t,i,r,u,f){var e,o,s;if(i<0||n>this.width||r<0||t>this.height)return!u&&[];if(e=[],n<=0&&t<=0&&this.width<=i&&this.height<=r){if(u)return!0;for(o=0;o<this.boxKeys.length;o++)e.push({key:this.boxKeys[o],x1:this.bboxes[4*o],y1:this.bboxes[4*o+1],x2:this.bboxes[4*o+2],y2:this.bboxes[4*o+3]});for(s=0;s<this.circleKeys.length;s++){var c=this.circles[3*s],l=this.circles[3*s+1],h=this.circles[3*s+2];e.push({key:this.circleKeys[s],x1:c-h,y1:l-h,x2:c+h,y2:l+h})}return f?e.filter(f):e}return this._forEachCell(n,t,i,r,this._queryCell,e,{hitTest:u,seenUids:{box:{},circle:{}}},f),u?e.length>0:e};l.prototype._queryCircle=function(n,t,i,r,u){var e=n-i,o=n+i,s=t-i,h=t+i,f;return o<0||e>this.width||h<0||s>this.height?!r&&[]:(f=[],this._forEachCell(e,s,o,h,this._queryCellCircle,f,{hitTest:r,circle:{x:n,y:t,radius:i},seenUids:{box:{},circle:{}}},u),r?f.length>0:f)};l.prototype.query=function(n,t,i,r,u){return this._query(n,t,i,r,!1,u)};l.prototype.hitTest=function(n,t,i,r,u){return this._query(n,t,i,r,!0,u)};l.prototype.hitTestCircle=function(n,t,i,r){return this._queryCircle(n,t,i,!0,r)};l.prototype._queryCell=function(n,t,i,r,u,f,e,o){var y=e.seenUids,d=this.boxCells[u],l,s,b,v,c;if(null!==d)for(var h=this.bboxes,w=0,g=d;w<g.length;w+=1)if(l=g[w],!y.box[l]&&(y.box[l]=!0,s=4*l,n<=h[s+2]&&t<=h[s+3]&&i>=h[s+0]&&r>=h[s+1]&&(!o||o(this.boxKeys[l])))){if(e.hitTest)return f.push(!0),!0;f.push({key:this.boxKeys[l],x1:h[s],y1:h[s+1],x2:h[s+2],y2:h[s+3]})}if(b=this.circleCells[u],null!==b)for(var a=this.circles,k=0,nt=b;k<nt.length;k+=1)if(v=nt[k],!y.circle[v]&&(y.circle[v]=!0,c=3*v,this._circleAndRectCollide(a[c],a[c+1],a[c+2],n,t,i,r)&&(!o||o(this.circleKeys[v])))){if(e.hitTest)return f.push(!0),!0;var tt=a[c],it=a[c+1],p=a[c+2];f.push({key:this.circleKeys[v],x1:tt-p,y1:it-p,x2:tt+p,y2:it+p})}};l.prototype._queryCellCircle=function(n,t,i,r,u,f,e,o){var s=e.circle,a=e.seenUids,d=this.boxCells[u],h,c,w,l,y;if(null!==d)for(var v=this.bboxes,p=0,g=d;p<g.length;p+=1)if(h=g[p],!a.box[h]&&(a.box[h]=!0,c=4*h,this._circleAndRectCollide(s.x,s.y,s.radius,v[c+0],v[c+1],v[c+2],v[c+3])&&(!o||o(this.boxKeys[h]))))return f.push(!0),!0;if(w=this.circleCells[u],null!==w)for(var b=this.circles,k=0,nt=w;k<nt.length;k+=1)if(l=nt[k],!a.circle[l]&&(a.circle[l]=!0,y=3*l,this._circlesCollide(b[y],b[y+1],b[y+2],s.x,s.y,s.radius)&&(!o||o(this.circleKeys[l]))))return f.push(!0),!0};l.prototype._forEachCell=function(n,t,i,r,u,f,e,o){for(var s,c=this._convertToXCellCoord(n),l=this._convertToYCellCoord(t),a=this._convertToXCellCoord(i),v=this._convertToYCellCoord(r),h=c;h<=a;h++)for(s=l;s<=v;s++)if(u.call(this,n,t,i,r,this.xCellCount*s+h,f,e,o))return};l.prototype._convertToXCellCoord=function(n){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(n*this.xScale)))};l.prototype._convertToYCellCoord=function(n){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(n*this.yScale)))};l.prototype._circlesCollide=function(n,t,i,r,u,f){var e=r-n,o=u-t,s=i+f;return s*s>e*e+o*o};l.prototype._circleAndRectCollide=function(n,t,i,r,u,f,e){var s=(f-r)/2,c=Math.abs(n-(r+s)),o,h,l,a;return c>s+i?!1:(o=(e-u)/2,h=Math.abs(t-(u+o)),h>o+i)?!1:c<=s||h<=o?!0:(l=c-s,a=h-o,l*l+a*a<=i*i)};de=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);ft=function(n,t,i){void 0===t&&(t=new l(n.width+200,n.height+200,25));void 0===i&&(i=new l(n.width+200,n.height+200,25));this.transform=n;this.grid=t;this.ignoredGrid=i;this.pitchfactor=Math.cos(n._pitch)*n.cameraToCenterDistance;this.screenRightBoundary=n.width+100;this.screenBottomBoundary=n.height+100;this.gridRightBoundary=n.width+200;this.gridBottomBoundary=n.height+200};ft.prototype.placeCollisionBox=function(n,t,i,r,u){var f=this.projectAndGetPerspectiveRatio(r,n.anchorPointX,n.anchorPointY),e=i*f.perspectiveRatio,o=n.x1*e+f.point.x,s=n.y1*e+f.point.y,h=n.x2*e+f.point.x,c=n.y2*e+f.point.y;return!this.isInsideGrid(o,s,h,c)||!t&&this.grid.hitTest(o,s,h,c,u)?{box:[],offscreen:!1}:{box:[o,s,h,c],offscreen:this.isOffscreen(o,s,h,c)}};ft.prototype.placeCollisionCircles=function(t,i,r,u,f,e,o,s,h,c,l,a,v){var dt=[],st=new n.Point(i.anchorX,i.anchorY),oi=it(st,e),ht=bu(this.transform.cameraToCenterDistance,oi.signedDistanceFromCamera),ct=(c?f/ht:f*ht)/n.ONE_EM,si=it(st,o).point,lt=pe(ct,u,i.lineOffsetX*ct,i.lineOffsetY*ct,!1,si,st,i,r,o,{}),nt=!1,at=!1,vt=!0,rt,ti,pt,wt,ut,bt,kt,ft;if(lt){for(var p=.5*a*ht+v,k=new n.Point(-100,-100),d=new n.Point(this.screenRightBoundary,this.screenBottomBoundary),tt=new kr,gt=lt.first,ni=lt.last,y=[],yt=gt.path.length-1;yt>=1;yt--)y.push(gt.path[yt]);for(rt=1;rt<ni.path.length;rt++)y.push(ni.path[rt]);if(ti=2.5*p,s&&(pt=y.map(function(n){return it(n,s)}),y=pt.some(function(n){return n.signedDistanceFromCamera<=0})?[]:pt.map(function(n){return n.point})),wt=[],y.length>0){for(var w=y[0].clone(),b=y[0].clone(),g=1;g<y.length;g++)w.x=Math.min(w.x,y[g].x),w.y=Math.min(w.y,y[g].y),b.x=Math.max(b.x,y[g].x),b.y=Math.max(b.y,y[g].y);wt=w.x>=k.x&&b.x<=d.x&&w.y>=k.y&&b.y<=d.y?[y]:b.x<k.x||w.x>d.x||b.y<k.y||w.y>d.y?[]:n.clipLine([y],k.x,k.y,d.x,d.y)}for(ut=0,bt=wt;ut<bt.length;ut+=1)for(tt.reset(bt[ut],.25*p),kt=tt.length<=.5*p?1:Math.ceil(tt.paddedLength/ti)+1,ft=0;ft<kt;ft++){var hi=ft/Math.max(kt-1,1),ii=tt.lerp(hi),et=ii.x+100,ot=ii.y+100;dt.push(et,ot,p,0);var ri=et-p,ui=ot-p,fi=et+p,ei=ot+p;if(vt=vt&&this.isOffscreen(ri,ui,fi,ei),at=at||this.isInsideGrid(ri,ui,fi,ei),!t&&this.grid.hitTestCircle(et,ot,p,l)&&(nt=!0,!h))return{circles:[],offscreen:!1,collisionDetected:nt}}}return{circles:!h&&nt||!at?[]:dt,offscreen:vt,collisionDetected:nt}};ft.prototype.queryRenderedSymbols=function(t){var a,u,r,i,b;if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var y=[],f=1/0,e=1/0,o=-1/0,s=-1/0,l=0,p=t;l<p.length;l+=1)a=p[l],u=new n.Point(a.x+100,a.y+100),f=Math.min(f,u.x),e=Math.min(e,u.y),o=Math.max(o,u.x),s=Math.max(s,u.y),y.push(u);for(var h={},c={},v=0,w=this.grid.query(f,e,o,s).concat(this.ignoredGrid.query(f,e,o,s));v<w.length;v+=1)r=w[v],i=r.key,(void 0===h[i.bucketInstanceId]&&(h[i.bucketInstanceId]={}),h[i.bucketInstanceId][i.featureIndex])||(b=[new n.Point(r.x1,r.y1),new n.Point(r.x2,r.y1),new n.Point(r.x2,r.y2),new n.Point(r.x1,r.y2)],n.polygonIntersectsPolygon(y,b)&&(h[i.bucketInstanceId][i.featureIndex]=!0,void 0===c[i.bucketInstanceId]&&(c[i.bucketInstanceId]=[]),c[i.bucketInstanceId].push(i.featureIndex)));return c};ft.prototype.insertCollisionBox=function(n,t,i,r,u){(t?this.ignoredGrid:this.grid).insert({bucketInstanceId:i,featureIndex:r,collisionGroupID:u},n[0],n[1],n[2],n[3])};ft.prototype.insertCollisionCircles=function(n,t,i,r,u){for(var e=t?this.ignoredGrid:this.grid,o={bucketInstanceId:i,featureIndex:r,collisionGroupID:u},f=0;f<n.length;f+=4)e.insertCircle(o,n[f],n[f+1],n[f+2])};ft.prototype.projectAndGetPerspectiveRatio=function(t,i,r){var u=[i,r,0,1];return ge(u,u,t),{point:new n.Point((u[0]/u[3]+1)/2*this.transform.width+100,(-u[1]/u[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/u[3]*.5}};ft.prototype.isOffscreen=function(n,t,i,r){return i<100||n>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary};ft.prototype.isInsideGrid=function(n,t,i,r){return i>=0&&n<this.gridRightBoundary&&r>=0&&t<this.gridBottomBoundary};ft.prototype.getViewportMatrix=function(){var t=n.identity([]);return n.translate(t,t,[-100,-100,0]),t};gr=function(n,t,i,r){this.opacity=n?Math.max(0,Math.min(1,n.opacity+(n.placed?t:-t))):r&&i?1:0;this.placed=i};gr.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};ri=function(n,t,i,r,u){this.text=new gr(n?n.text:null,t,i,u);this.icon=new gr(n?n.icon:null,t,r,u)};ri.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var no=function(n,t,i){this.text=n;this.icon=t;this.skipFade=i},ol=function(){this.invProjMatrix=n.create();this.viewportMatrix=n.create();this.circles=[]},sl=function(n,t,i,r,u){this.bucketInstanceId=n;this.featureIndex=t;this.sourceLayerIndex=i;this.bucketIndex=r;this.tileID=u},to=function(n){this.crossSourceCollisions=n;this.maxGroupID=0;this.collisionGroups={}};to.prototype.get=function(n){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[n]){var t=++this.maxGroupID;this.collisionGroups[n]={ID:t,predicate:function(n){return n.collisionGroupID===t}}}return this.collisionGroups[n]};w=function(n,t,i,r){this.transform=n.clone();this.collisionIndex=new ft(this.transform);this.placements={};this.opacities={};this.variableOffsets={};this.stale=!1;this.commitTime=0;this.fadeDuration=t;this.retainedQueryData={};this.collisionGroups=new to(i);this.collisionCircleArrays={};this.prevPlacement=r;r&&(r.prevPlacement=void 0);this.placedOrientations={}};w.prototype.getBucketParts=function(t,i,r,u){var f=r.getBucket(i),v=r.latestFeatureIndex,b,l,e,a,o;if(f&&v&&i.id===f.layerIds[0]){var k=r.collisionBoxArray,s=f.layers[0].layout,d=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),nt=r.tileSize/n.EXTENT,h=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),c="map"===s.get("text-pitch-alignment"),y="map"===s.get("text-rotation-alignment"),p=g(r,1,this.transform.zoom),tt=wu(h,c,y,this.transform,p),w=null;if(c&&(b=ye(h,c,y,this.transform,p),w=n.multiply([],this.transform.labelPlaneMatrix,b)),this.retainedQueryData[f.bucketInstanceId]=new sl(f.bucketInstanceId,v,f.sourceLayerIndex,f.index,r.tileID),l={bucket:f,layout:s,posMatrix:h,textLabelPlaneMatrix:tt,labelToScreenMatrix:w,scale:d,textPixelRatio:nt,holdingForFade:r.holdingForFade(),collisionBoxArray:k,partiallyEvaluatedTextSize:n.evaluateSizeForZoom(f.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(f.sourceID)},u)for(e=0,a=f.sortKeyRanges;e<a.length;e+=1)o=a[e],t.push({sortKey:o.sortKey,symbolInstanceStart:o.symbolInstanceStart,symbolInstanceEnd:o.symbolInstanceEnd,parameters:l});else t.push({symbolInstanceStart:0,symbolInstanceEnd:f.symbolInstances.length,parameters:l})}};w.prototype.attemptAnchorPlacement=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){var w,b=[l.textOffset0,l.textOffset1],p=io(n,i,r,b,u),k=this.collisionIndex.placeCollisionBox(ku(t,p.x,p.y,f,e,this.transform.angle),c,o,s,h.predicate);if(!y||0!==this.collisionIndex.placeCollisionBox(ku(y,p.x,p.y,f,e,this.transform.angle),c,o,s,h.predicate).box.length)return k.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[l.crossTileID]&&this.prevPlacement.placements[l.crossTileID]&&this.prevPlacement.placements[l.crossTileID].text&&(w=this.prevPlacement.variableOffsets[l.crossTileID].anchor),this.variableOffsets[l.crossTileID]={textOffset:b,width:i,height:r,anchor:n,textBoxScale:u,prevAnchor:w},this.markUsedJustification(a,n,l,v),a.allowVerticalPlacement&&(this.markUsedOrientation(a,v,l),this.placedOrientations[l.crossTileID]=v),{shift:p,placedGlyphBoxes:k}):void 0};w.prototype.placeLayerBucketPart=function(t,i,r){var f=this,o=t.parameters,u=o.bucket,e=o.layout,c=o.posMatrix,ut=o.textLabelPlaneMatrix,ft=o.labelToScreenMatrix,y=o.textPixelRatio,et=o.holdingForFade,g=o.collisionBoxArray,ot=o.partiallyEvaluatedTextSize,s=o.collisionGroup,nt=e.get("text-optional"),tt=e.get("icon-optional"),h=e.get("text-allow-overlap"),a=e.get("icon-allow-overlap"),it="map"===e.get("text-rotation-alignment"),p="map"===e.get("text-pitch-alignment"),rt="none"!==e.get("icon-text-fit"),st="viewport-y"===e.get("symbol-z-order"),ht=h&&(a||!u.hasIconData()||tt),ct=a&&(h||!u.hasTextData()||nt),w,b,v,k,l,d;if(!u.collisionArrays&&g&&u.deserializeCollisionBoxes(g),w=function(t,o){var wt,gt,ni,b,bt,ti,si,kt,ii,ri,ui,fi,ei,st,at;if(!i[t.crossTileID])if(et)f.placements[t.crossTileID]=new no(!1,!1,!1);else{var k,v=!1,d=!1,g=!0,yt=null,l={box:null,offscreen:null},lt={box:null,offscreen:null},w=null,vt=null,pt=0,dt=0,oi=0;if(o.textFeatureIndex?pt=o.textFeatureIndex:t.useRuntimeCollisionCircles&&(pt=t.featureIndex),o.verticalTextFeatureIndex&&(dt=o.verticalTextFeatureIndex),wt=o.textBox,wt&&(gt=function(i){var e=n.WritingMode.horizontal,r;return u.allowVerticalPlacement&&!i&&f.prevPlacement&&(r=f.prevPlacement.placedOrientations[t.crossTileID],r&&(f.placedOrientations[t.crossTileID]=r,f.markUsedOrientation(u,e=r,t))),e},ni=function(i,r){if(u.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&o.verticalTextBox)for(var f=0,e=u.writingModes;f<e.length&&(e[f]===n.WritingMode.vertical?(l=r(),lt=l):l=i(),!(l&&l.box&&l.box.length));f+=1);else l=i()},e.get("text-variable-anchor")?(b=e.get("text-variable-anchor"),f.prevPlacement&&f.prevPlacement.variableOffsets[t.crossTileID]&&(bt=f.prevPlacement.variableOffsets[t.crossTileID],b.indexOf(bt.anchor)>0&&(b=b.filter(function(n){return n!==bt.anchor})).unshift(bt.anchor)),ti=function(n,i,r){for(var l,w=n.x2-n.x1,k=n.y2-n.y1,d=t.textBoxScale,g=rt&&!a?i:null,e={box:[],offscreen:!1},nt=h?2*b.length:b.length,o=0;o<nt;++o)if(l=f.attemptAnchorPlacement(b[o%b.length],n,w,k,d,it,p,y,c,s,o>=b.length,t,u,r,g),l&&(e=l.placedGlyphBoxes)&&e.box&&e.box.length){v=!0;yt=l.shift;break}return e},ni(function(){return ti(wt,o.iconBox,n.WritingMode.horizontal)},function(){var i=o.verticalTextBox;return u.allowVerticalPlacement&&!(l&&l.box&&l.box.length)&&t.numVerticalGlyphVertices>0&&i?ti(i,o.verticalIconBox,n.WritingMode.vertical):{box:null,offscreen:null}}),l&&(v=l.box,g=l.offscreen),si=gt(l&&l.box),!v&&f.prevPlacement&&(kt=f.prevPlacement.variableOffsets[t.crossTileID],kt&&(f.variableOffsets[t.crossTileID]=kt,f.markUsedJustification(u,kt.anchor,t,si)))):(ii=function(n,i){var r=f.collisionIndex.placeCollisionBox(n,h,y,c,s.predicate);return r&&r.box&&r.box.length&&(f.markUsedOrientation(u,i,t),f.placedOrientations[t.crossTileID]=i),r},ni(function(){return ii(wt,n.WritingMode.horizontal)},function(){var i=o.verticalTextBox;return u.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&i?ii(i,n.WritingMode.vertical):{box:null,offscreen:null}}),gt(l&&l.box&&l.box.length))),v=(k=l)&&k.box&&k.box.length>0,g=k&&k.offscreen,t.useRuntimeCollisionCircles){var hi=u.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),ci=n.evaluateSizeForFeature(u.textSizeData,ot,hi),li=e.get("text-padding");w=f.collisionIndex.placeCollisionCircles(h,hi,u.lineVertexArray,u.glyphOffsetArray,ci,c,ut,ft,r,p,s.predicate,t.collisionCircleDiameter,li);v=h||w.circles.length>0&&!w.collisionDetected;g=g&&w.offscreen}if((o.iconFeatureIndex&&(oi=o.iconFeatureIndex),o.iconBox)&&(ri=function(n){var t=rt&&yt?ku(n,yt.x,yt.y,it,p,f.transform.angle):n;return f.collisionIndex.placeCollisionBox(t,a,y,c,s.predicate)},d=lt&&lt.box&&lt.box.length&&o.verticalIconBox?(vt=ri(o.verticalIconBox)).box.length>0:(vt=ri(o.iconBox)).box.length>0,g=g&&vt.offscreen),ui=nt||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,fi=tt||0===t.numIconVertices,ui||fi?fi?ui||(d=d&&v):v=d&&v:d=v=d&&v,v&&k&&k.box&&f.collisionIndex.insertCollisionBox(k.box,e.get("text-ignore-placement"),u.bucketInstanceId,lt&&lt.box&&dt?dt:pt,s.ID),d&&vt&&f.collisionIndex.insertCollisionBox(vt.box,e.get("icon-ignore-placement"),u.bucketInstanceId,oi,s.ID),w&&(v&&f.collisionIndex.insertCollisionCircles(w.circles,e.get("text-ignore-placement"),u.bucketInstanceId,pt,s.ID),r))for(ei=u.bucketInstanceId,st=f.collisionCircleArrays[ei],void 0===st&&(st=f.collisionCircleArrays[ei]=new ol),at=0;at<w.circles.length;at+=4)st.circles.push(w.circles[at+0]),st.circles.push(w.circles[at+1]),st.circles.push(w.circles[at+2]),st.circles.push(w.collisionDetected?1:0);f.placements[t.crossTileID]=new no(v||ht,d||ct,g||u.justReloaded);i[t.crossTileID]=!0}},st)for(b=u.getSortedSymbolIndexes(this.transform.angle),v=b.length-1;v>=0;--v)k=b[v],w(u.symbolInstances.get(k),u.collisionArrays[k]);else for(l=t.symbolInstanceStart;l<t.symbolInstanceEnd;l++)w(u.symbolInstances.get(l),u.collisionArrays[l]);r&&u.bucketInstanceId in this.collisionCircleArrays&&(d=this.collisionCircleArrays[u.bucketInstanceId],n.invert(d.invProjMatrix,c),d.viewportMatrix=this.collisionIndex.getViewportMatrix());u.justReloaded=!1};w.prototype.markUsedJustification=function(t,i,r,u){var o,f,s,e;for(o=u===n.WritingMode.vertical?r.verticalPlacedTextSymbolIndex:{left:r.leftJustifiedTextSymbolIndex,center:r.centerJustifiedTextSymbolIndex,right:r.rightJustifiedTextSymbolIndex}[n.getAnchorJustification(i)],f=0,s=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex,r.verticalPlacedTextSymbolIndex];f<s.length;f+=1)e=s[f],e>=0&&(t.text.placedSymbolArray.get(e).crossTileID=o>=0&&e!==o?0:r.crossTileID)};w.prototype.markUsedOrientation=function(t,i,r){for(var e=i===n.WritingMode.horizontal||i===n.WritingMode.horizontalOnly?i:0,o=i===n.WritingMode.vertical?i:0,u=0,f=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];u<f.length;u+=1)t.text.placedSymbolArray.get(f[u]).placedOrientation=e;r.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=o)};w.prototype.commit=function(n){var t,r,e,i,o,s,h,a,u,f;this.commitTime=n;this.zoomAtLastRecencyCheck=this.transform.zoom;t=this.prevPlacement;r=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;var c=t?t.symbolFadeChange(n):1,l=t?t.opacities:{},v=t?t.variableOffsets:{},y=t?t.placedOrientations:{};for(e in this.placements)i=this.placements[e],o=l[e],o?(this.opacities[e]=new ri(o,c,i.text,i.icon),r=r||i.text!==o.text.placed||i.icon!==o.icon.placed):(this.opacities[e]=new ri(null,c,i.text,i.icon,i.skipFade),r=r||i.text||i.icon);for(s in l)h=l[s],this.opacities[s]||(a=new ri(h,c,!1,!1),a.isHidden()||(this.opacities[s]=a,r=r||h.text.placed||h.icon.placed));for(u in v)this.variableOffsets[u]||!this.opacities[u]||this.opacities[u].isHidden()||(this.variableOffsets[u]=v[u]);for(f in y)this.placedOrientations[f]||!this.opacities[f]||this.opacities[f].isHidden()||(this.placedOrientations[f]=y[f]);r?this.lastPlacementChangeTime=n:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:n)};w.prototype.updateLayerOpacities=function(n,t){for(var i,r,e={},u=0,f=t;u<f.length;u+=1)i=f[u],r=i.getBucket(n),r&&i.latestFeatureIndex&&n.id===r.layerIds[0]&&this.updateBucketOpacities(r,e,i.collisionBoxArray)};w.prototype.updateBucketOpacities=function(t,i,r){var u=this,s;t.hasTextData()&&t.text.opacityVertexArray.clear();t.hasIconData()&&t.icon.opacityVertexArray.clear();t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear();t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();var f=t.layers[0].layout,a=new ri(null,0,!1,!1,!0),c=f.get("text-allow-overlap"),l=f.get("icon-allow-overlap"),v=f.get("text-variable-anchor"),y="map"===f.get("text-rotation-alignment"),p="map"===f.get("text-pitch-alignment"),e="none"!==f.get("icon-text-fit"),w=new ri(null,0,c&&(l||!t.hasIconData()||f.get("icon-optional")),l&&(c||!t.hasTextData()||f.get("text-optional")),!0);!t.collisionArrays&&r&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(r);for(var o=function(n,t,i){for(var r=0;r<t/4;r++)n.opacityVertexArray.emplaceBack(i)},b=function(r){var f=t.symbolInstances.get(r),st=f.numHorizontalGlyphVertices,ht=f.numVerticalGlyphVertices,b=f.crossTileID,s=u.opacities[b],it,rt,ut,nt,ft,et,c,h,tt,l,ot;i[b]?s=a:s||(u.opacities[b]=s=w);i[b]=!0;var ct=f.numIconVertices>0,k=u.placedOrientations[f.crossTileID],d=k===n.WritingMode.vertical,g=k===n.WritingMode.horizontal||k===n.WritingMode.horizontalOnly;(st>0||ht>0)&&(it=ro(s.text),o(t.text,st,d?fr:it),o(t.text,ht,g?fr:it),rt=s.text.isHidden(),[f.rightJustifiedTextSymbolIndex,f.centerJustifiedTextSymbolIndex,f.leftJustifiedTextSymbolIndex].forEach(function(n){n>=0&&(t.text.placedSymbolArray.get(n).hidden=rt||d?1:0)}),f.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(f.verticalPlacedTextSymbolIndex).hidden=rt||g?1:0),ut=u.variableOffsets[f.crossTileID],ut&&u.markUsedJustification(t,ut.anchor,f,k),nt=u.placedOrientations[f.crossTileID],nt&&(u.markUsedJustification(t,"left",f,nt),u.markUsedOrientation(t,nt,f)));ct&&(ft=ro(s.icon),et=!(e&&f.verticalPlacedIconSymbolIndex&&d),f.placedIconSymbolIndex>=0&&(o(t.icon,f.numIconVertices,et?ft:fr),t.icon.placedSymbolArray.get(f.placedIconSymbolIndex).hidden=s.icon.isHidden()),f.verticalPlacedIconSymbolIndex>=0&&(o(t.icon,f.numVerticalIconVertices,et?fr:ft),t.icon.placedSymbolArray.get(f.verticalPlacedIconSymbolIndex).hidden=s.icon.isHidden()));(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&(c=t.collisionArrays[r],c&&(h=new n.Point(0,0),(c.textBox||c.verticalTextBox)&&(tt=!0,v&&(l=u.variableOffsets[b],l?(h=io(l.anchor,l.width,l.height,l.textOffset,l.textBoxScale),y&&h._rotate(p?u.transform.angle:-u.transform.angle)):tt=!1),c.textBox&&nu(t.textCollisionBox.collisionVertexArray,s.text.placed,!tt||d,h.x,h.y),c.verticalTextBox&&nu(t.textCollisionBox.collisionVertexArray,s.text.placed,!tt||g,h.x,h.y)),ot=Boolean(!g&&c.verticalIconBox),c.iconBox&&nu(t.iconCollisionBox.collisionVertexArray,s.icon.placed,ot,e?h.x:0,e?h.y:0),c.verticalIconBox&&nu(t.iconCollisionBox.collisionVertexArray,s.icon.placed,!ot,e?h.x:0,e?h.y:0)))},h=0;h<t.symbolInstances.length;h++)b(h);(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.bucketInstanceId in this.collisionCircleArrays)&&(s=this.collisionCircleArrays[t.bucketInstanceId],t.placementInvProjMatrix=s.invProjMatrix,t.placementViewportMatrix=s.viewportMatrix,t.collisionCircleArray=s.circles,delete this.collisionCircleArrays[t.bucketInstanceId])};w.prototype.symbolFadeChange=function(n){return 0===this.fadeDuration?1:(n-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment};w.prototype.zoomAdjustment=function(n){return Math.max(0,(this.transform.zoom-n)/1.5)};w.prototype.hasTransitions=function(n){return this.stale||n-this.lastPlacementChangeTime<this.fadeDuration};w.prototype.stillRecent=function(n,t){var i=this.zoomAtLastRecencyCheck===t?1-this.zoomAdjustment(t):1;return this.zoomAtLastRecencyCheck=t,this.commitTime+this.fadeDuration*i>n};w.prototype.setStale=function(){this.stale=!0};var hl=Math.pow(2,25),cl=Math.pow(2,24),ll=Math.pow(2,17),al=Math.pow(2,16),vl=Math.pow(2,9),yl=Math.pow(2,8),pl=Math.pow(2,1);fr=0;du=function(n){this._sortAcrossTiles="viewport-y"!==n.layout.get("symbol-z-order")&&void 0!==n.layout.get("symbol-sort-key").constantOr(1);this._currentTileIndex=0;this._currentPartIndex=0;this._seenCrossTileIDs={};this._bucketParts=[]};du.prototype.continuePlacement=function(n,t,i,r,u){for(var f=this._bucketParts;this._currentTileIndex<n.length;)if(t.getBucketParts(f,r,n[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,u())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,f.sort(function(n,t){return n.sortKey-t.sortKey}));this._currentPartIndex<f.length;)if(t.placeLayerBucketPart(f[this._currentPartIndex],this._seenCrossTileIDs,i),this._currentPartIndex++,u())return!0;return!1};er=function(n,t,i,r,u,f,e){this.placement=new w(n,u,f,e);this._currentPlacementIndex=t.length-1;this._forceFullPlacement=i;this._showCollisionBoxes=r;this._done=!1};er.prototype.isDone=function(){return this._done};er.prototype.continuePlacement=function(t,i,r){for(var u,f,e=this,o=n.browser.now(),s=function(){var t=n.browser.now()-o;return!e._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){if(u=i[t[this._currentPlacementIndex]],f=this.placement.collisionIndex.transform.zoom,"symbol"===u.type&&(!u.minzoom||u.minzoom<=f)&&(!u.maxzoom||u.maxzoom>f)){if(this._inProgressLayer||(this._inProgressLayer=new du(u)),this._inProgressLayer.continuePlacement(r[u.source],this.placement,this._showCollisionBoxes,u,s))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0};er.prototype.commit=function(n){return this.placement.commit(n),this.placement};uo=256/n.EXTENT;tu=function(n,t,i){var r,u,f;for(this.tileID=n,this.indexedSymbolInstances={},this.bucketInstanceId=i,r=0;r<t.length;r++)u=t.get(r),f=u.key,this.indexedSymbolInstances[f]||(this.indexedSymbolInstances[f]=[]),this.indexedSymbolInstances[f].push({crossTileID:u.crossTileID,coord:this.getScaledCoordinates(u,n)})};tu.prototype.getScaledCoordinates=function(t,i){var r=uo/Math.pow(2,i.canonical.z-this.tileID.canonical.z);return{x:Math.floor((i.canonical.x*n.EXTENT+t.anchorX)*r),y:Math.floor((i.canonical.y*n.EXTENT+t.anchorY)*r)}};tu.prototype.findMatches=function(n,t,i){for(var u,o,r,e=this.tileID.canonical.z<t.canonical.z?1:Math.pow(2,this.tileID.canonical.z-t.canonical.z),f=0;f<n.length;f++)if(u=n.get(f),!u.crossTileID&&(o=this.indexedSymbolInstances[u.key],o))for(var h=this.getScaledCoordinates(u,t),s=0,c=o;s<c.length;s+=1)if(r=c[s],Math.abs(r.coord.x-h.x)<=e&&Math.abs(r.coord.y-h.y)<=e&&!i[r.crossTileID]){i[r.crossTileID]=!0;u.crossTileID=r.crossTileID;break}};gu=function(){this.maxCrossTileID=0};gu.prototype.generate=function(){return++this.maxCrossTileID};hi=function(){this.indexes={};this.usedCrossTileIDs={};this.lng=0};hi.prototype.handleWrapJump=function(n){var f=Math.round((n-this.lng)/360),i,r,u,e,t;if(0!==f)for(i in this.indexes){r=this.indexes[i];u={};for(e in r)t=r[e],t.tileID=t.tileID.unwrapTo(t.tileID.wrap+f),u[t.tileID.key]=t;this.indexes[i]=u}this.lng=n};hi.prototype.addBucket=function(n,t,i){var r,u,f,e,l,h,c,o,s;if(this.indexes[n.overscaledZ]&&this.indexes[n.overscaledZ][n.key]){if(this.indexes[n.overscaledZ][n.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(n.overscaledZ,this.indexes[n.overscaledZ][n.key])}for(r=0;r<t.symbolInstances.length;r++)t.symbolInstances.get(r).crossTileID=0;this.usedCrossTileIDs[n.overscaledZ]||(this.usedCrossTileIDs[n.overscaledZ]={});u=this.usedCrossTileIDs[n.overscaledZ];for(f in this.indexes)if(e=this.indexes[f],Number(f)>n.overscaledZ)for(l in e)h=e[l],h.tileID.isChildOf(n)&&h.findMatches(t.symbolInstances,n,u);else c=e[n.scaledTo(Number(f)).key],c&&c.findMatches(t.symbolInstances,n,u);for(o=0;o<t.symbolInstances.length;o++)s=t.symbolInstances.get(o),s.crossTileID||(s.crossTileID=i.generate(),u[s.crossTileID]=!0);return void 0===this.indexes[n.overscaledZ]&&(this.indexes[n.overscaledZ]={}),this.indexes[n.overscaledZ][n.key]=new tu(n,t.symbolInstances,t.bucketInstanceId),!0};hi.prototype.removeBucketCrossTileIDs=function(n,t){var u,i,r;for(u in t.indexedSymbolInstances)for(i=0,r=t.indexedSymbolInstances[u];i<r.length;i+=1)delete this.usedCrossTileIDs[n][r[i].crossTileID]};hi.prototype.removeStaleBuckets=function(n){var u=!1,r,t,i;for(r in this.indexes){t=this.indexes[r];for(i in t)n[t[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,t[i]),delete t[i],u=!0)}return u};or=function(){this.layerIndexes={};this.crossTileIDs=new gu;this.maxBucketInstanceId=0;this.bucketsInCurrentPlacement={}};or.prototype.addLayer=function(n,t,i){var u=this.layerIndexes[n.id],f,o,e,s,h,r;for(void 0===u&&(u=this.layerIndexes[n.id]=new hi),f=!1,o={},u.handleWrapJump(i),e=0,s=t;e<s.length;e+=1)h=s[e],r=h.getBucket(n),r&&n.id===r.layerIds[0]&&(r.bucketInstanceId||(r.bucketInstanceId=++this.maxBucketInstanceId),u.addBucket(h.tileID,r,this.crossTileIDs)&&(f=!0),o[r.bucketInstanceId]=!0);return u.removeStaleBuckets(o)&&(f=!0),f};or.prototype.pruneUnusedLayers=function(n){var t={};for(var i in n.forEach(function(n){t[n]=!0}),this.layerIndexes)t[i]||delete this.layerIndexes[i]};var iu=function(t,i){return n.emitValidationErrors(t,i&&i.filter(function(n){return"source.canvas"!==n.identifier}))},wl=n.pick(f,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),bl=n.pick(f,["setCenter","setZoom","setBearing","setPitch"]),kl=function(){var r={},f=n.styleSpec.$version,t,u,i;for(t in n.styleSpec.$root)i=n.styleSpec.$root[t],i.required&&null!=(u="version"===t?f:"array"===i.type?[]:{})&&(r[t]=u);return r}(),ci=function(t){function i(r,u){var f=this,e;void 0===u&&(u={});t.call(this);this.map=r;this.dispatcher=new ei(se(),this);this.imageManager=new gs;this.imageManager.setEventedParent(this);this.glyphManager=new lt(r._requestManager,u.localIdeographFontFamily);this.lineAtlas=new ti(256,512);this.crossTileSymbolIndex=new or;this._layers={};this._serializedLayers={};this._order=[];this.sourceCaches={};this.zoomHistory=new n.ZoomHistory;this._loaded=!1;this._availableImages=[];this._resetUpdates();this.dispatcher.broadcast("setReferrer",n.getReferrer());e=this;this._rtlTextPluginCallback=i.registerForPluginStateChange(function(t){e.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:t.pluginStatus,pluginURL:t.pluginURL},function(t,i){if(n.triggerPluginCompletionEvent(t),i&&i.every(function(n){return n}))for(var r in e.sourceCaches)e.sourceCaches[r].reload()})});this.on("data",function(n){var i,t,u,r;if("source"===n.dataType&&"metadata"===n.sourceDataType&&(i=f.sourceCaches[n.sourceId],i&&(t=i.getSource(),t&&t.vectorLayerIds)))for(u in f._layers)r=f._layers[u],r.source===t.id&&f._validateLayer(r)})}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.loadURL=function(t,i){var r=this,u,f;void 0===i&&(i={});this.fire(new n.Event("dataloading",{dataType:"style"}));u="boolean"==typeof i.validate?i.validate:!n.isMapboxURL(t);t=this.map._requestManager.normalizeStyleURL(t,i.accessToken);f=this.map._requestManager.transformRequest(t,n.ResourceType.Style);this._request=n.getJSON(f,function(t,i){r._request=null;t?r.fire(new n.ErrorEvent(t)):i&&r._load(i,u)})},i.prototype.loadJSON=function(t,i){var r=this;void 0===i&&(i={});this.fire(new n.Event("dataloading",{dataType:"style"}));this._request=n.browser.frame(function(){r._request=null;r._load(t,!1!==i.validate)})},i.prototype.loadEmpty=function(){this.fire(new n.Event("dataloading",{dataType:"style"}));this._load(kl,!1)},i.prototype._load=function(t,i){var f,e,u,o,r;if(!i||!iu(this,n.validateStyle(t))){for(f in this._loaded=!0,this.stylesheet=t,t.sources)this.addSource(f,t.sources[f],{validate:!1});for(t.sprite?this._loadSprite(t.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs),e=he(this.stylesheet.layers),this._order=e.map(function(n){return n.id}),this._layers={},this._serializedLayers={},u=0,o=e;u<o.length;u+=1)r=o[u],(r=n.createStyleLayer(r)).setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=r,this._serializedLayers[r.id]=r.serialize();this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order));this.light=new ih(this.stylesheet.light);this.fire(new n.Event("data",{dataType:"style"}));this.fire(new n.Event("style.load"))}},i.prototype._loadSprite=function(t){var i=this;this._spriteRequest=function(t,i,r){function c(){var o,i,e;if(u)r(u);else if(f&&s){o=n.browser.getImageData(s);i={};for(e in f){var t=f[e],h=t.width,c=t.height,a=t.x,v=t.y,y=t.sdf,p=t.pixelRatio,w=t.stretchX,b=t.stretchY,k=t.content,l=new n.RGBAImage({width:h,height:c});n.RGBAImage.copy(o,l,{x:a,y:v},{x:0,y:0},{width:h,height:c});i[e]={data:l,pixelRatio:p,sdf:y,stretchX:w,stretchY:b,content:k}}r(null,i)}}var f,s,u,h=n.browser.devicePixelRatio>1?"@2x":"",e=n.getJSON(i.transformRequest(i.normalizeSpriteURL(t,h,".json"),n.ResourceType.SpriteJSON),function(n,t){e=null;u||(u=n,f=t,c())}),o=n.getImage(i.transformRequest(i.normalizeSpriteURL(t,h,".png"),n.ResourceType.SpriteImage),function(n,t){o=null;u||(u=n,s=t,c())});return{cancel:function(){e&&(e.cancel(),e=null);o&&(o.cancel(),o=null)}}}(t,this.map._requestManager,function(t,r){if(i._spriteRequest=null,t)i.fire(new n.ErrorEvent(t));else if(r)for(var u in r)i.imageManager.addImage(u,r[u]);i.imageManager.setLoaded(!0);i._availableImages=i.imageManager.listImages();i.dispatcher.broadcast("setImages",i._availableImages);i.fire(new n.Event("data",{dataType:"style"}))})},i.prototype._validateLayer=function(t){var u=this.sourceCaches[t.source],r,i;u&&(r=t.sourceLayer,r&&(i=u.getSource(),("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(r))&&this.fire(new n.ErrorEvent(new Error('Source layer "'+r+'" does not exist on source "'+i.id+'" as specified by style layer "'+t.id+'"')))))},i.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var n in this.sourceCaches)if(!this.sourceCaches[n].loaded())return!1;return!!this.imageManager.isLoaded()},i.prototype._serializeLayers=function(n){for(var i,r=[],t=0,u=n;t<u.length;t+=1)i=this._layers[u[t]],"custom"!==i.type&&r.push(i.serialize());return r},i.prototype.hasTransitions=function(){var n,t;if(this.light&&this.light.hasTransition())return!0;for(n in this.sourceCaches)if(this.sourceCaches[n].hasTransition())return!0;for(t in this._layers)if(this._layers[t].hasTransition())return!0;return!1},i.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading");},i.prototype.update=function(t){var h,f,e,r,o,c,l,u,s,i;if(this._loaded){if(h=this._changed,this._changed){f=Object.keys(this._updatedLayers);e=Object.keys(this._removedLayers);for(r in(f.length||e.length)&&this._updateWorkerLayers(f,e),this._updatedSources)o=this._updatedSources[r],"reload"===o?this._reloadSource(r):"clear"===o&&this._clearSource(r);for(c in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[c].updateTransitions(t);this.light.updateTransitions(t);this._resetUpdates()}for(l in this.sourceCaches)this.sourceCaches[l].used=!1;for(u=0,s=this._order;u<s.length;u+=1)i=this._layers[s[u]],i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);this.light.recalculate(t);this.z=t.zoom;h&&this.fire(new n.Event("data",{dataType:"style"}))}},i.prototype._updateTilesForChangedImages=function(){var n=Object.keys(this._changedImages),t;if(n.length){for(t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],n);this._changedImages={}}},i.prototype._updateWorkerLayers=function(n,t){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(n),removedIds:t})},i.prototype._resetUpdates=function(){this._changed=!1;this._updatedLayers={};this._removedLayers={};this._updatedSources={};this._updatedPaintProps={};this._changedImages={}},i.prototype.setState=function(t){var u=this,i,r;if((this._checkLoaded(),iu(this,n.validateStyle(t)))||((t=n.clone$1(t)).layers=he(t.layers),i=function(t,i){var r,u,e,o;if(!t)return[{command:f.setStyle,args:[i]}];r=[];try{if(!n.deepEqual(t.version,i.version))return[{command:f.setStyle,args:[i]}];n.deepEqual(t.center,i.center)||r.push({command:f.setCenter,args:[i.center]});n.deepEqual(t.zoom,i.zoom)||r.push({command:f.setZoom,args:[i.zoom]});n.deepEqual(t.bearing,i.bearing)||r.push({command:f.setBearing,args:[i.bearing]});n.deepEqual(t.pitch,i.pitch)||r.push({command:f.setPitch,args:[i.pitch]});n.deepEqual(t.sprite,i.sprite)||r.push({command:f.setSprite,args:[i.sprite]});n.deepEqual(t.glyphs,i.glyphs)||r.push({command:f.setGlyphs,args:[i.glyphs]});n.deepEqual(t.transition,i.transition)||r.push({command:f.setTransition,args:[i.transition]});n.deepEqual(t.light,i.light)||r.push({command:f.setLight,args:[i.light]});u={};e=[];!function(t,i,r,u){for(var e in i=i||{},t=t||{})t.hasOwnProperty(e)&&(i.hasOwnProperty(e)||le(e,r,u));for(e in i)i.hasOwnProperty(e)&&(t.hasOwnProperty(e)?n.deepEqual(t[e],i[e])||("geojson"===t[e].type&&"geojson"===i[e].type&&ul(t,i,e)?r.push({command:f.setGeoJSONSourceData,args:[e,i[e].data]}):rl(e,i,r,u)):ce(e,i,r))}(t.sources,i.sources,e,u);o=[];t.layers&&t.layers.forEach(function(n){u[n.source]?r.push({command:f.removeLayer,args:[n.id]}):o.push(n)});r=r.concat(e),function(t,i,r){i=i||[];for(var e,s,o,v,u,y=(t=t||[]).map(ae),a=i.map(ae),w=t.reduce(ve,{}),p=i.reduce(ve,{}),c=y.slice(),b=Object.create(null),h=0,l=0;h<y.length;h++)p.hasOwnProperty(e=y[h])?l++:(r.push({command:f.removeLayer,args:[e]}),c.splice(c.indexOf(e,l),1));for(h=0,l=0;h<a.length;h++)c[c.length-1-h]!==(e=a[a.length-1-h])&&(w.hasOwnProperty(e)?(r.push({command:f.removeLayer,args:[e]}),c.splice(c.lastIndexOf(e,c.length-l),1)):l++,r.push({command:f.addLayer,args:[p[e],v=c[c.length-h]]}),c.splice(c.length-h,0,e),b[e]=!0);for(h=0;h<a.length;h++)if(s=w[e=a[h]],o=p[e],!b[e]&&!n.deepEqual(s,o))if(n.deepEqual(s.source,o.source)&&n.deepEqual(s["source-layer"],o["source-layer"])&&n.deepEqual(s.type,o.type)){for(u in br(s.layout,o.layout,r,e,null,f.setLayoutProperty),br(s.paint,o.paint,r,e,null,f.setPaintProperty),n.deepEqual(s.filter,o.filter)||r.push({command:f.setFilter,args:[e,o.filter]}),n.deepEqual(s.minzoom,o.minzoom)&&n.deepEqual(s.maxzoom,o.maxzoom)||r.push({command:f.setLayerZoomRange,args:[e,o.minzoom,o.maxzoom]}),s)s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?br(s[u],o[u],r,e,u.slice(6),f.setPaintProperty):n.deepEqual(s[u],o[u])||r.push({command:f.setLayerProperty,args:[e,u,o[u]]}));for(u in o)o.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?br(s[u],o[u],r,e,u.slice(6),f.setPaintProperty):n.deepEqual(s[u],o[u])||r.push({command:f.setLayerProperty,args:[e,u,o[u]]}))}else r.push({command:f.removeLayer,args:[e]}),v=c[c.lastIndexOf(e)+1],r.push({command:f.addLayer,args:[o,v]})}(o,i.layers,r)}catch(n){console.warn("Unable to compute style diff:",n);r=[{command:f.setStyle,args:[i]}]}return r}(this.serialize(),t).filter(function(n){return!(n.command in bl)}),0===i.length))return!1;if(r=i.filter(function(n){return!(n.command in wl)}),r.length>0)throw new Error("Unimplemented: "+r.map(function(n){return n.command}).join(", ")+".");return i.forEach(function(n){"setTransition"!==n.command&&u[n.command].apply(u,n.args)}),this.stylesheet=t,!0},i.prototype.addImage=function(t,i){if(this.getImage(t))return this.fire(new n.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(t,i);this._availableImages=this.imageManager.listImages();this._changedImages[t]=!0;this._changed=!0;this.fire(new n.Event("data",{dataType:"style"}))},i.prototype.updateImage=function(n,t){this.imageManager.updateImage(n,t)},i.prototype.getImage=function(n){return this.imageManager.getImage(n)},i.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(new n.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(t);this._availableImages=this.imageManager.listImages();this._changedImages[t]=!0;this._changed=!0;this.fire(new n.Event("data",{dataType:"style"}))},i.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},i.prototype.addSource=function(t,i,r){var f=this,u;if(void 0===r&&(r={}),this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error("There is already a source with this ID");if(!i.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(i).join(", ")+".");["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(n.validateStyle.source,"sources."+t,i,null,r)||(this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0),u=this.sourceCaches[t]=new oi(t,i,this.dispatcher),u.style=this,u.setEventedParent(this,function(){return{isSourceLoaded:f.loaded(),source:u.serialize(),sourceId:t}}),u.onAdd(this.map),this._changed=!0)},i.prototype.removeSource=function(t){var r,i;if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(r in this._layers)if(this._layers[r].source===t)return this.fire(new n.ErrorEvent(new Error('Source "'+t+'" cannot be removed while layer "'+r+'" is using it.')));i=this.sourceCaches[t];delete this.sourceCaches[t];delete this._updatedSources[t];i.fire(new n.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:t}));i.setEventedParent(null);i.clearTiles();i.onRemove&&i.onRemove(this.map);this._changed=!0},i.prototype.setGeoJSONSourceData=function(n,t){this._checkLoaded();this.sourceCaches[n].getSource().setData(t);this._changed=!0},i.prototype.getSource=function(n){return this.sourceCaches[n]&&this.sourceCaches[n].getSource()},i.prototype.addLayer=function(t,i,r){var f,u,e,o;if(void 0===r&&(r={}),this._checkLoaded(),f=t.id,this.getLayer(f))this.fire(new n.ErrorEvent(new Error('Layer with id "'+f+'" already exists on this map')));else{if("custom"===t.type){if(iu(this,n.validateCustomStyleLayer(t)))return;u=n.createStyleLayer(t)}else{if("object"==typeof t.source&&(this.addSource(f,t.source),t=n.clone$1(t),t=n.extend(t,{source:f})),this._validate(n.validateStyle.layer,"layers."+f,t,{arrayIndex:-1},r))return;u=n.createStyleLayer(t);this._validateLayer(u);u.setEventedParent(this,{layer:{id:f}});this._serializedLayers[u.id]=u.serialize()}e=i?this._order.indexOf(i):this._order.length;i&&-1===e?this.fire(new n.ErrorEvent(new Error('Layer with id "'+i+'" does not exist on this map.'))):((this._order.splice(e,0,f),this._layerOrderChanged=!0,this._layers[f]=u,this._removedLayers[f]&&u.source&&"custom"!==u.type)&&(o=this._removedLayers[f],delete this._removedLayers[f],o.type!==u.type?this._updatedSources[u.source]="clear":(this._updatedSources[u.source]="reload",this.sourceCaches[u.source].pause())),this._updateLayer(u),u.onAdd&&u.onAdd(this.map))}},i.prototype.moveLayer=function(t,i){var u,r;(this._checkLoaded(),this._changed=!0,this._layers[t])?t!==i&&(u=this._order.indexOf(t),this._order.splice(u,1),r=i?this._order.indexOf(i):this._order.length,i&&-1===r?this.fire(new n.ErrorEvent(new Error('Layer with id "'+i+'" does not exist on this map.'))):(this._order.splice(r,0,t),this._layerOrderChanged=!0)):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be moved.")))},i.prototype.removeLayer=function(t){var i,r;this._checkLoaded();i=this._layers[t];i?(i.setEventedParent(null),r=this._order.indexOf(t),this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map)):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be removed.")))},i.prototype.getLayer=function(n){return this._layers[n]},i.prototype.hasLayer=function(n){return n in this._layers},i.prototype.setLayerZoomRange=function(t,i,r){this._checkLoaded();var u=this.getLayer(t);u?u.minzoom===i&&u.maxzoom===r||(null!=i&&(u.minzoom=i),null!=r&&(u.maxzoom=r),this._updateLayer(u)):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot have zoom extent.")))},i.prototype.setFilter=function(t,i,r){void 0===r&&(r={});this._checkLoaded();var u=this.getLayer(t);if(u){if(!n.deepEqual(u.filter,i))return null==i?(u.filter=void 0,void this._updateLayer(u)):void(this._validate(n.validateStyle.filter,"layers."+u.id+".filter",i,null,r)||(u.filter=n.clone$1(i),this._updateLayer(u)))}else this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be filtered.")))},i.prototype.getFilter=function(t){return n.clone$1(this.getLayer(t).filter)},i.prototype.setLayoutProperty=function(t,i,r,u){void 0===u&&(u={});this._checkLoaded();var f=this.getLayer(t);f?n.deepEqual(f.getLayoutProperty(i),r)||(f.setLayoutProperty(i,r,u),this._updateLayer(f)):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")))},i.prototype.getLayoutProperty=function(t,i){var r=this.getLayer(t);if(r)return r.getLayoutProperty(i);this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style.")))},i.prototype.setPaintProperty=function(t,i,r,u){void 0===u&&(u={});this._checkLoaded();var f=this.getLayer(t);f?n.deepEqual(f.getPaintProperty(i),r)||(f.setPaintProperty(i,r,u)&&this._updateLayer(f),this._changed=!0,this._updatedPaintProps[t]=!0):this.fire(new n.ErrorEvent(new Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")))},i.prototype.getPaintProperty=function(n,t){return this.getLayer(n).getPaintProperty(t)},i.prototype.setFeatureState=function(t,i){var f;this._checkLoaded();var e=t.source,r=t.sourceLayer,u=this.sourceCaches[e];void 0!==u?(f=u.getSource().type,"geojson"===f&&r?this.fire(new n.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==f||r?(void 0===t.id&&this.fire(new n.ErrorEvent(new Error("The feature id parameter must be provided."))),u.setFeatureState(r,t.id,i)):this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))):this.fire(new n.ErrorEvent(new Error("The source '"+e+"' does not exist in the map's style.")))},i.prototype.removeFeatureState=function(t,i){var u,r,f,e;this._checkLoaded();u=t.source;r=this.sourceCaches[u];void 0!==r?(f=r.getSource().type,e="vector"===f?t.sourceLayer:void 0,"vector"!==f||e?i&&"string"!=typeof t.id&&"number"!=typeof t.id?this.fire(new n.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):r.removeFeatureState(e,t.id,i):this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))):this.fire(new n.ErrorEvent(new Error("The source '"+u+"' does not exist in the map's style.")))},i.prototype.getFeatureState=function(t){this._checkLoaded();var r=t.source,u=t.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||u)return void 0===t.id&&this.fire(new n.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(u,t.id);this.fire(new n.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new n.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},i.prototype.getTransition=function(){return n.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},i.prototype.serialize=function(){return n.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:n.mapObject(this.sourceCaches,function(n){return n.serialize()}),layers:this._serializeLayers(this._order)},function(n){return void 0!==n})},i.prototype._updateLayer=function(n){this._updatedLayers[n.id]=!0;n.source&&!this._updatedSources[n.source]&&"raster"!==this.sourceCaches[n.source].getSource().type&&(this._updatedSources[n.source]="reload",this.sourceCaches[n.source].pause());this._changed=!0},i.prototype._flattenAndSortRenderedFeatures=function(n){for(var u,f,l,a,e,v,o,i,y,s,p,h,w,b,c,k,nt=this,d=function(n){return"fill-extrusion"===nt._layers[n].type},g={},t=[],r=this._order.length-1;r>=0;r--)if(u=this._order[r],d(u))for(g[u]=r,f=0,l=n;f<l.length;f+=1)if(a=l[f][u],a)for(e=0,v=a;e<v.length;e+=1)t.push(v[e]);for(t.sort(function(n,t){return t.intersectionZ-n.intersectionZ}),o=[],i=this._order.length-1;i>=0;i--)if(y=this._order[i],d(y))for(s=t.length-1;s>=0;s--){if(p=t[s].feature,g[p.layer.id]<i)break;o.push(p);t.pop()}else for(h=0,w=n;h<w.length;h+=1)if(b=w[h][y],b)for(c=0,k=b;c<k.length;c+=1)o.push(k[c].feature);return o},i.prototype.queryRenderedFeatures=function(t,i,r){var e,u,o,s,h,f,c;if(i&&i.filter&&this._validate(n.validateStyle.filter,"queryRenderedFeatures.filter",i.filter,null,i),e={},i&&i.layers){if(!Array.isArray(i.layers))return this.fire(new n.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(u=0,o=i.layers;u<o.length;u+=1){if(s=o[u],h=this._layers[s],!h)return this.fire(new n.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];e[h.source]=!0}}f=[];for(c in i.availableImages=this._availableImages,this.sourceCaches)i.layers&&!e[c]||f.push(hh(this.sourceCaches[c],this._layers,this._serializedLayers,t,i,r));return this.placement&&f.push(function(n,t,i,r,u,f,e){for(var y,p,o={},l=f.queryRenderedSymbols(r),s=[],h=0,a=Object.keys(l).map(Number);h<a.length;h+=1)s.push(e[a[h]]);s.sort(te);for(var w=function(){var i=v[c],h=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],t,i.bucketIndex,i.sourceLayerIndex,u.filter,u.layers,u.availableImages,n),r,a,e,f,s;for(r in h)for(a=o[r]=o[r]||[],e=h[r],e.sort(function(n,t){var r=i.featureSortOrder,u;return r?(u=r.indexOf(n.featureIndex),r.indexOf(t.featureIndex)-u):t.featureIndex-n.featureIndex}),f=0,s=e;f<s.length;f+=1)a.push(s[f])},c=0,v=s;c<v.length;c+=1)w();y=function(t){o[t].forEach(function(r){var u=r.feature,f=i[n[t].source].getFeatureState(u.layer["source-layer"],u.id);u.source=u.layer.source;u.layer["source-layer"]&&(u.sourceLayer=u.layer["source-layer"]);u.state=f})};for(p in o)y(p);return o}(this._layers,this._serializedLayers,this.sourceCaches,t,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(f)},i.prototype.querySourceFeatures=function(t,i){i&&i.filter&&this._validate(n.validateStyle.filter,"querySourceFeatures.filter",i.filter,null,i);var r=this.sourceCaches[t];return r?function(n,t){for(var r,u,f=n.getRenderableIds().map(function(t){return n.getTileByID(t)}),e=[],o={},i=0;i<f.length;i++)r=f[i],u=r.tileID.canonical.key,o[u]||(o[u]=!0,r.querySourceFeatures(e,t));return e}(r,i):[]},i.prototype.addSourceType=function(n,t,r){return i.getSourceType(n)?r(new Error('A source type called "'+n+'" already exists.')):(i.setSourceType(n,t),t.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:n,url:t.workerSourceURL},r):r(null,null))},i.prototype.getLight=function(){return this.light.getLight()},i.prototype.setLight=function(t,i){var f,r,u,e;void 0===i&&(i={});this._checkLoaded();f=this.light.getLight();r=!1;for(u in t)if(!n.deepEqual(t[u],f[u])){r=!0;break}r&&(e={now:n.browser.now(),transition:n.extend({duration:300,delay:0},this.stylesheet.transition)},this.light.setLight(t,i),this.light.updateTransitions(e))},i.prototype._validate=function(t,i,r,u,f){return void 0===f&&(f={}),(!f||!1!==f.validate)&&iu(this,t.call(n.validateStyle,n.extend({key:i,style:this.serialize(),value:r,styleSpec:n.styleSpec},u)))},i.prototype._remove=function(){var i,t;for(i in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),n.evented.off("pluginStateChange",this._rtlTextPluginCallback),this._layers)this._layers[i].setEventedParent(null);for(t in this.sourceCaches)this.sourceCaches[t].clearTiles(),this.sourceCaches[t].setEventedParent(null);this.imageManager.setEventedParent(null);this.setEventedParent(null);this.dispatcher.remove()},i.prototype._clearSource=function(n){this.sourceCaches[n].clearTiles()},i.prototype._reloadSource=function(n){this.sourceCaches[n].resume();this.sourceCaches[n].reload()},i.prototype._updateSources=function(n){for(var t in this.sourceCaches)this.sourceCaches[t].update(n)},i.prototype._generateCollisionBoxes=function(){for(var n in this.sourceCaches)this._reloadSource(n)},i.prototype._updatePlacement=function(t,i,r,u,f){var e,a,w,h,v,c;void 0===f&&(f=!1);for(var s=!1,y=!1,o={},l=0,p=this._order;l<p.length;l+=1)e=this._layers[p[l]],"symbol"===e.type&&(o[e.source]||(a=this.sourceCaches[e.source],o[e.source]=a.getRenderableIds(!0).map(function(n){return a.getTileByID(n)}).sort(function(n,t){return t.tileID.overscaledZ-n.tileID.overscaledZ||(n.tileID.isLessThan(t.tileID)?-1:1)})),w=this.crossTileSymbolIndex.addLayer(e,o[e.source],t.center.lng),s=s||w);if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((f=f||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.browser.now(),t.zoom))&&(this.pauseablePlacement=new er(t,this._order,f,i,r,u,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.browser.now()),y=!0),s&&this.pauseablePlacement.placement.setStale()),y||s)for(h=0,v=this._order;h<v.length;h+=1)c=this._layers[v[h]],"symbol"===c.type&&this.placement.updateLayerOpacities(c,o[c.source]);return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.browser.now())},i.prototype._releaseSymbolFadeTiles=function(){for(var n in this.sourceCaches)this.sourceCaches[n].releaseSymbolFadeTiles()},i.prototype.getImages=function(n,t,i){this.imageManager.getImages(t.icons,i);this._updateTilesForChangedImages();var r=this.sourceCaches[t.source];r&&r.setDependencies(t.tileID.key,t.type,t.icons)},i.prototype.getGlyphs=function(n,t,i){this.glyphManager.getGlyphs(t.stacks,i)},i.prototype.getResource=function(t,i,r){return n.makeRequest(i,r)},i}(n.Evented);ci.getSourceType=function(n){return pu[n]};ci.setSourceType=function(n,t){pu[n]=t};ci.registerForPluginStateChange=n.registerForPluginStateChange;var nf=n.createLayout([{name:"a_pos",type:"Int16",components:2}]),tf=s("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 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\n);}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;}"),dl=s("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),gl=s("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;varying vec2 v_pos_a;varying 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=texture2D(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=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;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;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);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);}"),na=s("varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);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));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);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;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),ta=s("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),ia=s("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.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;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),ra=s("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying 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;}"),ua=s("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),fa=s("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);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);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd  =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz  /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;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;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ea=s("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),oa=s("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),sa=s("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),ha=s("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 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=texture2D(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=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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=u_matrix*vec4(a_pos,0,1);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;}"),ca=s("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 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=texture2D(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=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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=u_matrix*vec4(a_pos,0,1);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);}"),la=s("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);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;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);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;}"),aa=s("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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=texture2D(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=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;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 vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 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;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*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;}"),va=s("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;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 exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying 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;}"),ya=s("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;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_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pa=s("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat 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);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat 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);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),wa=s("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat 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=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat 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_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;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);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),ba=s("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 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(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat 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);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),ka=s("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat 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=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat 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);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),da=s("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying 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=texture2D(u_image0,v_pos0);vec4 color1=texture2D(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);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),ga=s("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute 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_matrix;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;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 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;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;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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=u_matrix*vec4(a_pos+vec2(1,0),0,1);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=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),nv=s("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat 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 fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute 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_matrix;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;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 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;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;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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=u_matrix*vec4(a_pos+vec2(1,0),0,1);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=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),tv=s("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}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;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute 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_matrix;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;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 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;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;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_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=u_matrix*vec4(a_pos+vec2(1,0),0,1);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=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");fo=Object.freeze({__proto__:null,prelude:tf,background:dl,backgroundPattern:gl,circle:na,clippingMask:ta,heatmap:ia,heatmapTexture:ra,collisionBox:ua,collisionCircle:fa,debug:ea,fill:oa,fillOutline:sa,fillOutlinePattern:ha,fillPattern:ca,fillExtrusion:la,fillExtrusionPattern:aa,hillshadePrepare:va,hillshade:ya,line:pa,lineGradient:wa,linePattern:ba,lineSDF:ka,raster:da,symbolIcon:ga,symbolSDF:nv,symbolTextAndIcon:tv});sr=function(){this.boundProgram=null;this.boundLayoutVertexBuffer=null;this.boundPaintVertexBuffers=[];this.boundIndexBuffer=null;this.boundVertexOffset=null;this.boundDynamicVertexBuffer=null;this.vao=null};sr.prototype.bind=function(n,t,i,r,u,f,e,o){this.context=n;for(var h=this.boundPaintVertexBuffers.length!==r.length,s=0;!h&&s<r.length;s++)this.boundPaintVertexBuffers[s]!==r[s]&&(h=!0);n.extVertexArrayObject&&this.vao&&this.boundProgram===t&&this.boundLayoutVertexBuffer===i&&!h&&this.boundIndexBuffer===u&&this.boundVertexOffset===f&&this.boundDynamicVertexBuffer===e&&this.boundDynamicVertexBuffer2===o?(n.bindVertexArrayOES.set(this.vao),e&&e.bind(),u&&u.dynamicDraw&&u.bind(),o&&o.bind()):this.freshBind(t,i,r,u,f,e,o)};sr.prototype.freshBind=function(n,t,i,r,u,f,e){var a,w=n.numAttributes,s=this.context,o=s.gl,h,c,v,l,y,p;if(s.extVertexArrayObject)this.vao&&this.destroy(),this.vao=s.extVertexArrayObject.createVertexArrayOES(),s.bindVertexArrayOES.set(this.vao),a=0,this.boundProgram=n,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=i,this.boundIndexBuffer=r,this.boundVertexOffset=u,this.boundDynamicVertexBuffer=f,this.boundDynamicVertexBuffer2=e;else for(a=s.currentNumAttributes||0,h=w;h<a;h++)o.disableVertexAttribArray(h);for(t.enableAttributes(o,n),c=0,v=i;c<v.length;c+=1)v[c].enableAttributes(o,n);for(f&&f.enableAttributes(o,n),e&&e.enableAttributes(o,n),t.bind(),t.setVertexAttribPointers(o,n,u),l=0,y=i;l<y.length;l+=1)p=y[l],p.bind(),p.setVertexAttribPointers(o,n,u);f&&(f.bind(),f.setVertexAttribPointers(o,n,u));r&&r.bind();e&&(e.bind(),e.setVertexAttribPointers(o,n,u));s.currentNumAttributes=w};sr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};rf=function(n,t,i,r,u,f){var e=n.gl,b,v,s,h,o,p,c,k;this.program=e.createProgram();for(var g=eo(i.staticAttributes),nt=r?r.getBinderAttributes():[],l=g.concat(nt),tt=i.staticUniforms?eo(i.staticUniforms):[],it=r?r.getBinderUniforms():[],a=[],w=0,d=tt.concat(it);w<d.length;w+=1)b=d[w],a.indexOf(b)<0&&a.push(b);v=r?r.defines():[];f&&v.push("#define OVERDRAW_INSPECTOR;");var rt=v.concat(tf.fragmentSource,i.fragmentSource).join("\n"),ut=v.concat(tf.vertexSource,i.vertexSource).join("\n"),y=e.createShader(e.FRAGMENT_SHADER);if(e.isContextLost())this.failedToCreate=!0;else if(e.shaderSource(y,rt),e.compileShader(y),e.attachShader(this.program,y),s=e.createShader(e.VERTEX_SHADER),e.isContextLost())this.failedToCreate=!0;else{for(e.shaderSource(s,ut),e.compileShader(s),e.attachShader(this.program,s),this.attributes={},h={},this.numAttributes=l.length,o=0;o<this.numAttributes;o++)l[o]&&(e.bindAttribLocation(this.program,o,l[o]),this.attributes[l[o]]=o);for(e.linkProgram(this.program),e.deleteShader(s),e.deleteShader(y),p=0;p<a.length;p++)c=a[p],c&&!h[c]&&(k=e.getUniformLocation(this.program,c),k&&(h[c]=k));this.fixedUniforms=u(n,h);this.binderUniforms=r?r.getUniforms(n,h):[]}};rf.prototype.draw=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){var b,k=n.gl,d,w,nt;if(!this.failedToCreate){for(d in n.program.set(this.program),n.setDepthMode(i),n.setStencilMode(r),n.setColorMode(u),n.setCullFace(f),this.fixedUniforms)this.fixedUniforms[d].set(e[d]);v&&v.setUniforms(n,this.binderUniforms,l,{zoom:a});for(var tt=(b={},b[k.LINES]=2,b[k.TRIANGLES]=3,b[k.LINE_STRIP]=1,b)[t],g=0,it=c.get();g<it.length;g+=1)w=it[g],nt=w.vaos||(w.vaos={}),(nt[o]||(nt[o]=new sr)).bind(n,this,s,v?v.getPaintVertexBuffers():[],h,w.vertexOffset,y,p),k.drawElements(t,w.primitiveLength*tt,k.UNSIGNED_SHORT,w.primitiveOffset*tt*2)}};var so=function(t,i,r,u){var f=i.style.light,o=f.properties.get("position"),s=[o.x,o.y,o.z],h=n.create$1(),e;return"viewport"===f.properties.get("anchor")&&n.fromRotation(h,-i.transform.angle),n.transformMat3(s,s,h),e=f.properties.get("color"),{u_matrix:t,u_lightpos:s,u_lightintensity:f.properties.get("intensity"),u_lightcolor:[e.r,e.g,e.b],u_vertical_gradient:+r,u_opacity:u}},iv=function(t,i,r,u,f,e,o){return n.extend(so(t,i,r,u),oo(e,i,o),{u_height_factor:-Math.pow(2,f.overscaledZ)/o.tileSize/8})},ho=function(n){return{u_matrix:n}},co=function(t,i,r,u){return n.extend(ho(t),oo(r,i,u))},rv=function(n,t){return{u_matrix:n,u_world:t}},uv=function(t,i,r,u,f){return n.extend(co(t,i,r,u),{u_world:f})},fv=function(t,i,r,u){var f,e,o=t.transform,s;return"map"===u.paint.get("circle-pitch-alignment")?(s=g(r,1,o.zoom),f=!0,e=[s,s]):(f=!1,e=o.pixelsToGLUnits),{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+("map"===u.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(i.posMatrix,r,u.paint.get("circle-translate"),u.paint.get("circle-translate-anchor")),u_pitch_with_map:+f,u_device_pixel_ratio:n.browser.devicePixelRatio,u_extrude_scale:e}},ev=function(n,t,i){var r=g(i,1,t.zoom),u=Math.pow(2,t.zoom-i.tileID.overscaledZ),f=i.tileID.overscaleFactor();return{u_matrix:n,u_camera_to_center_distance:t.cameraToCenterDistance,u_pixels_to_tile_units:r,u_extrude_scale:[t.pixelsToGLUnits[0]/(r*u),t.pixelsToGLUnits[1]/(r*u)],u_overscale_factor:f}},ov=function(n,t,i){return{u_matrix:n,u_inv_matrix:t,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}},lo=function(n,t,i){return void 0===i&&(i=1),{u_matrix:n,u_color:t,u_overlay:0,u_overlay_scale:i}},ao=function(n){return{u_matrix:n}},sv=function(n,t,i,r){return{u_matrix:n,u_extrude_scale:g(t,1,i),u_intensity:r}},uf=function(t,i,r){var u=t.transform;return{u_matrix:yo(t,i,r),u_ratio:1/g(i,1,u.zoom),u_device_pixel_ratio:n.browser.devicePixelRatio,u_units_to_pixels:[1/u.pixelsToGLUnits[0],1/u.pixelsToGLUnits[1]]}},hv=function(t,i,r){return n.extend(uf(t,i,r),{u_image:0})},cv=function(t,i,r,u){var f=t.transform,e=vo(i,f);return{u_matrix:yo(t,i,r),u_texsize:i.imageAtlasTexture.size,u_ratio:1/g(i,1,f.zoom),u_device_pixel_ratio:n.browser.devicePixelRatio,u_image:0,u_scale:[e,u.fromScale,u.toScale],u_fade:u.t,u_units_to_pixels:[1/f.pixelsToGLUnits[0],1/f.pixelsToGLUnits[1]]}},lv=function(t,i,r,u,f){var e=t.lineAtlas,h=vo(i,t.transform),c="round"===r.layout.get("line-cap"),o=e.getDash(u.from,c),s=e.getDash(u.to,c),l=o.width*f.fromScale,a=s.width*f.toScale;return n.extend(uf(t,i,r),{u_patternscale_a:[h/l,-o.height/2],u_patternscale_b:[h/a,-s.height/2],u_sdfgamma:e.width/(256*Math.min(l,a)*n.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:o.y,u_tex_y_b:s.y,u_mix:f.t})};po=function(n,t,i,r,u){return{u_matrix:n,u_tl_parent:t,u_scale_parent:i,u_buffer_scale:1,u_fade_t:r.mix,u_opacity:r.opacity*u.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:u.paint.get("raster-brightness-min"),u_brightness_high:u.paint.get("raster-brightness-max"),u_saturation_factor:(e=u.paint.get("raster-saturation"),e>0?1-1/(1.001-e):-e),u_contrast_factor:(f=u.paint.get("raster-contrast"),f>0?1/(1-f):1+f),u_spin_weights:av(u.paint.get("raster-hue-rotate"))};var f,e};var ru,wo=function(n,t,i,r,u,f,e,o,s,h){var c=u.transform;return{u_is_size_zoom_constant:+("constant"===n||"source"===n),u_is_size_feature_constant:+("constant"===n||"camera"===n),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/180*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:c.width/c.height,u_fade_change:u.options.fadeDuration?u.symbolFadeChange:1,u_matrix:f,u_label_plane_matrix:e,u_coord_matrix:o,u_is_text:+s,u_pitch_with_map:+r,u_texsize:h,u_texture:0}},bo=function(t,i,r,u,f,e,o,s,h,c,l){var a=f.transform;return n.extend(wo(t,i,r,u,f,e,o,s,h,c),{u_gamma_scale:u?Math.cos(a._pitch)*a.cameraToCenterDistance:1,u_device_pixel_ratio:n.browser.devicePixelRatio,u_is_halo:+l})},vv=function(t,i,r,u,f,e,o,s,h,c){return n.extend(bo(t,i,r,u,f,e,o,s,!0,h,!0),{u_texsize_icon:c,u_texture_icon:1})},yv=function(n,t,i){return{u_matrix:n,u_opacity:t,u_color:i}},pv=function(t,i,r,u,f,e){return n.extend(function(n,t,i,r){var u=i.imageManager.getPattern(n.from.toString()),f=i.imageManager.getPattern(n.to.toString()),e=i.imageManager.getPixelSize(),l=e.width,a=e.height,o=Math.pow(2,r.tileID.overscaledZ),s=r.tileSize*Math.pow(2,i.transform.tileZoom)/o,h=s*(r.tileID.canonical.x+r.tileID.wrap*o),c=s*r.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:u.tl,u_pattern_br_a:u.br,u_pattern_tl_b:f.tl,u_pattern_br_b:f.br,u_texsize:[l,a],u_mix:t.t,u_pattern_size_a:u.displaySize,u_pattern_size_b:f.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/g(r,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,c>>16],u_pixel_coord_lower:[65535&h,65535&c]}}(u,e,r,f),{u_matrix:t,u_opacity:i})},wv={fillExtrusion:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_lightpos:new n.Uniform3f(t,i.u_lightpos),u_lightintensity:new n.Uniform1f(t,i.u_lightintensity),u_lightcolor:new n.Uniform3f(t,i.u_lightcolor),u_vertical_gradient:new n.Uniform1f(t,i.u_vertical_gradient),u_opacity:new n.Uniform1f(t,i.u_opacity)}},fillExtrusionPattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_lightpos:new n.Uniform3f(t,i.u_lightpos),u_lightintensity:new n.Uniform1f(t,i.u_lightintensity),u_lightcolor:new n.Uniform3f(t,i.u_lightcolor),u_vertical_gradient:new n.Uniform1f(t,i.u_vertical_gradient),u_height_factor:new n.Uniform1f(t,i.u_height_factor),u_image:new n.Uniform1i(t,i.u_image),u_texsize:new n.Uniform2f(t,i.u_texsize),u_pixel_coord_upper:new n.Uniform2f(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(t,i.u_pixel_coord_lower),u_scale:new n.Uniform3f(t,i.u_scale),u_fade:new n.Uniform1f(t,i.u_fade),u_opacity:new n.Uniform1f(t,i.u_opacity)}},fill:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix)}},fillPattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_image:new n.Uniform1i(t,i.u_image),u_texsize:new n.Uniform2f(t,i.u_texsize),u_pixel_coord_upper:new n.Uniform2f(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(t,i.u_pixel_coord_lower),u_scale:new n.Uniform3f(t,i.u_scale),u_fade:new n.Uniform1f(t,i.u_fade)}},fillOutline:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_world:new n.Uniform2f(t,i.u_world)}},fillOutlinePattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_world:new n.Uniform2f(t,i.u_world),u_image:new n.Uniform1i(t,i.u_image),u_texsize:new n.Uniform2f(t,i.u_texsize),u_pixel_coord_upper:new n.Uniform2f(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(t,i.u_pixel_coord_lower),u_scale:new n.Uniform3f(t,i.u_scale),u_fade:new n.Uniform1f(t,i.u_fade)}},circle:function(t,i){return{u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_scale_with_map:new n.Uniform1i(t,i.u_scale_with_map),u_pitch_with_map:new n.Uniform1i(t,i.u_pitch_with_map),u_extrude_scale:new n.Uniform2f(t,i.u_extrude_scale),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_matrix:new n.UniformMatrix4f(t,i.u_matrix)}},collisionBox:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_pixels_to_tile_units:new n.Uniform1f(t,i.u_pixels_to_tile_units),u_extrude_scale:new n.Uniform2f(t,i.u_extrude_scale),u_overscale_factor:new n.Uniform1f(t,i.u_overscale_factor)}},collisionCircle:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_inv_matrix:new n.UniformMatrix4f(t,i.u_inv_matrix),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_viewport_size:new n.Uniform2f(t,i.u_viewport_size)}},debug:function(t,i){return{u_color:new n.UniformColor(t,i.u_color),u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_overlay:new n.Uniform1i(t,i.u_overlay),u_overlay_scale:new n.Uniform1f(t,i.u_overlay_scale)}},clippingMask:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix)}},heatmap:function(t,i){return{u_extrude_scale:new n.Uniform1f(t,i.u_extrude_scale),u_intensity:new n.Uniform1f(t,i.u_intensity),u_matrix:new n.UniformMatrix4f(t,i.u_matrix)}},heatmapTexture:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_world:new n.Uniform2f(t,i.u_world),u_image:new n.Uniform1i(t,i.u_image),u_color_ramp:new n.Uniform1i(t,i.u_color_ramp),u_opacity:new n.Uniform1f(t,i.u_opacity)}},hillshade:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_image:new n.Uniform1i(t,i.u_image),u_latrange:new n.Uniform2f(t,i.u_latrange),u_light:new n.Uniform2f(t,i.u_light),u_shadow:new n.UniformColor(t,i.u_shadow),u_highlight:new n.UniformColor(t,i.u_highlight),u_accent:new n.UniformColor(t,i.u_accent)}},hillshadePrepare:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_image:new n.Uniform1i(t,i.u_image),u_dimension:new n.Uniform2f(t,i.u_dimension),u_zoom:new n.Uniform1f(t,i.u_zoom),u_maxzoom:new n.Uniform1f(t,i.u_maxzoom),u_unpack:new n.Uniform4f(t,i.u_unpack)}},line:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_ratio:new n.Uniform1f(t,i.u_ratio),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(t,i.u_units_to_pixels)}},lineGradient:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_ratio:new n.Uniform1f(t,i.u_ratio),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(t,i.u_units_to_pixels),u_image:new n.Uniform1i(t,i.u_image)}},linePattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_texsize:new n.Uniform2f(t,i.u_texsize),u_ratio:new n.Uniform1f(t,i.u_ratio),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_image:new n.Uniform1i(t,i.u_image),u_units_to_pixels:new n.Uniform2f(t,i.u_units_to_pixels),u_scale:new n.Uniform3f(t,i.u_scale),u_fade:new n.Uniform1f(t,i.u_fade)}},lineSDF:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_ratio:new n.Uniform1f(t,i.u_ratio),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_units_to_pixels:new n.Uniform2f(t,i.u_units_to_pixels),u_patternscale_a:new n.Uniform2f(t,i.u_patternscale_a),u_patternscale_b:new n.Uniform2f(t,i.u_patternscale_b),u_sdfgamma:new n.Uniform1f(t,i.u_sdfgamma),u_image:new n.Uniform1i(t,i.u_image),u_tex_y_a:new n.Uniform1f(t,i.u_tex_y_a),u_tex_y_b:new n.Uniform1f(t,i.u_tex_y_b),u_mix:new n.Uniform1f(t,i.u_mix)}},raster:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_tl_parent:new n.Uniform2f(t,i.u_tl_parent),u_scale_parent:new n.Uniform1f(t,i.u_scale_parent),u_buffer_scale:new n.Uniform1f(t,i.u_buffer_scale),u_fade_t:new n.Uniform1f(t,i.u_fade_t),u_opacity:new n.Uniform1f(t,i.u_opacity),u_image0:new n.Uniform1i(t,i.u_image0),u_image1:new n.Uniform1i(t,i.u_image1),u_brightness_low:new n.Uniform1f(t,i.u_brightness_low),u_brightness_high:new n.Uniform1f(t,i.u_brightness_high),u_saturation_factor:new n.Uniform1f(t,i.u_saturation_factor),u_contrast_factor:new n.Uniform1f(t,i.u_contrast_factor),u_spin_weights:new n.Uniform3f(t,i.u_spin_weights)}},symbolIcon:function(t,i){return{u_is_size_zoom_constant:new n.Uniform1i(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(t,i.u_is_size_feature_constant),u_size_t:new n.Uniform1f(t,i.u_size_t),u_size:new n.Uniform1f(t,i.u_size),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_pitch:new n.Uniform1f(t,i.u_pitch),u_rotate_symbol:new n.Uniform1i(t,i.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(t,i.u_aspect_ratio),u_fade_change:new n.Uniform1f(t,i.u_fade_change),u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(t,i.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(t,i.u_coord_matrix),u_is_text:new n.Uniform1i(t,i.u_is_text),u_pitch_with_map:new n.Uniform1i(t,i.u_pitch_with_map),u_texsize:new n.Uniform2f(t,i.u_texsize),u_texture:new n.Uniform1i(t,i.u_texture)}},symbolSDF:function(t,i){return{u_is_size_zoom_constant:new n.Uniform1i(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(t,i.u_is_size_feature_constant),u_size_t:new n.Uniform1f(t,i.u_size_t),u_size:new n.Uniform1f(t,i.u_size),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_pitch:new n.Uniform1f(t,i.u_pitch),u_rotate_symbol:new n.Uniform1i(t,i.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(t,i.u_aspect_ratio),u_fade_change:new n.Uniform1f(t,i.u_fade_change),u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(t,i.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(t,i.u_coord_matrix),u_is_text:new n.Uniform1i(t,i.u_is_text),u_pitch_with_map:new n.Uniform1i(t,i.u_pitch_with_map),u_texsize:new n.Uniform2f(t,i.u_texsize),u_texture:new n.Uniform1i(t,i.u_texture),u_gamma_scale:new n.Uniform1f(t,i.u_gamma_scale),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_is_halo:new n.Uniform1i(t,i.u_is_halo)}},symbolTextAndIcon:function(t,i){return{u_is_size_zoom_constant:new n.Uniform1i(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new n.Uniform1i(t,i.u_is_size_feature_constant),u_size_t:new n.Uniform1f(t,i.u_size_t),u_size:new n.Uniform1f(t,i.u_size),u_camera_to_center_distance:new n.Uniform1f(t,i.u_camera_to_center_distance),u_pitch:new n.Uniform1f(t,i.u_pitch),u_rotate_symbol:new n.Uniform1i(t,i.u_rotate_symbol),u_aspect_ratio:new n.Uniform1f(t,i.u_aspect_ratio),u_fade_change:new n.Uniform1f(t,i.u_fade_change),u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_label_plane_matrix:new n.UniformMatrix4f(t,i.u_label_plane_matrix),u_coord_matrix:new n.UniformMatrix4f(t,i.u_coord_matrix),u_is_text:new n.Uniform1i(t,i.u_is_text),u_pitch_with_map:new n.Uniform1i(t,i.u_pitch_with_map),u_texsize:new n.Uniform2f(t,i.u_texsize),u_texsize_icon:new n.Uniform2f(t,i.u_texsize_icon),u_texture:new n.Uniform1i(t,i.u_texture),u_texture_icon:new n.Uniform1i(t,i.u_texture_icon),u_gamma_scale:new n.Uniform1f(t,i.u_gamma_scale),u_device_pixel_ratio:new n.Uniform1f(t,i.u_device_pixel_ratio),u_is_halo:new n.Uniform1i(t,i.u_is_halo)}},background:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_opacity:new n.Uniform1f(t,i.u_opacity),u_color:new n.UniformColor(t,i.u_color)}},backgroundPattern:function(t,i){return{u_matrix:new n.UniformMatrix4f(t,i.u_matrix),u_opacity:new n.Uniform1f(t,i.u_opacity),u_image:new n.Uniform1i(t,i.u_image),u_pattern_tl_a:new n.Uniform2f(t,i.u_pattern_tl_a),u_pattern_br_a:new n.Uniform2f(t,i.u_pattern_br_a),u_pattern_tl_b:new n.Uniform2f(t,i.u_pattern_tl_b),u_pattern_br_b:new n.Uniform2f(t,i.u_pattern_br_b),u_texsize:new n.Uniform2f(t,i.u_texsize),u_mix:new n.Uniform1f(t,i.u_mix),u_pattern_size_a:new n.Uniform2f(t,i.u_pattern_size_a),u_pattern_size_b:new n.Uniform2f(t,i.u_pattern_size_b),u_scale_a:new n.Uniform1f(t,i.u_scale_a),u_scale_b:new n.Uniform1f(t,i.u_scale_b),u_pixel_coord_upper:new n.Uniform2f(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new n.Uniform2f(t,i.u_pixel_coord_lower),u_tile_units_to_pixels:new n.Uniform1f(t,i.u_tile_units_to_pixels)}}};go=n.identity(new Float32Array(16));var iy=new n.Color(1,0,0,1),ry=new n.Color(0,1,0,1),uy=new n.Color(0,0,1,1),fy=new n.Color(1,0,1,1),ey=new n.Color(0,1,1,1);ef={symbol:function(t,i,r,u,f){if("translucent"===t.renderPass){var e=c.disabled,o=t.colorModeForRenderPass();r.layout.get("text-variable-anchor")&&function(t,i,r,u,f,e,o){for(var b,h=i.transform,v="map"===f,y="map"===e,c=0,p=t;c<p.length;c+=1){var l=p[c],a=u.getTile(l),s=a.getBucket(r);if(s&&s.text&&s.text.segments.get().length){var w=n.evaluateSizeForZoom(s.textSizeData,h.zoom),k=g(a,1,i.transform.zoom),d=wu(l.posMatrix,y,v,i.transform,k),nt="none"!==r.layout.get("icon-text-fit")&&s.hasIconData();w&&(b=Math.pow(2,h.zoom-a.tileID.overscaledZ),kv(s,v,y,o,n.symbolSize,h,d,l.posMatrix,b,w,nt))}}}(u,t,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),f);0!==r.paint.get("icon-opacity").constantOr(1)&&ns(t,i,r,u,!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"),e,o);0!==r.paint.get("text-opacity").constantOr(1)&&ns(t,i,r,u,!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"),e,o);i.map.showCollisionBoxes&&(ko(t,i,r,u,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),ko(t,i,r,u,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))}},circle:function(t,i,u,f){var y,p,l,w,b,a,k,d,o;if("translucent"===t.renderPass){var rt=u.paint.get("circle-opacity"),ut=u.paint.get("circle-stroke-width"),ft=u.paint.get("circle-stroke-opacity"),g=void 0!==u.layout.get("circle-sort-key").constantOr(1);if(0!==rt.constantOr(1)||0!==ut.constantOr(1)&&0!==ft.constantOr(1)){for(var nt=t.context,et=nt.gl,ot=t.depthModeForSublayer(0,r.ReadOnly),st=c.disabled,ht=t.colorModeForRenderPass(),s=[],v=0;v<f.length;v++){var tt=f[v],it=i.getTile(tt),e=it.getBucket(u);if(e)if(y=e.programConfigurations.get(u.id),p={programConfiguration:y,program:t.useProgram("circle",y),layoutVertexBuffer:e.layoutVertexBuffer,indexBuffer:e.indexBuffer,uniformValues:fv(t,tt,it,u)},g)for(l=0,w=e.segments.get();l<w.length;l+=1)b=w[l],s.push({segments:new n.SegmentVector([b]),sortKey:b.sortKey,state:p});else s.push({segments:e.segments,sortKey:0,state:p})}for(g&&s.sort(function(n,t){return n.sortKey-t.sortKey}),a=0,k=s;a<k.length;a+=1)d=k[a],o=d.state,o.program.draw(nt,et.TRIANGLES,ot,st,ht,h.disabled,o.uniformValues,u.id,o.layoutVertexBuffer,o.indexBuffer,d.segments,u.paint,t.transform.zoom,o.programConfiguration)}}},heatmap:function(t,i,u,f){var s,l,y,e,p;if(0!==u.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){var o=t.context,a=o.gl,w=c.disabled,b=new v([a.ONE,a.ONE],n.Color.transparent,[!0,!0,!0,!0]);for(!function(n,t,i){var r=n.gl,u,f;n.activeTexture.set(r.TEXTURE1);n.viewport.set([0,0,t.width/4,t.height/4]);u=i.heatmapFbo;u?(r.bindTexture(r.TEXTURE_2D,u.colorAttachment.get()),n.bindFramebuffer.set(u.framebuffer)):(f=r.createTexture(),r.bindTexture(r.TEXTURE_2D,f),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),u=i.heatmapFbo=n.createFramebuffer(t.width/4,t.height/4,!1),function(n,t,i,r){var u=n.gl;u.texImage2D(u.TEXTURE_2D,0,u.RGBA,t.width/4,t.height/4,0,u.RGBA,n.extRenderToTextureHalfFloat?n.extTextureHalfFloat.HALF_FLOAT_OES:u.UNSIGNED_BYTE,null);r.colorAttachment.set(i)}(n,t,f,u))}(o,t,u),o.clear({color:n.Color.transparent}),s=0;s<f.length;s++)l=f[s],i.hasRenderableParent(l)||(y=i.getTile(l),e=y.getBucket(u),e&&(p=e.programConfigurations.get(u.id),t.useProgram("heatmap",p).draw(o,a.TRIANGLES,r.disabled,w,b,h.disabled,sv(l.posMatrix,y,t.transform.zoom,u.paint.get("heatmap-intensity")),u.id,e.layoutVertexBuffer,e.indexBuffer,e.segments,u.paint,t.transform.zoom,p)));o.viewport.set([0,0,t.width,t.height])}else"translucent"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,i){var f=t.context,u=f.gl,o=i.heatmapFbo,e;o&&(f.activeTexture.set(u.TEXTURE0),u.bindTexture(u.TEXTURE_2D,o.colorAttachment.get()),f.activeTexture.set(u.TEXTURE1),e=i.colorRampTexture,e||(e=i.colorRampTexture=new n.Texture(f,i.colorRamp,u.RGBA)),e.bind(u.LINEAR,u.CLAMP_TO_EDGE),t.useProgram("heatmapTexture").draw(f,u.TRIANGLES,r.disabled,c.disabled,t.colorModeForRenderPass(),h.disabled,function(t,i){var u=n.create(),r;return n.ortho(u,0,t.width,t.height,0,0,1),r=t.context.gl,{u_matrix:u,u_world:[r.drawingBufferWidth,r.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}}(t,i),i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom))}(t,u))},line:function(t,i,u,f){var nt,tt,v,y,k,d,e,c,st;if("translucent"===t.renderPass&&(nt=u.paint.get("line-opacity"),tt=u.paint.get("line-width"),0!==nt.constantOr(1)&&0!==tt.constantOr(1))){var ht=t.depthModeForSublayer(0,r.ReadOnly),ct=t.colorModeForRenderPass(),l=u.paint.get("line-dasharray"),it=u.paint.get("line-pattern"),a=it.constantOr(1),w=u.paint.get("line-gradient"),b=u.getCrossfadeParameters(),lt=a?"linePattern":l?"lineSDF":w?"lineGradient":"line",s=t.context,o=s.gl,rt=!0;if(w){if(s.activeTexture.set(o.TEXTURE0),v=u.gradientTexture,!u.gradient)return;v||(v=u.gradientTexture=new n.Texture(s,u.gradient,o.RGBA));v.bind(o.LINEAR,o.CLAMP_TO_EDGE)}for(y=0,k=f;y<k.length;y+=1)if(d=k[y],e=i.getTile(d),(!a||e.patternsLoaded())&&(c=e.getBucket(u),c)){var p=c.programConfigurations.get(u.id),at=t.context.program.get(),ut=t.useProgram(lt,p),vt=rt||ut.program!==at,g=it.constantOr(null);if(g&&e.imageAtlas){var ft=e.imageAtlas,et=ft.patternPositions[g.to.toString()],ot=ft.patternPositions[g.from.toString()];et&&ot&&p.setConstantPatternPositions(et,ot)}st=a?cv(t,e,u,b):l?lv(t,e,u,l,b):w?hv(t,e,u):uf(t,e,u);a?(s.activeTexture.set(o.TEXTURE0),e.imageAtlasTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE),p.updatePaintBuffers(b)):l&&(vt||t.lineAtlas.dirty)&&(s.activeTexture.set(o.TEXTURE0),t.lineAtlas.bind(s));ut.draw(s,o.TRIANGLES,ht,t.stencilModeForClipping(d),ct,h.disabled,st,u.id,c.layoutVertexBuffer,c.indexBuffer,c.segments,u.paint,t.transform.zoom,p);rt=!1}}},fill:function(t,i,u,f){var c=u.paint.get("fill-color"),e=u.paint.get("fill-opacity"),s,h;if(0!==e.constantOr(1)){var o=t.colorModeForRenderPass(),l=u.paint.get("fill-pattern"),a=t.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===c.constantOr(n.Color.transparent).a&&1===e.constantOr(0)?"opaque":"translucent";t.renderPass===a&&(s=t.depthModeForSublayer(1,"opaque"===t.renderPass?r.ReadWrite:r.ReadOnly),is(t,i,u,f,s,o,!1));"translucent"===t.renderPass&&u.paint.get("fill-antialias")&&(h=t.depthModeForSublayer(u.getPaintProperty("fill-outline-color")?2:0,r.ReadOnly),is(t,i,u,f,h,o,!0))}},"fill-extrusion":function(n,t,i,u){var e=i.paint.get("fill-extrusion-opacity"),f,o;0!==e&&"translucent"===n.renderPass&&(f=new r(n.context.gl.LEQUAL,r.ReadWrite,n.depthRangeFor3D),1!==e||i.paint.get("fill-extrusion-pattern").constantOr(1)?(ff(n,t,i,u,f,c.disabled,v.disabled),ff(n,t,i,u,f,n.stencilModeFor3D(),n.colorModeForRenderPass())):(o=n.colorModeForRenderPass(),ff(n,t,i,u,f,c.disabled,o)))},hillshade:function(n,t,i,u){var o,f;if("offscreen"===n.renderPass||"translucent"===n.renderPass){for(var v=n.context,y=t.getSource().maxzoom,s=n.depthModeForSublayer(0,r.ReadOnly),h=n.colorModeForRenderPass(),l="translucent"===n.renderPass?n.stencilConfigForOverlap(u):[{},u],p=l[0],e=0,a=l[1];e<a.length;e+=1)o=a[e],f=t.getTile(o),f.needsHillshadePrepare&&"offscreen"===n.renderPass?ny(n,f,i,y,s,c.disabled,h):"translucent"===n.renderPass&&gv(n,f,i,s,p[o.overscaledZ],h);v.viewport.set([0,0,n.width,n.height])}},raster:function(n,t,i,u){var b;if("translucent"===n.renderPass&&0!==i.paint.get("raster-opacity")&&u.length)for(var o=n.context,f=o.gl,l=t.getSource(),k=n.useProgram("raster"),d=n.colorModeForRenderPass(),g=l instanceof ir?[{},u]:n.stencilConfigForOverlap(u),rt=g[0],y=g[1],ut=y[y.length-1].overscaledZ,ft=!n.options.moving,p=0,nt=y;p<nt.length;p+=1){var s=nt[p],tt=n.depthModeForSublayer(s.overscaledZ-ut,1===i.paint.get("raster-opacity")?r.ReadWrite:r.ReadOnly,f.LESS),e=t.getTile(s),et=n.transform.calculatePosMatrix(s.toUnwrapped(),ft);e.registerFadeDuration(i.paint.get("raster-fade-duration"));var a=t.findLoadedParent(s,0),ot=ty(e,a,t,i,n.transform),v=void 0,it=void 0,w="nearest"===i.paint.get("raster-resampling")?f.NEAREST:f.LINEAR;o.activeTexture.set(f.TEXTURE0);e.texture.bind(w,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST);o.activeTexture.set(f.TEXTURE1);a?(a.texture.bind(w,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST),v=Math.pow(2,a.tileID.overscaledZ-e.tileID.overscaledZ),it=[e.tileID.canonical.x*v%1,e.tileID.canonical.y*v%1]):e.texture.bind(w,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST);b=po(et,it||[0,0],v||1,ot,i);l instanceof ir?k.draw(o,f.TRIANGLES,tt,c.disabled,d,h.disabled,b,i.id,l.boundsBuffer,n.quadTriangleIndexBuffer,l.boundsSegments):k.draw(o,f.TRIANGLES,tt,rt[s.overscaledZ],d,h.disabled,b,i.id,n.rasterBoundsBuffer,n.quadTriangleIndexBuffer,n.rasterBoundsSegments)}},background:function(n,t,i){var l=i.paint.get("background-color"),f=i.paint.get("background-opacity"),o;if(0!==f){var e=n.context,a=e.gl,v=n.transform,y=v.tileSize,u=i.paint.get("background-pattern");if(!n.isPatternMissing(u)&&(o=!u&&1===l.a&&1===f&&n.opaquePassEnabledForLayer()?"opaque":"translucent",n.renderPass===o)){var k=c.disabled,d=n.depthModeForSublayer(0,"opaque"===o?r.ReadWrite:r.ReadOnly),g=n.colorModeForRenderPass(),nt=n.useProgram(u?"backgroundPattern":"background"),tt=v.coveringTiles({tileSize:y});u&&(e.activeTexture.set(a.TEXTURE0),n.imageManager.bind(n.context));for(var it=i.getCrossfadeParameters(),s=0,p=tt;s<p.length;s+=1){var w=p[s],b=n.transform.calculatePosMatrix(w.toUnwrapped()),rt=u?pv(b,f,n,u,{tileID:w,tileSize:y},it):yv(b,f,l);nt.draw(e,a.TRIANGLES,d,k,g,h.disabled,rt,i.id,n.tileExtentBuffer,n.quadTriangleIndexBuffer,n.tileExtentSegments)}}}},debug:function(n,t,i){for(var r=0;r<i.length;r++)oy(n,t,i[r])},custom:function(n,t,i){var u=n.context,f=i.implementation,e,o;"offscreen"===n.renderPass?(e=f.prerender,e&&(n.setCustomLayerDefaults(),u.setColorMode(n.colorModeForRenderPass()),e.call(f,u.gl,n.transform.customLayerMatrix()),u.setDirty(),n.setBaseState())):"translucent"===n.renderPass&&(n.setCustomLayerDefaults(),u.setColorMode(n.colorModeForRenderPass()),u.setStencilMode(c.disabled),o="3d"===f.renderingMode?new r(n.context.gl.LEQUAL,r.ReadWrite,n.depthRangeFor3D):n.depthModeForSublayer(0,r.ReadOnly),u.setDepthMode(o),f.render(u.gl,n.transform.customLayerMatrix()),u.setDirty(),n.setBaseState(),u.bindFramebuffer.set(null))}};o=function(n,t){this.context=new k(n);this.transform=t;this._tileTextures={};this.setup();this.numSublayers=oi.maxUnderzooming+oi.maxOverzooming+1;this.depthEpsilon=1/Math.pow(2,16);this.crossTileSymbolIndex=new or;this.gpuTimers={}};o.prototype.resize=function(t,i){if(this.width=t*n.browser.devicePixelRatio,this.height=i*n.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var r=0,u=this.style._order;r<u.length;r+=1)this.style._layers[u[r]].resize()};o.prototype.setup=function(){var t=this.context,e=new n.StructArrayLayout2i4,r,u,f,i,s,o;e.emplaceBack(0,0);e.emplaceBack(n.EXTENT,0);e.emplaceBack(0,n.EXTENT);e.emplaceBack(n.EXTENT,n.EXTENT);this.tileExtentBuffer=t.createVertexBuffer(e,nf.members);this.tileExtentSegments=n.SegmentVector.simpleSegment(0,0,4,2);r=new n.StructArrayLayout2i4;r.emplaceBack(0,0);r.emplaceBack(n.EXTENT,0);r.emplaceBack(0,n.EXTENT);r.emplaceBack(n.EXTENT,n.EXTENT);this.debugBuffer=t.createVertexBuffer(r,nf.members);this.debugSegments=n.SegmentVector.simpleSegment(0,0,4,5);u=new n.StructArrayLayout4i8;u.emplaceBack(0,0,0,0);u.emplaceBack(n.EXTENT,0,n.EXTENT,0);u.emplaceBack(0,n.EXTENT,0,n.EXTENT);u.emplaceBack(n.EXTENT,n.EXTENT,n.EXTENT,n.EXTENT);this.rasterBoundsBuffer=t.createVertexBuffer(u,pr.members);this.rasterBoundsSegments=n.SegmentVector.simpleSegment(0,0,4,2);f=new n.StructArrayLayout2i4;f.emplaceBack(0,0);f.emplaceBack(1,0);f.emplaceBack(0,1);f.emplaceBack(1,1);this.viewportBuffer=t.createVertexBuffer(f,nf.members);this.viewportSegments=n.SegmentVector.simpleSegment(0,0,4,2);i=new n.StructArrayLayout1ui2;i.emplaceBack(0);i.emplaceBack(1);i.emplaceBack(3);i.emplaceBack(2);i.emplaceBack(0);this.tileBorderIndexBuffer=t.createIndexBuffer(i);s=new n.StructArrayLayout3ui6;s.emplaceBack(0,1,2);s.emplaceBack(2,1,3);this.quadTriangleIndexBuffer=t.createIndexBuffer(s);this.emptyTexture=new n.Texture(t,{width:1,height:1,data:new Uint8Array([0,0,0,0])},t.gl.RGBA);o=this.context.gl;this.stencilClearMode=new c({func:o.ALWAYS,mask:0},0,255,o.ZERO,o.ZERO,o.ZERO)};o.prototype.clearStencil=function(){var u=this.context,i=u.gl,t;this.nextStencilID=1;this.currentStencilSource=void 0;t=n.create();n.ortho(t,0,this.width,this.height,0,0,1);n.scale(t,t,[i.drawingBufferWidth,i.drawingBufferHeight,0]);this.useProgram("clippingMask").draw(u,i.TRIANGLES,r.disabled,this.stencilClearMode,v.disabled,h.disabled,ao(t),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)};o.prototype._renderTileClippingMasks=function(n,t){var u,i,s,f,e,o,l;if(this.currentStencilSource!==n.source&&n.isTileClipped()&&t&&t.length)for(this.currentStencilSource=n.source,u=this.context,i=u.gl,this.nextStencilID+t.length>256&&this.clearStencil(),u.setColorMode(v.disabled),u.setDepthMode(r.disabled),s=this.useProgram("clippingMask"),this._tileClippingMaskIDs={},f=0,e=t;f<e.length;f+=1)o=e[f],l=this._tileClippingMaskIDs[o.key]=this.nextStencilID++,s.draw(u,i.TRIANGLES,r.disabled,new c({func:i.ALWAYS,mask:0},l,255,i.KEEP,i.KEEP,i.REPLACE),v.disabled,h.disabled,ao(o.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)};o.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0;this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,n=this.context.gl;return new c({func:n.NOTEQUAL,mask:255},t,255,n.KEEP,n.KEEP,n.REPLACE)};o.prototype.stencilModeForClipping=function(n){var t=this.context.gl;return new c({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[n.key],0,t.KEEP,t.KEEP,t.REPLACE)};o.prototype.stencilConfigForOverlap=function(n){var f,r=this.context.gl,t=n.sort(function(n,t){return t.overscaledZ-n.overscaledZ}),e=t[t.length-1].overscaledZ,u=t[0].overscaledZ-e+1,o,i;if(u>1){for(this.currentStencilSource=void 0,this.nextStencilID+u>256&&this.clearStencil(),o={},i=0;i<u;i++)o[i+e]=new c({func:r.GEQUAL,mask:255},i+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=u,[o,t]}return[(f={},f[e]=c.disabled,f),t]};o.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new v([t.CONSTANT_COLOR,t.ONE],new n.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?v.unblended:v.alphaBlended};o.prototype.depthModeForSublayer=function(n,t,i){if(!this.opaquePassEnabledForLayer())return r.disabled;var u=1-((1+this.currentLayer)*this.numSublayers+n)*this.depthEpsilon;return new r(i||this.context.gl.LEQUAL,t,[u,u])};o.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff};o.prototype.render=function(t,i){var d=this,r,u,g,y,o,w,c,a,b,f,k;this.style=t;this.options=i;this.lineAtlas=t.lineAtlas;this.imageManager=t.imageManager;this.glyphManager=t.glyphManager;this.symbolFadeChange=t.placement.symbolFadeChange(n.browser.now());this.imageManager.beginFrame();r=this.style._order;u=this.style.sourceCaches;for(g in u)y=u[g],y.used&&y.prepare(this.context);var e,h,l={},p={},nt={};for(o in u)w=u[o],l[o]=w.getVisibleCoordinates(),p[o]=l[o].slice().reverse(),nt[o]=w.getVisibleCoordinates(!0).reverse();for(this.opaquePassCutoff=1/0,c=0;c<r.length;c++)if(this.style._layers[r[c]].is3D()){this.opaquePassCutoff=c;break}for(this.renderPass="offscreen",a=0,b=r;a<b.length;a+=1)f=this.style._layers[b[a]],f.hasOffscreenPass()&&!f.isHidden(this.transform.zoom)&&(k=p[f.source],("custom"===f.type||k.length)&&this.renderLayer(this,u[f.source],f,k));for(this.context.bindFramebuffer.set(null),this.context.clear({color:i.showOverdrawInspector?n.Color.black:n.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass="opaque",this.currentLayer=r.length-1;this.currentLayer>=0;this.currentLayer--){var v=this.style._layers[r[this.currentLayer]],it=u[v.source],tt=l[v.source];this._renderTileClippingMasks(v,tt);this.renderLayer(this,it,v,tt)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<r.length;this.currentLayer++){var s=this.style._layers[r[this.currentLayer]],rt=u[s.source],ut=("symbol"===s.type?nt:p)[s.source];this._renderTileClippingMasks(s,l[s.source]);this.renderLayer(this,rt,s,ut)}this.options.showTileBoundaries&&(n.values(this.style._layers).forEach(function(n){n.source&&!n.isHidden(d.transform.zoom)&&(n.source!==(h&&h.id)&&(h=d.style.sourceCaches[n.source]),(!e||e.getSource().maxzoom<h.getSource().maxzoom)&&(e=h))}),e&&ef.debug(this,e,e.getVisibleCoordinates()));this.options.showPadding&&function(n){var t=n.transform.padding,i;rs(n,n.transform.height-(t.top||0),3,iy);rs(n,t.bottom||0,3,ry);us(n,t.left||0,3,uy);us(n,n.transform.width-(t.right||0),3,fy);i=n.transform.centerPoint;!function(n,t,i,r){uu(n,t-1,i-10,2,20,r);uu(n,t-10,i-1,20,2,r)}(n,i.x,n.transform.height-i.y,ey)}(this);this.context.setDefault()};o.prototype.renderLayer=function(n,t,i,r){i.isHidden(this.transform.zoom)||("background"===i.type||"custom"===i.type||r.length)&&(this.id=i.id,this.gpuTimingStart(i),ef[i.type](n,t,i,r,this.style.placement.variableOffsets),this.gpuTimingEnd())};o.prototype.gpuTimingStart=function(n){if(this.options.gpuTiming){var i=this.context.extTimerQuery,t=this.gpuTimers[n.id];t||(t=this.gpuTimers[n.id]={calls:0,cpuTime:0,query:i.createQueryEXT()});t.calls++;i.beginQueryEXT(i.TIME_ELAPSED_EXT,t.query)}};o.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var n=this.context.extTimerQuery;n.endQueryEXT(n.TIME_ELAPSED_EXT)}};o.prototype.collectGpuTimers=function(){var n=this.gpuTimers;return this.gpuTimers={},n};o.prototype.queryGpuTimers=function(n){var i={};for(var r in n){var u=n[r],t=this.context.extTimerQuery,f=t.getQueryObjectEXT(u.query,t.QUERY_RESULT_EXT)/1e6;t.deleteQueryEXT(u.query);i[r]=f}return i};o.prototype.translatePosMatrix=function(t,i,r,u,f){var e,o,s,c,h;return!r[0]&&!r[1]?t:(e=f?"map"===u?this.transform.angle:0:"viewport"===u?-this.transform.angle:0,e&&(o=Math.sin(e),s=Math.cos(e),r=[r[0]*s-r[1]*o,r[0]*o+r[1]*s]),c=[f?r[0]:g(i,r[0],this.transform.zoom),f?r[1]:g(i,r[1],this.transform.zoom),0],h=new Float32Array(16),n.translate(h,t,c),h)};o.prototype.saveTileTexture=function(n){var t=this._tileTextures[n.size[0]];t?t.push(n):this._tileTextures[n.size[0]]=[n]};o.prototype.getTileTexture=function(n){var t=this._tileTextures[n];return t&&t.length>0?t.pop():null};o.prototype.isPatternMissing=function(n){if(!n)return!1;if(!n.from||!n.to)return!0;var t=this.imageManager.getPattern(n.from.toString()),i=this.imageManager.getPattern(n.to.toString());return!t||!i};o.prototype.useProgram=function(n,t){this.cache=this.cache||{};var i=""+n+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[i]||(this.cache[i]=new rf(this.context,n,fo[n],t,wv[n],this._showOverdrawInspector)),this.cache[i]};o.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO();this.context.cullFace.setDefault();this.context.activeTexture.setDefault();this.context.pixelStoreUnpack.setDefault();this.context.pixelStoreUnpackPremultiplyAlpha.setDefault();this.context.pixelStoreUnpackFlipY.setDefault()};o.prototype.setBaseState=function(){var n=this.context.gl;this.context.cullFace.set(!1);this.context.viewport.set([0,0,this.width,this.height]);this.context.blendEquation.set(n.FUNC_ADD)};o.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=n.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new n.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))};o.prototype.destroy=function(){this.emptyTexture.destroy();this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};fu=function(n,t){this.points=n;this.planes=t};fu.fromInvProjectionMatrix=function(t,i,r){var f=Math.pow(2,r),u=[[-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(function(i){return n.transformMat4([],i,t)}).map(function(t){return n.scale$1([],t,1/t[3]/i*f)}),e=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(function(t){var r=n.sub([],u[t[0]],u[t[1]]),f=n.sub([],u[t[2]],u[t[1]]),i=n.normalize([],n.cross([],r,f)),e=-n.dot(i,u[t[1]]);return i.concat(e)});return new fu(u,e)};ui=function(t,i){this.min=t;this.max=i;this.center=n.scale$2([],n.add([],this.min,this.max),.5)};ui.prototype.quadrant=function(t){for(var r=[t%2==0,t<2],f=n.clone$2(this.min),u=n.clone$2(this.max),i=0;i<r.length;i++)f[i]=r[i]?this.min[i]:this.center[i],u[i]=r[i]?this.center[i]:this.max[i];return u[2]=this.max[2],new ui(f,u)};ui.prototype.distanceX=function(n){return Math.max(Math.min(this.max[0],n[0]),this.min[0])-n[0]};ui.prototype.distanceY=function(n){return Math.max(Math.min(this.max[1],n[1]),this.min[1])-n[1]};ui.prototype.intersects=function(t){for(var i,c,r=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],l=!0,u=0;u<t.planes.length;u++){for(var a=t.planes[u],f=0,e=0;e<r.length;e++)f+=n.dot$1(a,r[e])>=0;if(0===f)return 0;f!==r.length&&(l=!1)}if(l)return 2;for(i=0;i<3;i++){for(var o=Number.MAX_VALUE,s=-Number.MAX_VALUE,h=0;h<t.points.length;h++)c=t.points[h][i]-this.min[i],o=Math.min(o,c),s=Math.max(s,c);if(s<0||o>this.max[i]-this.min[i])return 0}return 1};yt=function(n,t,i,r){if(void 0===n&&(n=0),void 0===t&&(t=0),void 0===i&&(i=0),void 0===r&&(r=0),isNaN(n)||n<0||isNaN(t)||t<0||isNaN(i)||i<0||isNaN(r)||r<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=n;this.bottom=t;this.left=i;this.right=r};yt.prototype.interpolate=function(t,i,r){return null!=i.top&&null!=t.top&&(this.top=n.number(t.top,i.top,r)),null!=i.bottom&&null!=t.bottom&&(this.bottom=n.number(t.bottom,i.bottom,r)),null!=i.left&&null!=t.left&&(this.left=n.number(t.left,i.left,r)),null!=i.right&&null!=t.right&&(this.right=n.number(t.right,i.right,r)),this};yt.prototype.getCenter=function(t,i){var r=n.clamp((this.left+t-this.right)/2,0,t),u=n.clamp((this.top+i-this.bottom)/2,0,i);return new n.Point(r,u)};yt.prototype.equals=function(n){return this.top===n.top&&this.bottom===n.bottom&&this.left===n.left&&this.right===n.right};yt.prototype.clone=function(){return new yt(this.top,this.bottom,this.left,this.right)};yt.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};u=function(t,i,r,u,f){this.tileSize=512;this.maxValidLatitude=85.051129;this._renderWorldCopies=void 0===f||f;this._minZoom=t||0;this._maxZoom=i||22;this._minPitch=null==r?0:r;this._maxPitch=null==u?60:u;this.setMaxBounds();this.width=0;this.height=0;this._center=new n.LngLat(0,0);this.zoom=0;this.angle=0;this._fov=.64350110879328437;this._pitch=0;this._unmodified=!0;this._edgeInsets=new yt;this._posMatrixCache={};this._alignedPosMatrixCache={}};e={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};u.prototype.clone=function(){var n=new u(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return n.tileSize=this.tileSize,n.latRange=this.latRange,n.width=this.width,n.height=this.height,n._center=this._center,n.zoom=this.zoom,n.angle=this.angle,n._fov=this._fov,n._pitch=this._pitch,n._unmodified=this._unmodified,n._edgeInsets=this._edgeInsets.clone(),n._calcMatrices(),n};e.minZoom.get=function(){return this._minZoom};e.minZoom.set=function(n){this._minZoom!==n&&(this._minZoom=n,this.zoom=Math.max(this.zoom,n))};e.maxZoom.get=function(){return this._maxZoom};e.maxZoom.set=function(n){this._maxZoom!==n&&(this._maxZoom=n,this.zoom=Math.min(this.zoom,n))};e.minPitch.get=function(){return this._minPitch};e.minPitch.set=function(n){this._minPitch!==n&&(this._minPitch=n,this.pitch=Math.max(this.pitch,n))};e.maxPitch.get=function(){return this._maxPitch};e.maxPitch.set=function(n){this._maxPitch!==n&&(this._maxPitch=n,this.pitch=Math.min(this.pitch,n))};e.renderWorldCopies.get=function(){return this._renderWorldCopies};e.renderWorldCopies.set=function(n){void 0===n?n=!0:null===n&&(n=!1);this._renderWorldCopies=n};e.worldSize.get=function(){return this.tileSize*this.scale};e.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))};e.size.get=function(){return new n.Point(this.width,this.height)};e.bearing.get=function(){return-this.angle/Math.PI*180};e.bearing.set=function(t){var i=-n.wrap(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=n.create$2(),n.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))};e.pitch.get=function(){return this._pitch/Math.PI*180};e.pitch.set=function(t){var i=n.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())};e.fov.get=function(){return this._fov/Math.PI*180};e.fov.set=function(n){n=Math.max(.01,Math.min(60,n));this._fov!==n&&(this._unmodified=!1,this._fov=n/180*Math.PI,this._calcMatrices())};e.zoom.get=function(){return this._zoom};e.zoom.set=function(n){var t=Math.min(Math.max(n,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.scale=this.zoomScale(t),this.tileZoom=Math.floor(t),this.zoomFraction=t-this.tileZoom,this._constrain(),this._calcMatrices())};e.center.get=function(){return this._center};e.center.set=function(n){n.lat===this._center.lat&&n.lng===this._center.lng||(this._unmodified=!1,this._center=n,this._constrain(),this._calcMatrices())};e.padding.get=function(){return this._edgeInsets.toJSON()};e.padding.set=function(n){this._edgeInsets.equals(n)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,n,1),this._calcMatrices())};e.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)};u.prototype.isPaddingEqual=function(n){return this._edgeInsets.equals(n)};u.prototype.interpolatePadding=function(n,t,i){this._unmodified=!1;this._edgeInsets.interpolate(n,t,i);this._constrain();this._calcMatrices()};u.prototype.coveringZoomLevel=function(n){var t=(n.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/n.tileSize));return Math.max(0,t)};u.prototype.getVisibleUnwrappedCoordinates=function(t){var r=[new n.UnwrappedTileID(0,t)];if(this._renderWorldCopies)for(var u=this.pointCoordinate(new n.Point(0,0)),f=this.pointCoordinate(new n.Point(this.width,0)),e=this.pointCoordinate(new n.Point(this.width,this.height)),o=this.pointCoordinate(new n.Point(0,this.height)),s=Math.floor(Math.min(u.x,f.x,e.x,o.x)),h=Math.floor(Math.max(u.x,f.x,e.x,o.x)),i=s-1;i<=h+1;i++)0!==i&&r.push(new n.UnwrappedTileID(i,t));return r};u.prototype.coveringTiles=function(t){var r=this.coveringZoomLevel(t),g=r,o,y,f,k,d;if(void 0!==t.minzoom&&r<t.minzoom)return[];void 0!==t.maxzoom&&r>t.maxzoom&&(r=t.maxzoom);var p=n.MercatorCoordinate.fromLngLat(this.center),e=Math.pow(2,r),s=[e*p.x,e*p.y,0],nt=fu.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),w=t.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(w=r);var h=function(n){return{aabb:new ui([n*e,0,0],[(n+1)*e,e,0]),zoom:0,x:0,y:0,wrap:n,fullyVisible:!1}},u=[],b=[],c=r,tt=t.reparseOverscaled?g:r;if(this._renderWorldCopies)for(o=1;o<=3;o++)u.push(h(-o)),u.push(h(o));for(u.push(h(0));u.length>0;){var i=u.pop(),l=i.x,a=i.y,v=i.fullyVisible;if(!v){if(y=i.aabb.intersects(nt),0===y)continue;v=2===y}var it=i.aabb.distanceX(s),rt=i.aabb.distanceY(s),ut=Math.max(Math.abs(it),Math.abs(rt));if(i.zoom===c||ut>3+(1<<c-i.zoom)-2&&i.zoom>=w)b.push({tileID:new n.OverscaledTileID(i.zoom===c?tt:i.zoom,i.wrap,i.zoom,l,a),distanceSq:n.sqrLen([s[0]-.5-l,s[1]-.5-a])});else for(f=0;f<4;f++)k=(l<<1)+f%2,d=(a<<1)+(f>>1),u.push({aabb:i.aabb.quadrant(f),zoom:i.zoom+1,x:k,y:d,wrap:i.wrap,fullyVisible:v})}return b.sort(function(n,t){return n.distanceSq-t.distanceSq}).map(function(n){return n.tileID})};u.prototype.resize=function(n,t){this.width=n;this.height=t;this.pixelsToGLUnits=[2/n,-2/t];this._constrain();this._calcMatrices()};e.unmodified.get=function(){return this._unmodified};u.prototype.zoomScale=function(n){return Math.pow(2,n)};u.prototype.scaleZoom=function(n){return Math.log(n)/Math.LN2};u.prototype.project=function(t){var i=n.clamp(t.lat,-this.maxValidLatitude,this.maxValidLatitude);return new n.Point(n.mercatorXfromLng(t.lng)*this.worldSize,n.mercatorYfromLat(i)*this.worldSize)};u.prototype.unproject=function(t){return new n.MercatorCoordinate(t.x/this.worldSize,t.y/this.worldSize).toLngLat()};e.point.get=function(){return this.project(this.center)};u.prototype.setLocationAtPoint=function(t,i){var r=this.pointCoordinate(i),u=this.pointCoordinate(this.centerPoint),f=this.locationCoordinate(t),e=new n.MercatorCoordinate(f.x-(r.x-u.x),f.y-(r.y-u.y));this.center=this.coordinateLocation(e);this._renderWorldCopies&&(this.center=this.center.wrap())};u.prototype.locationPoint=function(n){return this.coordinatePoint(this.locationCoordinate(n))};u.prototype.pointLocation=function(n){return this.coordinateLocation(this.pointCoordinate(n))};u.prototype.locationCoordinate=function(t){return n.MercatorCoordinate.fromLngLat(t)};u.prototype.coordinateLocation=function(n){return n.toLngLat()};u.prototype.pointCoordinate=function(t){var i=[t.x,t.y,0,1],r=[t.x,t.y,1,1];n.transformMat4(i,i,this.pixelMatrixInverse);n.transformMat4(r,r,this.pixelMatrixInverse);var u=i[3],f=r[3],h=i[1]/u,c=r[1]/f,e=i[2]/u,o=r[2]/f,s=e===o?0:(0-e)/(o-e);return new n.MercatorCoordinate(n.number(i[0]/u,r[0]/f,s)/this.worldSize,n.number(h,c,s)/this.worldSize)};u.prototype.coordinatePoint=function(t){var i=[t.x*this.worldSize,t.y*this.worldSize,0,1];return n.transformMat4(i,i,this.pixelMatrix),new n.Point(i[0]/i[3],i[1]/i[3])};u.prototype.getBounds=function(){return(new n.LngLatBounds).extend(this.pointLocation(new n.Point(0,0))).extend(this.pointLocation(new n.Point(this.width,0))).extend(this.pointLocation(new n.Point(this.width,this.height))).extend(this.pointLocation(new n.Point(0,this.height)))};u.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new n.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null};u.prototype.setMaxBounds=function(n){n?(this.lngRange=[n.getWest(),n.getEast()],this.latRange=[n.getSouth(),n.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])};u.prototype.calculatePosMatrix=function(t,i){var u,f;if(void 0===i&&(i=!1),u=t.key,f=i?this._alignedPosMatrixCache:this._posMatrixCache,f[u])return f[u];var e=t.canonical,o=this.worldSize/this.zoomScale(e.z),s=e.x+Math.pow(2,e.z)*t.wrap,r=n.identity(new Float64Array(16));return n.translate(r,r,[s*o,e.y*o,0]),n.scale(r,r,[o/n.EXTENT,o/n.EXTENT,1]),n.multiply(r,i?this.alignedProjMatrix:this.projMatrix,r),f[u]=new Float32Array(r),f[u]};u.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()};u.prototype._constrain=function(){var v,y,t,p,w,h,b,c;if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var l,a,f,e,i=-90,o=90,r=-180,s=180,u=this.size,k=this._unmodified;if(this.latRange&&(v=this.latRange,i=n.mercatorYfromLat(v[1])*this.worldSize,l=(o=n.mercatorYfromLat(v[0])*this.worldSize)-i<u.y?u.y/(o-i):0),this.lngRange&&(y=this.lngRange,r=n.mercatorXfromLng(y[0])*this.worldSize,a=(s=n.mercatorXfromLng(y[1])*this.worldSize)-r<u.x?u.x/(s-r):0),t=this.point,p=Math.max(a||0,l||0),p)return this.center=this.unproject(new n.Point(a?(s+r)/2:t.x,l?(o+i)/2:t.y)),this.zoom+=this.scaleZoom(p),this._unmodified=k,void(this._constraining=!1);this.latRange&&(w=t.y,h=u.y/2,w-h<i&&(e=i+h),w+h>o&&(e=o-h));this.lngRange&&(b=t.x,c=u.x/2,b-c<r&&(f=r+c),b+c>s&&(f=s-c));void 0===f&&void 0===e||(this.center=this.unproject(new n.Point(void 0!==f?f:t.x,void 0!==e?e:t.y)));this._unmodified=k;this._constraining=!1}};u.prototype._calcMatrices=function(){var i;if(this.height){i=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var y=Math.PI/2+this._pitch,s=this._fov*(.5+i.y/this.height),p=Math.sin(s)*this.cameraToCenterDistance/Math.sin(n.clamp(Math.PI-y-s,.01,Math.PI-.01)),h=this.point,r=h.x,u=h.y,w=1.01*(Math.cos(Math.PI/2-this._pitch)*p+this.cameraToCenterDistance),b=this.height/50,t=new Float64Array(16);n.perspective(t,this._fov,this.width/this.height,b,w);t[8]=2*-i.x/this.width;t[9]=2*i.y/this.height;n.scale(t,t,[1,-1,1]);n.translate(t,t,[0,0,-this.cameraToCenterDistance]);n.rotateX(t,t,this._pitch);n.rotateZ(t,t,this.angle);n.translate(t,t,[-r,-u,0]);this.mercatorMatrix=n.scale([],t,[this.worldSize,this.worldSize,this.worldSize]);n.scale(t,t,[1,1,n.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]);this.projMatrix=t;this.invProjMatrix=n.invert([],this.projMatrix);var c=this.width%2/2,l=this.height%2/2,a=Math.cos(this.angle),v=Math.sin(this.angle),f=r-Math.round(r)+a*c+v*l,e=u-Math.round(u)+a*l+v*c,o=new Float64Array(t);if(n.translate(o,o,[f>.5?f-1:f,e>.5?e-1:e,0]),this.alignedProjMatrix=o,t=n.create(),n.scale(t,t,[this.width/2,-this.height/2,1]),n.translate(t,t,[1,-1,0]),this.labelPlaneMatrix=t,t=n.create(),n.scale(t,t,[1,-1,1]),n.translate(t,t,[-1,-1,0]),n.scale(t,t,[2/this.width,2/this.height,1]),this.glCoordMatrix=t,this.pixelMatrix=n.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(t=n.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=t;this._posMatrixCache={};this._alignedPosMatrixCache={}}};u.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var t=this.pointCoordinate(new n.Point(0,0)),i=[t.x*this.worldSize,t.y*this.worldSize,0,1];return n.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance};u.prototype.getCameraPoint=function(){var t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new n.Point(0,t))};u.prototype.getCameraQueryGeometry=function(t){var i=this.getCameraPoint(),f;if(1===t.length)return[t[0],i];for(var r=i.x,u=i.y,e=i.x,o=i.y,s=0,h=t;s<h.length;s+=1)f=h[s],r=Math.min(r,f.x),u=Math.min(u,f.y),e=Math.max(e,f.x),o=Math.max(o,f.y);return[new n.Point(r,u),new n.Point(e,u),new n.Point(e,o),new n.Point(r,o),new n.Point(r,u)]};Object.defineProperties(u.prototype,e);pt=function(t){var f,r,i,u;this._hashName=t&&encodeURIComponent(t);n.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this);this._updateHash=(f=this._updateHashUnthrottled.bind(this),r=!1,i=null,u=function(){i=null;r&&(f(),i=setTimeout(u,300),r=!1)},function(){return r=!0,i||u(),i})};pt.prototype.addTo=function(t){return this._map=t,n.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this};pt.prototype.remove=function(){return n.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this};pt.prototype.getHashString=function(t){var e=this._map.getCenter(),u=Math.round(100*this._map.getZoom())/100,v=Math.ceil((u*Math.LN2+Math.log(512/360/.5))/Math.LN10),r=Math.pow(10,v),o=Math.round(e.lng*r)/r,s=Math.round(e.lat*r)/r,h=this._map.getBearing(),f=this._map.getPitch(),i="";if(i+=t?"/"+o+"/"+s+"/"+u:u+"/"+s+"/"+o,(h||f)&&(i+="/"+Math.round(10*h)/10),f&&(i+="/"+Math.round(f)),this._hashName){var c=this._hashName,l=!1,a=n.window.location.hash.slice(1).split("&").map(function(n){var t=n.split("=")[0];return t===c?(l=!0,t+"="+i):n}).filter(function(n){return n});return l||a.push(c+"="+i),"#"+a.join("&")}return"#"+i};pt.prototype._getCurrentHash=function(){var t,r=this,i=n.window.location.hash.replace("#","");return this._hashName?(i.split("&").map(function(n){return n.split("=")}).forEach(function(n){n[0]===r._hashName&&(t=n)}),(t&&t[1]||"").split("/")):i.split("/")};pt.prototype._onHashChange=function(){var n=this._getCurrentHash(),t;return n.length>=3&&!n.some(function(n){return isNaN(n)})?(t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(n[3]||0):this._map.getBearing(),this._map.jumpTo({center:[+n[2],+n[1]],zoom:+n[0],bearing:t,pitch:+(n[4]||0)}),!0):!1};pt.prototype._updateHashUnthrottled=function(){var t=this.getHashString();try{n.window.history.replaceState(n.window.history.state,"",t)}catch(n){}};var eu={linearity:.3,easing:n.bezier(0,0,.3,1)},sy=n.extend({deceleration:2500,maxSpeed:1400},eu),hy=n.extend({deceleration:20,maxSpeed:1400},eu),cy=n.extend({deceleration:1e3,maxSpeed:360},eu),ly=n.extend({deceleration:1e3,maxSpeed:90},eu),hr=function(n){this._map=n;this.clear()};hr.prototype.clear=function(){this._inertiaBuffer=[]};hr.prototype.record=function(t){this._drainInertiaBuffer();this._inertiaBuffer.push({time:n.browser.now(),settings:t})};hr.prototype._drainInertiaBuffer=function(){for(var t=this._inertiaBuffer,i=n.browser.now();t.length>0&&i-t[0].time>160;)t.shift()};hr.prototype._onMoveEnd=function(t){var u,f,r,o,s,h,c,l;if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var i={zoom:0,bearing:0,pitch:0,pan:new n.Point(0,0),pinchAround:void 0,around:void 0},e=0,a=this._inertiaBuffer;e<a.length;e+=1)u=a[e].settings,i.zoom+=u.zoomDelta||0,i.bearing+=u.bearingDelta||0,i.pitch+=u.pitchDelta||0,u.panDelta&&i.pan._add(u.panDelta),u.around&&(i.around=u.around),u.pinchAround&&(i.pinchAround=u.pinchAround);return f=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,r={},i.pan.mag()&&(o=su(i.pan.mag(),f,n.extend({},sy,t||{})),r.offset=i.pan.mult(o.amount/i.pan.mag()),r.center=this._map.transform.center,ou(r,o)),i.zoom&&(s=su(i.zoom,f,hy),r.zoom=this._map.transform.zoom+s.amount,ou(r,s)),i.bearing&&(h=su(i.bearing,f,cy),r.bearing=this._map.transform.bearing+n.clamp(h.amount,-179,179),ou(r,h)),i.pitch&&(c=su(i.pitch,f,ly),r.pitch=this._map.transform.pitch+c.amount,ou(r,c)),(r.zoom||r.bearing)&&(l=void 0===i.pinchAround?i.around:i.pinchAround,r.around=l?this._map.unproject(l):this._map.getCenter()),this.clear(),n.extend(r,{noMoveStart:!0})}};var rt=function(i){function r(r,u,f,e){void 0===e&&(e={});var o=t.mousePos(u.getCanvasContainer(),f),s=u.unproject(o);i.call(this,r,n.extend({point:o,lngLat:s,originalEvent:f},e));this._defaultPrevented=!1;this.target=u}i&&(r.__proto__=i);(r.prototype=Object.create(i&&i.prototype)).constructor=r;var u={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},u.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,u),r}(n.Event),hu=function(i){function r(r,u,f){var s="touchend"===r?f.changedTouches:f.touches,e=t.touchPos(u.getCanvasContainer(),s),h=e.map(function(n){return u.unproject(n)}),o=e.reduce(function(n,t,i,r){return n.add(t.div(r.length))},new n.Point(0,0)),c=u.unproject(o);i.call(this,r,{points:e,point:o,lngLats:h,lngLat:c,originalEvent:f});this._defaultPrevented=!1}i&&(r.__proto__=i);(r.prototype=Object.create(i&&i.prototype)).constructor=r;var u={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},u.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,u),r}(n.Event),ay=function(n){function t(t,i,r){n.call(this,t,{originalEvent:r});this._defaultPrevented=!1}n&&(t.__proto__=n);(t.prototype=Object.create(n&&n.prototype)).constructor=t;var i={defaultPrevented:{configurable:!0}};return t.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(t.prototype,i),t}(n.Event),y=function(n,t){this._map=n;this._clickTolerance=t.clickTolerance};y.prototype.reset=function(){delete this._mousedownPos};y.prototype.wheel=function(n){return this._firePreventable(new ay(n.type,this._map,n))};y.prototype.mousedown=function(n,t){return this._mousedownPos=t,this._firePreventable(new rt(n.type,this._map,n))};y.prototype.mouseup=function(n){this._map.fire(new rt(n.type,this._map,n))};y.prototype.click=function(n,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new rt(n.type,this._map,n))};y.prototype.dblclick=function(n){return this._firePreventable(new rt(n.type,this._map,n))};y.prototype.mouseover=function(n){this._map.fire(new rt(n.type,this._map,n))};y.prototype.mouseout=function(n){this._map.fire(new rt(n.type,this._map,n))};y.prototype.touchstart=function(n){return this._firePreventable(new hu(n.type,this._map,n))};y.prototype.touchmove=function(n){this._map.fire(new hu(n.type,this._map,n))};y.prototype.touchend=function(n){this._map.fire(new hu(n.type,this._map,n))};y.prototype.touchcancel=function(n){this._map.fire(new hu(n.type,this._map,n))};y.prototype._firePreventable=function(n){if(this._map.fire(n),n.defaultPrevented)return{}};y.prototype.isEnabled=function(){return!0};y.prototype.isActive=function(){return!1};y.prototype.enable=function(){};y.prototype.disable=function(){};et=function(n){this._map=n};et.prototype.reset=function(){this._delayContextMenu=!1;delete this._contextMenuEvent};et.prototype.mousemove=function(n){this._map.fire(new rt(n.type,this._map,n))};et.prototype.mousedown=function(){this._delayContextMenu=!0};et.prototype.mouseup=function(){this._delayContextMenu=!1;this._contextMenuEvent&&(this._map.fire(new rt("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)};et.prototype.contextmenu=function(n){this._delayContextMenu?this._contextMenuEvent=n:this._map.fire(new rt(n.type,this._map,n));this._map.listens("contextmenu")&&n.preventDefault()};et.prototype.isEnabled=function(){return!0};et.prototype.isActive=function(){return!1};et.prototype.enable=function(){};et.prototype.disable=function(){};ut=function(n,t){this._map=n;this._el=n.getCanvasContainer();this._container=n.getContainer();this._clickTolerance=t.clickTolerance||1};ut.prototype.isEnabled=function(){return!!this._enabled};ut.prototype.isActive=function(){return!!this._active};ut.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)};ut.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)};ut.prototype.mousedown=function(n,i){this.isEnabled()&&n.shiftKey&&0===n.button&&(t.disableDrag(),this._startPos=this._lastPos=i,this._active=!0)};ut.prototype.mousemoveWindow=function(n,i){var r,u;if(this._active&&(r=i,!(this._lastPos.equals(r)||!this._box&&r.dist(this._startPos)<this._clickTolerance))){u=this._startPos;this._lastPos=r;this._box||(this._box=t.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",n));var f=Math.min(u.x,r.x),o=Math.max(u.x,r.x),e=Math.min(u.y,r.y),s=Math.max(u.y,r.y);t.setTransform(this._box,"translate("+f+"px,"+e+"px)");this._box.style.width=o-f+"px";this._box.style.height=s-e+"px"}};ut.prototype.mouseupWindow=function(i,r){var e=this,u,f;if(this._active&&0===i.button){if(u=this._startPos,f=r,this.reset(),t.suppressClick(),u.x!==f.x||u.y!==f.y)return this._map.fire(new n.Event("boxzoomend",{originalEvent:i})),{cameraAnimation:function(n){return n.fitScreenCoordinates(u,f,e._map.getBearing(),{linear:!0})}};this._fireEvent("boxzoomcancel",i)}};ut.prototype.keydown=function(n){this._active&&27===n.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",n))};ut.prototype.reset=function(){this._active=!1;this._container.classList.remove("mapboxgl-crosshair");this._box&&(t.remove(this._box),this._box=null);t.enableDrag();delete this._startPos;delete this._lastPos};ut.prototype._fireEvent=function(t,i){return this._map.fire(new n.Event(t,{originalEvent:i}))};li=function(n){this.reset();this.numTouches=n.numTouches};li.prototype.reset=function(){delete this.centroid;delete this.startTime;delete this.touches;this.aborted=!1};li.prototype.touchstart=function(t,i,r){(this.centroid||r.length>this.numTouches)&&(this.aborted=!0);this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),r.length===this.numTouches&&(this.centroid=function(t){for(var r=new n.Point(0,0),i=0,u=t;i<u.length;i+=1)r._add(u[i]);return r.div(t.length)}(i),this.touches=of(r,i)))};li.prototype.touchmove=function(n,t,i){var f,r,u;if(!this.aborted&&this.centroid){f=of(i,t);for(r in this.touches)u=f[r],(!u||u.dist(this.touches[r])>30)&&(this.aborted=!0)}};li.prototype.touchend=function(n,t,i){if((!this.centroid||n.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){var r=!this.aborted&&this.centroid;if(this.reset(),r)return r}};wt=function(n){this.singleTap=new li(n);this.numTaps=n.numTaps;this.reset()};wt.prototype.reset=function(){this.lastTime=1/0;delete this.lastTap;this.count=0;this.singleTap.reset()};wt.prototype.touchstart=function(n,t,i){this.singleTap.touchstart(n,t,i)};wt.prototype.touchmove=function(n,t,i){this.singleTap.touchmove(n,t,i)};wt.prototype.touchend=function(n,t,i){var r=this.singleTap.touchend(n,t,i),u,f;if(r&&(u=n.timeStamp-this.lastTime<500,f=!this.lastTap||this.lastTap.dist(r)<30,u&&f||this.reset(),this.count++,this.lastTime=n.timeStamp,this.lastTap=r,this.count===this.numTaps))return this.reset(),r};ot=function(){this._zoomIn=new wt({numTouches:1,numTaps:2});this._zoomOut=new wt({numTouches:2,numTaps:1});this.reset()};ot.prototype.reset=function(){this._active=!1;this._zoomIn.reset();this._zoomOut.reset()};ot.prototype.touchstart=function(n,t,i){this._zoomIn.touchstart(n,t,i);this._zoomOut.touchstart(n,t,i)};ot.prototype.touchmove=function(n,t,i){this._zoomIn.touchmove(n,t,i);this._zoomOut.touchmove(n,t,i)};ot.prototype.touchend=function(n,t,i){var r=this,u=this._zoomIn.touchend(n,t,i),f=this._zoomOut.touchend(n,t,i);return u?(this._active=!0,n.preventDefault(),setTimeout(function(){return r.reset()},0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(u)},{originalEvent:n})}}):f?(this._active=!0,n.preventDefault(),setTimeout(function(){return r.reset()},0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(f)},{originalEvent:n})}}):void 0};ot.prototype.touchcancel=function(){this.reset()};ot.prototype.enable=function(){this._enabled=!0};ot.prototype.disable=function(){this._enabled=!1;this.reset()};ot.prototype.isEnabled=function(){return this._enabled};ot.prototype.isActive=function(){return this._active};fs={0:1,2:2};d=function(n){this.reset();this._clickTolerance=n.clickTolerance||1};d.prototype.reset=function(){this._active=!1;this._moved=!1;delete this._lastPoint;delete this._eventButton};d.prototype._correctButton=function(){return!1};d.prototype._move=function(){return{}};d.prototype.mousedown=function(n,i){if(!this._lastPoint){var r=t.mouseButton(n);this._correctButton(n,r)&&(this._lastPoint=i,this._eventButton=r)}};d.prototype.mousemoveWindow=function(n,t){var i=this._lastPoint;if(i)if(n.preventDefault(),function(n,t){var i=fs[t];return void 0===n.buttons||(n.buttons&i)!==i}(n,this._eventButton))this.reset();else if(this._moved||!(t.dist(i)<this._clickTolerance))return this._moved=!0,this._lastPoint=t,this._move(i,t)};d.prototype.mouseupWindow=function(n){this._lastPoint&&t.mouseButton(n)===this._eventButton&&(this._moved&&t.suppressClick(),this.reset())};d.prototype.enable=function(){this._enabled=!0};d.prototype.disable=function(){this._enabled=!1;this.reset()};d.prototype.isEnabled=function(){return this._enabled};d.prototype.isActive=function(){return this._active};var vy=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.mousedown=function(t,i){n.prototype.mousedown.call(this,t,i);this._lastPoint&&(this._active=!0)},t.prototype._correctButton=function(n,t){return 0===t&&!n.ctrlKey},t.prototype._move=function(n,t){return{around:t,panDelta:t.sub(n)}},t}(d),es=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._correctButton=function(n,t){return 0===t&&n.ctrlKey||2===t},t.prototype._move=function(n,t){var i=.8*(t.x-n.x);if(i)return this._active=!0,{bearingDelta:i}},t.prototype.contextmenu=function(n){n.preventDefault()},t}(d),os=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype._correctButton=function(n,t){return 0===t&&n.ctrlKey||2===t},t.prototype._move=function(n,t){var i=-.5*(t.y-n.y);if(i)return this._active=!0,{pitchDelta:i}},t.prototype.contextmenu=function(n){n.preventDefault()},t}(d),st=function(n){this._minTouches=1;this._clickTolerance=n.clickTolerance||1;this.reset()};st.prototype.reset=function(){this._active=!1;this._touches={};this._sum=new n.Point(0,0)};st.prototype.touchstart=function(n,t,i){return this._calculateTransform(n,t,i)};st.prototype.touchmove=function(n,t,i){if(this._active)return n.preventDefault(),this._calculateTransform(n,t,i)};st.prototype.touchend=function(n,t,i){this._calculateTransform(n,t,i);this._active&&i.length<this._minTouches&&this.reset()};st.prototype.touchcancel=function(){this.reset()};st.prototype._calculateTransform=function(t,i,r){var e,o,h,c;r.length>0&&(this._active=!0);var u=of(r,i),l=new n.Point(0,0),s=new n.Point(0,0),f=0;for(e in u)o=u[e],h=this._touches[e],h&&(l._add(o),s._add(o.sub(h)),f++,u[e]=o);if((this._touches=u,!(f<this._minTouches)&&s.mag())&&(c=s.div(f),this._sum._add(c),!(this._sum.mag()<this._clickTolerance)))return{around:l.div(f),panDelta:c}};st.prototype.enable=function(){this._enabled=!0};st.prototype.disable=function(){this._enabled=!1;this.reset()};st.prototype.isEnabled=function(){return this._enabled};st.prototype.isActive=function(){return this._active};b=function(){this.reset()};b.prototype.reset=function(){this._active=!1;delete this._firstTwoTouches};b.prototype._start=function(){};b.prototype._move=function(){return{}};b.prototype.touchstart=function(n,t,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([t[0],t[1]]))};b.prototype.touchmove=function(n,t,i){var e;if(this._firstTwoTouches){n.preventDefault();var f=this._firstTwoTouches,o=f[1],r=cu(i,t,f[0]),u=cu(i,t,o);if(r&&u)return e=this._aroundCenter?null:r.add(u).div(2),this._move([r,u],e,n)}};b.prototype.touchend=function(n,i,r){if(this._firstTwoTouches){var u=this._firstTwoTouches,f=u[1],e=cu(r,i,u[0]),o=cu(r,i,f);e&&o||(this._active&&t.suppressClick(),this.reset())}};b.prototype.touchcancel=function(){this.reset()};b.prototype.enable=function(n){this._enabled=!0;this._aroundCenter=!!n&&"center"===n.around};b.prototype.disable=function(){this._enabled=!1;this.reset()};b.prototype.isEnabled=function(){return this._enabled};b.prototype.isActive=function(){return this._active};hs=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.reset=function(){n.prototype.reset.call(this);delete this._distance;delete this._startDistance},t.prototype._start=function(n){this._startDistance=this._distance=n[0].dist(n[1])},t.prototype._move=function(n,t){var i=this._distance;if(this._distance=n[0].dist(n[1]),this._active||!(Math.abs(ss(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:ss(this._distance,i),pinchAround:t}},t}(b);ls=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.reset=function(){n.prototype.reset.call(this);delete this._minDiameter;delete this._startVector;delete this._vector},t.prototype._start=function(n){this._startVector=this._vector=n[0].sub(n[1]);this._minDiameter=n[0].dist(n[1])},t.prototype._move=function(n,t){var i=this._vector;if(this._vector=n[0].sub(n[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:cs(this._vector,i),pinchAround:t}},t.prototype._isBelowThreshold=function(n){this._minDiameter=Math.min(this._minDiameter,n.mag());var t=9e3/(Math.PI*this._minDiameter),i=cs(n,this._startVector);return Math.abs(i)<t},t}(b);var yy=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t.prototype.reset=function(){n.prototype.reset.call(this);this._valid=void 0;delete this._firstMove;delete this._lastPoints},t.prototype._start=function(n){this._lastPoints=n;sf(n[0].sub(n[1]))&&(this._valid=!1)},t.prototype._move=function(n,t,i){var r=n[0].sub(this._lastPoints[0]),u=n[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(r,u,i.timeStamp),this._valid)return this._lastPoints=n,this._active=!0,{pitchDelta:(r.y+u.y)/2*-.5}},t.prototype.gestureBeginsVertically=function(n,t,i){var r,u,f;return void 0!==this._valid?this._valid:(r=n.mag()>=2,u=t.mag()>=2,r||u?!r||!u?(void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0):(f=n.y>0==t.y>0,sf(n)&&sf(t)&&f):void 0)},t}(b),py={panStep:100,bearingStep:15,pitchStep:10},fi=function(){var n=py;this._panStep=n.panStep;this._bearingStep=n.bearingStep;this._pitchStep=n.pitchStep};fi.prototype.reset=function(){this._active=!1};fi.prototype.keydown=function(n){var t=this;if(!(n.altKey||n.ctrlKey||n.metaKey)){var i=0,r=0,u=0,f=0,e=0;switch(n.keyCode){case 61:case 107:case 171:case 187:i=1;break;case 189:case 109:case 173:i=-1;break;case 37:n.shiftKey?r=-1:(n.preventDefault(),f=-1);break;case 39:n.shiftKey?r=1:(n.preventDefault(),f=1);break;case 38:n.shiftKey?u=1:(n.preventDefault(),e=-1);break;case 40:n.shiftKey?u=-1:(n.preventDefault(),e=1);break;default:return}return{cameraAnimation:function(o){var s=o.getZoom();o.easeTo({duration:300,easeId:"keyboardHandler",easing:wy,zoom:i?Math.round(s)+i*(n.shiftKey?2:1):s,bearing:o.getBearing()+r*t._bearingStep,pitch:o.getPitch()+u*t._pitchStep,offset:[-f*t._panStep,-e*t._panStep],center:o.getCenter()},{originalEvent:n})}}}};fi.prototype.enable=function(){this._enabled=!0};fi.prototype.disable=function(){this._enabled=!1;this.reset()};fi.prototype.isEnabled=function(){return this._enabled};fi.prototype.isActive=function(){return this._active};p=function(t,i){this._map=t;this._el=t.getCanvasContainer();this._handler=i;this._delta=0;this._defaultZoomRate=.01;this._wheelZoomRate=1/450;n.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};p.prototype.setZoomRate=function(n){this._defaultZoomRate=n};p.prototype.setWheelZoomRate=function(n){this._wheelZoomRate=n};p.prototype.isEnabled=function(){return!!this._enabled};p.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout};p.prototype.isZooming=function(){return!!this._zooming};p.prototype.enable=function(n){this.isEnabled()||(this._enabled=!0,this._aroundCenter=n&&"center"===n.around)};p.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)};p.prototype.wheel=function(t){if(this.isEnabled()){var i=t.deltaMode===n.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY,r=n.browser.now(),u=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r;0!==i&&i%4.000244140625==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":u>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(u*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue));t.shiftKey&&i&&(i/=4);this._type&&(this._lastWheelEvent=t,this._delta-=i,this._active||this._start(t));t.preventDefault()}};p.prototype._onTimeout=function(n){this._type="wheel";this._delta-=this._lastValue;this._active||this._start(n)};p.prototype._start=function(i){if(this._delta){this._frameId&&(this._frameId=null);this._active=!0;this.isZooming()||(this._zooming=!0);this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var r=t.mousePos(this._el,i);this._around=n.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(r));this._aroundPoint=this._map.transform.locationPoint(this._around);this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}};p.prototype.renderFrame=function(){return this._onScrollFrame()};p.prototype._onScrollFrame=function(){var r=this,t,o,i,s,e,a;if(this._frameId&&(this._frameId=null,this.isActive())){t=this._map.transform;0!==this._delta&&(o="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*o))),this._delta<0&&0!==i&&(i=1/i),s="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale,this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(s*i))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0);var f,h="number"==typeof this._targetZoom?this._targetZoom:t.zoom,c=this._startZoom,l=this._easing,u=!1;return"wheel"===this._type&&c&&l?(e=Math.min((n.browser.now()-this._lastWheelEventTime)/200,1),a=l(e),f=n.number(c,h,a),e<1?this._frameId||(this._frameId=!0):u=!0):(f=h,u=!0),this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout(function(){r._zooming=!1;r._handler._triggerRenderFrame();delete r._targetZoom;delete r._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:f-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}};p.prototype._smoothOutEasing=function(t){var r=n.ease;if(this._prevEase){var i=this._prevEase,f=(n.browser.now()-i.start)/i.duration,e=i.easing(f+.01)-i.easing(f),u=.27/Math.sqrt(e*e+.0001)*.01,o=Math.sqrt(.0729-u*u);r=n.bezier(u,o,.25,1)}return this._prevEase={start:n.browser.now(),duration:t,easing:r},r};p.prototype.reset=function(){this._active=!1};ai=function(n,t){this._clickZoom=n;this._tapZoom=t};ai.prototype.enable=function(){this._clickZoom.enable();this._tapZoom.enable()};ai.prototype.disable=function(){this._clickZoom.disable();this._tapZoom.disable()};ai.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()};ai.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};bt=function(){this.reset()};bt.prototype.reset=function(){this._active=!1};bt.prototype.dblclick=function(n,t){return n.preventDefault(),{cameraAnimation:function(i){i.easeTo({duration:300,zoom:i.getZoom()+(n.shiftKey?-1:1),around:i.unproject(t)},{originalEvent:n})}}};bt.prototype.enable=function(){this._enabled=!0};bt.prototype.disable=function(){this._enabled=!1;this.reset()};bt.prototype.isEnabled=function(){return this._enabled};bt.prototype.isActive=function(){return this._active};ht=function(){this._tap=new wt({numTouches:1,numTaps:1});this.reset()};ht.prototype.reset=function(){this._active=!1;delete this._swipePoint;delete this._swipeTouch;delete this._tapTime;this._tap.reset()};ht.prototype.touchstart=function(n,t,i){this._swipePoint||(this._tapTime&&n.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=t[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(n,t,i))};ht.prototype.touchmove=function(n,t,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;var r=t[0],u=r.y-this._swipePoint.y;return this._swipePoint=r,n.preventDefault(),this._active=!0,{zoomDelta:u/128}}}else this._tap.touchmove(n,t,i)};ht.prototype.touchend=function(n,t,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(n,t,i)&&(this._tapTime=n.timeStamp)};ht.prototype.touchcancel=function(){this.reset()};ht.prototype.enable=function(){this._enabled=!0};ht.prototype.disable=function(){this._enabled=!1;this.reset()};ht.prototype.isEnabled=function(){return this._enabled};ht.prototype.isActive=function(){return this._active};vi=function(n,t,i){this._el=n;this._mousePan=t;this._touchPan=i};vi.prototype.enable=function(n){this._inertiaOptions=n||{};this._mousePan.enable();this._touchPan.enable();this._el.classList.add("mapboxgl-touch-drag-pan")};vi.prototype.disable=function(){this._mousePan.disable();this._touchPan.disable();this._el.classList.remove("mapboxgl-touch-drag-pan")};vi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()};vi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};yi=function(n,t,i){this._pitchWithRotate=n.pitchWithRotate;this._mouseRotate=t;this._mousePitch=i};yi.prototype.enable=function(){this._mouseRotate.enable();this._pitchWithRotate&&this._mousePitch.enable()};yi.prototype.disable=function(){this._mouseRotate.disable();this._mousePitch.disable()};yi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())};yi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};kt=function(n,t,i,r){this._el=n;this._touchZoom=t;this._touchRotate=i;this._tapDragZoom=r;this._rotationDisabled=!1;this._enabled=!0};kt.prototype.enable=function(n){this._touchZoom.enable(n);this._rotationDisabled||this._touchRotate.enable(n);this._tapDragZoom.enable();this._el.classList.add("mapboxgl-touch-zoom-rotate")};kt.prototype.disable=function(){this._touchZoom.disable();this._touchRotate.disable();this._tapDragZoom.disable();this._el.classList.remove("mapboxgl-touch-zoom-rotate")};kt.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()};kt.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()};kt.prototype.disableRotation=function(){this._rotationDisabled=!0;this._touchRotate.disable()};kt.prototype.enableRotation=function(){this._rotationDisabled=!1;this._touchZoom.isEnabled()&&this._touchRotate.enable()};cr=function(n){return n.zoom||n.drag||n.pitch||n.rotate};as=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),(t.prototype=Object.create(n&&n.prototype)).constructor=t,t}(n.Event);a=function(i,r){var u,f,o,e,s;for(this._map=i,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new hr(i),this._bearingSnap=r.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(r),n.bindAll(["handleEvent","handleWindowEvent"],this),u=this._el,this._listeners=[[u,"touchstart",{passive:!0}],[u,"touchmove",{passive:!1}],[u,"touchend",void 0],[u,"touchcancel",void 0],[u,"mousedown",void 0],[u,"mousemove",void 0],[u,"mouseup",void 0],[n.window.document,"mousemove",{capture:!0}],[n.window.document,"mouseup",void 0],[u,"mouseover",void 0],[u,"mouseout",void 0],[u,"dblclick",void 0],[u,"click",void 0],[u,"keydown",{capture:!1}],[u,"keyup",void 0],[u,"wheel",{passive:!1}],[u,"contextmenu",void 0],[n.window,"blur",void 0]],f=0,o=this._listeners;f<o.length;f+=1)e=o[f],s=e[0],t.addEventListener(s,e[1],s===n.window.document?this.handleWindowEvent:this.handleEvent,e[2])};a.prototype.destroy=function(){for(var r,f,i=0,u=this._listeners;i<u.length;i+=1)r=u[i],f=r[0],t.removeEventListener(f,r[1],f===n.window.document?this.handleWindowEvent:this.handleEvent,r[2])};a.prototype._addDefaultHandlers=function(n){var t=this._map,w=t.getCanvasContainer(),b,u,f,e,k,o,s,h,c,l,a,d,g,i,v,r;for(this._add("mapEvent",new y(t,n)),b=t.boxZoom=new ut(t,n),this._add("boxZoom",b),u=new ot,f=new bt,t.doubleClickZoom=new ai(f,u),this._add("tapZoom",u),this._add("clickZoom",f),e=new ht,this._add("tapDragZoom",e),k=t.touchPitch=new yy,this._add("touchPitch",k),o=new es(n),s=new os(n),t.dragRotate=new yi(n,o,s),this._add("mouseRotate",o,["mousePitch"]),this._add("mousePitch",s,["mouseRotate"]),h=new vy(n),c=new st(n),t.dragPan=new vi(w,h,c),this._add("mousePan",h),this._add("touchPan",c,["touchZoom","touchRotate"]),l=new ls,a=new hs,t.touchZoomRotate=new kt(w,a,l,e),this._add("touchRotate",l,["touchPan","touchZoom"]),this._add("touchZoom",a,["touchPan","touchRotate"]),d=t.scrollZoom=new p(t,this),this._add("scrollZoom",d,["mousePan"]),g=t.keyboard=new fi,this._add("keyboard",g),this._add("blockableMapEvent",new et(t)),i=0,v=["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"];i<v.length;i+=1)r=v[i],n.interactive&&n[r]&&t[r].enable(n[r])};a.prototype._add=function(n,t,i){this._handlers.push({handlerName:n,handler:t,allowed:i});this._handlersById[n]=t};a.prototype.stop=function(){if(!this._updatingCamera){for(var n=0,t=this._handlers;n<t.length;n+=1)t[n].handler.reset();this._inertia.clear();this._fireEvents({},{});this._changes=[]}};a.prototype.isActive=function(){for(var n=0,t=this._handlers;n<t.length;n+=1)if(t[n].handler.isActive())return!0;return!1};a.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()};a.prototype.isRotating=function(){return!!this._eventsInProgress.rotate};a.prototype.isMoving=function(){return Boolean(cr(this._eventsInProgress))||this.isZooming()};a.prototype._blockedByActive=function(n,t,i){for(var r in n)if(r!==i&&(!t||t.indexOf(r)<0))return!0;return!1};a.prototype.handleWindowEvent=function(n){this.handleEvent(n,n.type+"Window")};a.prototype._getMapTouches=function(n){for(var i,r=[],t=0,u=n;t<u.length;t+=1)i=u[t],this._el.contains(i.target)&&r.push(i);return r};a.prototype.handleEvent=function(n,i){var u,o,a,v;if("blur"!==n.type){this._updatingCamera=!0;for(var y="renderFrame"===n.type?void 0:n,f={needsRenderFrame:!1},p={},e={},s=n.touches?this._getMapTouches(n.touches):void 0,b=s?t.touchPos(this._el,s):t.mousePos(this._el,n),h=0,w=this._handlers;h<w.length;h+=1){var c=w[h],l=c.handlerName,r=c.handler,k=c.allowed;r.isEnabled()&&(u=void 0,this._blockedByActive(e,k,l)?r.reset():r[i||n.type]&&(u=r[i||n.type](n,b,s),this.mergeHandlerResult(f,p,u,l,y),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||r.isActive())&&(e[l]=r))}o={};for(a in this._previousActiveHandlers)e[a]||(o[a]=y);this._previousActiveHandlers=e;(Object.keys(o).length||hf(f))&&(this._changes.push([f,p,o]),this._triggerRenderFrame());(Object.keys(e).length||hf(f))&&this._map._stop(!0);this._updatingCamera=!1;v=f.cameraAnimation;v&&(this._inertia.clear(),this._fireEvents({},{}),this._changes=[],v(this._map))}else this.stop()};a.prototype.mergeHandlerResult=function(t,i,r,u,f){if(r){n.extend(t,r);var e={handlerName:u,originalEvent:r.originalEvent||f};void 0!==r.zoomDelta&&(i.zoom=e);void 0!==r.panDelta&&(i.drag=e);void 0!==r.pitchDelta&&(i.pitch=e);void 0!==r.bearingDelta&&(i.rotate=e)}};a.prototype._applyChanges=function(){for(var i={},f={},e={},r=0,o=this._changes;r<o.length;r+=1){var u=o[r],t=u[0],s=u[1],h=u[2];t.panDelta&&(i.panDelta=(i.panDelta||new n.Point(0,0))._add(t.panDelta));t.zoomDelta&&(i.zoomDelta=(i.zoomDelta||0)+t.zoomDelta);t.bearingDelta&&(i.bearingDelta=(i.bearingDelta||0)+t.bearingDelta);t.pitchDelta&&(i.pitchDelta=(i.pitchDelta||0)+t.pitchDelta);void 0!==t.around&&(i.around=t.around);void 0!==t.pinchAround&&(i.pinchAround=t.pinchAround);t.noInertia&&(i.noInertia=t.noInertia);n.extend(f,s);n.extend(e,h)}this._updateMapTransform(i,f,e);this._changes=[]};a.prototype._updateMapTransform=function(n,t,i){var f=this._map,u=f.transform,l;if(!hf(n))return this._fireEvents(t,i);var e=n.panDelta,o=n.zoomDelta,s=n.bearingDelta,h=n.pitchDelta,r=n.around,c=n.pinchAround;void 0!==c&&(r=c);f._stop(!0);r=r||f.transform.centerPoint;l=u.pointLocation(e?r.sub(e):r);s&&(u.bearing+=s);h&&(u.pitch+=h);o&&(u.zoom+=o);u.setLocationAtPoint(l,r);this._map._update();n.noInertia||this._inertia.record(n);this._fireEvents(t,i)};a.prototype._fireEvents=function(t,i){var y=this,p=cr(this._eventsInProgress),u=cr(t),s={},r,h,c,l,e,o,a,k,f,v;for(r in t)this._eventsInProgress[r]||(s[r+"start"]=t[r].originalEvent),this._eventsInProgress[r]=t[r];for(h in!p&&u&&this._fireEvent("movestart",u.originalEvent),s)this._fireEvent(h,s[h]);for(c in t.rotate&&(this._bearingChanged=!0),u&&this._fireEvent("move",u.originalEvent),t)this._fireEvent(c,t[c].originalEvent);e={};for(o in this._eventsInProgress){var w=this._eventsInProgress[o],b=w.handlerName,d=w.originalEvent;this._handlersById[b].isActive()||(delete this._eventsInProgress[o],e[o+"end"]=l=i[b]||d)}for(a in e)this._fireEvent(a,e[a]);k=cr(this._eventsInProgress);(p||u)&&!k&&(this._updatingCamera=!0,f=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),v=function(n){return 0!==n&&-y._bearingSnap<n&&n<y._bearingSnap},f?(v(f.bearing||this._map.getBearing())&&(f.bearing=0),this._map.easeTo(f,{originalEvent:l})):(this._map.fire(new n.Event("moveend",{originalEvent:l})),v(this._map.getBearing())&&this._map.resetNorth()),this._bearingChanged=!1,this._updatingCamera=!1)};a.prototype._fireEvent=function(t,i){this._map.fire(new n.Event(t,i?{originalEvent:i}:{}))};a.prototype._triggerRenderFrame=function(){var n=this;void 0===this._frameId&&(this._frameId=this._map._requestRenderFrame(function(t){delete n._frameId;n.handleEvent(new as("renderFrame",{timeStamp:t}));n._applyChanges()}))};vs=function(t){function i(i,r){t.call(this);this._moving=!1;this._zooming=!1;this.transform=i;this._bearingSnap=r.bearingSnap;n.bindAll(["_renderFrameCallback"],this)}return t&&(i.__proto__=t),(i.prototype=Object.create(t&&t.prototype)).constructor=i,i.prototype.getCenter=function(){return new n.LngLat(this.transform.center.lng,this.transform.center.lat)},i.prototype.setCenter=function(n,t){return this.jumpTo({center:n},t)},i.prototype.panBy=function(t,i,r){return t=n.Point.convert(t).mult(-1),this.panTo(this.transform.center,n.extend({offset:t},i),r)},i.prototype.panTo=function(t,i,r){return this.easeTo(n.extend({center:t},i),r)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(n,t){return this.jumpTo({zoom:n},t),this},i.prototype.zoomTo=function(t,i,r){return this.easeTo(n.extend({zoom:t},i),r)},i.prototype.zoomIn=function(n,t){return this.zoomTo(this.getZoom()+1,n,t),this},i.prototype.zoomOut=function(n,t){return this.zoomTo(this.getZoom()-1,n,t),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(n,t){return this.jumpTo({bearing:n},t),this},i.prototype.getPadding=function(){return this.transform.padding},i.prototype.setPadding=function(n,t){return this.jumpTo({padding:n},t),this},i.prototype.rotateTo=function(t,i,r){return this.easeTo(n.extend({bearing:t},i),r)},i.prototype.resetNorth=function(t,i){return this.rotateTo(0,n.extend({duration:1e3},t),i),this},i.prototype.resetNorthPitch=function(t,i){return this.easeTo(n.extend({bearing:0,pitch:0,duration:1e3},t),i),this},i.prototype.snapToNorth=function(n,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(n,t):this},i.prototype.getPitch=function(){return this.transform.pitch},i.prototype.setPitch=function(n,t){return this.jumpTo({pitch:n},t),this},i.prototype.cameraForBounds=function(t,i){return t=n.LngLatBounds.convert(t),this._cameraForBoxAndBearing(t.getNorthWest(),t.getSouthEast(),0,i)},i.prototype._cameraForBoxAndBearing=function(t,i,r,u){var c={top:0,bottom:0,right:0,left:0},e;"number"==typeof(u=n.extend({padding:c,offset:[0,0],maxZoom:this.transform.maxZoom},u)).padding&&(e=u.padding,u.padding={top:e,bottom:e,right:e,left:e});u.padding=n.extend(c,u.padding);var f=this.transform,o=f.padding,l=f.project(n.LngLat.convert(t)),a=f.project(n.LngLat.convert(i)),s=l.rotate(-r*Math.PI/180),h=a.rotate(-r*Math.PI/180),k=new n.Point(Math.max(s.x,h.x),Math.max(s.y,h.y)),d=new n.Point(Math.min(s.x,h.x),Math.min(s.y,h.y)),v=k.sub(d),y=(f.width-(o.left+o.right+u.padding.left+u.padding.right))/v.x,p=(f.height-(o.top+o.bottom+u.padding.top+u.padding.bottom))/v.y;if(!(p<0||y<0)){var w=Math.min(f.scaleZoom(f.scale*Math.min(y,p)),u.maxZoom),b=n.Point.convert(u.offset),g=new n.Point(b.x+(u.padding.left-u.padding.right)/2,b.y+(u.padding.top-u.padding.bottom)/2).mult(f.scale/f.zoomScale(w));return{center:f.unproject(l.add(a).div(2).sub(g)),zoom:w,bearing:r}}n.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")},i.prototype.fitBounds=function(n,t,i){return this._fitInternal(this.cameraForBounds(n,t),t,i)},i.prototype.fitScreenCoordinates=function(t,i,r,u,f){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(n.Point.convert(t)),this.transform.pointLocation(n.Point.convert(i)),r,u),u,f)},i.prototype._fitInternal=function(t,i,r){return t?(delete(i=n.extend(t,i)).padding,i.linear?this.easeTo(i,r):this.flyTo(i,r)):this},i.prototype.jumpTo=function(t,i){this.stop();var r=this.transform,u=!1,f=!1,e=!1;return"zoom"in t&&r.zoom!==+t.zoom&&(u=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=n.LngLat.convert(t.center)),"bearing"in t&&r.bearing!==+t.bearing&&(f=!0,r.bearing=+t.bearing),"pitch"in t&&r.pitch!==+t.pitch&&(e=!0,r.pitch=+t.pitch),null==t.padding||r.isPaddingEqual(t.padding)||(r.padding=t.padding),this.fire(new n.Event("movestart",i)).fire(new n.Event("move",i)),u&&this.fire(new n.Event("zoomstart",i)).fire(new n.Event("zoom",i)).fire(new n.Event("zoomend",i)),f&&this.fire(new n.Event("rotatestart",i)).fire(new n.Event("rotate",i)).fire(new n.Event("rotateend",i)),e&&this.fire(new n.Event("pitchstart",i)).fire(new n.Event("pitch",i)).fire(new n.Event("pitchend",i)),this.fire(new n.Event("moveend",i))},i.prototype.easeTo=function(t,i){var u=this,g;this._stop(!1,t.easeId);(!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate||!t.essential&&n.browser.prefersReducedMotion)&&(t.duration=0);var r=this.transform,f=this.getZoom(),e=this.getBearing(),h=this.getPitch(),nt=this.getPadding(),o="zoom"in t?+t.zoom:f,l="bearing"in t?this._normalizeBearing(t.bearing,e):e,a="pitch"in t?+t.pitch:h,v="padding"in t?t.padding:r.padding,y=n.Point.convert(t.offset),c=r.centerPoint.add(y),p=r.pointLocation(c),w=n.LngLat.convert(t.center||p);this._normalizeCenter(w);var s,b,k=r.project(p),tt=r.project(w).sub(k),d=r.zoomScale(o-f);return t.around&&(s=n.LngLat.convert(t.around),b=r.locationPoint(s)),g={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching},this._zooming=this._zooming||o!==f,this._rotating=this._rotating||e!==l,this._pitching=this._pitching||a!==h,this._padding=!r.isPaddingEqual(v),this._easeId=t.easeId,this._prepareEase(i,t.noMoveStart,g),clearTimeout(this._easeEndTimeoutID),this._ease(function(t){if(u._zooming&&(r.zoom=n.number(f,o,t)),u._rotating&&(r.bearing=n.number(e,l,t)),u._pitching&&(r.pitch=n.number(h,a,t)),u._padding&&(r.interpolatePadding(nt,v,t),c=r.centerPoint.add(y)),s)r.setLocationAtPoint(s,b);else{var w=r.zoomScale(r.zoom-f),g=o>f?Math.min(2,d):Math.max(.5,d),it=Math.pow(g,1-t),p=r.unproject(k.add(tt.mult(t*it)).mult(w));r.setLocationAtPoint(r.renderWorldCopies?p.wrap():p,c)}u._fireMoveEvents(i)},function(n){u._afterEase(i,n)},t),this},i.prototype._prepareEase=function(t,i,r){void 0===r&&(r={});this._moving=!0;i||r.moving||this.fire(new n.Event("movestart",t));this._zooming&&!r.zooming&&this.fire(new n.Event("zoomstart",t));this._rotating&&!r.rotating&&this.fire(new n.Event("rotatestart",t));this._pitching&&!r.pitching&&this.fire(new n.Event("pitchstart",t))},i.prototype._fireMoveEvents=function(t){this.fire(new n.Event("move",t));this._zooming&&this.fire(new n.Event("zoom",t));this._rotating&&this.fire(new n.Event("rotate",t));this._pitching&&this.fire(new n.Event("pitch",t))},i.prototype._afterEase=function(t,i){if(!this._easeId||!i||this._easeId!==i){delete this._easeId;var r=this._zooming,u=this._rotating,f=this._pitching;this._moving=!1;this._zooming=!1;this._rotating=!1;this._pitching=!1;this._padding=!1;r&&this.fire(new n.Event("zoomend",t));u&&this.fire(new n.Event("rotateend",t));f&&this.fire(new n.Event("pitchend",t));this.fire(new n.Event("moveend",t))}},i.prototype.flyTo=function(t,i){function st(n){var t=(e*e-f*f+(n?-1:1)*l*l*o*o)/(2*(n?e:f)*l*o);return Math.log(Math.sqrt(t*t+1)-t)}function ht(n){return(Math.exp(n)-Math.exp(-n))/2}function v(n){return(Math.exp(n)+Math.exp(-n))/2}var h=this,d,et,ot,l,at;if(!t.essential&&n.browser.prefersReducedMotion)return d=n.pick(t,["center","zoom","bearing","pitch","around"]),this.jumpTo(d,i);this.stop();t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var r=this.transform,c=this.getZoom(),a=this.getBearing(),p=this.getPitch(),vt=this.getPadding(),w="zoom"in t?n.clamp(+t.zoom,r.minZoom,r.maxZoom):c,g="bearing"in t?this._normalizeBearing(t.bearing,a):a,nt="pitch"in t?+t.pitch:p,tt="padding"in t?t.padding:r.padding,yt=r.zoomScale(w-c),it=n.Point.convert(t.offset),b=r.centerPoint.add(it),rt=r.pointLocation(b),k=n.LngLat.convert(t.center||rt);this._normalizeCenter(k);var ut=r.project(rt),ft=r.project(k).sub(ut),u=t.curve,f=Math.max(r.width,r.height),e=f/yt,o=ft.mag();"minZoom"in t&&(et=n.clamp(Math.min(t.minZoom,c,w),r.minZoom,r.maxZoom),ot=f/r.zoomScale(et-c),u=Math.sqrt(ot/o*2));l=u*u;var s=st(0),ct=function(n){return v(s)/v(s+u*n)},lt=function(n){return f*((v(s)*(ht(t=s+u*n)/v(t))-ht(s))/l)/o;var t},y=(st(1)-s)/u;if(Math.abs(o)<1e-6||!isFinite(y)){if(Math.abs(f-e)<1e-6)return this.easeTo(t,i);at=e<f?-1:1;y=Math.abs(Math.log(e/f))/u;lt=function(){return 0};ct=function(n){return Math.exp(at*u*n)}}return t.duration="duration"in t?+t.duration:1e3*y/("screenSpeed"in t?+t.screenSpeed/u:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=a!==g,this._pitching=nt!==p,this._padding=!r.isPaddingEqual(tt),this._prepareEase(i,!1),this._ease(function(t){var f=t*y,e=1/ct(f),u;r.zoom=1===t?w:c+r.scaleZoom(e);h._rotating&&(r.bearing=n.number(a,g,t));h._pitching&&(r.pitch=n.number(p,nt,t));h._padding&&(r.interpolatePadding(vt,tt,t),b=r.centerPoint.add(it));u=1===t?k:r.unproject(ut.add(ft.mult(lt(f))).mult(e));r.setLocationAtPoint(r.renderWorldCopies?u.wrap():u,b);h._fireMoveEvents(i)},function(){return h._afterEase(i)},t),this},i.prototype.isEasing=function(){return!!this._easeFrameId},i.prototype.stop=function(){return this._stop()},i.prototype._stop=function(n,t){var r,i;return(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd)&&(r=this._onEaseEnd,delete this._onEaseEnd,r.call(this,t)),n||(i=this.handlers,i&&i.stop()),this},i.prototype._ease=function(t,i,r){!1===r.animate||0===r.duration?(t(1),i()):(this._easeStart=n.browser.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},i.prototype._renderFrameCallback=function(){var t=Math.min((n.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t));t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},i.prototype._normalizeBearing=function(t,i){t=n.wrap(t,-180,180);var r=Math.abs(t-i);return Math.abs(t-360-i)<r&&(t-=360),Math.abs(t+360-i)<r&&(t+=360),t},i.prototype._normalizeCenter=function(n){var t=this.transform,i;t.renderWorldCopies&&!t.lngRange&&(i=n.lng-t.center.lng,n.lng+=i>180?-360:i<-180?360:0)},i}(n.Evented);vt=function(t){void 0===t&&(t={});this.options=t;n.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};vt.prototype.getDefaultPosition=function(){return"bottom-right"};vt.prototype.onAdd=function(n){var i=this.options&&this.options.compact;return this._map=n,this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=t.create("div","mapboxgl-ctrl-attrib-inner",this._container),i&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===i&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container};vt.prototype.onRemove=function(){t.remove(this._container);this._map.off("styledata",this._updateData);this._map.off("sourcedata",this._updateData);this._map.off("moveend",this._updateEditLink);this._map.off("resize",this._updateCompact);this._map=void 0;this._attribHTML=void 0};vt.prototype._updateEditLink=function(){var t=this._editLink,i,r;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||n.config.ACCESS_TOKEN}];t&&(r=i.reduce(function(n,t,r){return t.value&&(n+=t.key+"="+t.value+(r<i.length-1?"&":"")),n},"?"),t.href=n.config.FEEDBACK_URL+"/"+r+(this._map._hash?this._map._hash.getHashString(!0):""),t.rel="noopener nofollow")};vt.prototype._updateData=function(n){n&&("metadata"===n.sourceDataType||"style"===n.dataType)&&(this._updateAttributions(),this._updateEditLink())};vt.prototype._updateAttributions=function(){var n,r,u,e,f,t,i;if(this._map.style){n=[];(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?n=n.concat(this.options.customAttribution.map(function(n){return"string"!=typeof n?"":n})):"string"==typeof this.options.customAttribution&&n.push(this.options.customAttribution)),this._map.style.stylesheet)&&(r=this._map.style.stylesheet,this.styleOwner=r.owner,this.styleId=r.id);u=this._map.style.sourceCaches;for(e in u)f=u[e],f.used&&(t=f.getSource(),t.attribution&&n.indexOf(t.attribution)<0&&n.push(t.attribution));n.sort(function(n,t){return n.length-t.length});i=(n=n.filter(function(t,i){for(var r=i+1;r<n.length;r++)if(n[r].indexOf(t)>=0)return!1;return!0})).join(" | ");i!==this._attribHTML&&(this._attribHTML=i,n.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}};vt.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};dt=function(){n.bindAll(["_updateLogo"],this);n.bindAll(["_updateCompact"],this)};dt.prototype.onAdd=function(n){this._map=n;this._container=t.create("div","mapboxgl-ctrl");var i=t.create("a","mapboxgl-ctrl-logo");return i.target="_blank",i.rel="noopener nofollow",i.href="https://www.mapbox.com/",i.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),i.setAttribute("rel","noopener nofollow"),this._container.appendChild(i),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container};dt.prototype.onRemove=function(){t.remove(this._container);this._map.off("sourcedata",this._updateLogo);this._map.off("resize",this._updateCompact)};dt.prototype.getDefaultPosition=function(){return"bottom-left"};dt.prototype._updateLogo=function(n){n&&"metadata"!==n.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")};dt.prototype._logoRequired=function(){var n,t;if(this._map.style){n=this._map.style.sourceCaches;for(t in n)if(n[t].getSource().mapbox_logo)return!0;return!1}};dt.prototype._updateCompact=function(){var t=this._container.children,n;t.length&&(n=t[0],this._map.getCanvasContainer().offsetWidth<250?n.classList.add("mapboxgl-compact"):n.classList.remove("mapboxgl-compact"))};pi=function(){this._queue=[];this._id=0;this._cleared=!1;this._currentlyRunning=!1};pi.prototype.add=function(n){var t=++this._id;return this._queue.push({callback:n,id:t,cancelled:!1}),t};pi.prototype.remove=function(n){for(var i,r=this._currentlyRunning,t=0,u=r?this._queue.concat(r):this._queue;t<u.length;t+=1)if(i=u[t],i.id===n)return void(i.cancelled=!0)};pi.prototype.run=function(n){var u,t,i,r;for(void 0===n&&(n=0),u=this._currentlyRunning=this._queue,this._queue=[],t=0,i=u;t<i.length;t+=1)if(r=i[t],!r.cancelled&&(r.callback(n),this._cleared))break;this._cleared=!1;this._currentlyRunning=!1};pi.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0);this._queue=[]};var by={"FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm"},cf=n.window.HTMLImageElement,ky=n.window.HTMLElement,wi=n.window.ImageBitmap,dy={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},gy=function(i){function r(t){var r=this,f;if(null!=(t=n.extend({},dy,t)).minZoom&&null!=t.maxZoom&&t.minZoom>t.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=t.minPitch&&t.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=t.maxPitch&&t.maxPitch>60)throw new Error("maxPitch must be less than or equal to 60");if(f=new u(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies),i.call(this,f,t),this._interactive=t.interactive,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._crossSourceCollisions=t.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=t.collectResourceTiming,this._renderTaskQueue=new pi,this._controls=[],this._mapId=n.uniqueId(),this._locale=n.extend({},by,t.locale),this._requestManager=new n.RequestManager(t.transformRequest,t.accessToken),"string"==typeof t.container){if(this._container=n.window.document.getElementById(t.container),!this._container)throw new Error("Container '"+t.container+"' not found.");}else{if(!(t.container instanceof ky))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=t.container}if(t.maxBounds&&this.setMaxBounds(t.maxBounds),n.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return r._update(!1)});this.on("moveend",function(){return r._update(!1)});this.on("zoom",function(){return r._update(!0)});void 0!==n.window&&(n.window.addEventListener("online",this._onWindowOnline,!1),n.window.addEventListener("resize",this._onWindowResize,!1));this.handlers=new a(this,t);this._hash=t.hash&&new pt("string"==typeof t.hash&&t.hash||void 0).addTo(this);this._hash&&this._hash._onHashChange()||(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,n.extend({},t.fitBoundsOptions,{duration:0}))));this.resize();this._localIdeographFontFamily=t.localIdeographFontFamily;t.style&&this.setStyle(t.style,{localIdeographFontFamily:t.localIdeographFontFamily});t.attributionControl&&this.addControl(new vt({customAttribution:t.customAttribution}));this.addControl(new dt,t.logoPosition);this.on("style.load",function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)});this.on("data",function(t){r._update("style"===t.dataType);r.fire(new n.Event(t.dataType+"data",t))});this.on("dataloading",function(t){r.fire(new n.Event(t.dataType+"dataloading",t))})}i&&(r.__proto__=i);(r.prototype=Object.create(i&&i.prototype)).constructor=r;var f={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return r.prototype._getMapId=function(){return this._mapId},r.prototype.addControl=function(t,i){var u,r;return(void 0===i&&t.getDefaultPosition&&(i=t.getDefaultPosition()),void 0===i&&(i="top-right"),!t||!t.onAdd)?this.fire(new n.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods."))):(u=t.onAdd(this),this._controls.push(t),r=this._controlPositions[i],-1!==i.indexOf("bottom")?r.insertBefore(u,r.firstChild):r.appendChild(u),this)},r.prototype.removeControl=function(t){if(!t||!t.onRemove)return this.fire(new n.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this},r.prototype.resize=function(t){var f=this._containerDimensions(),i=f[0],r=f[1],u;return this._resizeCanvas(i,r),this.transform.resize(i,r),this.painter.resize(i,r),u=!this._moving,u&&(this.stop(),this.fire(new n.Event("movestart",t)).fire(new n.Event("move",t))),this.fire(new n.Event("resize",t)),u&&this.fire(new n.Event("moveend",t)),this},r.prototype.getBounds=function(){return this.transform.getBounds()},r.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},r.prototype.setMaxBounds=function(t){return this.transform.setMaxBounds(n.LngLatBounds.convert(t)),this._update()},r.prototype.setMinZoom=function(n){if((n=null==n?-2:n)>=-2&&n<=this.transform.maxZoom)return this.transform.minZoom=n,this._update(),this.getZoom()<n&&this.setZoom(n),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive");},r.prototype.getMinZoom=function(){return this.transform.minZoom},r.prototype.setMaxZoom=function(n){if((n=null==n?22:n)>=this.transform.minZoom)return this.transform.maxZoom=n,this._update(),this.getZoom()>n&&this.setZoom(n),this;throw new Error("maxZoom must be greater than the current minZoom");},r.prototype.getMaxZoom=function(){return this.transform.maxZoom},r.prototype.setMinPitch=function(n){if((n=null==n?0:n)<0)throw new Error("minPitch must be greater than or equal to 0");if(n>=0&&n<=this.transform.maxPitch)return this.transform.minPitch=n,this._update(),this.getPitch()<n&&this.setPitch(n),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive");},r.prototype.getMinPitch=function(){return this.transform.minPitch},r.prototype.setMaxPitch=function(n){if((n=null==n?60:n)>60)throw new Error("maxPitch must be less than or equal to 60");if(n>=this.transform.minPitch)return this.transform.maxPitch=n,this._update(),this.getPitch()>n&&this.setPitch(n),this;throw new Error("maxPitch must be greater than the current minPitch");},r.prototype.getMaxPitch=function(){return this.transform.maxPitch},r.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},r.prototype.setRenderWorldCopies=function(n){return this.transform.renderWorldCopies=n,this._update()},r.prototype.project=function(t){return this.transform.locationPoint(n.LngLat.convert(t))},r.prototype.unproject=function(t){return this.transform.pointLocation(n.Point.convert(t))},r.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},r.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},r.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},r.prototype._createDelegatedListener=function(n,t,i){var e,r=this,f,u;return"mouseenter"===n||"mouseover"===n?(f=!1,{layer:t,listener:i,delegates:{mousemove:function(u){var e=r.getLayer(t)?r.queryRenderedFeatures(u.point,{layers:[t]}):[];e.length?f||(f=!0,i.call(r,new rt(n,r,u.originalEvent,{features:e}))):f=!1},mouseout:function(){f=!1}}}):"mouseleave"===n||"mouseout"===n?(u=!1,{layer:t,listener:i,delegates:{mousemove:function(f){(r.getLayer(t)?r.queryRenderedFeatures(f.point,{layers:[t]}):[]).length?u=!0:u&&(u=!1,i.call(r,new rt(n,r,f.originalEvent)))},mouseout:function(t){u&&(u=!1,i.call(r,new rt(n,r,t.originalEvent)))}}}):{layer:t,listener:i,delegates:(e={},e[n]=function(n){var u=r.getLayer(t)?r.queryRenderedFeatures(n.point,{layers:[t]}):[];u.length&&(n.features=u,i.call(r,n),delete n.features)},e)}},r.prototype.on=function(n,t,r){var u,f;if(void 0===r)return i.prototype.on.call(this,n,t);u=this._createDelegatedListener(n,t,r);for(f in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[n]=this._delegatedListeners[n]||[],this._delegatedListeners[n].push(u),u.delegates)this.on(f,u.delegates[f]);return this},r.prototype.once=function(n,t,r){var u,f;if(void 0===r)return i.prototype.once.call(this,n,t);u=this._createDelegatedListener(n,t,r);for(f in u.delegates)this.once(f,u.delegates[f]);return this},r.prototype.off=function(n,t,r){var u=this;return void 0===r?i.prototype.off.call(this,n,t):(this._delegatedListeners&&this._delegatedListeners[n]&&function(i){for(var e,s,o=i[n],f=0;f<o.length;f++)if(e=o[f],e.layer===t&&e.listener===r){for(s in e.delegates)u.off(s,e.delegates[s]);return o.splice(f,1),u}}(this._delegatedListeners),this)},r.prototype.queryRenderedFeatures=function(t,i){var f,r,u;return this.style?((void 0!==i||void 0===t||t instanceof n.Point||Array.isArray(t)||(i=t,t=void 0),i=i||{},(t=t||[[0,0],[this.transform.width,this.transform.height]])instanceof n.Point||"number"==typeof t[0])?f=[n.Point.convert(t)]:(r=n.Point.convert(t[0]),u=n.Point.convert(t[1]),f=[r,new n.Point(u.x,r.y),u,new n.Point(r.x,u.y),r]),this.style.queryRenderedFeatures(f,i,this.transform)):[]},r.prototype.querySourceFeatures=function(n,t){return this.style.querySourceFeatures(n,t)},r.prototype.setStyle=function(t,i){return!1!==(i=n.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},i)).diff&&i.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&t?(this._diffStyle(t,i),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._updateStyle(t,i))},r.prototype._getUIString=function(n){var t=this._locale[n];if(null==t)throw new Error("Missing UI string '"+n+"'");return t},r.prototype._updateStyle=function(n,t){return this.style&&(this.style.setEventedParent(null),this.style._remove()),n?(this.style=new ci(this,t||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof n?this.style.loadURL(n):this.style.loadJSON(n),this):(delete this.style,this)},r.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new ci(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},r.prototype._diffStyle=function(t,i){var r=this,u,f;"string"==typeof t?(u=this._requestManager.normalizeStyleURL(t),f=this._requestManager.transformRequest(u,n.ResourceType.Style),n.getJSON(f,function(t,u){t?r.fire(new n.ErrorEvent(t)):u&&r._updateDiff(u,i)})):"object"==typeof t&&this._updateDiff(t,i)},r.prototype._updateDiff=function(t,i){try{this.style.setState(t)&&this._update(!0)}catch(r){n.warnOnce("Unable to perform style diff: "+(r.message||r.error||r)+".  Rebuilding the style from scratch.");this._updateStyle(t,i)}},r.prototype.getStyle=function(){if(this.style)return this.style.serialize()},r.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():n.warnOnce("There is no style added to the map.")},r.prototype.addSource=function(n,t){return this._lazyInitEmptyStyle(),this.style.addSource(n,t),this._update(!0)},r.prototype.isSourceLoaded=function(t){var i=this.style&&this.style.sourceCaches[t];if(void 0!==i)return i.loaded();this.fire(new n.ErrorEvent(new Error("There is no source with ID '"+t+"'")))},r.prototype.areTilesLoaded=function(){var i=this.style&&this.style.sourceCaches,r,n,u,t;for(r in i){n=i[r]._tiles;for(u in n)if(t=n[u],"loaded"!==t.state&&"errored"!==t.state)return!1}return!0},r.prototype.addSourceType=function(n,t,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(n,t,i)},r.prototype.removeSource=function(n){return this.style.removeSource(n),this._update(!0)},r.prototype.getSource=function(n){return this.style.getSource(n)},r.prototype.addImage=function(t,i,r){var u,f,e,o;void 0===r&&(r={});u=r.pixelRatio;void 0===u&&(u=1);f=r.sdf;void 0===f&&(f=!1);var s=r.stretchX,h=r.stretchY,c=r.content;if(this._lazyInitEmptyStyle(),i instanceof cf||wi&&i instanceof wi)e=n.browser.getImageData(i),this.style.addImage(t,{data:new n.RGBAImage({width:e.width,height:e.height},e.data),pixelRatio:u,stretchX:s,stretchY:h,content:c,sdf:f,version:0});else{if(void 0===i.width||void 0===i.height)return this.fire(new n.ErrorEvent(new 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`")));o=i;this.style.addImage(t,{data:new n.RGBAImage({width:i.width,height:i.height},new Uint8Array(i.data)),pixelRatio:u,stretchX:s,stretchY:h,content:c,sdf:f,version:0,userImage:o});o.onAdd&&o.onAdd(this,t)}},r.prototype.updateImage=function(t,i){var r=this.style.getImage(t);if(!r)return this.fire(new n.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var u=i instanceof cf||wi&&i instanceof wi?n.browser.getImageData(i):i,f=u.width,e=u.height,o=u.data;return void 0===f||void 0===e?this.fire(new n.ErrorEvent(new 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`"))):f!==r.data.width||e!==r.data.height?this.fire(new n.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image"))):(r.data.replace(o,!(i instanceof cf||wi&&i instanceof wi)),void this.style.updateImage(t,r))},r.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(new n.ErrorEvent(new Error("Missing required image id"))),!1)},r.prototype.removeImage=function(n){this.style.removeImage(n)},r.prototype.loadImage=function(t,i){n.getImage(this._requestManager.transformRequest(t,n.ResourceType.Image),i)},r.prototype.listImages=function(){return this.style.listImages()},r.prototype.addLayer=function(n,t){return this._lazyInitEmptyStyle(),this.style.addLayer(n,t),this._update(!0)},r.prototype.moveLayer=function(n,t){return this.style.moveLayer(n,t),this._update(!0)},r.prototype.removeLayer=function(n){return this.style.removeLayer(n),this._update(!0)},r.prototype.getLayer=function(n){return this.style.getLayer(n)},r.prototype.setLayerZoomRange=function(n,t,i){return this.style.setLayerZoomRange(n,t,i),this._update(!0)},r.prototype.setFilter=function(n,t,i){return void 0===i&&(i={}),this.style.setFilter(n,t,i),this._update(!0)},r.prototype.getFilter=function(n){return this.style.getFilter(n)},r.prototype.setPaintProperty=function(n,t,i,r){return void 0===r&&(r={}),this.style.setPaintProperty(n,t,i,r),this._update(!0)},r.prototype.getPaintProperty=function(n,t){return this.style.getPaintProperty(n,t)},r.prototype.setLayoutProperty=function(n,t,i,r){return void 0===r&&(r={}),this.style.setLayoutProperty(n,t,i,r),this._update(!0)},r.prototype.getLayoutProperty=function(n,t){return this.style.getLayoutProperty(n,t)},r.prototype.setLight=function(n,t){return void 0===t&&(t={}),this._lazyInitEmptyStyle(),this.style.setLight(n,t),this._update(!0)},r.prototype.getLight=function(){return this.style.getLight()},r.prototype.setFeatureState=function(n,t){return this.style.setFeatureState(n,t),this._update()},r.prototype.removeFeatureState=function(n,t){return this.style.removeFeatureState(n,t),this._update()},r.prototype.getFeatureState=function(n){return this.style.getFeatureState(n)},r.prototype.getContainer=function(){return this._container},r.prototype.getCanvasContainer=function(){return this._canvasContainer},r.prototype.getCanvas=function(){return this._canvas},r.prototype._containerDimensions=function(){var n=0,t=0;return this._container&&(n=this._container.clientWidth||400,t=this._container.clientHeight||300),[n,t]},r.prototype._detectMissingCSS=function(){"rgb(250, 128, 114)"!==n.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&n.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")},r.prototype._setupContainer=function(){var n=this._container,i,r,u,f;n.classList.add("mapboxgl-map");(this._missingCSSCanary=t.create("div","mapboxgl-canary",n)).style.visibility="hidden";this._detectMissingCSS();i=this._canvasContainer=t.create("div","mapboxgl-canvas-container",n);this._interactive&&i.classList.add("mapboxgl-interactive");this._canvas=t.create("canvas","mapboxgl-canvas",i);this._canvas.addEventListener("webglcontextlost",this._contextLost,!1);this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1);this._canvas.setAttribute("tabindex","0");this._canvas.setAttribute("aria-label","Map");r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);u=this._controlContainer=t.create("div","mapboxgl-control-container",n);f=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(n){f[n]=t.create("div","mapboxgl-ctrl-"+n,u)})},r.prototype._resizeCanvas=function(t,i){var r=n.browser.devicePixelRatio||1;this._canvas.width=r*t;this._canvas.height=r*i;this._canvas.style.width=t+"px";this._canvas.style.height=i+"px"},r.prototype._setupPainter=function(){var i=n.extend({},vu.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),t=this._canvas.getContext("webgl",i)||this._canvas.getContext("experimental-webgl",i);t?(this.painter=new o(t,this.transform),n.webpSupported.testSupport(t)):this.fire(new n.ErrorEvent(new Error("Failed to initialize WebGL")))},r.prototype._contextLost=function(t){t.preventDefault();this._frame&&(this._frame.cancel(),this._frame=null);this.fire(new n.Event("webglcontextlost",{originalEvent:t}))},r.prototype._contextRestored=function(t){this._setupPainter();this.resize();this._update();this.fire(new n.Event("webglcontextrestored",{originalEvent:t}))},r.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},r.prototype._update=function(n){return this.style?(this._styleDirty=this._styleDirty||n,this._sourcesDirty=!0,this.triggerRepaint(),this):this},r.prototype._requestRenderFrame=function(n){return this._update(),this._renderTaskQueue.add(n)},r.prototype._cancelRenderFrame=function(n){this._renderTaskQueue.remove(n)},r.prototype._render=function(t){var r,f=this,l=0,i=this.painter.context.extTimerQuery,e,o,s,h,u,a,v,c;if(this.listens("gpu-timing-frame")&&(r=i.createQueryEXT(),i.beginQueryEXT(i.TIME_ELAPSED_EXT,r),l=n.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),!this._removed)return e=!1,this.style&&this._styleDirty&&(this._styleDirty=!1,o=this.transform.zoom,s=n.browser.now(),this.style.zoomHistory.update(o,s),h=new n.EvaluationParameters(o,{now:s,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),u=h.crossFadingFactor(),1===u&&u===this._crossFadingFactor||(e=!0,this._crossFadingFactor=u),this.style.update(h)),(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new n.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new n.Event("load"))),this.style&&(this.style.hasTransitions()||e)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame"))&&(a=n.browser.now()-l,i.endQueryEXT(i.TIME_ELAPSED_EXT,r),setTimeout(function(){var t=i.getQueryObjectEXT(r,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(r);f.fire(new n.Event("gpu-timing-frame",{cpuTime:a,gpuTime:t}))},50)),this.listens("gpu-timing-layer")&&(v=this.painter.collectGpuTimers(),setTimeout(function(){var t=f.painter.queryGpuTimers(v);f.fire(new n.Event("gpu-timing-layer",{layerTimes:t}))},50)),c=this._sourcesDirty||this._styleDirty||this._placementDirty,c||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new n.Event("idle")),!this._loaded||this._fullyLoaded||c||(this._fullyLoaded=!0),this},r.prototype.remove=function(){var t,i,r;for(this._hash&&this._hash.remove(),t=0,i=this._controls;t<i.length;t+=1)i[t].onRemove(this);this._controls=[];this._frame&&(this._frame.cancel(),this._frame=null);this._renderTaskQueue.clear();this.painter.destroy();this.handlers.destroy();delete this.handlers;this.setStyle(null);void 0!==n.window&&(n.window.removeEventListener("resize",this._onWindowResize,!1),n.window.removeEventListener("online",this._onWindowOnline,!1));r=this.painter.context.gl.getExtension("WEBGL_lose_context");r&&r.loseContext();lf(this._canvasContainer);lf(this._controlContainer);lf(this._missingCSSCanary);this._container.classList.remove("mapboxgl-map");this._removed=!0;this.fire(new n.Event("remove"))},r.prototype.triggerRepaint=function(){var t=this;this.style&&!this._frame&&(this._frame=n.browser.frame(function(n){t._frame=null;t._render(n)}))},r.prototype._onWindowOnline=function(){this._update()},r.prototype._onWindowResize=function(n){this._trackResize&&this.resize({originalEvent:n})._update()},f.showTileBoundaries.get=function(){return!!this._showTileBoundaries},f.showTileBoundaries.set=function(n){this._showTileBoundaries!==n&&(this._showTileBoundaries=n,this._update())},f.showPadding.get=function(){return!!this._showPadding},f.showPadding.set=function(n){this._showPadding!==n&&(this._showPadding=n,this._update())},f.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},f.showCollisionBoxes.set=function(n){this._showCollisionBoxes!==n&&(this._showCollisionBoxes=n,n?this.style._generateCollisionBoxes():this._update())},f.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},f.showOverdrawInspector.set=function(n){this._showOverdrawInspector!==n&&(this._showOverdrawInspector=n,this._update())},f.repaint.get=function(){return!!this._repaint},f.repaint.set=function(n){this._repaint!==n&&(this._repaint=n,this.triggerRepaint())},f.vertices.get=function(){return!!this._vertices},f.vertices.set=function(n){this._vertices=n;this._update()},r.prototype._setCacheLimits=function(t,i){n.setCacheLimits(t,i)},f.version.get=function(){return n.version},Object.defineProperties(r.prototype,f),r}(vs);ys={showCompass:!0,showZoom:!0,visualizePitch:!1};gt=function(i){var r=this;this.options=n.extend({},ys,i);this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-group");this._container.addEventListener("contextmenu",function(n){return n.preventDefault()});this.options.showZoom&&(n.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",function(n){return r._map.zoomIn({},{originalEvent:n})}),t.create("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden",!0),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",function(n){return r._map.zoomOut({},{originalEvent:n})}),t.create("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden",!0));this.options.showCompass&&(n.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",function(n){r.options.visualizePitch?r._map.resetNorthPitch({},{originalEvent:n}):r._map.resetNorth({},{originalEvent:n})}),this._compassIcon=t.create("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden",!0))};gt.prototype._updateZoomButtons=function(){var n=this._map.getZoom();this._zoomInButton.disabled=n===this._map.getMaxZoom();this._zoomOutButton.disabled=n===this._map.getMinZoom()};gt.prototype._rotateCompassArrow=function(){var n=this.options.visualizePitch?"scale("+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+") rotateX("+this._map.transform.pitch+"deg) rotateZ("+this._map.transform.angle*(180/Math.PI)+"deg)":"rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassIcon.style.transform=n};gt.prototype.onAdd=function(n){return this._map=n,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._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new nt(this._map,this._compass,this.options.visualizePitch)),this._container};gt.prototype.onRemove=function(){t.remove(this._container);this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons);this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler);delete this._map};gt.prototype._createButton=function(n,i){var r=t.create("button",n,this._container);return r.type="button",r.addEventListener("click",i),r};gt.prototype._setButtonTitle=function(n,t){var i=this._map._getUIString("NavigationControl."+t);n.title=i;n.setAttribute("aria-label",i)};nt=function(i,r,u){void 0===u&&(u=!1);this._clickTolerance=10;this.element=r;this.mouseRotate=new es({clickTolerance:i.dragRotate._mouseRotate._clickTolerance});this.map=i;u&&(this.mousePitch=new os({clickTolerance:i.dragRotate._mousePitch._clickTolerance}));n.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this);t.addEventListener(r,"mousedown",this.mousedown);t.addEventListener(r,"touchstart",this.touchstart,{passive:!1});t.addEventListener(r,"touchmove",this.touchmove);t.addEventListener(r,"touchend",this.touchend);t.addEventListener(r,"touchcancel",this.reset)};nt.prototype.down=function(n,i){this.mouseRotate.mousedown(n,i);this.mousePitch&&this.mousePitch.mousedown(n,i);t.disableDrag()};nt.prototype.move=function(n,t){var i=this.map,u=this.mouseRotate.mousemoveWindow(n,t),r;(u&&u.bearingDelta&&i.setBearing(i.getBearing()+u.bearingDelta),this.mousePitch)&&(r=this.mousePitch.mousemoveWindow(n,t),r&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta))};nt.prototype.off=function(){var n=this.element;t.removeEventListener(n,"mousedown",this.mousedown);t.removeEventListener(n,"touchstart",this.touchstart,{passive:!1});t.removeEventListener(n,"touchmove",this.touchmove);t.removeEventListener(n,"touchend",this.touchend);t.removeEventListener(n,"touchcancel",this.reset);this.offTemp()};nt.prototype.offTemp=function(){t.enableDrag();t.removeEventListener(n.window,"mousemove",this.mousemove);t.removeEventListener(n.window,"mouseup",this.mouseup)};nt.prototype.mousedown=function(i){this.down(n.extend({},i,{ctrlKey:!0,preventDefault:function(){return i.preventDefault()}}),t.mousePos(this.element,i));t.addEventListener(n.window,"mousemove",this.mousemove);t.addEventListener(n.window,"mouseup",this.mouseup)};nt.prototype.mousemove=function(n){this.move(n,t.mousePos(this.element,n))};nt.prototype.mouseup=function(n){this.mouseRotate.mouseupWindow(n);this.mousePitch&&this.mousePitch.mouseupWindow(n);this.offTemp()};nt.prototype.touchstart=function(n){1!==n.targetTouches.length?this.reset():(this._startPos=this._lastPos=t.touchPos(this.element,n.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return n.preventDefault()}},this._startPos))};nt.prototype.touchmove=function(n){1!==n.targetTouches.length?this.reset():(this._lastPos=t.touchPos(this.element,n.targetTouches)[0],this.move({preventDefault:function(){return n.preventDefault()}},this._lastPos))};nt.prototype.touchend=function(n){0===n.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click();this.reset()};nt.prototype.reset=function(){this.mouseRotate.reset();this.mousePitch&&this.mousePitch.reset();delete this._startPos;delete this._lastPos;this.offTemp()};lu={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%)"};var au,af=function(i){function r(r,u){var nt=this,f,c,e,l,y,b,k,o,p,d,a,g,w,v,s,h;if(i.call(this),(r instanceof n.window.HTMLElement||u)&&(r=n.extend({element:r},u)),n.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=r&&r.anchor||"center",this._color=r&&r.color||"#3FB1CE",this._scale=r&&r.scale||1,this._draggable=r&&r.draggable||!1,this._state="inactive",this._rotation=r&&r.rotation||0,this._rotationAlignment=r&&r.rotationAlignment||"auto",this._pitchAlignment=r&&r.pitchAlignment&&"auto"!==r.pitchAlignment?r.pitchAlignment:this._rotationAlignment,r&&r.element)this._element=r.element,this._offset=n.Point.convert(r&&r.offset||[0,0]);else{for(this._defaultMarker=!0,this._element=t.create("div"),this._element.setAttribute("aria-label","Map marker"),f=t.createNS("http://www.w3.org/2000/svg","svg"),f.setAttributeNS(null,"display","block"),f.setAttributeNS(null,"height","41px"),f.setAttributeNS(null,"width","27px"),f.setAttributeNS(null,"viewBox","0 0 27 41"),c=t.createNS("http://www.w3.org/2000/svg","g"),c.setAttributeNS(null,"stroke","none"),c.setAttributeNS(null,"stroke-width","1"),c.setAttributeNS(null,"fill","none"),c.setAttributeNS(null,"fill-rule","evenodd"),e=t.createNS("http://www.w3.org/2000/svg","g"),e.setAttributeNS(null,"fill-rule","nonzero"),l=t.createNS("http://www.w3.org/2000/svg","g"),l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000"),y=0,b=[{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"}];y<b.length;y+=1)k=b[y],o=t.createNS("http://www.w3.org/2000/svg","ellipse"),o.setAttributeNS(null,"opacity","0.04"),o.setAttributeNS(null,"cx","10.5"),o.setAttributeNS(null,"cy","5.80029008"),o.setAttributeNS(null,"rx",k.rx),o.setAttributeNS(null,"ry",k.ry),l.appendChild(o);p=t.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"fill",this._color);d=t.createNS("http://www.w3.org/2000/svg","path");d.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");p.appendChild(d);a=t.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"opacity","0.25");a.setAttributeNS(null,"fill","#000000");g=t.createNS("http://www.w3.org/2000/svg","path");g.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");a.appendChild(g);w=t.createNS("http://www.w3.org/2000/svg","g");w.setAttributeNS(null,"transform","translate(6.0, 7.0)");w.setAttributeNS(null,"fill","#FFFFFF");v=t.createNS("http://www.w3.org/2000/svg","g");v.setAttributeNS(null,"transform","translate(8.0, 8.0)");s=t.createNS("http://www.w3.org/2000/svg","circle");s.setAttributeNS(null,"fill","#000000");s.setAttributeNS(null,"opacity","0.25");s.setAttributeNS(null,"cx","5.5");s.setAttributeNS(null,"cy","5.5");s.setAttributeNS(null,"r","5.4999962");h=t.createNS("http://www.w3.org/2000/svg","circle");h.setAttributeNS(null,"fill","#FFFFFF");h.setAttributeNS(null,"cx","5.5");h.setAttributeNS(null,"cy","5.5");h.setAttributeNS(null,"r","5.4999962");v.appendChild(s);v.appendChild(h);e.appendChild(l);e.appendChild(p);e.appendChild(a);e.appendChild(w);e.appendChild(v);f.appendChild(e);f.setAttributeNS(null,"height",41*this._scale+"px");f.setAttributeNS(null,"width",27*this._scale+"px");this._element.appendChild(f);this._offset=n.Point.convert(r&&r.offset||[0,-14])}this._element.classList.add("mapboxgl-marker");this._element.addEventListener("dragstart",function(n){n.preventDefault()});this._element.addEventListener("mousedown",function(n){n.preventDefault()});this._element.addEventListener("focus",function(){var n=nt._map.getContainer();n.scrollTop=0;n.scrollLeft=0});ws(this._element,this._anchor,"marker");this._popup=null}return i&&(r.__proto__=i),(r.prototype=Object.create(i&&i.prototype)).constructor=r,r.prototype.addTo=function(n){return this.remove(),this._map=n,n.getCanvasContainer().appendChild(this._element),n.on("move",this._update),n.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},r.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",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),t.remove(this._element),this._popup&&this._popup.remove(),this},r.prototype.getLngLat=function(){return this._lngLat},r.prototype.setLngLat=function(t){return this._lngLat=n.LngLat.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},r.prototype.getElement=function(){return this._element},r.prototype.setPopup=function(n){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),n){if(!("offset"in n.options)){var t=Math.sqrt(Math.pow(13.5,2)/2);n.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,-1*(24.6+t)],"bottom-right":[-t,-1*(24.6+t)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=n;this._lngLat&&this._popup.setLngLat(this._lngLat);this._originalTabIndex=this._element.getAttribute("tabindex");this._originalTabIndex||this._element.setAttribute("tabindex","0");this._element.addEventListener("keypress",this._onKeyPress)}return this},r.prototype._onKeyPress=function(n){var t=n.code,i=n.charCode||n.keyCode;"Space"!==t&&"Enter"!==t&&32!==i&&13!==i||this.togglePopup()},r.prototype._onMapClick=function(n){var t=n.originalEvent.target,i=this._element;this._popup&&(t===i||i.contains(t))&&this.togglePopup()},r.prototype.getPopup=function(){return this._popup},r.prototype.togglePopup=function(){var n=this._popup;return n?(n.isOpen()?n.remove():n.addTo(this._map),this):this},r.prototype._update=function(n){var i,r;this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=ps(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),i="","viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?i="rotateZ("+this._rotation+"deg)":"map"===this._rotationAlignment&&(i="rotateZ("+(this._rotation-this._map.getBearing())+"deg)"),r="","viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?r="rotateX(0deg)":"map"===this._pitchAlignment&&(r="rotateX("+this._map.getPitch()+"deg)"),n&&"moveend"!==n.type||(this._pos=this._pos.round()),t.setTransform(this._element,lu[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px) "+r+" "+i))},r.prototype.getOffset=function(){return this._offset},r.prototype.setOffset=function(t){return this._offset=n.Point.convert(t),this._update(),this},r.prototype._onMove=function(t){this._pos=t.point.sub(this._positionDelta);this._lngLat=this._map.unproject(this._pos);this.setLngLat(this._lngLat);this._element.style.pointerEvents="none";"pending"===this._state&&(this._state="active",this.fire(new n.Event("dragstart")));this.fire(new n.Event("drag"))},r.prototype._onUp=function(){this._element.style.pointerEvents="auto";this._positionDelta=null;this._map.off("mousemove",this._onMove);this._map.off("touchmove",this._onMove);"active"===this._state&&this.fire(new n.Event("dragend"));this._state="inactive"},r.prototype._addDragHandler=function(n){this._element.contains(n.originalEvent.target)&&(n.preventDefault(),this._positionDelta=n.point.sub(this._pos).add(this._offset),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))},r.prototype.setDraggable=function(n){return this._draggable=!!n,this._map&&(n?(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},r.prototype.isDraggable=function(){return this._draggable},r.prototype.setRotation=function(n){return this._rotation=n||0,this._update(),this},r.prototype.getRotation=function(){return this._rotation},r.prototype.setRotationAlignment=function(n){return this._rotationAlignment=n||"auto",this._update(),this},r.prototype.getRotationAlignment=function(){return this._rotationAlignment},r.prototype.setPitchAlignment=function(n){return this._pitchAlignment=n&&"auto"!==n?n:this._rotationAlignment,this._update(),this},r.prototype.getPitchAlignment=function(){return this._pitchAlignment},r}(n.Evented),np={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},vf=0,lr=!1,tp=function(i){function r(t){i.call(this);this.options=n.extend({},np,t);n.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return i&&(r.__proto__=i),(r.prototype=Object.create(i&&i.prototype)).constructor=r,r.prototype.onAdd=function(i){var r;return this._map=i,this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),r=this._setupUI,void 0!==au?r(au):void 0!==n.window.navigator.permissions?n.window.navigator.permissions.query({name:"geolocation"}).then(function(n){r(au="denied"!==n.state)}):r(au=!!n.window.navigator.geolocation),this._container},r.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(n.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();t.remove(this._container);this._map.off("zoom",this._onZoom);this._map=void 0;vf=0;lr=!1},r.prototype._isOutOfMapMaxBounds=function(n){var t=this._map.getMaxBounds(),i=n.coords;return t&&(i.longitude<t.getWest()||i.longitude>t.getEast()||i.latitude<t.getSouth()||i.latitude>t.getNorth())},r.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},r.prototype._onSuccess=function(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new n.Event("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t);this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t);this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale");this.fire(new n.Event("geolocate",t));this._finish()}},r.prototype._updateCamera=function(t){var i=new n.LngLat(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy,u=this._map.getBearing(),f=n.extend({bearing:u},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),f,{geolocateSource:!0})},r.prototype._updateMarker=function(t){if(t){var i=new n.LngLat(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map);this._userLocationDotMarker.setLngLat(i).addTo(this._map);this._accuracy=t.coords.accuracy;this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},r.prototype._updateCircleRadius=function(){var n=this._map._container.clientHeight/2,i=this._map.unproject([0,n]),r=this._map.unproject([1,n]),u=i.distanceTo(r),t=Math.ceil(2*this._accuracy/u);this._circleElement.style.width=t+"px";this._circleElement.style.height=t+"px"},r.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},r.prototype._onError=function(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this._geolocateButton.disabled=!0;var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=i;this._geolocateButton.setAttribute("aria-label",i);void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&lr)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale");this.fire(new n.Event("error",t));this._finish()}},r.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId);this._timeoutId=void 0},r.prototype._setupUI=function(i){var r=this,u,f;(this._container.addEventListener("contextmenu",function(n){return n.preventDefault()}),this._geolocateButton=t.create("button","mapboxgl-ctrl-geolocate",this._container),t.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===i)?(n.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled."),u=this._map._getUIString("GeolocateControl.LocationNotAvailable"),this._geolocateButton.disabled=!0,this._geolocateButton.title=u,this._geolocateButton.setAttribute("aria-label",u)):(f=this._map._getUIString("GeolocateControl.FindMyLocation"),this._geolocateButton.title=f,this._geolocateButton.setAttribute("aria-label",f));this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF");this.options.showUserLocation&&(this._dotElement=t.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new af(this._dotElement),this._circleElement=t.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new af({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom));this._geolocateButton.addEventListener("click",this.trigger.bind(this));this._setup=!0;this.options.trackUserLocation&&this._map.on("movestart",function(t){t.geolocateSource||"ACTIVE_LOCK"!==r._watchState||t.originalEvent&&"resize"===t.originalEvent.type||(r._watchState="BACKGROUND",r._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),r._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),r.fire(new n.Event("trackuserlocationend")))})},r.prototype.trigger=function(){if(!this._setup)return n.warnOnce("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 n.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":vf--;lr=!1;this._watchState="OFF";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error");this.fire(new n.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK";this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background");this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition);this.fire(new n.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var t;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.setAttribute("aria-pressed","true");++vf>1?(t={maximumAge:6e5,timeout:0},lr=!0):(t=this.options.positionOptions,lr=!1);this._geolocationWatchID=n.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else n.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},r.prototype._clearWatch=function(){n.window.navigator.geolocation.clearWatch(this._geolocationWatchID);this._geolocationWatchID=void 0;this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting");this._geolocateButton.setAttribute("aria-pressed","false");this.options.showUserLocation&&this._updateMarker(null)},r}(n.Evented),ip={maxWidth:100,unit:"metric"},bi=function(t){this.options=n.extend({},ip,t);n.bindAll(["_onMove","setUnit"],this)};bi.prototype.getDefaultPosition=function(){return"bottom-left"};bi.prototype._onMove=function(){bs(this._map,this._container,this.options)};bi.prototype.onAdd=function(n){return this._map=n,this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",n.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container};bi.prototype.onRemove=function(){t.remove(this._container);this._map.off("move",this._onMove);this._map=void 0};bi.prototype.setUnit=function(n){this.options.unit=n;bs(this._map,this._container,this.options)};ct=function(t){this._fullscreen=!1;t&&t.container&&(t.container instanceof n.window.HTMLElement?this._container=t.container:n.warnOnce("Full screen control 'container' must be a DOM element."));n.bindAll(["_onClickFullscreen","_changeIcon"],this);"onfullscreenchange"in n.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in n.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in n.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in n.window.document&&(this._fullscreenchange="MSFullscreenChange")};ct.prototype.onAdd=function(i){return this._map=i,this._container||(this._container=this._map.getContainer()),this._controlContainer=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",n.warnOnce("This device does not support fullscreen mode.")),this._controlContainer};ct.prototype.onRemove=function(){t.remove(this._controlContainer);this._map=null;n.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)};ct.prototype._checkFullscreenSupport=function(){return!!(n.window.document.fullscreenEnabled||n.window.document.mozFullScreenEnabled||n.window.document.msFullscreenEnabled||n.window.document.webkitFullscreenEnabled)};ct.prototype._setupUI=function(){var i=this._fullscreenButton=t.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);t.create("span","mapboxgl-ctrl-icon",i).setAttribute("aria-hidden",!0);i.type="button";this._updateTitle();this._fullscreenButton.addEventListener("click",this._onClickFullscreen);n.window.document.addEventListener(this._fullscreenchange,this._changeIcon)};ct.prototype._updateTitle=function(){var n=this._getTitle();this._fullscreenButton.setAttribute("aria-label",n);this._fullscreenButton.title=n};ct.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")};ct.prototype._isFullscreen=function(){return this._fullscreen};ct.prototype._changeIcon=function(){(n.window.document.fullscreenElement||n.window.document.mozFullScreenElement||n.window.document.webkitFullscreenElement||n.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())};ct.prototype._onClickFullscreen=function(){this._isFullscreen()?n.window.document.exitFullscreen?n.window.document.exitFullscreen():n.window.document.mozCancelFullScreen?n.window.document.mozCancelFullScreen():n.window.document.msExitFullscreen?n.window.document.msExitFullscreen():n.window.document.webkitCancelFullScreen&&n.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var rp={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},up=function(i){function r(t){i.call(this);this.options=n.extend(Object.create(rp),t);n.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return i&&(r.__proto__=i),(r.prototype=Object.create(i&&i.prototype)).constructor=r,r.prototype.addTo=function(t){return this._map&&this.remove(),this._map=t,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._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new n.Event("open")),this},r.prototype.isOpen=function(){return!!this._map},r.prototype.remove=function(){return this._content&&t.remove(this._content),this._container&&(t.remove(this._container),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("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new n.Event("close")),this},r.prototype.getLngLat=function(){return this._lngLat},r.prototype.setLngLat=function(t){return this._lngLat=n.LngLat.convert(t),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},r.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},r.prototype.getElement=function(){return this._container},r.prototype.setText=function(t){return this.setDOMContent(n.window.document.createTextNode(t))},r.prototype.setHTML=function(t){var i,r=n.window.document.createDocumentFragment(),u=n.window.document.createElement("body");for(u.innerHTML=t;i=u.firstChild;)r.appendChild(i);return this.setDOMContent(r)},r.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},r.prototype.setMaxWidth=function(n){return this.options.maxWidth=n,this._update(),this},r.prototype.setDOMContent=function(n){return this._createContent(),this._content.appendChild(n),this._update(),this},r.prototype.addClassName=function(n){this._container&&this._container.classList.add(n)},r.prototype.removeClassName=function(n){this._container&&this._container.classList.remove(n)},r.prototype.toggleClassName=function(n){if(this._container)return this._container.classList.toggle(n)},r.prototype._createContent=function(){this._content&&t.remove(this._content);this._content=t.create("div","mapboxgl-popup-content",this._container);this.options.closeButton&&(this._closeButton=t.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClose))},r.prototype._onMouseUp=function(n){this._update(n.point)},r.prototype._onMouseMove=function(n){this._update(n.point)},r.prototype._onDrag=function(n){this._update(n.point)},r.prototype._update=function(i){var c=this,f,e,o,s;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=t.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=t.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(n){return c._container.classList.add(n)}),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=ps(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||i)){var r=this._pos=this._trackPointer&&i?i:this._map.project(this._lngLat),u=this.options.anchor,h=function i(t){var u,r;return t?"number"==typeof t?(u=Math.round(Math.sqrt(.5*Math.pow(t,2))),{center:new n.Point(0,0),top:new n.Point(0,t),"top-left":new n.Point(u,u),"top-right":new n.Point(-u,u),bottom:new n.Point(0,-t),"bottom-left":new n.Point(u,-u),"bottom-right":new n.Point(-u,-u),left:new n.Point(t,0),right:new n.Point(-t,0)}):t instanceof n.Point||Array.isArray(t)?(r=n.Point.convert(t),{center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}):{center:n.Point.convert(t.center||[0,0]),top:n.Point.convert(t.top||[0,0]),"top-left":n.Point.convert(t["top-left"]||[0,0]),"top-right":n.Point.convert(t["top-right"]||[0,0]),bottom:n.Point.convert(t.bottom||[0,0]),"bottom-left":n.Point.convert(t["bottom-left"]||[0,0]),"bottom-right":n.Point.convert(t["bottom-right"]||[0,0]),left:n.Point.convert(t.left||[0,0]),right:n.Point.convert(t.right||[0,0])}:i(new n.Point(0,0))}(this.options.offset);u||(e=this._container.offsetWidth,o=this._container.offsetHeight,f=r.y+h.bottom.y<o?["top"]:r.y>this._map.transform.height-o?["bottom"]:[],r.x<e/2?f.push("left"):r.x>this._map.transform.width-e/2&&f.push("right"),u=0===f.length?"bottom":f.join("-"));s=r.add(h[u]).round();t.setTransform(this._container,lu[u]+" translate("+s.x+"px,"+s.y+"px)");ws(this._container,u,"popup")}},r.prototype._onClose=function(){this.remove()},r}(n.Evented),ks={version:n.version,supported:vu,setRTLTextPlugin:n.setRTLTextPlugin,getRTLTextPluginStatus:n.getRTLTextPluginStatus,Map:gy,NavigationControl:gt,GeolocateControl:tp,AttributionControl:vt,ScaleControl:bi,FullscreenControl:ct,Popup:up,Marker:af,Style:ci,LngLat:n.LngLat,LngLatBounds:n.LngLatBounds,Point:n.Point,MercatorCoordinate:n.MercatorCoordinate,Evented:n.Evented,config:n.config,prewarm:function(){se().acquire(wr)},clearPrewarmedResources:function(){var n=ur;n&&(n.isPreloaded()&&1===n.numActive()?(n.release(wr),ur=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()"))},get accessToken(){return n.config.ACCESS_TOKEN},set accessToken(t){n.config.ACCESS_TOKEN=t},get baseApiUrl(){return n.config.API_URL},set baseApiUrl(t){n.config.API_URL=t},get workerCount(){return at.workerCount},set workerCount(n){at.workerCount=n},get maxParallelImageRequests(){return n.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){n.config.MAX_PARALLEL_IMAGE_REQUESTS=t},clearStorage:function(t){n.clearTileCache(t)},workerUrl:""};return ks}),i})