function getVremeplovJS(n,t){$.ajax({type:"GET",url:prefix+"default.aspx?ajax=dohvatiVremeplov",data:"kojiID="+n+"&mjesec="+t,success:function(n){$("#ispisiVremeplov").empty();$("#ispisiVremeplov").html(n);ggzJS.tvtMoreEvents()}})}function sentenceCase(n){return n===null||n===""?!1:(n=n.toString(),n.replace(/\w\S*/g,function(n){return n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()}))}function getParameterByName(n,t){t||(t=window.location.href);n=n.replace(/[\[\]]/g,"\\$&");var r=new RegExp("[?&]"+n+"(=([^&#]*)|&|#|$)"),i=r.exec(t);return i?i[2]?decodeURIComponent(i[2].replace(/\+/g," ")):"":null}function initSprovodi(){try{$(".ss-container").slick("removeSlide",null,null,!0);$(".ss-container").slick("destroy")}catch(n){}!1||$(".ss-container").slick({slidesToShow:2,slidesToScroll:2,swipe:!1,accessibility:!1,appendArrows:$(".ss-arrows"),prevArrow:'<button type="button" class="slick-prev icon-chevron-right"><\/button>',nextArrow:'<button type="button" class="slick-next icon-chevron-right"><\/button>',infinite:!1,responsive:[{breakpoint:992,settings:{slidesToShow:1,slidesToScroll:1}}]})}function initSprovodiHome(){try{$(".ss-container").slick("unslick")}catch(n){}$(".ss-container").slick({slidesToShow:2,slidesToScroll:2,swipe:!1,accessibility:!1,appendArrows:$(".ss-arrows"),prevArrow:'<button type="button" class="slick-prev icon-chevron-right"><\/button>',nextArrow:'<button type="button" class="slick-next icon-chevron-right"><\/button>',infinite:!1,responsive:[{breakpoint:992,settings:{slidesToShow:1,slidesToScroll:1}}]})}function createCookie(n,t,i){var u,r;i?(r=new Date,r.setTime(r.getTime()+i*864e5),u="; expires="+r.toGMTString()):u="";document.cookie=encodeURIComponent(n)+"="+encodeURIComponent(t)+u+"; path=/"}function readCookie(n){for(var t,r=encodeURIComponent(n)+"=",u=document.cookie.split(";"),i=0;i<u.length;i++){for(t=u[i];t.charAt(0)===" ";)t=t.substring(1,t.length);if(t.indexOf(r)===0)return decodeURIComponent(t.substring(r.length,t.length))}return null}function eraseCookie(n){createCookie(n,"",-1)}function zatvoriBanner(){createCookie("viewMode","popup",1);readCookie("viewMode")=="popup"&&(document.getElementById("banner_holder_main").style.display="none")}if(!function(n,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=n.document?t(n,!0):function(n){if(!n.document)throw new Error("jQuery requires a window with a document");return t(n)}:t(n)}("undefined"!=typeof window?window:this,function(n,t){"use strict";function br(n,t,i){var r,e,u=(i=i||f).createElement("script");if(u.text=n,t)for(r in ee)(e=t[r]||t.getAttribute&&t.getAttribute(r))&&u.setAttribute(r,e);i.head.appendChild(u).parentNode.removeChild(u)}function it(n){return null==n?n+"":"object"==typeof n||"function"==typeof n?ri[pr.call(n)]||"object":typeof n}function pi(n){var t=!!n&&"length"in n&&n.length,i=it(n);return!u(n)&&!tt(n)&&("array"===i||0===t||"number"==typeof t&&0<t&&t-1 in n)}function c(n,t){return n.nodeName&&n.nodeName.toLowerCase()===t.toLowerCase()}function bi(n,t,r){return u(t)?i.grep(n,function(n,i){return!!t.call(n,i,n)!==r}):t.nodeType?i.grep(n,function(n){return n===t!==r}):"string"!=typeof t?i.grep(n,function(n){return-1<ii.call(t,n)!==r}):i.filter(t,n,r)}function uu(n,t){while((n=n[t])&&1!==n.nodeType);return n}function ut(n){return n}function fi(n){throw n;}function fu(n,t,i,r){var f;try{n&&u(f=n.promise)?f.call(n).done(t).fail(i):n&&u(f=n.then)?f.call(n,t,i):t.apply(void 0,[n].slice(r))}catch(n){i.apply(void 0,[n])}}function oi(){f.removeEventListener("DOMContentLoaded",oi);n.removeEventListener("load",oi);i.ready()}function ce(n,t){return t.toUpperCase()}function y(n){return n.replace(se,"ms-").replace(he,ce)}function pt(){this.expando=i.expando+pt.uid++}function ou(n,t,i){var u,r;if(void 0===i&&1===n.nodeType)if(u="data-"+t.replace(ae,"-$&").toLowerCase(),"string"==typeof(i=n.getAttribute(u))){try{i="true"===(r=i)||"false"!==r&&("null"===r?null:r===+r+""?+r:le.test(r)?JSON.parse(r):r)}catch(n){}o.set(n,t,i)}else i=void 0;return i}function hu(n,t,r,u){var s,h,c=20,l=u?function(){return u.cur()}:function(){return i.css(n,t,"")},o=l(),e=r&&r[3]||(i.cssNumber[t]?"":"px"),f=n.nodeType&&(i.cssNumber[t]||"px"!==e&&+o)&&wt.exec(i.css(n,t));if(f&&f[3]!==e){for(o/=2,e=e||f[3],f=+o||1;c--;)i.style(n,t,f+e),(1-h)*(1-(h=l()/o||.5))<=0&&(c=0),f/=h;f*=2;i.style(n,t,f+e);r=r||[]}return r&&(f=+f||+o||0,s=r[1]?f+(r[1]+1)*r[2]:+r[2],u&&(u.unit=e,u.start=f,u.end=s)),s}function et(n,t){for(var h,f,a,s,c,l,e,o=[],u=0,v=n.length;u<v;u++)(f=n[u]).style&&(h=f.style.display,t?("none"===h&&(o[u]=r.get(f,"display")||null,o[u]||(f.style.display="")),""===f.style.display&&kt(f)&&(o[u]=(e=c=s=void 0,c=(a=f).ownerDocument,l=a.nodeName,(e=di[l])||(s=c.body.appendChild(c.createElement(l)),e=i.css(s,"display"),s.parentNode.removeChild(s),"none"===e&&(e="block"),di[l]=e)))):"none"!==h&&(o[u]="none",r.set(f,"display",h)));for(u=0;u<v;u++)null!=o[u]&&(n[u].style.display=o[u]);return n}function s(n,t){var r;return r="undefined"!=typeof n.getElementsByTagName?n.getElementsByTagName(t||"*"):"undefined"!=typeof n.querySelectorAll?n.querySelectorAll(t||"*"):[],void 0===t||t&&c(n,t)?i.merge([n],r):r}function gi(n,t){for(var i=0,u=n.length;i<u;i++)r.set(n[i],"globalEval",!t||r.get(t[i],"globalEval"))}function vu(n,t,r,u,f){for(var e,o,p,a,w,v,c=t.createDocumentFragment(),y=[],l=0,b=n.length;l<b;l++)if((e=n[l])||0===e)if("object"===it(e))i.merge(y,e.nodeType?[e]:e);else if(au.test(e)){for(o=o||c.appendChild(t.createElement("div")),p=(cu.exec(e)||["",""])[1].toLowerCase(),a=h[p]||h._default,o.innerHTML=a[1]+i.htmlPrefilter(e)+a[2],v=a[0];v--;)o=o.lastChild;i.merge(y,o.childNodes);(o=c.firstChild).textContent=""}else y.push(t.createTextNode(e));for(c.textContent="",l=0;e=y[l++];)if(u&&-1<i.inArray(e,u))f&&f.push(e);else if(w=ft(e),o=s(c.appendChild(e),"script"),w&&gi(o),r)for(v=0;e=o[v++];)lu.test(e.type||"")&&r.push(e);return c}function ot(){return!0}function st(){return!1}function we(n,t){return n===function(){try{return f.activeElement}catch(n){}}()==("focus"===t)}function nr(n,t,r,u,f,e){var o,s;if("object"==typeof t){for(s in"string"!=typeof r&&(u=u||r,r=void 0),t)nr(n,s,r,u,t[s],e);return n}if(null==u&&null==f?(f=r,u=r=void 0):null==f&&("string"==typeof r?(f=u,u=void 0):(f=u,u=r,r=void 0)),!1===f)f=st;else if(!f)return n;return 1===e&&(o=f,(f=function(n){return i().off(n),o.apply(this,arguments)}).guid=o.guid||(o.guid=i.guid++)),n.each(function(){i.event.add(this,t,f,u,r)})}function hi(n,t,u){u?(r.set(n,t,!1),i.event.add(n,t,{namespace:!1,handler:function(n){var o,e,f=r.get(this,t);if(1&n.isTrigger&&this[t]){if(f.length)(i.event.special[t]||{}).delegateType&&n.stopPropagation();else if(f=b.call(arguments),r.set(this,t,f),o=u(this,t),this[t](),f!==(e=r.get(this,t))||o?r.set(this,t,!1):e={},f!==e)return n.stopImmediatePropagation(),n.preventDefault(),e.value}else f.length&&(r.set(this,t,{value:i.event.trigger(i.extend(f[0],i.Event.prototype),f.slice(1),this)}),n.stopImmediatePropagation())}})):void 0===r.get(n,t)&&i.event.add(n,t,ot)}function pu(n,t){return c(n,"table")&&c(11!==t.nodeType?t:t.firstChild,"tr")&&i(n).children("tbody")[0]||n}function no(n){return n.type=(null!==n.getAttribute("type"))+"/"+n.type,n}function to(n){return"true/"===(n.type||"").slice(0,5)?n.type=n.type.slice(5):n.removeAttribute("type"),n}function wu(n,t){var u,c,f,s,h,l,a,e;if(1===t.nodeType){if(r.hasData(n)&&(s=r.access(n),h=r.set(t,s),e=s.events))for(f in delete h.handle,h.events={},e)for(u=0,c=e[f].length;u<c;u++)i.event.add(t,f,e[f][u]);o.hasData(n)&&(l=o.access(n),a=i.extend({},l),o.set(t,a))}}function ht(n,t,f,o){t=yr.apply([],t);var a,w,l,v,h,b,c=0,y=n.length,d=y-1,p=t[0],k=u(p);if(k||1<y&&"string"==typeof p&&!e.checkClone&&de.test(p))return n.each(function(i){var r=n.eq(i);k&&(t[0]=p.call(this,i,r.html()));ht(r,t,f,o)});if(y&&(w=(a=vu(t,n[0].ownerDocument,!1,n,o)).firstChild,1===a.childNodes.length&&(a=w),w||o)){for(v=(l=i.map(s(a,"script"),no)).length;c<y;c++)h=a,c!==d&&(h=i.clone(h,!0,!0),v&&i.merge(l,s(h,"script"))),f.call(n[c],h,c);if(v)for(b=l[l.length-1].ownerDocument,i.map(l,to),c=0;c<v;c++)h=l[c],lu.test(h.type||"")&&!r.access(h,"globalEval")&&i.contains(b,h)&&(h.src&&"module"!==(h.type||"").toLowerCase()?i._evalUrl&&!h.noModule&&i._evalUrl(h.src,{nonce:h.nonce||h.getAttribute("nonce")}):br(h.textContent.replace(ge,""),h,b))}return n}function bu(n,t,r){for(var u,e=t?i.filter(t,n):n,f=0;null!=(u=e[f]);f++)r||1!==u.nodeType||i.cleanData(s(u)),u.parentNode&&(r&&ft(u)&&gi(s(u,"script")),u.parentNode.removeChild(u));return n}function ni(n,t,r){var o,s,h,f,u=n.style;return(r=r||ci(n))&&(""!==(f=r.getPropertyValue(t)||r[t])||ft(n)||(f=i.style(n,t)),!e.pixelBoxStyles()&&tr.test(f)&&io.test(t)&&(o=u.width,s=u.minWidth,h=u.maxWidth,u.minWidth=u.maxWidth=u.width=f,f=r.width,u.width=o,u.minWidth=s,u.maxWidth=h)),void 0!==f?f+"":f}function ku(n,t){return{get:function(){if(!n())return(this.get=t).apply(this,arguments);delete this.get}}}function ir(n){var t=i.cssProps[n]||nf[n];return t||(n in gu?n:nf[n]=function(n){for(var i=n[0].toUpperCase()+n.slice(1),t=du.length;t--;)if((n=du[t]+i)in gu)return n}(n)||n)}function uf(n,t,i){var r=wt.exec(t);return r?Math.max(0,r[2]-(i||0))+(r[3]||"px"):t}function rr(n,t,r,u,f,e){var o="width"===t?1:0,h=0,s=0;if(r===(u?"border":"content"))return 0;for(;o<4;o+=2)"margin"===r&&(s+=i.css(n,r+w[o],!0,f)),u?("content"===r&&(s-=i.css(n,"padding"+w[o],!0,f)),"margin"!==r&&(s-=i.css(n,"border"+w[o]+"Width",!0,f))):(s+=i.css(n,"padding"+w[o],!0,f),"padding"!==r?s+=i.css(n,"border"+w[o]+"Width",!0,f):h+=i.css(n,"border"+w[o]+"Width",!0,f));return!u&&0<=e&&(s+=Math.max(0,Math.ceil(n["offset"+t[0].toUpperCase()+t.slice(1)]-e-s-h-.5))||0),s}function ff(n,t,r){var f=ci(n),o=(!e.boxSizingReliable()||r)&&"border-box"===i.css(n,"boxSizing",!1,f),s=o,u=ni(n,t,f),h="offset"+t[0].toUpperCase()+t.slice(1);if(tr.test(u)){if(!r)return u;u="auto"}return(!e.boxSizingReliable()&&o||"auto"===u||!parseFloat(u)&&"inline"===i.css(n,"display",!1,f))&&n.getClientRects().length&&(o="border-box"===i.css(n,"boxSizing",!1,f),(s=h in n)&&(u=n[h])),(u=parseFloat(u)||0)+rr(n,t,r||(o?"border":"content"),s,f,u)+"px"}function a(n,t,i,r,u){return new a.prototype.init(n,t,i,r,u)}function ur(){li&&(!1===f.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ur):n.setTimeout(ur,i.fx.interval),i.fx.tick())}function hf(){return n.setTimeout(function(){ct=void 0}),ct=Date.now()}function ai(n,t){var u,r=0,i={height:n};for(t=t?1:0;r<4;r+=2-t)i["margin"+(u=w[r])]=i["padding"+u]=n;return t&&(i.opacity=i.width=n),i}function cf(n,t,i){for(var u,f=(v.tweeners[t]||[]).concat(v.tweeners["*"]),r=0,e=f.length;r<e;r++)if(u=f[r].call(i,t,n))return u}function v(n,t,r){var o,s,h=0,a=v.prefilters.length,e=i.Deferred().always(function(){delete l.elem}),l=function(){if(s)return!1;for(var o=ct||hf(),t=Math.max(0,f.startTime+f.duration-o),i=1-(t/f.duration||0),r=0,u=f.tweens.length;r<u;r++)f.tweens[r].run(i);return e.notifyWith(n,[f,i,t]),i<1&&u?t:(u||e.notifyWith(n,[f,1,0]),e.resolveWith(n,[f]),!1)},f=e.promise({elem:n,props:i.extend({},t),opts:i.extend(!0,{specialEasing:{},easing:i.easing._default},r),originalProperties:t,originalOptions:r,startTime:ct||hf(),duration:r.duration,tweens:[],createTween:function(t,r){var u=i.Tween(n,f.opts,t,r,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(u),u},stop:function(t){var i=0,r=t?f.tweens.length:0;if(s)return this;for(s=!0;i<r;i++)f.tweens[i].run(1);return t?(e.notifyWith(n,[f,1,0]),e.resolveWith(n,[f,t])):e.rejectWith(n,[f,t]),this}}),c=f.props;for(!function(n,t){var r,f,e,u,o;for(r in n)if(e=t[f=y(r)],u=n[r],Array.isArray(u)&&(e=u[1],u=n[r]=u[0]),r!==f&&(n[f]=u,delete n[r]),(o=i.cssHooks[f])&&"expand"in o)for(r in u=o.expand(u),delete n[f],u)r in n||(n[r]=u[r],t[r]=e);else t[f]=e}(c,f.opts.specialEasing);h<a;h++)if(o=v.prefilters[h].call(f,n,c,f.opts))return u(o.stop)&&(i._queueHooks(f.elem,f.opts.queue).stop=o.stop.bind(o)),o;return i.map(c,cf,f),u(f.opts.start)&&f.opts.start.call(n,f),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always),i.fx.timer(i.extend(l,{elem:n,anim:f,queue:f.opts.queue})),f}function g(n){return(n.match(l)||[]).join(" ")}function nt(n){return n.getAttribute&&n.getAttribute("class")||""}function fr(n){return Array.isArray(n)?n:"string"==typeof n&&n.match(l)||[]}function hr(n,t,r,u){var f;if(Array.isArray(t))i.each(t,function(t,i){r||fo.test(n)?u(n,i):hr(n+"["+("object"==typeof i&&null!=i?t:"")+"]",i,r,u)});else if(r||"object"!==it(t))u(n,t);else for(f in t)hr(n+"["+f+"]",t[f],r,u)}function df(n){return function(t,i){"string"!=typeof t&&(i=t,t="*");var r,f=0,e=t.toLowerCase().match(l)||[];if(u(i))while(r=e[f++])"+"===r[0]?(r=r.slice(1)||"*",(n[r]=n[r]||[]).unshift(i)):(n[r]=n[r]||[]).push(i)}}function gf(n,t,r,u){function e(s){var h;return f[s]=!0,i.each(n[s]||[],function(n,i){var s=i(t,r,u);return"string"!=typeof s||o||f[s]?o?!(h=s):void 0:(t.dataTypes.unshift(s),e(s),!1)}),h}var f={},o=n===cr;return e(t.dataTypes[0])||!f["*"]&&e("*")}function ar(n,t){var r,u,f=i.ajaxSettings.flatOptions||{};for(r in t)void 0!==t[r]&&((f[r]?n:u||(u={}))[r]=t[r]);return u&&i.extend(!0,n,u),n}var d=[],f=n.document,ue=Object.getPrototypeOf,b=d.slice,yr=d.concat,yi=d.push,ii=d.indexOf,ri={},pr=ri.toString,ui=ri.hasOwnProperty,wr=ui.toString,fe=wr.call(Object),e={},u=function(n){return"function"==typeof n&&"number"!=typeof n.nodeType},tt=function(n){return null!=n&&n===n.window},ee={type:!0,src:!0,nonce:!0,noModule:!0},kr="3.4.1",i=function(n,t){return new i.fn.init(n,t)},oe=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,k,wi,nu,tu,iu,ru,l,eu,ei,yt,kt,ki,di,gt,si,au,ct,li,lt,ef,of,sf,lf,at,af,vf,yf,er,or,ne,vt,te,vr,vi,ie,re;i.fn=i.prototype={jquery:kr,constructor:i,length:0,toArray:function(){return b.call(this)},get:function(n){return null==n?b.call(this):n<0?this[n+this.length]:this[n]},pushStack:function(n){var t=i.merge(this.constructor(),n);return t.prevObject=this,t},each:function(n){return i.each(this,n)},map:function(n){return this.pushStack(i.map(this,function(t,i){return n.call(t,i,t)}))},slice:function(){return this.pushStack(b.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(n){var i=this.length,t=+n+(n<0?i:0);return this.pushStack(0<=t&&t<i?[this[t]]:[])},end:function(){return this.prevObject||this.constructor()},push:yi,sort:d.sort,splice:d.splice};i.extend=i.fn.extend=function(){var s,f,e,t,o,c,n=arguments[0]||{},r=1,l=arguments.length,h=!1;for("boolean"==typeof n&&(h=n,n=arguments[r]||{},r++),"object"==typeof n||u(n)||(n={}),r===l&&(n=this,r--);r<l;r++)if(null!=(s=arguments[r]))for(f in s)t=s[f],"__proto__"!==f&&n!==t&&(h&&t&&(i.isPlainObject(t)||(o=Array.isArray(t)))?(e=n[f],c=o&&!Array.isArray(e)?[]:o||i.isPlainObject(e)?e:{},o=!1,n[f]=i.extend(h,c,t)):void 0!==t&&(n[f]=t));return n};i.extend({expando:"jQuery"+(kr+Math.random()).replace(/\D/g,""),isReady:!0,error:function(n){throw new Error(n);},noop:function(){},isPlainObject:function(n){var t,i;return!(!n||"[object Object]"!==pr.call(n))&&(!(t=ue(n))||"function"==typeof(i=ui.call(t,"constructor")&&t.constructor)&&wr.call(i)===fe)},isEmptyObject:function(n){for(var t in n)return!1;return!0},globalEval:function(n,t){br(n,{nonce:t&&t.nonce})},each:function(n,t){var r,i=0;if(pi(n)){for(r=n.length;i<r;i++)if(!1===t.call(n[i],i,n[i]))break}else for(i in n)if(!1===t.call(n[i],i,n[i]))break;return n},trim:function(n){return null==n?"":(n+"").replace(oe,"")},makeArray:function(n,t){var r=t||[];return null!=n&&(pi(Object(n))?i.merge(r,"string"==typeof n?[n]:n):yi.call(r,n)),r},inArray:function(n,t,i){return null==t?-1:ii.call(t,n,i)},merge:function(n,t){for(var u=+t.length,i=0,r=n.length;i<u;i++)n[r++]=t[i];return n.length=r,n},grep:function(n,t,i){for(var u=[],r=0,f=n.length,e=!i;r<f;r++)!t(n[r],r)!==e&&u.push(n[r]);return u},map:function(n,t,i){var e,u,r=0,f=[];if(pi(n))for(e=n.length;r<e;r++)null!=(u=t(n[r],r,i))&&f.push(u);else for(r in n)null!=(u=t(n[r],r,i))&&f.push(u);return yr.apply([],f)},guid:1,support:e});"function"==typeof Symbol&&(i.fn[Symbol.iterator]=d[Symbol.iterator]);i.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(n,t){ri["[object "+t+"]"]=t.toLowerCase()});k=function(n){function u(n,t,r,u){var s,p,l,v,w,d,g,y=t&&t.ownerDocument,a=t?t.nodeType:9;if(r=r||[],"string"!=typeof n||!n||1!==a&&9!==a&&11!==a)return r;if(!u&&((t?t.ownerDocument||t:c)!==i&&b(t),t=t||i,h)){if(11!==a&&(w=ar.exec(n)))if(s=w[1]){if(9===a){if(!(l=t.getElementById(s)))return r;if(l.id===s)return r.push(l),r}else if(y&&(l=y.getElementById(s))&&et(t,l)&&l.id===s)return r.push(l),r}else{if(w[2])return k.apply(r,t.getElementsByTagName(n)),r;if((s=w[3])&&e.getElementsByClassName&&t.getElementsByClassName)return k.apply(r,t.getElementsByClassName(s)),r}if(e.qsa&&!lt[n+" "]&&(!o||!o.test(n))&&(1!==a||"object"!==t.nodeName.toLowerCase())){if(g=n,y=t,1===a&&er.test(n)){for((v=t.getAttribute("id"))?v=v.replace(yi,pi):t.setAttribute("id",v=f),p=(d=ft(n)).length;p--;)d[p]="#"+v+" "+pt(d[p]);g=d.join(",");y=ti.test(n)&&ri(t.parentNode)||t}try{return k.apply(r,y.querySelectorAll(g)),r}catch(t){lt(n,!0)}finally{v===f&&t.removeAttribute("id")}}}return si(n.replace(at,"$1"),t,r,u)}function yt(){var n=[];return function i(r,u){return n.push(r+" ")>t.cacheLength&&delete i[n.shift()],i[r+" "]=u}}function l(n){return n[f]=!0,n}function a(n){var t=i.createElement("fieldset");try{return!!n(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t);t=null}}function ii(n,i){for(var r=n.split("|"),u=r.length;u--;)t.attrHandle[r[u]]=i}function bi(n,t){var i=t&&n,r=i&&1===n.nodeType&&1===t.nodeType&&n.sourceIndex-t.sourceIndex;if(r)return r;if(i)while(i=i.nextSibling)if(i===t)return-1;return n?1:-1}function yr(n){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===n}}function pr(n){return function(t){var i=t.nodeName.toLowerCase();return("input"===i||"button"===i)&&t.type===n}}function ki(n){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===n:t.disabled===n:t.isDisabled===n||t.isDisabled!==!n&&vr(t)===n:t.disabled===n:"label"in t&&t.disabled===n}}function it(n){return l(function(t){return t=+t,l(function(i,r){for(var u,f=n([],i.length,t),e=f.length;e--;)i[u=f[e]]&&(i[u]=!(r[u]=i[u]))})})}function ri(n){return n&&"undefined"!=typeof n.getElementsByTagName&&n}function di(){}function pt(n){for(var t=0,r=n.length,i="";t<r;t++)i+=n[t].value;return i}function wt(n,t,i){var r=t.dir,u=t.next,e=u||r,o=i&&"parentNode"===e,s=gi++;return t.first?function(t,i,u){while(t=t[r])if(1===t.nodeType||o)return n(t,i,u);return!1}:function(t,i,h){var c,l,a,y=[v,s];if(h){while(t=t[r])if((1===t.nodeType||o)&&n(t,i,h))return!0}else while(t=t[r])if(1===t.nodeType||o)if(l=(a=t[f]||(t[f]={}))[t.uniqueID]||(a[t.uniqueID]={}),u&&u===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[e])&&c[0]===v&&c[1]===s)return y[2]=c[2];if((l[e]=y)[2]=n(t,i,h))return!0}return!1}}function ui(n){return 1<n.length?function(t,i,r){for(var u=n.length;u--;)if(!n[u](t,i,r))return!1;return!0}:n[0]}function bt(n,t,i,r,u){for(var e,o=[],f=0,s=n.length,h=null!=t;f<s;f++)(e=n[f])&&(i&&!i(e,r,u)||(o.push(e),h&&t.push(f)));return o}function fi(n,t,i,r,e,o){return r&&!r[f]&&(r=fi(r)),e&&!e[f]&&(e=fi(e,o)),l(function(f,o,s,h){var a,l,v,w=[],p=[],b=o.length,d=f||function(n,t,i){for(var r=0,f=t.length;r<f;r++)u(n,t[r],i);return i}(t||"*",s.nodeType?[s]:s,[]),y=!n||!f&&t?d:bt(d,w,n,s,h),c=i?e||(f?n:b||r)?[]:o:y;if(i&&i(y,c,s,h),r)for(a=bt(c,p),r(a,[],s,h),l=a.length;l--;)(v=a[l])&&(c[p[l]]=!(y[p[l]]=v));if(f){if(e||n){if(e){for(a=[],l=c.length;l--;)(v=c[l])&&a.push(y[l]=v);e(null,c=[],a,h)}for(l=c.length;l--;)(v=c[l])&&-1<(a=e?nt(f,v):w[l])&&(f[a]=!(o[a]=v))}}else c=bt(c===o?c.splice(b,c.length):c),e?e(null,o,c,h):k.apply(o,c)})}function ei(n){for(var o,u,r,s=n.length,h=t.relative[n[0].type],c=h||t.relative[" "],i=h?1:0,l=wt(function(n){return n===o},c,!0),a=wt(function(n){return-1<nt(o,n)},c,!0),e=[function(n,t,i){var r=!h&&(i||t!==ht)||((o=t).nodeType?l(n,t,i):a(n,t,i));return o=null,r}];i<s;i++)if(u=t.relative[n[i].type])e=[wt(ui(e),u)];else{if((u=t.filter[n[i].type].apply(null,n[i].matches))[f]){for(r=++i;r<s;r++)if(t.relative[n[r].type])break;return fi(1<i&&ui(e),1<i&&pt(n.slice(0,i-1).concat({value:" "===n[i-2].type?"*":""})).replace(at,"$1"),u,i<r&&ei(n.slice(i,r)),r<s&&ei(n=n.slice(r)),r<s&&pt(n))}e.push(u)}return ui(e)}var rt,e,t,st,oi,ft,kt,si,ht,w,ut,b,i,s,h,o,d,ct,et,f="sizzle"+1*new Date,c=n.document,v=0,gi=0,hi=yt(),ci=yt(),li=yt(),lt=yt(),dt=function(n,t){return n===t&&(ut=!0),0},nr={}.hasOwnProperty,g=[],tr=g.pop,ir=g.push,k=g.push,ai=g.slice,nt=function(n,t){for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return i;return-1},gt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",r="[\\x20\\t\\r\\n\\f]",tt="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",vi="\\["+r+"*("+tt+")(?:"+r+"*([*^$|!~]?=)"+r+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+tt+"))|)"+r+"*\\]",ni=":("+tt+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+vi+")*)|.*)\\)|)",rr=new RegExp(r+"+","g"),at=new RegExp("^"+r+"+|((?:^|[^\\\\])(?:\\\\.)*)"+r+"+$","g"),ur=new RegExp("^"+r+"*,"+r+"*"),fr=new RegExp("^"+r+"*([>+~]|"+r+")"+r+"*"),er=new RegExp(r+"|>"),or=new RegExp(ni),sr=new RegExp("^"+tt+"$"),vt={ID:new RegExp("^#("+tt+")"),CLASS:new RegExp("^\\.("+tt+")"),TAG:new RegExp("^("+tt+"|[*])"),ATTR:new RegExp("^"+vi),PSEUDO:new RegExp("^"+ni),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+r+"*(even|odd|(([+-]|)(\\d*)n|)"+r+"*(?:([+-]|)"+r+"*(\\d+)|))"+r+"*\\)|)","i"),bool:new RegExp("^(?:"+gt+")$","i"),needsContext:new RegExp("^"+r+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+r+"*((?:-\\d)?\\d*)"+r+"*\\)|)(?=[^-]|$)","i")},hr=/HTML$/i,cr=/^(?:input|select|textarea|button)$/i,lr=/^h\d$/i,ot=/^[^{]+\{\s*\[native \w/,ar=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ti=/[+~]/,y=new RegExp("\\\\([\\da-f]{1,6}"+r+"?|("+r+")|.)","ig"),p=function(n,t,i){var r="0x"+t-65536;return r!=r||i?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},yi=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,pi=function(n,t){return t?"\0"===n?"�":n.slice(0,-1)+"\\"+n.charCodeAt(n.length-1).toString(16)+" ":"\\"+n},wi=function(){b()},vr=wt(function(n){return!0===n.disabled&&"fieldset"===n.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{k.apply(g=ai.call(c.childNodes),c.childNodes);g[c.childNodes.length].nodeType}catch(rt){k={apply:g.length?function(n,t){ir.apply(n,ai.call(t))}:function(n,t){for(var i=n.length,r=0;n[i++]=t[r++];);n.length=i-1}}}for(rt in e=u.support={},oi=u.isXML=function(n){var i=n.namespaceURI,t=(n.ownerDocument||n).documentElement;return!hr.test(i||t&&t.nodeName||"HTML")},b=u.setDocument=function(n){var v,u,l=n?n.ownerDocument||n:c;return l!==i&&9===l.nodeType&&l.documentElement&&(s=(i=l).documentElement,h=!oi(i),c!==i&&(u=i.defaultView)&&u.top!==u&&(u.addEventListener?u.addEventListener("unload",wi,!1):u.attachEvent&&u.attachEvent("onunload",wi)),e.attributes=a(function(n){return n.className="i",!n.getAttribute("className")}),e.getElementsByTagName=a(function(n){return n.appendChild(i.createComment("")),!n.getElementsByTagName("*").length}),e.getElementsByClassName=ot.test(i.getElementsByClassName),e.getById=a(function(n){return s.appendChild(n).id=f,!i.getElementsByName||!i.getElementsByName(f).length}),e.getById?(t.filter.ID=function(n){var t=n.replace(y,p);return function(n){return n.getAttribute("id")===t}},t.find.ID=function(n,t){if("undefined"!=typeof t.getElementById&&h){var i=t.getElementById(n);return i?[i]:[]}}):(t.filter.ID=function(n){var t=n.replace(y,p);return function(n){var i="undefined"!=typeof n.getAttributeNode&&n.getAttributeNode("id");return i&&i.value===t}},t.find.ID=function(n,t){if("undefined"!=typeof t.getElementById&&h){var r,u,f,i=t.getElementById(n);if(i){if((r=i.getAttributeNode("id"))&&r.value===n)return[i];for(f=t.getElementsByName(n),u=0;i=f[u++];)if((r=i.getAttributeNode("id"))&&r.value===n)return[i]}return[]}}),t.find.TAG=e.getElementsByTagName?function(n,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(n):e.qsa?t.querySelectorAll(n):void 0}:function(n,t){var i,r=[],f=0,u=t.getElementsByTagName(n);if("*"===n){while(i=u[f++])1===i.nodeType&&r.push(i);return r}return u},t.find.CLASS=e.getElementsByClassName&&function(n,t){if("undefined"!=typeof t.getElementsByClassName&&h)return t.getElementsByClassName(n)},d=[],o=[],(e.qsa=ot.test(i.querySelectorAll))&&(a(function(n){s.appendChild(n).innerHTML="<a id='"+f+"'><\/a><select id='"+f+"-\r\\' msallowcapture=''><option selected=''><\/option><\/select>";n.querySelectorAll("[msallowcapture^='']").length&&o.push("[*^$]="+r+"*(?:''|\"\")");n.querySelectorAll("[selected]").length||o.push("\\["+r+"*(?:value|"+gt+")");n.querySelectorAll("[id~="+f+"-]").length||o.push("~=");n.querySelectorAll(":checked").length||o.push(":checked");n.querySelectorAll("a#"+f+"+*").length||o.push(".#.+[+~]")}),a(function(n){n.innerHTML="<a href='' disabled='disabled'><\/a><select disabled='disabled'><option/><\/select>";var t=i.createElement("input");t.setAttribute("type","hidden");n.appendChild(t).setAttribute("name","D");n.querySelectorAll("[name=d]").length&&o.push("name"+r+"*[*^$|!~]?=");2!==n.querySelectorAll(":enabled").length&&o.push(":enabled",":disabled");s.appendChild(n).disabled=!0;2!==n.querySelectorAll(":disabled").length&&o.push(":enabled",":disabled");n.querySelectorAll("*,:x");o.push(",.*:")})),(e.matchesSelector=ot.test(ct=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&a(function(n){e.disconnectedMatch=ct.call(n,"*");ct.call(n,"[s!='']:x");d.push("!=",ni)}),o=o.length&&new RegExp(o.join("|")),d=d.length&&new RegExp(d.join("|")),v=ot.test(s.compareDocumentPosition),et=v||ot.test(s.contains)?function(n,t){var r=9===n.nodeType?n.documentElement:n,i=t&&t.parentNode;return n===i||!(!i||1!==i.nodeType||!(r.contains?r.contains(i):n.compareDocumentPosition&&16&n.compareDocumentPosition(i)))}:function(n,t){if(t)while(t=t.parentNode)if(t===n)return!0;return!1},dt=v?function(n,t){if(n===t)return ut=!0,0;var r=!n.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(n.ownerDocument||n)===(t.ownerDocument||t)?n.compareDocumentPosition(t):1)||!e.sortDetached&&t.compareDocumentPosition(n)===r?n===i||n.ownerDocument===c&&et(c,n)?-1:t===i||t.ownerDocument===c&&et(c,t)?1:w?nt(w,n)-nt(w,t):0:4&r?-1:1)}:function(n,t){if(n===t)return ut=!0,0;var r,u=0,o=n.parentNode,s=t.parentNode,f=[n],e=[t];if(!o||!s)return n===i?-1:t===i?1:o?-1:s?1:w?nt(w,n)-nt(w,t):0;if(o===s)return bi(n,t);for(r=n;r=r.parentNode;)f.unshift(r);for(r=t;r=r.parentNode;)e.unshift(r);while(f[u]===e[u])u++;return u?bi(f[u],e[u]):f[u]===c?-1:e[u]===c?1:0}),i},u.matches=function(n,t){return u(n,null,null,t)},u.matchesSelector=function(n,t){if((n.ownerDocument||n)!==i&&b(n),e.matchesSelector&&h&&!lt[t+" "]&&(!d||!d.test(t))&&(!o||!o.test(t)))try{var r=ct.call(n,t);if(r||e.disconnectedMatch||n.document&&11!==n.document.nodeType)return r}catch(n){lt(t,!0)}return 0<u(t,i,null,[n]).length},u.contains=function(n,t){return(n.ownerDocument||n)!==i&&b(n),et(n,t)},u.attr=function(n,r){(n.ownerDocument||n)!==i&&b(n);var f=t.attrHandle[r.toLowerCase()],u=f&&nr.call(t.attrHandle,r.toLowerCase())?f(n,r,!h):void 0;return void 0!==u?u:e.attributes||!h?n.getAttribute(r):(u=n.getAttributeNode(r))&&u.specified?u.value:null},u.escape=function(n){return(n+"").replace(yi,pi)},u.error=function(n){throw new Error("Syntax error, unrecognized expression: "+n);},u.uniqueSort=function(n){var r,u=[],t=0,i=0;if(ut=!e.detectDuplicates,w=!e.sortStable&&n.slice(0),n.sort(dt),ut){while(r=n[i++])r===n[i]&&(t=u.push(i));while(t--)n.splice(u[t],1)}return w=null,n},st=u.getText=function(n){var r,i="",u=0,t=n.nodeType;if(t){if(1===t||9===t||11===t){if("string"==typeof n.textContent)return n.textContent;for(n=n.firstChild;n;n=n.nextSibling)i+=st(n)}else if(3===t||4===t)return n.nodeValue}else while(r=n[u++])i+=st(r);return i},(t=u.selectors={cacheLength:50,createPseudo:l,match:vt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(n){return n[1]=n[1].replace(y,p),n[3]=(n[3]||n[4]||n[5]||"").replace(y,p),"~="===n[2]&&(n[3]=" "+n[3]+" "),n.slice(0,4)},CHILD:function(n){return n[1]=n[1].toLowerCase(),"nth"===n[1].slice(0,3)?(n[3]||u.error(n[0]),n[4]=+(n[4]?n[5]+(n[6]||1):2*("even"===n[3]||"odd"===n[3])),n[5]=+(n[7]+n[8]||"odd"===n[3])):n[3]&&u.error(n[0]),n},PSEUDO:function(n){var i,t=!n[6]&&n[2];return vt.CHILD.test(n[0])?null:(n[3]?n[2]=n[4]||n[5]||"":t&&or.test(t)&&(i=ft(t,!0))&&(i=t.indexOf(")",t.length-i)-t.length)&&(n[0]=n[0].slice(0,i),n[2]=t.slice(0,i)),n.slice(0,3))}},filter:{TAG:function(n){var t=n.replace(y,p).toLowerCase();return"*"===n?function(){return!0}:function(n){return n.nodeName&&n.nodeName.toLowerCase()===t}},CLASS:function(n){var t=hi[n+" "];return t||(t=new RegExp("(^|"+r+")"+n+"("+r+"|$)"))&&hi(n,function(n){return t.test("string"==typeof n.className&&n.className||"undefined"!=typeof n.getAttribute&&n.getAttribute("class")||"")})},ATTR:function(n,t,i){return function(r){var f=u.attr(r,n);return null==f?"!="===t:!t||(f+="","="===t?f===i:"!="===t?f!==i:"^="===t?i&&0===f.indexOf(i):"*="===t?i&&-1<f.indexOf(i):"$="===t?i&&f.slice(-i.length)===i:"~="===t?-1<(" "+f.replace(rr," ")+" ").indexOf(i):"|="===t&&(f===i||f.slice(0,i.length+1)===i+"-"))}},CHILD:function(n,t,i,r,u){var s="nth"!==n.slice(0,3),o="last"!==n.slice(-4),e="of-type"===t;return 1===r&&0===u?function(n){return!!n.parentNode}:function(t,i,h){var p,d,y,c,a,w,b=s!==o?"nextSibling":"previousSibling",k=t.parentNode,nt=e&&t.nodeName.toLowerCase(),g=!h&&!e,l=!1;if(k){if(s){while(b){for(c=t;c=c[b];)if(e?c.nodeName.toLowerCase()===nt:1===c.nodeType)return!1;w=b="only"===n&&!w&&"nextSibling"}return!0}if(w=[o?k.firstChild:k.lastChild],o&&g){for(l=(a=(p=(d=(y=(c=k)[f]||(c[f]={}))[c.uniqueID]||(y[c.uniqueID]={}))[n]||[])[0]===v&&p[1])&&p[2],c=a&&k.childNodes[a];c=++a&&c&&c[b]||(l=a=0)||w.pop();)if(1===c.nodeType&&++l&&c===t){d[n]=[v,a,l];break}}else if(g&&(l=a=(p=(d=(y=(c=t)[f]||(c[f]={}))[c.uniqueID]||(y[c.uniqueID]={}))[n]||[])[0]===v&&p[1]),!1===l)while(c=++a&&c&&c[b]||(l=a=0)||w.pop())if((e?c.nodeName.toLowerCase()===nt:1===c.nodeType)&&++l&&(g&&((d=(y=c[f]||(c[f]={}))[c.uniqueID]||(y[c.uniqueID]={}))[n]=[v,l]),c===t))break;return(l-=u)===r||l%r==0&&0<=l/r}}},PSEUDO:function(n,i){var e,r=t.pseudos[n]||t.setFilters[n.toLowerCase()]||u.error("unsupported pseudo: "+n);return r[f]?r(i):1<r.length?(e=[n,n,"",i],t.setFilters.hasOwnProperty(n.toLowerCase())?l(function(n,t){for(var e,u=r(n,i),f=u.length;f--;)n[e=nt(n,u[f])]=!(t[e]=u[f])}):function(n){return r(n,0,e)}):r}},pseudos:{not:l(function(n){var t=[],r=[],i=kt(n.replace(at,"$1"));return i[f]?l(function(n,t,r,u){for(var e,o=i(n,null,u,[]),f=n.length;f--;)(e=o[f])&&(n[f]=!(t[f]=e))}):function(n,u,f){return t[0]=n,i(t,null,f,r),t[0]=null,!r.pop()}}),has:l(function(n){return function(t){return 0<u(n,t).length}}),contains:l(function(n){return n=n.replace(y,p),function(t){return-1<(t.textContent||st(t)).indexOf(n)}}),lang:l(function(n){return sr.test(n||"")||u.error("unsupported lang: "+n),n=n.replace(y,p).toLowerCase(),function(t){var i;do if(i=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(i=i.toLowerCase())===n||0===i.indexOf(n+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var i=n.location&&n.location.hash;return i&&i.slice(1)===t.id},root:function(n){return n===s},focus:function(n){return n===i.activeElement&&(!i.hasFocus||i.hasFocus())&&!!(n.type||n.href||~n.tabIndex)},enabled:ki(!1),disabled:ki(!0),checked:function(n){var t=n.nodeName.toLowerCase();return"input"===t&&!!n.checked||"option"===t&&!!n.selected},selected:function(n){return n.parentNode&&n.parentNode.selectedIndex,!0===n.selected},empty:function(n){for(n=n.firstChild;n;n=n.nextSibling)if(n.nodeType<6)return!1;return!0},parent:function(n){return!t.pseudos.empty(n)},header:function(n){return lr.test(n.nodeName)},input:function(n){return cr.test(n.nodeName)},button:function(n){var t=n.nodeName.toLowerCase();return"input"===t&&"button"===n.type||"button"===t},text:function(n){var t;return"input"===n.nodeName.toLowerCase()&&"text"===n.type&&(null==(t=n.getAttribute("type"))||"text"===t.toLowerCase())},first:it(function(){return[0]}),last:it(function(n,t){return[t-1]}),eq:it(function(n,t,i){return[i<0?i+t:i]}),even:it(function(n,t){for(var i=0;i<t;i+=2)n.push(i);return n}),odd:it(function(n,t){for(var i=1;i<t;i+=2)n.push(i);return n}),lt:it(function(n,t,i){for(var r=i<0?i+t:t<i?t:i;0<=--r;)n.push(r);return n}),gt:it(function(n,t,i){for(var r=i<0?i+t:i;++r<t;)n.push(r);return n})}}).pseudos.nth=t.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})t.pseudos[rt]=yr(rt);for(rt in{submit:!0,reset:!0})t.pseudos[rt]=pr(rt);return di.prototype=t.filters=t.pseudos,t.setFilters=new di,ft=u.tokenize=function(n,i){var e,f,s,o,r,h,c,l=ci[n+" "];if(l)return i?0:l.slice(0);for(r=n,h=[],c=t.preFilter;r;){for(o in e&&!(f=ur.exec(r))||(f&&(r=r.slice(f[0].length)||r),h.push(s=[])),e=!1,(f=fr.exec(r))&&(e=f.shift(),s.push({value:e,type:f[0].replace(at," ")}),r=r.slice(e.length)),t.filter)(f=vt[o].exec(r))&&(!c[o]||(f=c[o](f)))&&(e=f.shift(),s.push({value:e,type:o,matches:f}),r=r.slice(e.length));if(!e)break}return i?r.length:r?u.error(n):ci(n,h).slice(0)},kt=u.compile=function(n,r){var s,c,a,o,y,p,w=[],d=[],e=li[n+" "];if(!e){for(r||(r=ft(n)),s=r.length;s--;)(e=ei(r[s]))[f]?w.push(e):d.push(e);(e=li(n,(c=d,o=0<(a=w).length,y=0<c.length,p=function(n,r,f,e,s){var l,nt,d,g=0,p="0",tt=n&&[],w=[],it=ht,rt=n||y&&t.find.TAG("*",s),ut=v+=null==it?1:Math.random()||.1,ft=rt.length;for(s&&(ht=r===i||r||s);p!==ft&&null!=(l=rt[p]);p++){if(y&&l){for(nt=0,r||l.ownerDocument===i||(b(l),f=!h);d=c[nt++];)if(d(l,r||i,f)){e.push(l);break}s&&(v=ut)}o&&((l=!d&&l)&&g--,n&&tt.push(l))}if(g+=p,o&&p!==g){for(nt=0;d=a[nt++];)d(tt,w,r,f);if(n){if(0<g)while(p--)tt[p]||w[p]||(w[p]=tr.call(e));w=bt(w)}k.apply(e,w);s&&!n&&0<w.length&&1<g+a.length&&u.uniqueSort(e)}return s&&(v=ut,ht=it),tt},o?l(p):p))).selector=n}return e},si=u.select=function(n,i,r,u){var o,f,e,l,a,c="function"==typeof n&&n,s=!u&&ft(n=c.selector||n);if(r=r||[],1===s.length){if(2<(f=s[0]=s[0].slice(0)).length&&"ID"===(e=f[0]).type&&9===i.nodeType&&h&&t.relative[f[1].type]){if(!(i=(t.find.ID(e.matches[0].replace(y,p),i)||[])[0]))return r;c&&(i=i.parentNode);n=n.slice(f.shift().value.length)}for(o=vt.needsContext.test(n)?0:f.length;o--;){if(e=f[o],t.relative[l=e.type])break;if((a=t.find[l])&&(u=a(e.matches[0].replace(y,p),ti.test(f[0].type)&&ri(i.parentNode)||i))){if(f.splice(o,1),!(n=u.length&&pt(f)))return k.apply(r,u),r;break}}}return(c||kt(n,s))(u,i,!h,r,!i||ti.test(n)&&ri(i.parentNode)||i),r},e.sortStable=f.split("").sort(dt).join("")===f,e.detectDuplicates=!!ut,b(),e.sortDetached=a(function(n){return 1&n.compareDocumentPosition(i.createElement("fieldset"))}),a(function(n){return n.innerHTML="<a href='#'><\/a>","#"===n.firstChild.getAttribute("href")})||ii("type|href|height|width",function(n,t,i){if(!i)return n.getAttribute(t,"type"===t.toLowerCase()?1:2)}),e.attributes&&a(function(n){return n.innerHTML="<input/>",n.firstChild.setAttribute("value",""),""===n.firstChild.getAttribute("value")})||ii("value",function(n,t,i){if(!i&&"input"===n.nodeName.toLowerCase())return n.defaultValue}),a(function(n){return null==n.getAttribute("disabled")})||ii(gt,function(n,t,i){var r;if(!i)return!0===n[t]?t.toLowerCase():(r=n.getAttributeNode(t))&&r.specified?r.value:null}),u}(n);i.find=k;i.expr=k.selectors;i.expr[":"]=i.expr.pseudos;i.uniqueSort=i.unique=k.uniqueSort;i.text=k.getText;i.isXMLDoc=k.isXML;i.contains=k.contains;i.escapeSelector=k.escape;var rt=function(n,t,r){for(var u=[],f=void 0!==r;(n=n[t])&&9!==n.nodeType;)if(1===n.nodeType){if(f&&i(n).is(r))break;u.push(n)}return u},dr=function(n,t){for(var i=[];n;n=n.nextSibling)1===n.nodeType&&n!==t&&i.push(n);return i},gr=i.expr.match.needsContext;wi=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;i.filter=function(n,t,r){var u=t[0];return r&&(n=":not("+n+")"),1===t.length&&1===u.nodeType?i.find.matchesSelector(u,n)?[u]:[]:i.find.matches(n,i.grep(t,function(n){return 1===n.nodeType}))};i.fn.extend({find:function(n){var t,r,u=this.length,f=this;if("string"!=typeof n)return this.pushStack(i(n).filter(function(){for(t=0;t<u;t++)if(i.contains(f[t],this))return!0}));for(r=this.pushStack([]),t=0;t<u;t++)i.find(n,f[t],r);return 1<u?i.uniqueSort(r):r},filter:function(n){return this.pushStack(bi(this,n||[],!1))},not:function(n){return this.pushStack(bi(this,n||[],!0))},is:function(n){return!!bi(this,"string"==typeof n&&gr.test(n)?i(n):n||[],!1).length}});tu=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(i.fn.init=function(n,t,r){var e,o;if(!n)return this;if(r=r||nu,"string"==typeof n){if(!(e="<"===n[0]&&">"===n[n.length-1]&&3<=n.length?[null,n,null]:tu.exec(n))||!e[1]&&t)return!t||t.jquery?(t||r).find(n):this.constructor(t).find(n);if(e[1]){if(t=t instanceof i?t[0]:t,i.merge(this,i.parseHTML(e[1],t&&t.nodeType?t.ownerDocument||t:f,!0)),wi.test(e[1])&&i.isPlainObject(t))for(e in t)u(this[e])?this[e](t[e]):this.attr(e,t[e]);return this}return(o=f.getElementById(e[2]))&&(this[0]=o,this.length=1),this}return n.nodeType?(this[0]=n,this.length=1,this):u(n)?void 0!==r.ready?r.ready(n):n(i):i.makeArray(n,this)}).prototype=i.fn;nu=i(f);iu=/^(?:parents|prev(?:Until|All))/;ru={children:!0,contents:!0,next:!0,prev:!0};i.fn.extend({has:function(n){var t=i(n,this),r=t.length;return this.filter(function(){for(var n=0;n<r;n++)if(i.contains(this,t[n]))return!0})},closest:function(n,t){var r,f=0,o=this.length,u=[],e="string"!=typeof n&&i(n);if(!gr.test(n))for(;f<o;f++)for(r=this[f];r&&r!==t;r=r.parentNode)if(r.nodeType<11&&(e?-1<e.index(r):1===r.nodeType&&i.find.matchesSelector(r,n))){u.push(r);break}return this.pushStack(1<u.length?i.uniqueSort(u):u)},index:function(n){return n?"string"==typeof n?ii.call(i(n),this[0]):ii.call(this,n.jquery?n[0]:n):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(n,t){return this.pushStack(i.uniqueSort(i.merge(this.get(),i(n,t))))},addBack:function(n){return this.add(null==n?this.prevObject:this.prevObject.filter(n))}});i.each({parent:function(n){var t=n.parentNode;return t&&11!==t.nodeType?t:null},parents:function(n){return rt(n,"parentNode")},parentsUntil:function(n,t,i){return rt(n,"parentNode",i)},next:function(n){return uu(n,"nextSibling")},prev:function(n){return uu(n,"previousSibling")},nextAll:function(n){return rt(n,"nextSibling")},prevAll:function(n){return rt(n,"previousSibling")},nextUntil:function(n,t,i){return rt(n,"nextSibling",i)},prevUntil:function(n,t,i){return rt(n,"previousSibling",i)},siblings:function(n){return dr((n.parentNode||{}).firstChild,n)},children:function(n){return dr(n.firstChild)},contents:function(n){return"undefined"!=typeof n.contentDocument?n.contentDocument:(c(n,"template")&&(n=n.content||n),i.merge([],n.childNodes))}},function(n,t){i.fn[n]=function(r,u){var f=i.map(this,t,r);return"Until"!==n.slice(-5)&&(u=r),u&&"string"==typeof u&&(f=i.filter(u,f)),1<this.length&&(ru[n]||i.uniqueSort(f),iu.test(n)&&f.reverse()),this.pushStack(f)}});l=/[^\x20\t\r\n\f]+/g;i.Callbacks=function(n){var a,h;n="string"==typeof n?(a=n,h={},i.each(a.match(l)||[],function(n,t){h[t]=!0}),h):i.extend({},n);var o,r,v,f,t=[],s=[],e=-1,y=function(){for(f=f||n.once,v=o=!0;s.length;e=-1)for(r=s.shift();++e<t.length;)!1===t[e].apply(r[0],r[1])&&n.stopOnFalse&&(e=t.length,r=!1);n.memory||(r=!1);o=!1;f&&(t=r?[]:"")},c={add:function(){return t&&(r&&!o&&(e=t.length-1,s.push(r)),function f(r){i.each(r,function(i,r){u(r)?n.unique&&c.has(r)||t.push(r):r&&r.length&&"string"!==it(r)&&f(r)})}(arguments),r&&!o&&y()),this},remove:function(){return i.each(arguments,function(n,r){for(var u;-1<(u=i.inArray(r,t,u));)t.splice(u,1),u<=e&&e--}),this},has:function(n){return n?-1<i.inArray(n,t):0<t.length},empty:function(){return t&&(t=[]),this},disable:function(){return f=s=[],t=r="",this},disabled:function(){return!t},lock:function(){return f=s=[],r||o||(t=r=""),this},locked:function(){return!!f},fireWith:function(n,t){return f||(t=[n,(t=t||[]).slice?t.slice():t],s.push(t),o||y()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!v}};return c};i.extend({Deferred:function(t){var f=[["notify","progress",i.Callbacks("memory"),i.Callbacks("memory"),2],["resolve","done",i.Callbacks("once memory"),i.Callbacks("once memory"),0,"resolved"],["reject","fail",i.Callbacks("once memory"),i.Callbacks("once memory"),1,"rejected"]],o="pending",e={state:function(){return o},always:function(){return r.done(arguments).fail(arguments),this},"catch":function(n){return e.then(null,n)},pipe:function(){var n=arguments;return i.Deferred(function(t){i.each(f,function(i,f){var e=u(n[f[4]])&&n[f[4]];r[f[1]](function(){var n=e&&e.apply(this,arguments);n&&u(n.promise)?n.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[f[0]+"With"](this,e?[n]:arguments)})});n=null}).promise()},then:function(t,r,e){function s(t,r,f,e){return function(){var h=this,c=arguments,l=function(){var n,i;if(!(t<o)){if((n=f.apply(h,c))===r.promise())throw new TypeError("Thenable self-resolution");i=n&&("object"==typeof n||"function"==typeof n)&&n.then;u(i)?e?i.call(n,s(o,r,ut,e),s(o,r,fi,e)):(o++,i.call(n,s(o,r,ut,e),s(o,r,fi,e),s(o,r,ut,r.notifyWith))):(f!==ut&&(h=void 0,c=[n]),(e||r.resolveWith)(h,c))}},a=e?l:function(){try{l()}catch(l){i.Deferred.exceptionHook&&i.Deferred.exceptionHook(l,a.stackTrace);o<=t+1&&(f!==fi&&(h=void 0,c=[l]),r.rejectWith(h,c))}};t?a():(i.Deferred.getStackHook&&(a.stackTrace=i.Deferred.getStackHook()),n.setTimeout(a))}}var o=0;return i.Deferred(function(n){f[0][3].add(s(0,n,u(e)?e:ut,n.notifyWith));f[1][3].add(s(0,n,u(t)?t:ut));f[2][3].add(s(0,n,u(r)?r:fi))}).promise()},promise:function(n){return null!=n?i.extend(n,e):e}},r={};return i.each(f,function(n,t){var i=t[2],u=t[5];e[t[1]]=i.add;u&&i.add(function(){o=u},f[3-n][2].disable,f[3-n][3].disable,f[0][2].lock,f[0][3].lock);i.add(t[3].fire);r[t[0]]=function(){return r[t[0]+"With"](this===r?void 0:this,arguments),this};r[t[0]+"With"]=i.fireWith}),e.promise(r),t&&t.call(r,r),r},when:function(n){var e=arguments.length,t=e,o=Array(t),f=b.call(arguments),r=i.Deferred(),s=function(n){return function(t){o[n]=this;f[n]=1<arguments.length?b.call(arguments):t;--e||r.resolveWith(o,f)}};if(e<=1&&(fu(n,r.done(s(t)).resolve,r.reject,!e),"pending"===r.state()||u(f[t]&&f[t].then)))return r.then();while(t--)fu(f[t],s(t),r.reject);return r.promise()}});eu=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;i.Deferred.exceptionHook=function(t,i){n.console&&n.console.warn&&t&&eu.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,i)};i.readyException=function(t){n.setTimeout(function(){throw t;})};ei=i.Deferred();i.fn.ready=function(n){return ei.then(n)["catch"](function(n){i.readyException(n)}),this};i.extend({isReady:!1,readyWait:1,ready:function(n){(!0===n?--i.readyWait:i.isReady)||(i.isReady=!0)!==n&&0<--i.readyWait||ei.resolveWith(f,[i])}});i.ready.then=ei.then;"complete"===f.readyState||"loading"!==f.readyState&&!f.documentElement.doScroll?n.setTimeout(i.ready):(f.addEventListener("DOMContentLoaded",oi),n.addEventListener("load",oi));var p=function(n,t,r,f,e,o,s){var h=0,l=n.length,c=null==r;if("object"===it(r))for(h in e=!0,r)p(n,t,h,r[h],!0,o,s);else if(void 0!==f&&(e=!0,u(f)||(s=!0),c&&(s?(t.call(n,f),t=null):(c=t,t=function(n,t,r){return c.call(i(n),r)})),t))for(;h<l;h++)t(n[h],r,s?f:f.call(n[h],h,t(n[h],r)));return e?n:c?t.call(n):l?t(n[0],r):o},se=/^-ms-/,he=/-([a-z])/g;yt=function(n){return 1===n.nodeType||9===n.nodeType||!+n.nodeType};pt.uid=1;pt.prototype={cache:function(n){var t=n[this.expando];return t||(t={},yt(n)&&(n.nodeType?n[this.expando]=t:Object.defineProperty(n,this.expando,{value:t,configurable:!0}))),t},set:function(n,t,i){var r,u=this.cache(n);if("string"==typeof t)u[y(t)]=i;else for(r in t)u[y(r)]=t[r];return u},get:function(n,t){return void 0===t?this.cache(n):n[this.expando]&&n[this.expando][y(t)]},access:function(n,t,i){return void 0===t||t&&"string"==typeof t&&void 0===i?this.get(n,t):(this.set(n,t,i),void 0!==i?i:t)},remove:function(n,t){var u,r=n[this.expando];if(void 0!==r){if(void 0!==t)for(u=(t=Array.isArray(t)?t.map(y):(t=y(t))in r?[t]:t.match(l)||[]).length;u--;)delete r[t[u]];(void 0===t||i.isEmptyObject(r))&&(n.nodeType?n[this.expando]=void 0:delete n[this.expando])}},hasData:function(n){var t=n[this.expando];return void 0!==t&&!i.isEmptyObject(t)}};var r=new pt,o=new pt,le=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ae=/[A-Z]/g;i.extend({hasData:function(n){return o.hasData(n)||r.hasData(n)},data:function(n,t,i){return o.access(n,t,i)},removeData:function(n,t){o.remove(n,t)},_data:function(n,t,i){return r.access(n,t,i)},_removeData:function(n,t){r.remove(n,t)}});i.fn.extend({data:function(n,t){var f,u,e,i=this[0],s=i&&i.attributes;if(void 0===n){if(this.length&&(e=o.get(i),1===i.nodeType&&!r.get(i,"hasDataAttrs"))){for(f=s.length;f--;)s[f]&&0===(u=s[f].name).indexOf("data-")&&(u=y(u.slice(5)),ou(i,u,e[u]));r.set(i,"hasDataAttrs",!0)}return e}return"object"==typeof n?this.each(function(){o.set(this,n)}):p(this,function(t){var r;if(i&&void 0===t)return void 0!==(r=o.get(i,n))?r:void 0!==(r=ou(i,n))?r:void 0;this.each(function(){o.set(this,n,t)})},null,t,1<arguments.length,null,!0)},removeData:function(n){return this.each(function(){o.remove(this,n)})}});i.extend({queue:function(n,t,u){var f;if(n)return t=(t||"fx")+"queue",f=r.get(n,t),u&&(!f||Array.isArray(u)?f=r.access(n,t,i.makeArray(u)):f.push(u)),f||[]},dequeue:function(n,t){t=t||"fx";var r=i.queue(n,t),e=r.length,u=r.shift(),f=i._queueHooks(n,t);"inprogress"===u&&(u=r.shift(),e--);u&&("fx"===t&&r.unshift("inprogress"),delete f.stop,u.call(n,function(){i.dequeue(n,t)},f));!e&&f&&f.empty.fire()},_queueHooks:function(n,t){var u=t+"queueHooks";return r.get(n,u)||r.access(n,u,{empty:i.Callbacks("once memory").add(function(){r.remove(n,[t+"queue",u])})})}});i.fn.extend({queue:function(n,t){var r=2;return"string"!=typeof n&&(t=n,n="fx",r--),arguments.length<r?i.queue(this[0],n):void 0===t?this:this.each(function(){var r=i.queue(this,n,t);i._queueHooks(this,n);"fx"===n&&"inprogress"!==r[0]&&i.dequeue(this,n)})},dequeue:function(n){return this.each(function(){i.dequeue(this,n)})},clearQueue:function(n){return this.queue(n||"fx",[])},promise:function(n,t){var u,e=1,o=i.Deferred(),f=this,s=this.length,h=function(){--e||o.resolveWith(f,[f])};for("string"!=typeof n&&(t=n,n=void 0),n=n||"fx";s--;)(u=r.get(f[s],n+"queueHooks"))&&u.empty&&(e++,u.empty.add(h));return h(),o.promise(t)}});var su=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,wt=new RegExp("^(?:([+-])=|)("+su+")([a-z%]*)$","i"),w=["Top","Right","Bottom","Left"],bt=f.documentElement,ft=function(n){return i.contains(n.ownerDocument,n)},ve={composed:!0};bt.getRootNode&&(ft=function(n){return i.contains(n.ownerDocument,n)||n.getRootNode(ve)===n.ownerDocument});kt=function(n,t){return"none"===(n=t||n).style.display||""===n.style.display&&ft(n)&&"none"===i.css(n,"display")};ki=function(n,t,i,r){var f,u,e={};for(u in t)e[u]=n.style[u],n.style[u]=t[u];for(u in f=i.apply(n,r||[]),t)n.style[u]=e[u];return f};di={};i.fn.extend({show:function(){return et(this,!0)},hide:function(){return et(this)},toggle:function(n){return"boolean"==typeof n?n?this.show():this.hide():this.each(function(){kt(this)?i(this).show():i(this).hide()})}});var dt=/^(?:checkbox|radio)$/i,cu=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,lu=/^$|^module$|\/(?:java|ecma)script/i,h={option:[1,"<select multiple='multiple'>","<\/select>"],thead:[1,"<table>","<\/table>"],col:[2,"<table><colgroup>","<\/colgroup><\/table>"],tr:[2,"<table><tbody>","<\/tbody><\/table>"],td:[3,"<table><tbody><tr>","<\/tr><\/tbody><\/table>"],_default:[0,"",""]};h.optgroup=h.option;h.tbody=h.tfoot=h.colgroup=h.caption=h.thead;h.th=h.td;au=/<|&#?\w+;/;gt=f.createDocumentFragment().appendChild(f.createElement("div"));(si=f.createElement("input")).setAttribute("type","radio");si.setAttribute("checked","checked");si.setAttribute("name","t");gt.appendChild(si);e.checkClone=gt.cloneNode(!0).cloneNode(!0).lastChild.checked;gt.innerHTML="<textarea>x<\/textarea>";e.noCloneChecked=!!gt.cloneNode(!0).lastChild.defaultValue;var ye=/^key/,pe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,yu=/^([^.]*)(?:\.(.+)|)/;i.event={global:{},add:function(n,t,u,f,e){var p,v,k,y,w,h,s,c,o,b,d,a=r.get(n);if(a)for(u.handler&&(u=(p=u).handler,e=p.selector),e&&i.find.matchesSelector(bt,e),u.guid||(u.guid=i.guid++),(y=a.events)||(y=a.events={}),(v=a.handle)||(v=a.handle=function(t){if("undefined"!=typeof i&&i.event.triggered!==t.type)return i.event.dispatch.apply(n,arguments)}),w=(t=(t||"").match(l)||[""]).length;w--;)o=d=(k=yu.exec(t[w])||[])[1],b=(k[2]||"").split(".").sort(),o&&(s=i.event.special[o]||{},o=(e?s.delegateType:s.bindType)||o,s=i.event.special[o]||{},h=i.extend({type:o,origType:d,data:f,handler:u,guid:u.guid,selector:e,needsContext:e&&i.expr.match.needsContext.test(e),namespace:b.join(".")},p),(c=y[o])||((c=y[o]=[]).delegateCount=0,s.setup&&!1!==s.setup.call(n,f,b,v)||n.addEventListener&&n.addEventListener(o,v)),s.add&&(s.add.call(n,h),h.handler.guid||(h.handler.guid=u.guid)),e?c.splice(c.delegateCount++,0,h):c.push(h),i.event.global[o]=!0)},remove:function(n,t,u,f,e){var y,k,c,v,p,s,h,a,o,b,d,w=r.hasData(n)&&r.get(n);if(w&&(v=w.events)){for(p=(t=(t||"").match(l)||[""]).length;p--;)if(o=d=(c=yu.exec(t[p])||[])[1],b=(c[2]||"").split(".").sort(),o){for(h=i.event.special[o]||{},a=v[o=(f?h.delegateType:h.bindType)||o]||[],c=c[2]&&new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"),k=y=a.length;y--;)s=a[y],!e&&d!==s.origType||u&&u.guid!==s.guid||c&&!c.test(s.namespace)||f&&f!==s.selector&&("**"!==f||!s.selector)||(a.splice(y,1),s.selector&&a.delegateCount--,h.remove&&h.remove.call(n,s));k&&!a.length&&(h.teardown&&!1!==h.teardown.call(n,b,w.handle)||i.removeEvent(n,o,w.handle),delete v[o])}else for(o in v)i.event.remove(n,o+t[p],u,f,!0);i.isEmptyObject(v)&&r.remove(n,"handle events")}},dispatch:function(n){var u,h,c,e,f,l,t=i.event.fix(n),s=new Array(arguments.length),a=(r.get(this,"events")||{})[t.type]||[],o=i.event.special[t.type]||{};for(s[0]=t,u=1;u<arguments.length;u++)s[u]=arguments[u];if(t.delegateTarget=this,!o.preDispatch||!1!==o.preDispatch.call(this,t)){for(l=i.event.handlers.call(this,t,a),u=0;(e=l[u++])&&!t.isPropagationStopped();)for(t.currentTarget=e.elem,h=0;(f=e.handlers[h++])&&!t.isImmediatePropagationStopped();)t.rnamespace&&!1!==f.namespace&&!t.rnamespace.test(f.namespace)||(t.handleObj=f,t.data=f.data,void 0!==(c=((i.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,s))&&!1===(t.result=c)&&(t.preventDefault(),t.stopPropagation()));return o.postDispatch&&o.postDispatch.call(this,t),t.result}},handlers:function(n,t){var f,h,u,e,o,c=[],s=t.delegateCount,r=n.target;if(s&&r.nodeType&&!("click"===n.type&&1<=n.button))for(;r!==this;r=r.parentNode||this)if(1===r.nodeType&&("click"!==n.type||!0!==r.disabled)){for(e=[],o={},f=0;f<s;f++)void 0===o[u=(h=t[f]).selector+" "]&&(o[u]=h.needsContext?-1<i(u,this).index(r):i.find(u,this,null,[r]).length),o[u]&&e.push(h);e.length&&c.push({elem:r,handlers:e})}return r=this,s<t.length&&c.push({elem:r,handlers:t.slice(s)}),c},addProp:function(n,t){Object.defineProperty(i.Event.prototype,n,{enumerable:!0,configurable:!0,get:u(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[n]},set:function(t){Object.defineProperty(this,n,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(n){return n[i.expando]?n:new i.Event(n)},special:{load:{noBubble:!0},click:{setup:function(n){var t=this||n;return dt.test(t.type)&&t.click&&c(t,"input")&&hi(t,"click",ot),!1},trigger:function(n){var t=this||n;return dt.test(t.type)&&t.click&&c(t,"input")&&hi(t,"click"),!0},_default:function(n){var t=n.target;return dt.test(t.type)&&t.click&&c(t,"input")&&r.get(t,"click")||c(t,"a")}},beforeunload:{postDispatch:function(n){void 0!==n.result&&n.originalEvent&&(n.originalEvent.returnValue=n.result)}}}};i.removeEvent=function(n,t,i){n.removeEventListener&&n.removeEventListener(t,i)};i.Event=function(n,t){if(!(this instanceof i.Event))return new i.Event(n,t);n&&n.type?(this.originalEvent=n,this.type=n.type,this.isDefaultPrevented=n.defaultPrevented||void 0===n.defaultPrevented&&!1===n.returnValue?ot:st,this.target=n.target&&3===n.target.nodeType?n.target.parentNode:n.target,this.currentTarget=n.currentTarget,this.relatedTarget=n.relatedTarget):this.type=n;t&&i.extend(this,t);this.timeStamp=n&&n.timeStamp||Date.now();this[i.expando]=!0};i.Event.prototype={constructor:i.Event,isDefaultPrevented:st,isPropagationStopped:st,isImmediatePropagationStopped:st,isSimulated:!1,preventDefault:function(){var n=this.originalEvent;this.isDefaultPrevented=ot;n&&!this.isSimulated&&n.preventDefault()},stopPropagation:function(){var n=this.originalEvent;this.isPropagationStopped=ot;n&&!this.isSimulated&&n.stopPropagation()},stopImmediatePropagation:function(){var n=this.originalEvent;this.isImmediatePropagationStopped=ot;n&&!this.isSimulated&&n.stopImmediatePropagation();this.stopPropagation()}};i.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(n){var t=n.button;return null==n.which&&ye.test(n.type)?null!=n.charCode?n.charCode:n.keyCode:!n.which&&void 0!==t&&pe.test(n.type)?1&t?1:2&t?3:4&t?2:0:n.which}},i.event.addProp);i.each({focus:"focusin",blur:"focusout"},function(n,t){i.event.special[n]={setup:function(){return hi(this,n,we),!1},trigger:function(){return hi(this,n),!0},delegateType:t}});i.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(n,t){i.event.special[n]={delegateType:t,bindType:t,handle:function(n){var u,r=n.relatedTarget,f=n.handleObj;return r&&(r===this||i.contains(this,r))||(n.type=f.origType,u=f.handler.apply(this,arguments),n.type=t),u}}});i.fn.extend({on:function(n,t,i,r){return nr(this,n,t,i,r)},one:function(n,t,i,r){return nr(this,n,t,i,r,1)},off:function(n,t,r){var u,f;if(n&&n.preventDefault&&n.handleObj)return u=n.handleObj,i(n.delegateTarget).off(u.namespace?u.origType+"."+u.namespace:u.origType,u.selector,u.handler),this;if("object"==typeof n){for(f in n)this.off(f,t,n[f]);return this}return!1!==t&&"function"!=typeof t||(r=t,t=void 0),!1===r&&(r=st),this.each(function(){i.event.remove(this,n,r,t)})}});var be=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ke=/<script|<style|<link/i,de=/checked\s*(?:[^=]|=\s*.checked.)/i,ge=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;i.extend({htmlPrefilter:function(n){return n.replace(be,"<$1><\/$2>")},clone:function(n,t,r){var u,c,o,f,l,a,v,h=n.cloneNode(!0),y=ft(n);if(!(e.noCloneChecked||1!==n.nodeType&&11!==n.nodeType||i.isXMLDoc(n)))for(f=s(h),u=0,c=(o=s(n)).length;u<c;u++)l=o[u],a=f[u],void 0,"input"===(v=a.nodeName.toLowerCase())&&dt.test(l.type)?a.checked=l.checked:"input"!==v&&"textarea"!==v||(a.defaultValue=l.defaultValue);if(t)if(r)for(o=o||s(n),f=f||s(h),u=0,c=o.length;u<c;u++)wu(o[u],f[u]);else wu(n,h);return 0<(f=s(h,"script")).length&&gi(f,!y&&s(n,"script")),h},cleanData:function(n){for(var u,t,f,s=i.event.special,e=0;void 0!==(t=n[e]);e++)if(yt(t)){if(u=t[r.expando]){if(u.events)for(f in u.events)s[f]?i.event.remove(t,f):i.removeEvent(t,f,u.handle);t[r.expando]=void 0}t[o.expando]&&(t[o.expando]=void 0)}}});i.fn.extend({detach:function(n){return bu(this,n,!0)},remove:function(n){return bu(this,n)},text:function(n){return p(this,function(n){return void 0===n?i.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=n)})},null,n,arguments.length)},append:function(){return ht(this,arguments,function(n){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||pu(this,n).appendChild(n)})},prepend:function(){return ht(this,arguments,function(n){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pu(this,n);t.insertBefore(n,t.firstChild)}})},before:function(){return ht(this,arguments,function(n){this.parentNode&&this.parentNode.insertBefore(n,this)})},after:function(){return ht(this,arguments,function(n){this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling)})},empty:function(){for(var n,t=0;null!=(n=this[t]);t++)1===n.nodeType&&(i.cleanData(s(n,!1)),n.textContent="");return this},clone:function(n,t){return n=null!=n&&n,t=null==t?n:t,this.map(function(){return i.clone(this,n,t)})},html:function(n){return p(this,function(n){var t=this[0]||{},r=0,u=this.length;if(void 0===n&&1===t.nodeType)return t.innerHTML;if("string"==typeof n&&!ke.test(n)&&!h[(cu.exec(n)||["",""])[1].toLowerCase()]){n=i.htmlPrefilter(n);try{for(;r<u;r++)1===(t=this[r]||{}).nodeType&&(i.cleanData(s(t,!1)),t.innerHTML=n);t=0}catch(n){}}t&&this.empty().append(n)},null,n,arguments.length)},replaceWith:function(){var n=[];return ht(this,arguments,function(t){var r=this.parentNode;i.inArray(this,n)<0&&(i.cleanData(s(this)),r&&r.replaceChild(t,this))},n)}});i.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(n,t){i.fn[n]=function(n){for(var u,f=[],e=i(n),o=e.length-1,r=0;r<=o;r++)u=r===o?this:this.clone(!0),i(e[r])[t](u),yi.apply(f,u.get());return this.pushStack(f)}});var tr=new RegExp("^("+su+")(?!px)[a-z%]+$","i"),ci=function(t){var i=t.ownerDocument.defaultView;return i&&i.opener||(i=n),i.getComputedStyle(t)},io=new RegExp(w.join("|"),"i");!function(){function r(){if(t){o.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0";t.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%";bt.appendChild(o).appendChild(t);var i=n.getComputedStyle(t);s="1%"!==i.top;a=12===u(i.marginLeft);t.style.right="60%";l=36===u(i.right);h=36===u(i.width);t.style.position="absolute";c=12===u(t.offsetWidth/3);bt.removeChild(o);t=null}}function u(n){return Math.round(parseFloat(n))}var s,h,c,l,a,o=f.createElement("div"),t=f.createElement("div");t.style&&(t.style.backgroundClip="content-box",t.cloneNode(!0).style.backgroundClip="",e.clearCloneStyle="content-box"===t.style.backgroundClip,i.extend(e,{boxSizingReliable:function(){return r(),h},pixelBoxStyles:function(){return r(),l},pixelPosition:function(){return r(),s},reliableMarginLeft:function(){return r(),a},scrollboxSize:function(){return r(),c}}))}();var du=["Webkit","Moz","ms"],gu=f.createElement("div").style,nf={};var ro=/^(none|table(?!-c[ea]).+)/,tf=/^--/,uo={position:"absolute",visibility:"hidden",display:"block"},rf={letterSpacing:"0",fontWeight:"400"};i.extend({cssHooks:{opacity:{get:function(n,t){if(t){var i=ni(n,"opacity");return""===i?"1":i}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(n,t,r,u){if(n&&3!==n.nodeType&&8!==n.nodeType&&n.style){var f,h,o,c=y(t),l=tf.test(t),s=n.style;if(l||(t=ir(c)),o=i.cssHooks[t]||i.cssHooks[c],void 0===r)return o&&"get"in o&&void 0!==(f=o.get(n,!1,u))?f:s[t];"string"==(h=typeof r)&&(f=wt.exec(r))&&f[1]&&(r=hu(n,t,f),h="number");null!=r&&r==r&&("number"!==h||l||(r+=f&&f[3]||(i.cssNumber[c]?"":"px")),e.clearCloneStyle||""!==r||0!==t.indexOf("background")||(s[t]="inherit"),o&&"set"in o&&void 0===(r=o.set(n,r,u))||(l?s.setProperty(t,r):s[t]=r))}},css:function(n,t,r,u){var f,e,o,s=y(t);return tf.test(t)||(t=ir(s)),(o=i.cssHooks[t]||i.cssHooks[s])&&"get"in o&&(f=o.get(n,!0,r)),void 0===f&&(f=ni(n,t,u)),"normal"===f&&t in rf&&(f=rf[t]),""===r||r?(e=parseFloat(f),!0===r||isFinite(e)?e||0:f):f}});i.each(["height","width"],function(n,t){i.cssHooks[t]={get:function(n,r,u){if(r)return!ro.test(i.css(n,"display"))||n.getClientRects().length&&n.getBoundingClientRect().width?ff(n,t,u):ki(n,uo,function(){return ff(n,t,u)})},set:function(n,r,u){var s,f=ci(n),h=!e.scrollboxSize()&&"absolute"===f.position,c=(h||u)&&"border-box"===i.css(n,"boxSizing",!1,f),o=u?rr(n,t,u,c,f):0;return c&&h&&(o-=Math.ceil(n["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(f[t])-rr(n,t,"border",!1,f)-.5)),o&&(s=wt.exec(r))&&"px"!==(s[3]||"px")&&(n.style[t]=r,r=i.css(n,t)),uf(0,r,o)}}});i.cssHooks.marginLeft=ku(e.reliableMarginLeft,function(n,t){if(t)return(parseFloat(ni(n,"marginLeft"))||n.getBoundingClientRect().left-ki(n,{marginLeft:0},function(){return n.getBoundingClientRect().left}))+"px"});i.each({margin:"",padding:"",border:"Width"},function(n,t){i.cssHooks[n+t]={expand:function(i){for(var r=0,f={},u="string"==typeof i?i.split(" "):[i];r<4;r++)f[n+w[r]+t]=u[r]||u[r-2]||u[0];return f}};"margin"!==n&&(i.cssHooks[n+t].set=uf)});i.fn.extend({css:function(n,t){return p(this,function(n,t,r){var f,e,o={},u=0;if(Array.isArray(t)){for(f=ci(n),e=t.length;u<e;u++)o[t[u]]=i.css(n,t[u],!1,f);return o}return void 0!==r?i.style(n,t,r):i.css(n,t)},n,t,1<arguments.length)}});((i.Tween=a).prototype={constructor:a,init:function(n,t,r,u,f,e){this.elem=n;this.prop=r;this.easing=f||i.easing._default;this.options=t;this.start=this.now=this.cur();this.end=u;this.unit=e||(i.cssNumber[r]?"":"px")},cur:function(){var n=a.propHooks[this.prop];return n&&n.get?n.get(this):a.propHooks._default.get(this)},run:function(n){var t,r=a.propHooks[this.prop];return this.pos=this.options.duration?t=i.easing[this.easing](n,this.options.duration*n,0,1,this.options.duration):t=n,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),r&&r.set?r.set(this):a.propHooks._default.set(this),this}}).init.prototype=a.prototype;(a.propHooks={_default:{get:function(n){var t;return 1!==n.elem.nodeType||null!=n.elem[n.prop]&&null==n.elem.style[n.prop]?n.elem[n.prop]:(t=i.css(n.elem,n.prop,""))&&"auto"!==t?t:0},set:function(n){i.fx.step[n.prop]?i.fx.step[n.prop](n):1!==n.elem.nodeType||!i.cssHooks[n.prop]&&null==n.elem.style[ir(n.prop)]?n.elem[n.prop]=n.now:i.style(n.elem,n.prop,n.now+n.unit)}}}).scrollTop=a.propHooks.scrollLeft={set:function(n){n.elem.nodeType&&n.elem.parentNode&&(n.elem[n.prop]=n.now)}};i.easing={linear:function(n){return n},swing:function(n){return.5-Math.cos(n*Math.PI)/2},_default:"swing"};i.fx=a.prototype.init;i.fx.step={};of=/^(?:toggle|show|hide)$/;sf=/queueHooks$/;i.Animation=i.extend(v,{tweeners:{"*":[function(n,t){var i=this.createTween(n,t);return hu(i.elem,n,wt.exec(t),i),i}]},tweener:function(n,t){u(n)?(t=n,n=["*"]):n=n.match(l);for(var i,r=0,f=n.length;r<f;r++)i=n[r],v.tweeners[i]=v.tweeners[i]||[],v.tweeners[i].unshift(t)},prefilters:[function(n,t,u){var f,y,w,c,b,h,o,l,k="width"in t||"height"in t,v=this,p={},s=n.style,a=n.nodeType&&kt(n),e=r.get(n,"fxshow");for(f in u.queue||(null==(c=i._queueHooks(n,"fx")).unqueued&&(c.unqueued=0,b=c.empty.fire,c.empty.fire=function(){c.unqueued||b()}),c.unqueued++,v.always(function(){v.always(function(){c.unqueued--;i.queue(n,"fx").length||c.empty.fire()})})),t)if(y=t[f],of.test(y)){if(delete t[f],w=w||"toggle"===y,y===(a?"hide":"show")){if("show"!==y||!e||void 0===e[f])continue;a=!0}p[f]=e&&e[f]||i.style(n,f)}if((h=!i.isEmptyObject(t))||!i.isEmptyObject(p))for(f in k&&1===n.nodeType&&(u.overflow=[s.overflow,s.overflowX,s.overflowY],null==(o=e&&e.display)&&(o=r.get(n,"display")),"none"===(l=i.css(n,"display"))&&(o?l=o:(et([n],!0),o=n.style.display||o,l=i.css(n,"display"),et([n]))),("inline"===l||"inline-block"===l&&null!=o)&&"none"===i.css(n,"float")&&(h||(v.done(function(){s.display=o}),null==o&&(l=s.display,o="none"===l?"":l)),s.display="inline-block")),u.overflow&&(s.overflow="hidden",v.always(function(){s.overflow=u.overflow[0];s.overflowX=u.overflow[1];s.overflowY=u.overflow[2]})),h=!1,p)h||(e?"hidden"in e&&(a=e.hidden):e=r.access(n,"fxshow",{display:o}),w&&(e.hidden=!a),a&&et([n],!0),v.done(function(){for(f in a||et([n]),r.remove(n,"fxshow"),p)i.style(n,f,p[f])})),h=cf(a?e[f]:0,f,v),f in e||(e[f]=h.start,a&&(h.end=h.start,h.start=0))}],prefilter:function(n,t){t?v.prefilters.unshift(n):v.prefilters.push(n)}});i.speed=function(n,t,r){var f=n&&"object"==typeof n?i.extend({},n):{complete:r||!r&&t||u(n)&&n,duration:n,easing:r&&t||t&&!u(t)&&t};return i.fx.off?f.duration=0:"number"!=typeof f.duration&&(f.duration=f.duration in i.fx.speeds?i.fx.speeds[f.duration]:i.fx.speeds._default),null!=f.queue&&!0!==f.queue||(f.queue="fx"),f.old=f.complete,f.complete=function(){u(f.old)&&f.old.call(this);f.queue&&i.dequeue(this,f.queue)},f};i.fn.extend({fadeTo:function(n,t,i,r){return this.filter(kt).css("opacity",0).show().end().animate({opacity:t},n,i,r)},animate:function(n,t,u,f){var s=i.isEmptyObject(n),o=i.speed(t,u,f),e=function(){var t=v(this,i.extend({},n),o);(s||r.get(this,"finish"))&&t.stop(!0)};return e.finish=e,s||!1===o.queue?this.each(e):this.queue(o.queue,e)},stop:function(n,t,u){var f=function(n){var t=n.stop;delete n.stop;t(u)};return"string"!=typeof n&&(u=t,t=n,n=void 0),t&&!1!==n&&this.queue(n||"fx",[]),this.each(function(){var s=!0,t=null!=n&&n+"queueHooks",o=i.timers,e=r.get(this);if(t)e[t]&&e[t].stop&&f(e[t]);else for(t in e)e[t]&&e[t].stop&&sf.test(t)&&f(e[t]);for(t=o.length;t--;)o[t].elem!==this||null!=n&&o[t].queue!==n||(o[t].anim.stop(u),s=!1,o.splice(t,1));!s&&u||i.dequeue(this,n)})},finish:function(n){return!1!==n&&(n=n||"fx"),this.each(function(){var t,e=r.get(this),u=e[n+"queue"],o=e[n+"queueHooks"],f=i.timers,s=u?u.length:0;for(e.finish=!0,i.queue(this,n,[]),o&&o.stop&&o.stop.call(this,!0),t=f.length;t--;)f[t].elem===this&&f[t].queue===n&&(f[t].anim.stop(!0),f.splice(t,1));for(t=0;t<s;t++)u[t]&&u[t].finish&&u[t].finish.call(this);delete e.finish})}});i.each(["toggle","show","hide"],function(n,t){var r=i.fn[t];i.fn[t]=function(n,i,u){return null==n||"boolean"==typeof n?r.apply(this,arguments):this.animate(ai(t,!0),n,i,u)}});i.each({slideDown:ai("show"),slideUp:ai("hide"),slideToggle:ai("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(n,t){i.fn[n]=function(n,i,r){return this.animate(t,n,i,r)}});i.timers=[];i.fx.tick=function(){var r,n=0,t=i.timers;for(ct=Date.now();n<t.length;n++)(r=t[n])()||t[n]!==r||t.splice(n--,1);t.length||i.fx.stop();ct=void 0};i.fx.timer=function(n){i.timers.push(n);i.fx.start()};i.fx.interval=13;i.fx.start=function(){li||(li=!0,ur())};i.fx.stop=function(){li=null};i.fx.speeds={slow:600,fast:200,_default:400};i.fn.delay=function(t,r){return t=i.fx&&i.fx.speeds[t]||t,r=r||"fx",this.queue(r,function(i,r){var u=n.setTimeout(i,t);r.stop=function(){n.clearTimeout(u)}})};lt=f.createElement("input");ef=f.createElement("select").appendChild(f.createElement("option"));lt.type="checkbox";e.checkOn=""!==lt.value;e.optSelected=ef.selected;(lt=f.createElement("input")).value="t";lt.type="radio";e.radioValue="t"===lt.value;at=i.expr.attrHandle;i.fn.extend({attr:function(n,t){return p(this,i.attr,n,t,1<arguments.length)},removeAttr:function(n){return this.each(function(){i.removeAttr(this,n)})}});i.extend({attr:function(n,t,r){var f,u,e=n.nodeType;if(3!==e&&8!==e&&2!==e)return"undefined"==typeof n.getAttribute?i.prop(n,t,r):(1===e&&i.isXMLDoc(n)||(u=i.attrHooks[t.toLowerCase()]||(i.expr.match.bool.test(t)?lf:void 0)),void 0!==r?null===r?void i.removeAttr(n,t):u&&"set"in u&&void 0!==(f=u.set(n,r,t))?f:(n.setAttribute(t,r+""),r):u&&"get"in u&&null!==(f=u.get(n,t))?f:null==(f=i.find.attr(n,t))?void 0:f)},attrHooks:{type:{set:function(n,t){if(!e.radioValue&&"radio"===t&&c(n,"input")){var i=n.value;return n.setAttribute("type",t),i&&(n.value=i),t}}}},removeAttr:function(n,t){var i,u=0,r=t&&t.match(l);if(r&&1===n.nodeType)while(i=r[u++])n.removeAttribute(i)}});lf={set:function(n,t,r){return!1===t?i.removeAttr(n,r):n.setAttribute(r,r),r}};i.each(i.expr.match.bool.source.match(/\w+/g),function(n,t){var r=at[t]||i.find.attr;at[t]=function(n,t,i){var f,e,u=t.toLowerCase();return i||(e=at[u],at[u]=f,f=null!=r(n,t,i)?u:null,at[u]=e),f}});af=/^(?:input|select|textarea|button)$/i;vf=/^(?:a|area)$/i;i.fn.extend({prop:function(n,t){return p(this,i.prop,n,t,1<arguments.length)},removeProp:function(n){return this.each(function(){delete this[i.propFix[n]||n]})}});i.extend({prop:function(n,t,r){var f,u,e=n.nodeType;if(3!==e&&8!==e&&2!==e)return 1===e&&i.isXMLDoc(n)||(t=i.propFix[t]||t,u=i.propHooks[t]),void 0!==r?u&&"set"in u&&void 0!==(f=u.set(n,r,t))?f:n[t]=r:u&&"get"in u&&null!==(f=u.get(n,t))?f:n[t]},propHooks:{tabIndex:{get:function(n){var t=i.find.attr(n,"tabindex");return t?parseInt(t,10):af.test(n.nodeName)||vf.test(n.nodeName)&&n.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}});e.optSelected||(i.propHooks.selected={get:function(n){var t=n.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(n){var t=n.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}});i.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){i.propFix[this.toLowerCase()]=this});i.fn.extend({addClass:function(n){var o,t,r,f,e,s,h,c=0;if(u(n))return this.each(function(t){i(this).addClass(n.call(this,t,nt(this)))});if((o=fr(n)).length)while(t=this[c++])if(f=nt(t),r=1===t.nodeType&&" "+g(f)+" "){for(s=0;e=o[s++];)r.indexOf(" "+e+" ")<0&&(r+=e+" ");f!==(h=g(r))&&t.setAttribute("class",h)}return this},removeClass:function(n){var o,r,t,f,e,s,h,c=0;if(u(n))return this.each(function(t){i(this).removeClass(n.call(this,t,nt(this)))});if(!arguments.length)return this.attr("class","");if((o=fr(n)).length)while(r=this[c++])if(f=nt(r),t=1===r.nodeType&&" "+g(f)+" "){for(s=0;e=o[s++];)while(-1<t.indexOf(" "+e+" "))t=t.replace(" "+e+" "," ");f!==(h=g(t))&&r.setAttribute("class",h)}return this},toggleClass:function(n,t){var f=typeof n,e="string"===f||Array.isArray(n);return"boolean"==typeof t&&e?t?this.addClass(n):this.removeClass(n):u(n)?this.each(function(r){i(this).toggleClass(n.call(this,r,nt(this),t),t)}):this.each(function(){var t,o,u,s;if(e)for(o=0,u=i(this),s=fr(n);t=s[o++];)u.hasClass(t)?u.removeClass(t):u.addClass(t);else void 0!==n&&"boolean"!==f||((t=nt(this))&&r.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===n?"":r.get(this,"__className__")||""))})},hasClass:function(n){for(var t,r=0,i=" "+n+" ";t=this[r++];)if(1===t.nodeType&&-1<(" "+g(nt(t))+" ").indexOf(i))return!0;return!1}});yf=/\r/g;i.fn.extend({val:function(n){var t,r,e,f=this[0];return arguments.length?(e=u(n),this.each(function(r){var u;1===this.nodeType&&(null==(u=e?n.call(this,r,i(this).val()):n)?u="":"number"==typeof u?u+="":Array.isArray(u)&&(u=i.map(u,function(n){return null==n?"":n+""})),(t=i.valHooks[this.type]||i.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,u,"value")||(this.value=u))})):f?(t=i.valHooks[f.type]||i.valHooks[f.nodeName.toLowerCase()])&&"get"in t&&void 0!==(r=t.get(f,"value"))?r:"string"==typeof(r=f.value)?r.replace(yf,""):null==r?"":r:void 0}});i.extend({valHooks:{option:{get:function(n){var t=i.find.attr(n,"value");return null!=t?t:g(i.text(n))}},select:{get:function(n){for(var e,t,o=n.options,u=n.selectedIndex,f="select-one"===n.type,s=f?null:[],h=f?u+1:o.length,r=u<0?h:f?u:0;r<h;r++)if(((t=o[r]).selected||r===u)&&!t.disabled&&(!t.parentNode.disabled||!c(t.parentNode,"optgroup"))){if(e=i(t).val(),f)return e;s.push(e)}return s},set:function(n,t){for(var r,u,f=n.options,e=i.makeArray(t),o=f.length;o--;)((u=f[o]).selected=-1<i.inArray(i.valHooks.option.get(u),e))&&(r=!0);return r||(n.selectedIndex=-1),e}}}});i.each(["radio","checkbox"],function(){i.valHooks[this]={set:function(n,t){if(Array.isArray(t))return n.checked=-1<i.inArray(i(n).val(),t)}};e.checkOn||(i.valHooks[this].get=function(n){return null===n.getAttribute("value")?"on":n.value})});e.focusin="onfocusin"in n;er=/^(?:focusinfocus|focusoutblur)$/;or=function(n){n.stopPropagation()};i.extend(i.event,{trigger:function(t,e,o,s){var k,c,l,d,v,y,a,p,w=[o||f],h=ui.call(t,"type")?t.type:t,b=ui.call(t,"namespace")?t.namespace.split("."):[];if(c=p=l=o=o||f,3!==o.nodeType&&8!==o.nodeType&&!er.test(h+i.event.triggered)&&(-1<h.indexOf(".")&&(h=(b=h.split(".")).shift(),b.sort()),v=h.indexOf(":")<0&&"on"+h,(t=t[i.expando]?t:new i.Event(h,"object"==typeof t&&t)).isTrigger=s?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=o),e=null==e?[t]:i.makeArray(e,[t]),a=i.event.special[h]||{},s||!a.trigger||!1!==a.trigger.apply(o,e))){if(!s&&!a.noBubble&&!tt(o)){for(d=a.delegateType||h,er.test(d+h)||(c=c.parentNode);c;c=c.parentNode)w.push(c),l=c;l===(o.ownerDocument||f)&&w.push(l.defaultView||l.parentWindow||n)}for(k=0;(c=w[k++])&&!t.isPropagationStopped();)p=c,t.type=1<k?d:a.bindType||h,(y=(r.get(c,"events")||{})[t.type]&&r.get(c,"handle"))&&y.apply(c,e),(y=v&&c[v])&&y.apply&&yt(c)&&(t.result=y.apply(c,e),!1===t.result&&t.preventDefault());return t.type=h,s||t.isDefaultPrevented()||a._default&&!1!==a._default.apply(w.pop(),e)||!yt(o)||v&&u(o[h])&&!tt(o)&&((l=o[v])&&(o[v]=null),i.event.triggered=h,t.isPropagationStopped()&&p.addEventListener(h,or),o[h](),t.isPropagationStopped()&&p.removeEventListener(h,or),i.event.triggered=void 0,l&&(o[v]=l)),t.result}},simulate:function(n,t,r){var u=i.extend(new i.Event,r,{type:n,isSimulated:!0});i.event.trigger(u,null,t)}});i.fn.extend({trigger:function(n,t){return this.each(function(){i.event.trigger(n,t,this)})},triggerHandler:function(n,t){var r=this[0];if(r)return i.event.trigger(n,t,r,!0)}});e.focusin||i.each({focus:"focusin",blur:"focusout"},function(n,t){var u=function(n){i.event.simulate(t,n.target,i.event.fix(n))};i.event.special[t]={setup:function(){var i=this.ownerDocument||this,f=r.access(i,t);f||i.addEventListener(n,u,!0);r.access(i,t,(f||0)+1)},teardown:function(){var i=this.ownerDocument||this,f=r.access(i,t)-1;f?r.access(i,t,f):(i.removeEventListener(n,u,!0),r.remove(i,t))}}});var ti=n.location,pf=Date.now(),sr=/\?/;i.parseXML=function(t){var r;if(!t||"string"!=typeof t)return null;try{r=(new n.DOMParser).parseFromString(t,"text/xml")}catch(t){r=void 0}return r&&!r.getElementsByTagName("parsererror").length||i.error("Invalid XML: "+t),r};var fo=/\[\]$/,wf=/\r?\n/g,eo=/^(?:submit|button|image|reset|file)$/i,oo=/^(?:input|select|textarea|keygen)/i;i.param=function(n,t){var r,f=[],e=function(n,t){var i=u(t)?t():t;f[f.length]=encodeURIComponent(n)+"="+encodeURIComponent(null==i?"":i)};if(null==n)return"";if(Array.isArray(n)||n.jquery&&!i.isPlainObject(n))i.each(n,function(){e(this.name,this.value)});else for(r in n)hr(r,n[r],t,e);return f.join("&")};i.fn.extend({serialize:function(){return i.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var n=i.prop(this,"elements");return n?i.makeArray(n):this}).filter(function(){var n=this.type;return this.name&&!i(this).is(":disabled")&&oo.test(this.nodeName)&&!eo.test(n)&&(this.checked||!dt.test(n))}).map(function(n,t){var r=i(this).val();return null==r?null:Array.isArray(r)?i.map(r,function(n){return{name:t.name,value:n.replace(wf,"\r\n")}}):{name:t.name,value:r.replace(wf,"\r\n")}}).get()}});var so=/%20/g,ho=/#.*$/,co=/([?&])_=[^&]*/,lo=/^(.*?):[ \t]*([^\r\n]*)$/gm,ao=/^(?:GET|HEAD)$/,vo=/^\/\//,bf={},cr={},kf="*/".concat("*"),lr=f.createElement("a");return lr.href=ti.href,i.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ti.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(ti.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":kf,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":i.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(n,t){return t?ar(ar(n,i.ajaxSettings),t):ar(i.ajaxSettings,n)},ajaxPrefilter:df(bf),ajaxTransport:df(cr),ajax:function(t,r){function b(t,r,f,c){var v,rt,b,p,g,l=r;s||(s=!0,d&&n.clearTimeout(d),a=void 0,k=c||"",e.readyState=0<t?4:0,v=200<=t&&t<300||304===t,f&&(p=function(n,t,i){for(var e,u,f,o,s=n.contents,r=n.dataTypes;"*"===r[0];)r.shift(),void 0===e&&(e=n.mimeType||t.getResponseHeader("Content-Type"));if(e)for(u in s)if(s[u]&&s[u].test(e)){r.unshift(u);break}if(r[0]in i)f=r[0];else{for(u in i){if(!r[0]||n.converters[u+" "+r[0]]){f=u;break}o||(o=u)}f=f||o}if(f)return f!==r[0]&&r.unshift(f),i[f]}(u,e,f)),p=function(n,t,i,r){var h,u,f,s,e,o={},c=n.dataTypes.slice();if(c[1])for(f in n.converters)o[f.toLowerCase()]=n.converters[f];for(u=c.shift();u;)if(n.responseFields[u]&&(i[n.responseFields[u]]=t),!e&&r&&n.dataFilter&&(t=n.dataFilter(t,n.dataType)),e=u,u=c.shift())if("*"===u)u=e;else if("*"!==e&&e!==u){if(!(f=o[e+" "+u]||o["* "+u]))for(h in o)if((s=h.split(" "))[1]===u&&(f=o[e+" "+s[0]]||o["* "+s[0]])){!0===f?f=o[h]:!0!==o[h]&&(u=s[0],c.unshift(s[1]));break}if(!0!==f)if(f&&n.throws)t=f(t);else try{t=f(t)}catch(n){return{state:"parsererror",error:f?n:"No conversion from "+e+" to "+u}}}return{state:"success",data:t}}(u,p,e,v),v?(u.ifModified&&((g=e.getResponseHeader("Last-Modified"))&&(i.lastModified[o]=g),(g=e.getResponseHeader("etag"))&&(i.etag[o]=g)),204===t||"HEAD"===u.type?l="nocontent":304===t?l="notmodified":(l=p.state,rt=p.data,v=!(b=p.error))):(b=l,!t&&l||(l="error",t<0&&(t=0))),e.status=t,e.statusText=(r||l)+"",v?tt.resolveWith(h,[rt,l,e]):tt.rejectWith(h,[e,l,b]),e.statusCode(w),w=void 0,y&&nt.trigger(v?"ajaxSuccess":"ajaxError",[e,u,v?rt:b]),it.fireWith(h,[e,l]),y&&(nt.trigger("ajaxComplete",[e,u]),--i.active||i.event.trigger("ajaxStop")))}"object"==typeof t&&(r=t,t=void 0);r=r||{};var a,o,k,v,d,c,s,y,g,p,u=i.ajaxSetup({},r),h=u.context||u,nt=u.context&&(h.nodeType||h.jquery)?i(h):i.event,tt=i.Deferred(),it=i.Callbacks("once memory"),w=u.statusCode||{},rt={},ut={},ft="canceled",e={readyState:0,getResponseHeader:function(n){var t;if(s){if(!v)for(v={};t=lo.exec(k);)v[t[1].toLowerCase()+" "]=(v[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=v[n.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return s?k:null},setRequestHeader:function(n,t){return null==s&&(n=ut[n.toLowerCase()]=ut[n.toLowerCase()]||n,rt[n]=t),this},overrideMimeType:function(n){return null==s&&(u.mimeType=n),this},statusCode:function(n){var t;if(n)if(s)e.always(n[e.status]);else for(t in n)w[t]=[w[t],n[t]];return this},abort:function(n){var t=n||ft;return a&&a.abort(t),b(0,t),this}};if(tt.promise(e),u.url=((t||u.url||ti.href)+"").replace(vo,ti.protocol+"//"),u.type=r.method||r.type||u.method||u.type,u.dataTypes=(u.dataType||"*").toLowerCase().match(l)||[""],null==u.crossDomain){c=f.createElement("a");try{c.href=u.url;c.href=c.href;u.crossDomain=lr.protocol+"//"+lr.host!=c.protocol+"//"+c.host}catch(t){u.crossDomain=!0}}if(u.data&&u.processData&&"string"!=typeof u.data&&(u.data=i.param(u.data,u.traditional)),gf(bf,u,r,e),s)return e;for(g in(y=i.event&&u.global)&&0==i.active++&&i.event.trigger("ajaxStart"),u.type=u.type.toUpperCase(),u.hasContent=!ao.test(u.type),o=u.url.replace(ho,""),u.hasContent?u.data&&u.processData&&0===(u.contentType||"").indexOf("application/x-www-form-urlencoded")&&(u.data=u.data.replace(so,"+")):(p=u.url.slice(o.length),u.data&&(u.processData||"string"==typeof u.data)&&(o+=(sr.test(o)?"&":"?")+u.data,delete u.data),!1===u.cache&&(o=o.replace(co,"$1"),p=(sr.test(o)?"&":"?")+"_="+pf+++p),u.url=o+p),u.ifModified&&(i.lastModified[o]&&e.setRequestHeader("If-Modified-Since",i.lastModified[o]),i.etag[o]&&e.setRequestHeader("If-None-Match",i.etag[o])),(u.data&&u.hasContent&&!1!==u.contentType||r.contentType)&&e.setRequestHeader("Content-Type",u.contentType),e.setRequestHeader("Accept",u.dataTypes[0]&&u.accepts[u.dataTypes[0]]?u.accepts[u.dataTypes[0]]+("*"!==u.dataTypes[0]?", "+kf+"; q=0.01":""):u.accepts["*"]),u.headers)e.setRequestHeader(g,u.headers[g]);if(u.beforeSend&&(!1===u.beforeSend.call(h,e,u)||s))return e.abort();if(ft="abort",it.add(u.complete),e.done(u.success),e.fail(u.error),a=gf(cr,u,r,e)){if(e.readyState=1,y&&nt.trigger("ajaxSend",[e,u]),s)return e;u.async&&0<u.timeout&&(d=n.setTimeout(function(){e.abort("timeout")},u.timeout));try{s=!1;a.send(rt,b)}catch(t){if(s)throw t;b(-1,t)}}else b(-1,"No Transport");return e},getJSON:function(n,t,r){return i.get(n,t,r,"json")},getScript:function(n,t){return i.get(n,void 0,t,"script")}}),i.each(["get","post"],function(n,t){i[t]=function(n,r,f,e){return u(r)&&(e=e||f,f=r,r=void 0),i.ajax(i.extend({url:n,type:t,dataType:e,data:r,success:f},i.isPlainObject(n)&&n))}}),i._evalUrl=function(n,t){return i.ajax({url:n,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(n){i.globalEval(n,t)}})},i.fn.extend({wrapAll:function(n){var t;return this[0]&&(u(n)&&(n=n.call(this[0])),t=i(n,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var n=this;n.firstElementChild;)n=n.firstElementChild;return n}).append(this)),this},wrapInner:function(n){return u(n)?this.each(function(t){i(this).wrapInner(n.call(this,t))}):this.each(function(){var t=i(this),r=t.contents();r.length?r.wrapAll(n):t.append(n)})},wrap:function(n){var t=u(n);return this.each(function(r){i(this).wrapAll(t?n.call(this,r):n)})},unwrap:function(n){return this.parent(n).not("body").each(function(){i(this).replaceWith(this.childNodes)}),this}}),i.expr.pseudos.hidden=function(n){return!i.expr.pseudos.visible(n)},i.expr.pseudos.visible=function(n){return!!(n.offsetWidth||n.offsetHeight||n.getClientRects().length)},i.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}},ne={0:200,1223:204},vt=i.ajaxSettings.xhr(),e.cors=!!vt&&"withCredentials"in vt,e.ajax=vt=!!vt,i.ajaxTransport(function(t){var i,r;if(e.cors||vt&&!t.crossDomain)return{send:function(u,f){var o,e=t.xhr();if(e.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)e[o]=t.xhrFields[o];for(o in t.mimeType&&e.overrideMimeType&&e.overrideMimeType(t.mimeType),t.crossDomain||u["X-Requested-With"]||(u["X-Requested-With"]="XMLHttpRequest"),u)e.setRequestHeader(o,u[o]);i=function(n){return function(){i&&(i=r=e.onload=e.onerror=e.onabort=e.ontimeout=e.onreadystatechange=null,"abort"===n?e.abort():"error"===n?"number"!=typeof e.status?f(0,"error"):f(e.status,e.statusText):f(ne[e.status]||e.status,e.statusText,"text"!==(e.responseType||"text")||"string"!=typeof e.responseText?{binary:e.response}:{text:e.responseText},e.getAllResponseHeaders()))}};e.onload=i();r=e.onerror=e.ontimeout=i("error");void 0!==e.onabort?e.onabort=r:e.onreadystatechange=function(){4===e.readyState&&n.setTimeout(function(){i&&r()})};i=i("abort");try{e.send(t.hasContent&&t.data||null)}catch(u){if(i)throw u;}},abort:function(){i&&i()}}}),i.ajaxPrefilter(function(n){n.crossDomain&&(n.contents.script=!1)}),i.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(n){return i.globalEval(n),n}}}),i.ajaxPrefilter("script",function(n){void 0===n.cache&&(n.cache=!1);n.crossDomain&&(n.type="GET")}),i.ajaxTransport("script",function(n){var r,t;if(n.crossDomain||n.scriptAttrs)return{send:function(u,e){r=i("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",t=function(n){r.remove();t=null;n&&e("error"===n.type?404:200,n.type)});f.head.appendChild(r[0])},abort:function(){t&&t()}}}),vr=[],vi=/(=)\?(?=&|$)|\?\?/,i.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var n=vr.pop()||i.expando+"_"+pf++;return this[n]=!0,n}}),i.ajaxPrefilter("json jsonp",function(t,r,f){var e,o,s,h=!1!==t.jsonp&&(vi.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&vi.test(t.data)&&"data");if(h||"jsonp"===t.dataTypes[0])return e=t.jsonpCallback=u(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,h?t[h]=t[h].replace(vi,"$1"+e):!1!==t.jsonp&&(t.url+=(sr.test(t.url)?"&":"?")+t.jsonp+"="+e),t.converters["script json"]=function(){return s||i.error(e+" was not called"),s[0]},t.dataTypes[0]="json",o=n[e],n[e]=function(){s=arguments},f.always(function(){void 0===o?i(n).removeProp(e):n[e]=o;t[e]&&(t.jsonpCallback=r.jsonpCallback,vr.push(e));s&&u(o)&&o(s[0]);s=o=void 0}),"script"}),e.createHTMLDocument=((te=f.implementation.createHTMLDocument("").body).innerHTML="<form><\/form><form><\/form>",2===te.childNodes.length),i.parseHTML=function(n,t,r){return"string"!=typeof n?[]:("boolean"==typeof t&&(r=t,t=!1),t||(e.createHTMLDocument?((s=(t=f.implementation.createHTMLDocument("")).createElement("base")).href=f.location.href,t.head.appendChild(s)):t=f),u=!r&&[],(o=wi.exec(n))?[t.createElement(o[1])]:(o=vu([n],t,u),u&&u.length&&i(u).remove(),i.merge([],o.childNodes)));var s,o,u},i.fn.load=function(n,t,r){var f,s,h,e=this,o=n.indexOf(" ");return-1<o&&(f=g(n.slice(o)),n=n.slice(0,o)),u(t)?(r=t,t=void 0):t&&"object"==typeof t&&(s="POST"),0<e.length&&i.ajax({url:n,type:s||"GET",dataType:"html",data:t}).done(function(n){h=arguments;e.html(f?i("<div>").append(i.parseHTML(n)).find(f):n)}).always(r&&function(n,t){e.each(function(){r.apply(this,h||[n.responseText,t,n])})}),this},i.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(n,t){i.fn[t]=function(n){return this.on(t,n)}}),i.expr.pseudos.animated=function(n){return i.grep(i.timers,function(t){return n===t.elem}).length},i.offset={setOffset:function(n,t,r){var v,o,s,h,f,c,l=i.css(n,"position"),a=i(n),e={};"static"===l&&(n.style.position="relative");f=a.offset();s=i.css(n,"top");c=i.css(n,"left");("absolute"===l||"fixed"===l)&&-1<(s+c).indexOf("auto")?(h=(v=a.position()).top,o=v.left):(h=parseFloat(s)||0,o=parseFloat(c)||0);u(t)&&(t=t.call(n,r,i.extend({},f)));null!=t.top&&(e.top=t.top-f.top+h);null!=t.left&&(e.left=t.left-f.left+o);"using"in t?t.using.call(n,e):a.css(e)}},i.fn.extend({offset:function(n){if(arguments.length)return void 0===n?this:this.each(function(t){i.offset.setOffset(this,n,t)});var r,u,t=this[0];if(t)return t.getClientRects().length?(r=t.getBoundingClientRect(),u=t.ownerDocument.defaultView,{top:r.top+u.pageYOffset,left:r.left+u.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var n,r,u,t=this[0],f={top:0,left:0};if("fixed"===i.css(t,"position"))r=t.getBoundingClientRect();else{for(r=this.offset(),u=t.ownerDocument,n=t.offsetParent||u.documentElement;n&&(n===u.body||n===u.documentElement)&&"static"===i.css(n,"position");)n=n.parentNode;n&&n!==t&&1===n.nodeType&&((f=i(n).offset()).top+=i.css(n,"borderTopWidth",!0),f.left+=i.css(n,"borderLeftWidth",!0))}return{top:r.top-f.top-i.css(t,"marginTop",!0),left:r.left-f.left-i.css(t,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var n=this.offsetParent;n&&"static"===i.css(n,"position");)n=n.offsetParent;return n||bt})}}),i.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(n,t){var r="pageYOffset"===t;i.fn[n]=function(i){return p(this,function(n,i,u){var f;if(tt(n)?f=n:9===n.nodeType&&(f=n.defaultView),void 0===u)return f?f[t]:n[i];f?f.scrollTo(r?f.pageXOffset:u,r?u:f.pageYOffset):n[i]=u},n,i,arguments.length)}}),i.each(["top","left"],function(n,t){i.cssHooks[t]=ku(e.pixelPosition,function(n,r){if(r)return r=ni(n,t),tr.test(r)?i(n).position()[t]+"px":r})}),i.each({Height:"height",Width:"width"},function(n,t){i.each({padding:"inner"+n,content:t,"":"outer"+n},function(r,u){i.fn[u]=function(f,e){var o=arguments.length&&(r||"boolean"!=typeof f),s=r||(!0===f||!0===e?"margin":"border");return p(this,function(t,r,f){var e;return tt(t)?0===u.indexOf("outer")?t["inner"+n]:t.document.documentElement["client"+n]:9===t.nodeType?(e=t.documentElement,Math.max(t.body["scroll"+n],e["scroll"+n],t.body["offset"+n],e["offset"+n],e["client"+n])):void 0===f?i.css(t,r,s):i.style(t,r,f,s)},t,o?f:void 0,o)}})}),i.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(n,t){i.fn[t]=function(n,i){return 0<arguments.length?this.on(t,null,n,i):this.trigger(t)}}),i.fn.extend({hover:function(n,t){return this.mouseenter(n).mouseleave(t||n)}}),i.fn.extend({bind:function(n,t,i){return this.on(n,null,t,i)},unbind:function(n,t){return this.off(n,null,t)},delegate:function(n,t,i,r){return this.on(t,n,i,r)},undelegate:function(n,t,i){return 1===arguments.length?this.off(n,"**"):this.off(t,n||"**",i)}}),i.proxy=function(n,t){var r,f,e;if("string"==typeof t&&(r=n[t],t=n,n=r),u(n))return f=b.call(arguments,2),(e=function(){return n.apply(t||this,f.concat(b.call(arguments)))}).guid=n.guid=n.guid||i.guid++,e},i.holdReady=function(n){n?i.readyWait++:i.ready(!0)},i.isArray=Array.isArray,i.parseJSON=JSON.parse,i.nodeName=c,i.isFunction=u,i.isWindow=tt,i.camelCase=y,i.type=it,i.now=Date.now,i.isNumeric=function(n){var t=i.type(n);return("number"===t||"string"===t)&&!isNaN(n-parseFloat(n))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return i}),ie=n.jQuery,re=n.$,i.noConflict=function(t){return n.$===i&&(n.$=re),t&&n.jQuery===i&&(n.jQuery=ie),i},t||(n.jQuery=n.$=i),i}),!function(n,t,i){function e(n,t){return typeof n===t}function nt(n){var t=s.className,i=r._config.classPrefix||"",u;(v&&(t=t.baseVal),r._config.enableJSClass)&&(u=new RegExp("(^|\\s)"+i+"no-js(\\s|$)"),t=t.replace(u,"$1"+i+"js$2"));r._config.enableClasses&&(n.length>0&&(t+=" "+i+n.join(" "+i)),v?s.className.baseVal=t:s.className=t)}function a(n,t){var u,i,f;if("object"==typeof n)for(u in n)ot(n,u)&&a(u,n[u]);else{if(n=n.toLowerCase(),i=n.split("."),f=r[i[0]],2===i.length&&(f=f[i[1]]),void 0!==f)return r;t="function"==typeof t?t():t;1===i.length?r[i[0]]=t:(!r[i[0]]||r[i[0]]instanceof Boolean||(r[i[0]]=new Boolean(r[i[0]])),r[i[0]][i[1]]=t);nt([(t&&!1!==t?"":"no-")+i.join("-")]);r._trigger(n,t)}return r}function o(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):v?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function ct(){var n=t.body;return n||(n=o(v?"svg":"body"),n.fake=!0),n}function w(n,i,r,u){var e,a,c,v,l="modernizr",h=o("div"),f=ct();if(parseInt(r,10))for(;r--;)c=o("div"),c.id=u?u[r]:l+(r+1),h.appendChild(c);return e=o("style"),e.type="text/css",e.id="s"+l,(f.fake?f:h).appendChild(e),f.appendChild(h),e.styleSheet?e.styleSheet.cssText=n:e.appendChild(t.createTextNode(n)),h.id=l,f.fake&&(f.style.background="",f.style.overflow="hidden",v=s.style.overflow,s.style.overflow="hidden",s.appendChild(f)),a=i(h,n),f.fake?(f.parentNode.removeChild(f),s.style.overflow=v,s.offsetHeight):h.parentNode.removeChild(h),!!a}function lt(n,t){return!!~(""+n).indexOf(t)}function tt(n){return n.replace(/([A-Z])/g,function(n,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function at(t,i,r){var u,f,e;return"getComputedStyle"in n?(u=getComputedStyle.call(n,t,i),f=n.console,null!==u?r&&(u=u.getPropertyValue(r)):f&&(e=f.error?"error":"log",f[e].call(f,"getComputedStyle returning null, its possible modernizr test results are inaccurate"))):u=!i&&t.currentStyle&&t.currentStyle[r],u}function vt(t,r){var f=t.length,u;if("CSS"in n&&"supports"in n.CSS){for(;f--;)if(n.CSS.supports(tt(t[f]),r))return!0;return!1}if("CSSSupportsRule"in n){for(u=[];f--;)u.push("("+tt(t[f])+":"+r+")");return u=u.join(" or "),w("@supports ("+u+") { #modernizr { position: absolute; } }",function(n){return"absolute"===at(n,null,"position")})}return i}function yt(n){return n.replace(/([a-z])-([a-z])/g,function(n,t,i){return t+i.toUpperCase()}).replace(/^-/,"")}function it(n,t,r,u){function c(){v&&(delete f.style,delete f.modElem)}var l,v,h,y,s,p,a;if((u=!e(u,"undefined")&&u,!e(r,"undefined"))&&(l=vt(n,r),!e(l,"undefined")))return l;for(a=["modernizr","tspan","samp"];!f.style&&a.length;)v=!0,f.modElem=o(a.shift()),f.style=f.modElem.style;for(y=n.length,h=0;h<y;h++)if(s=n[h],p=f.style[s],lt(s,"-")&&(s=yt(s)),f.style[s]!==i){if(u||e(r,"undefined"))return c(),"pfx"!==t||s;try{f.style[s]=r}catch(n){}if(f.style[s]!==p)return c(),"pfx"!==t||s}return c(),!1}function pt(n,t){return function(){return n.apply(t,arguments)}}function wt(n,t,i){var r;for(var u in n)if(n[u]in t)return!1===i?n[u]:(r=t[n[u]],e(r,"function")?pt(r,i||t):r);return!1}function rt(n,t,i,r,u){var f=n.charAt(0).toUpperCase()+n.slice(1),o=(n+" "+k.join(f+" ")+f).split(" ");return e(t,"string")||e(t,"undefined")?it(o,t,r,u):(o=(n+" "+c.join(f+" ")+f).split(" "),wt(o,t,i))}function h(n,t,r){return rt(n,i,i,t,r)}var l=[],u={_version:"3.7.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(n,t){var i=this;setTimeout(function(){t(i[n])},0)},addTest:function(n,t,i){l.push({name:n,fn:t,options:i})},addAsyncTest:function(n){l.push({name:null,fn:n})}},r=function(){},et,ot,b,st,ht,k,d,f,y,g,p;r.prototype=u;r=new r;var ut=[],s=t.documentElement,v="svg"===s.nodeName.toLowerCase(),ft="Moz O ms Webkit",c=u._config.usePrefixes?ft.toLowerCase().split(" "):[];u._domPrefixes=c;et=u._config.usePrefixes?" -webkit- -moz- -o- -ms- ".split(" "):["",""];u._prefixes=et;!function(){var n={}.hasOwnProperty;ot=e(n,"undefined")||e(n.call,"undefined")?function(n,t){return t in n&&e(n.constructor.prototype[t],"undefined")}:function(t,i){return n.call(t,i)}}();u._l={};u.on=function(n,t){this._l[n]||(this._l[n]=[]);this._l[n].push(t);r.hasOwnProperty(n)&&setTimeout(function(){r._trigger(n,r[n])},0)};u._trigger=function(n,t){if(this._l[n]){var i=this._l[n];setTimeout(function(){for(var n=0;n<i.length;n++)i[n](t)},0);delete this._l[n]}};r._q.push(function(){u.addTest=a});b=function(){function n(n,r){var u;return!!n&&(r&&"string"!=typeof r||(r=o(r||"div")),n="on"+n,u=n in r,!u&&t&&(r.setAttribute||(r=o("div")),r.setAttribute(n,""),u="function"==typeof r[n],r[n]!==i&&(r[n]=i),r.removeAttribute(n)),u)}var t=!("onblur"in s);return n}();u.hasEvent=b;st=function(){var t=n.matchMedia||n.msMatchMedia;return t?function(n){var i=t(n);return i&&i.matches||!1}:function(t){var i=!1;return w("@media "+t+" { #modernizr { position: absolute; } }",function(t){i="absolute"===(n.getComputedStyle?n.getComputedStyle(t,null):t.currentStyle).position}),i}}();u.mq=st;ht=function(n,t){var i=!1,f=o("div"),r=f.style,u;if(n in r)for(u=c.length,r[n]=t,i=r[n];u--&&!i;)r[n]="-"+c[u]+"-"+t,i=r[n];return""===i&&(i=!1),i};u.prefixedCSSValue=ht;k=u._config.usePrefixes?ft.split(" "):[];u._cssomPrefixes=k;d={elem:o("modernizr")};r._q.push(function(){delete d.elem});f={style:d.elem.style};r._q.unshift(function(){delete f.style});u.testAllProps=rt;u.testAllProps=h;u.testProp=function(n,t,r){return it([n],i,t,r)};u.testStyles=w;r.addTest("customelements","customElements"in n);r.addTest("history",function(){var t=navigator.userAgent;return(-1===t.indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone")||"file:"===location.protocol)&&n.history&&"pushState"in n.history});r.addTest("pointerevents",function(){for(var n=!1,t=c.length,n=r.hasEvent("pointerdown");t--&&!n;)b(c[t]+"pointerdown")&&(n=!0);return n});y=new Boolean("postMessage"in n);y.structuredclones=!0;try{n.postMessage({toString:function(){y.structuredclones=!1}},"*")}catch(n){}r.addTest("postmessage",y);r.addTest("webgl",function(){return"WebGLRenderingContext"in n});g=!1;try{g="WebSocket"in n&&2===n.WebSocket.CLOSING}catch(n){}for(r.addTest("websockets",g),r.addTest("cssanimations",h("animationName","a",!0)),function(){r.addTest("csscolumns",function(){var n=!1,t=h("columnCount");try{n=!!t;n&&(n=new Boolean(n))}catch(n){}return n});for(var n,i,u=["Width","Span","Fill","Gap","Rule","RuleColor","RuleStyle","RuleWidth","BreakBefore","BreakAfter","BreakInside"],t=0;t<u.length;t++)n=u[t].toLowerCase(),i=h("column"+u[t]),"breakbefore"!==n&&"breakafter"!==n&&"breakinside"!==n||(i=i||h(u[t])),r.addTest("csscolumns."+n,i)}(),r.addTest("flexbox",h("flexBasis","1px",!0)),r.addTest("picture","HTMLPictureElement"in n),r.addAsyncTest(function(){var t,r,i,n=o("img"),u="sizes"in n;!u&&"srcset"in n?(r="data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==",t="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",i=function(){a("sizes",2===n.width)},n.onload=i,n.onerror=i,n.setAttribute("sizes","9px"),n.srcset=t+" 1w,"+r+" 8w",n.src=t):a("sizes",u)}),r.addTest("srcset","srcset"in o("img")),r.addTest("webworkers","Worker"in n),function(){var i,n,u,f,o,s,t;for(var h in l)if(l.hasOwnProperty(h)){if(i=[],n=l[h],n.name&&(i.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(u=0;u<n.options.aliases.length;u++)i.push(n.options.aliases[u].toLowerCase());for(f=e(n.fn,"function")?n.fn():n.fn,o=0;o<i.length;o++)s=i[o],t=s.split("."),1===t.length?r[t[0]]=f:(!r[t[0]]||r[t[0]]instanceof Boolean||(r[t[0]]=new Boolean(r[t[0]])),r[t[0]][t[1]]=f),ut.push((f?"":"no-")+t.join("-"))}}(),nt(ut),delete u.addTest,delete u.addAsyncTest,p=0;p<r._q.length;p++)r._q[p]();n.Modernizr=r}(window,document),typeof jQuery=="undefined")throw new Error("Bootstrap's JavaScript requires jQuery");+function(n){"use strict";var t=n.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||t[0]==1&&t[1]==9&&t[2]<1||t[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4");}(jQuery);+function(n){"use strict";function t(){var i=document.createElement("bootstrap"),n={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var t in n)if(i.style[t]!==undefined)return{end:n[t]};return!1}n.fn.emulateTransitionEnd=function(t){var i=!1,u=this,r;n(this).one("bsTransitionEnd",function(){i=!0});return r=function(){i||n(u).trigger(n.support.transition.end)},setTimeout(r,t),this};n(function(){(n.support.transition=t(),n.support.transition)&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery);+function(n){"use strict";function u(i){return this.each(function(){var r=n(this),u=r.data("bs.alert");u||r.data("bs.alert",u=new t(this));typeof i=="string"&&u[i].call(r)})}var i='[data-dismiss="alert"]',t=function(t){n(t).on("click",i,this.close)},r;t.VERSION="3.3.7";t.TRANSITION_DURATION=150;t.prototype.close=function(i){function e(){r.detach().trigger("closed.bs.alert").remove()}var f=n(this),u=f.attr("data-target"),r;(u||(u=f.attr("href"),u=u&&u.replace(/.*(?=#[^\s]*$)/,"")),r=n(u==="#"?[]:u),i&&i.preventDefault(),r.length||(r=f.closest(".alert")),r.trigger(i=n.Event("close.bs.alert")),i.isDefaultPrevented())||(r.removeClass("in"),n.support.transition&&r.hasClass("fade")?r.one("bsTransitionEnd",e).emulateTransitionEnd(t.TRANSITION_DURATION):e())};r=n.fn.alert;n.fn.alert=u;n.fn.alert.Constructor=t;n.fn.alert.noConflict=function(){return n.fn.alert=r,this};n(document).on("click.bs.alert.data-api",i,t.prototype.close)}(jQuery);+function(n){"use strict";function i(i){return this.each(function(){var u=n(this),r=u.data("bs.button"),f=typeof i=="object"&&i;r||u.data("bs.button",r=new t(this,f));i=="toggle"?r.toggle():i&&r.setState(i)})}var t=function(i,r){this.$element=n(i);this.options=n.extend({},t.DEFAULTS,r);this.isLoading=!1},r;t.VERSION="3.3.7";t.DEFAULTS={loadingText:"loading..."};t.prototype.setState=function(t){var i="disabled",r=this.$element,f=r.is("input")?"val":"html",u=r.data();t+="Text";u.resetText==null&&r.data("resetText",r[f]());setTimeout(n.proxy(function(){r[f](u[t]==null?this.options[t]:u[t]);t=="loadingText"?(this.isLoading=!0,r.addClass(i).attr(i,i).prop(i,!0)):this.isLoading&&(this.isLoading=!1,r.removeClass(i).removeAttr(i).prop(i,!1))},this),0)};t.prototype.toggle=function(){var t=!0,i=this.$element.closest('[data-toggle="buttons"]'),n;i.length?(n=this.$element.find("input"),n.prop("type")=="radio"?(n.prop("checked")&&(t=!1),i.find(".active").removeClass("active"),this.$element.addClass("active")):n.prop("type")=="checkbox"&&(n.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),t&&n.trigger("change")):(this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active"))};r=n.fn.button;n.fn.button=i;n.fn.button.Constructor=t;n.fn.button.noConflict=function(){return n.fn.button=r,this};n(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var r=n(t.target).closest(".btn");i.call(r,"toggle");n(t.target).is('input[type="radio"], input[type="checkbox"]')||(t.preventDefault(),r.is("input,button")?r.trigger("focus"):r.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){n(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery);+function(n){"use strict";function i(i){return this.each(function(){var u=n(this),r=u.data("bs.carousel"),f=n.extend({},t.DEFAULTS,u.data(),typeof i=="object"&&i),e=typeof i=="string"?i:f.slide;r||u.data("bs.carousel",r=new t(this,f));typeof i=="number"?r.to(i):e?r[e]():f.interval&&r.pause().cycle()})}var t=function(t,i){this.$element=n(t);this.$indicators=this.$element.find(".carousel-indicators");this.options=i;this.paused=null;this.sliding=null;this.interval=null;this.$active=null;this.$items=null;this.options.keyboard&&this.$element.on("keydown.bs.carousel",n.proxy(this.keydown,this));this.options.pause!="hover"||"ontouchstart"in document.documentElement||this.$element.on("mouseenter.bs.carousel",n.proxy(this.pause,this)).on("mouseleave.bs.carousel",n.proxy(this.cycle,this))},u,r;t.VERSION="3.3.7";t.TRANSITION_DURATION=600;t.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0};t.prototype.keydown=function(n){if(!/input|textarea/i.test(n.target.tagName)){switch(n.which){case 37:this.prev();break;case 39:this.next();break;default:return}n.preventDefault()}};t.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(n.proxy(this.next,this),this.options.interval)),this};t.prototype.getItemIndex=function(n){return this.$items=n.parent().children(".item"),this.$items.index(n||this.$active)};t.prototype.getItemForDirection=function(n,t){var i=this.getItemIndex(t),f=n=="prev"&&i===0||n=="next"&&i==this.$items.length-1,r,u;return f&&!this.options.wrap?t:(r=n=="prev"?-1:1,u=(i+r)%this.$items.length,this.$items.eq(u))};t.prototype.to=function(n){var i=this,t=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(n>this.$items.length-1)&&!(n<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){i.to(n)}):t==n?this.pause().cycle():this.slide(n>t?"next":"prev",this.$items.eq(n))};t.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&n.support.transition&&(this.$element.trigger(n.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this};t.prototype.next=function(){if(!this.sliding)return this.slide("next")};t.prototype.prev=function(){if(!this.sliding)return this.slide("prev")};t.prototype.slide=function(i,r){var e=this.$element.find(".item.active"),u=r||this.getItemForDirection(i,e),l=this.interval,f=i=="next"?"left":"right",a=this,o,s,h,c;return u.hasClass("active")?this.sliding=!1:(o=u[0],s=n.Event("slide.bs.carousel",{relatedTarget:o,direction:f}),this.$element.trigger(s),s.isDefaultPrevented())?void 0:(this.sliding=!0,l&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),h=n(this.$indicators.children()[this.getItemIndex(u)]),h&&h.addClass("active")),c=n.Event("slid.bs.carousel",{relatedTarget:o,direction:f}),n.support.transition&&this.$element.hasClass("slide")?(u.addClass(i),u[0].offsetWidth,e.addClass(f),u.addClass(f),e.one("bsTransitionEnd",function(){u.removeClass([i,f].join(" ")).addClass("active");e.removeClass(["active",f].join(" "));a.sliding=!1;setTimeout(function(){a.$element.trigger(c)},0)}).emulateTransitionEnd(t.TRANSITION_DURATION)):(e.removeClass("active"),u.addClass("active"),this.sliding=!1,this.$element.trigger(c)),l&&this.cycle(),this)};u=n.fn.carousel;n.fn.carousel=i;n.fn.carousel.Constructor=t;n.fn.carousel.noConflict=function(){return n.fn.carousel=u,this};r=function(t){var o,r=n(this),u=n(r.attr("data-target")||(o=r.attr("href"))&&o.replace(/.*(?=#[^\s]+$)/,"")),e,f;u.hasClass("carousel")&&(e=n.extend({},u.data(),r.data()),f=r.attr("data-slide-to"),f&&(e.interval=!1),i.call(u,e),f&&u.data("bs.carousel").to(f),t.preventDefault())};n(document).on("click.bs.carousel.data-api","[data-slide]",r).on("click.bs.carousel.data-api","[data-slide-to]",r);n(window).on("load",function(){n('[data-ride="carousel"]').each(function(){var t=n(this);i.call(t,t.data())})})}(jQuery);+function(n){"use strict";function r(t){var i,r=t.attr("data-target")||(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,"");return n(r)}function i(i){return this.each(function(){var u=n(this),r=u.data("bs.collapse"),f=n.extend({},t.DEFAULTS,u.data(),typeof i=="object"&&i);!r&&f.toggle&&/show|hide/.test(i)&&(f.toggle=!1);r||u.data("bs.collapse",r=new t(this,f));typeof i=="string"&&r[i]()})}var t=function(i,r){this.$element=n(i);this.options=n.extend({},t.DEFAULTS,r);this.$trigger=n('[data-toggle="collapse"][href="#'+i.id+'"],[data-toggle="collapse"][data-target="#'+i.id+'"]');this.transitioning=null;this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger);this.options.toggle&&this.toggle()},u;t.VERSION="3.3.7";t.TRANSITION_DURATION=350;t.DEFAULTS={toggle:!0};t.prototype.dimension=function(){var n=this.$element.hasClass("width");return n?"width":"height"};t.prototype.show=function(){var f,r,e,u,o,s;if(!this.transitioning&&!this.$element.hasClass("in")&&(r=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing"),!r||!r.length||(f=r.data("bs.collapse"),!f||!f.transitioning))&&(e=n.Event("show.bs.collapse"),this.$element.trigger(e),!e.isDefaultPrevented())){if(r&&r.length&&(i.call(r,"hide"),f||r.data("bs.collapse",null)),u=this.dimension(),this.$element.removeClass("collapse").addClass("collapsing")[u](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1,o=function(){this.$element.removeClass("collapsing").addClass("collapse in")[u]("");this.transitioning=0;this.$element.trigger("shown.bs.collapse")},!n.support.transition)return o.call(this);s=n.camelCase(["scroll",u].join("-"));this.$element.one("bsTransitionEnd",n.proxy(o,this)).emulateTransitionEnd(t.TRANSITION_DURATION)[u](this.$element[0][s])}};t.prototype.hide=function(){var r,i,u;if(!this.transitioning&&this.$element.hasClass("in")&&(r=n.Event("hide.bs.collapse"),this.$element.trigger(r),!r.isDefaultPrevented())){if(i=this.dimension(),this.$element[i](this.$element[i]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1,u=function(){this.transitioning=0;this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")},!n.support.transition)return u.call(this);this.$element[i](0).one("bsTransitionEnd",n.proxy(u,this)).emulateTransitionEnd(t.TRANSITION_DURATION)}};t.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};t.prototype.getParent=function(){return n(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(n.proxy(function(t,i){var u=n(i);this.addAriaAndCollapsedClass(r(u),u)},this)).end()};t.prototype.addAriaAndCollapsedClass=function(n,t){var i=n.hasClass("in");n.attr("aria-expanded",i);t.toggleClass("collapsed",!i).attr("aria-expanded",i)};u=n.fn.collapse;n.fn.collapse=i;n.fn.collapse.Constructor=t;n.fn.collapse.noConflict=function(){return n.fn.collapse=u,this};n(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var u=n(this);u.attr("data-target")||t.preventDefault();var f=r(u),e=f.data("bs.collapse"),o=e?"toggle":u.data();i.call(f,o)})}(jQuery);+function(n){"use strict";function r(t){var i=t.attr("data-target"),r;return i||(i=t.attr("href"),i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,"")),r=i&&n(i),r&&r.length?r:t.parent()}function u(t){t&&t.which===3||(n(e).remove(),n(i).each(function(){var u=n(this),i=r(u),f={relatedTarget:this};i.hasClass("open")&&(t&&t.type=="click"&&/input|textarea/i.test(t.target.tagName)&&n.contains(i[0],t.target)||(i.trigger(t=n.Event("hide.bs.dropdown",f)),t.isDefaultPrevented())||(u.attr("aria-expanded","false"),i.removeClass("open").trigger(n.Event("hidden.bs.dropdown",f))))}))}function o(i){return this.each(function(){var r=n(this),u=r.data("bs.dropdown");u||r.data("bs.dropdown",u=new t(this));typeof i=="string"&&u[i].call(r)})}var e=".dropdown-backdrop",i='[data-toggle="dropdown"]',t=function(t){n(t).on("click.bs.dropdown",this.toggle)},f;t.VERSION="3.3.7";t.prototype.toggle=function(t){var f=n(this),i,o,e;if(!f.is(".disabled, :disabled")){if(i=r(f),o=i.hasClass("open"),u(),!o){if("ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length)n(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(n(this)).on("click",u);if(e={relatedTarget:this},i.trigger(t=n.Event("show.bs.dropdown",e)),t.isDefaultPrevented())return;f.trigger("focus").attr("aria-expanded","true");i.toggleClass("open").trigger(n.Event("shown.bs.dropdown",e))}return!1}};t.prototype.keydown=function(t){var e,o,s,h,f,u;if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)&&(e=n(this),t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled"))){if(o=r(e),s=o.hasClass("open"),!s&&t.which!=27||s&&t.which==27)return t.which==27&&o.find(i).trigger("focus"),e.trigger("click");(h=" li:not(.disabled):visible a",f=o.find(".dropdown-menu"+h),f.length)&&(u=f.index(t.target),t.which==38&&u>0&&u--,t.which==40&&u<f.length-1&&u++,~u||(u=0),f.eq(u).trigger("focus"))}};f=n.fn.dropdown;n.fn.dropdown=o;n.fn.dropdown.Constructor=t;n.fn.dropdown.noConflict=function(){return n.fn.dropdown=f,this};n(document).on("click.bs.dropdown.data-api",u).on("click.bs.dropdown.data-api",".dropdown form",function(n){n.stopPropagation()}).on("click.bs.dropdown.data-api",i,t.prototype.toggle).on("keydown.bs.dropdown.data-api",i,t.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",t.prototype.keydown)}(jQuery);+function(n){"use strict";function i(i,r){return this.each(function(){var f=n(this),u=f.data("bs.modal"),e=n.extend({},t.DEFAULTS,f.data(),typeof i=="object"&&i);u||f.data("bs.modal",u=new t(this,e));typeof i=="string"?u[i](r):e.show&&u.show(r)})}var t=function(t,i){this.options=i;this.$body=n(document.body);this.$element=n(t);this.$dialog=this.$element.find(".modal-dialog");this.$backdrop=null;this.isShown=null;this.originalBodyPad=null;this.scrollbarWidth=0;this.ignoreBackdropClick=!1;this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,n.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))},r;t.VERSION="3.3.7";t.TRANSITION_DURATION=300;t.BACKDROP_TRANSITION_DURATION=150;t.DEFAULTS={backdrop:!0,keyboard:!0,show:!0};t.prototype.toggle=function(n){return this.isShown?this.hide():this.show(n)};t.prototype.show=function(i){var r=this,u=n.Event("show.bs.modal",{relatedTarget:i});if(this.$element.trigger(u),!this.isShown&&!u.isDefaultPrevented()){this.isShown=!0;this.checkScrollbar();this.setScrollbar();this.$body.addClass("modal-open");this.escape();this.resize();this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',n.proxy(this.hide,this));this.$dialog.on("mousedown.dismiss.bs.modal",function(){r.$element.one("mouseup.dismiss.bs.modal",function(t){n(t.target).is(r.$element)&&(r.ignoreBackdropClick=!0)})});this.backdrop(function(){var f=n.support.transition&&r.$element.hasClass("fade"),u;r.$element.parent().length||r.$element.appendTo(r.$body);r.$element.show().scrollTop(0);r.adjustDialog();f&&r.$element[0].offsetWidth;r.$element.addClass("in");r.enforceFocus();u=n.Event("shown.bs.modal",{relatedTarget:i});f?r.$dialog.one("bsTransitionEnd",function(){r.$element.trigger("focus").trigger(u)}).emulateTransitionEnd(t.TRANSITION_DURATION):r.$element.trigger("focus").trigger(u)})}};t.prototype.hide=function(i){(i&&i.preventDefault(),i=n.Event("hide.bs.modal"),this.$element.trigger(i),this.isShown&&!i.isDefaultPrevented())&&(this.isShown=!1,this.escape(),this.resize(),n(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),n.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",n.proxy(this.hideModal,this)).emulateTransitionEnd(t.TRANSITION_DURATION):this.hideModal())};t.prototype.enforceFocus=function(){n(document).off("focusin.bs.modal").on("focusin.bs.modal",n.proxy(function(n){document===n.target||this.$element[0]===n.target||this.$element.has(n.target).length||this.$element.trigger("focus")},this))};t.prototype.escape=function(){if(this.isShown&&this.options.keyboard)this.$element.on("keydown.dismiss.bs.modal",n.proxy(function(n){n.which==27&&this.hide()},this));else this.isShown||this.$element.off("keydown.dismiss.bs.modal")};t.prototype.resize=function(){if(this.isShown)n(window).on("resize.bs.modal",n.proxy(this.handleUpdate,this));else n(window).off("resize.bs.modal")};t.prototype.hideModal=function(){var n=this;this.$element.hide();this.backdrop(function(){n.$body.removeClass("modal-open");n.resetAdjustments();n.resetScrollbar();n.$element.trigger("hidden.bs.modal")})};t.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove();this.$backdrop=null};t.prototype.backdrop=function(i){var e=this,f=this.$element.hasClass("fade")?"fade":"",r,u;if(this.isShown&&this.options.backdrop){r=n.support.transition&&f;this.$backdrop=n(document.createElement("div")).addClass("modal-backdrop "+f).appendTo(this.$body);this.$element.on("click.dismiss.bs.modal",n.proxy(function(n){if(this.ignoreBackdropClick){this.ignoreBackdropClick=!1;return}n.target===n.currentTarget&&(this.options.backdrop=="static"?this.$element[0].focus():this.hide())},this));if(r&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!i)return;r?this.$backdrop.one("bsTransitionEnd",i).emulateTransitionEnd(t.BACKDROP_TRANSITION_DURATION):i()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),u=function(){e.removeBackdrop();i&&i()},n.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",u).emulateTransitionEnd(t.BACKDROP_TRANSITION_DURATION):u()):i&&i()};t.prototype.handleUpdate=function(){this.adjustDialog()};t.prototype.adjustDialog=function(){var n=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&n?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!n?this.scrollbarWidth:""})};t.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})};t.prototype.checkScrollbar=function(){var n=window.innerWidth,t;n||(t=document.documentElement.getBoundingClientRect(),n=t.right-Math.abs(t.left));this.bodyIsOverflowing=document.body.clientWidth<n;this.scrollbarWidth=this.measureScrollbar()};t.prototype.setScrollbar=function(){var n=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";this.bodyIsOverflowing&&this.$body.css("padding-right",n+this.scrollbarWidth)};t.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)};t.prototype.measureScrollbar=function(){var n=document.createElement("div"),t;return n.className="modal-scrollbar-measure",this.$body.append(n),t=n.offsetWidth-n.clientWidth,this.$body[0].removeChild(n),t};r=n.fn.modal;n.fn.modal=i;n.fn.modal.Constructor=t;n.fn.modal.noConflict=function(){return n.fn.modal=r,this};n(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var r=n(this),f=r.attr("href"),u=n(r.attr("data-target")||f&&f.replace(/.*(?=#[^\s]+$)/,"")),e=u.data("bs.modal")?"toggle":n.extend({remote:!/#/.test(f)&&f},u.data(),r.data());r.is("a")&&t.preventDefault();u.one("show.bs.modal",function(n){if(!n.isDefaultPrevented())u.one("hidden.bs.modal",function(){r.is(":visible")&&r.trigger("focus")})});i.call(u,e,this)})}(jQuery);+function(n){"use strict";function r(i){return this.each(function(){var u=n(this),r=u.data("bs.tooltip"),f=typeof i=="object"&&i;(r||!/destroy|hide/.test(i))&&(r||u.data("bs.tooltip",r=new t(this,f)),typeof i=="string"&&r[i]())})}var t=function(n,t){this.type=null;this.options=null;this.enabled=null;this.timeout=null;this.hoverState=null;this.$element=null;this.inState=null;this.init("tooltip",n,t)},i;t.VERSION="3.3.7";t.TRANSITION_DURATION=150;t.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"><\/div><div class="tooltip-inner"><\/div><\/div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}};t.prototype.init=function(t,i,r){var f,e,u,o,s;if(this.enabled=!0,this.type=t,this.$element=n(i),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&n(n.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(f=this.options.trigger.split(" "),e=f.length;e--;)if(u=f[e],u=="click")this.$element.on("click."+this.type,this.options.selector,n.proxy(this.toggle,this));else if(u!="manual"){o=u=="hover"?"mouseenter":"focusin";s=u=="hover"?"mouseleave":"focusout";this.$element.on(o+"."+this.type,this.options.selector,n.proxy(this.enter,this));this.$element.on(s+"."+this.type,this.options.selector,n.proxy(this.leave,this))}this.options.selector?this._options=n.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()};t.prototype.getDefaults=function(){return t.DEFAULTS};t.prototype.getOptions=function(t){return t=n.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t};t.prototype.getDelegateOptions=function(){var t={},i=this.getDefaults();return this._options&&n.each(this._options,function(n,r){i[n]!=r&&(t[n]=r)}),t};t.prototype.enter=function(t){var i=t instanceof this.constructor?t:n(t.currentTarget).data("bs."+this.type);if(i||(i=new this.constructor(t.currentTarget,this.getDelegateOptions()),n(t.currentTarget).data("bs."+this.type,i)),t instanceof n.Event&&(i.inState[t.type=="focusin"?"focus":"hover"]=!0),i.tip().hasClass("in")||i.hoverState=="in"){i.hoverState="in";return}if(clearTimeout(i.timeout),i.hoverState="in",!i.options.delay||!i.options.delay.show)return i.show();i.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)};t.prototype.isInStateTrue=function(){for(var n in this.inState)if(this.inState[n])return!0;return!1};t.prototype.leave=function(t){var i=t instanceof this.constructor?t:n(t.currentTarget).data("bs."+this.type);if(i||(i=new this.constructor(t.currentTarget,this.getDelegateOptions()),n(t.currentTarget).data("bs."+this.type,i)),t instanceof n.Event&&(i.inState[t.type=="focusout"?"focus":"hover"]=!1),!i.isInStateTrue()){if(clearTimeout(i.timeout),i.hoverState="out",!i.options.delay||!i.options.delay.hide)return i.hide();i.timeout=setTimeout(function(){i.hoverState=="out"&&i.hide()},i.options.delay.hide)}};t.prototype.show=function(){var c=n.Event("show.bs."+this.type),l,p,e,w,h;if(this.hasContent()&&this.enabled){if(this.$element.trigger(c),l=n.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]),c.isDefaultPrevented()||!l)return;var u=this,r=this.tip(),a=this.getUID(this.type);this.setContent();r.attr("id",a);this.$element.attr("aria-describedby",a);this.options.animation&&r.addClass("fade");var i=typeof this.options.placement=="function"?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,v=/\s?auto?\s?/i,y=v.test(i);y&&(i=i.replace(v,"")||"top");r.detach().css({top:0,left:0,display:"block"}).addClass(i).data("bs."+this.type,this);this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element);this.$element.trigger("inserted.bs."+this.type);var f=this.getPosition(),o=r[0].offsetWidth,s=r[0].offsetHeight;y&&(p=i,e=this.getPosition(this.$viewport),i=i=="bottom"&&f.bottom+s>e.bottom?"top":i=="top"&&f.top-s<e.top?"bottom":i=="right"&&f.right+o>e.width?"left":i=="left"&&f.left-o<e.left?"right":i,r.removeClass(p).addClass(i));w=this.getCalculatedOffset(i,f,o,s);this.applyPlacement(w,i);h=function(){var n=u.hoverState;u.$element.trigger("shown.bs."+u.type);u.hoverState=null;n=="out"&&u.leave(u)};n.support.transition&&this.$tip.hasClass("fade")?r.one("bsTransitionEnd",h).emulateTransitionEnd(t.TRANSITION_DURATION):h()}};t.prototype.applyPlacement=function(t,i){var r=this.tip(),l=r[0].offsetWidth,e=r[0].offsetHeight,o=parseInt(r.css("margin-top"),10),s=parseInt(r.css("margin-left"),10),h,f,u;isNaN(o)&&(o=0);isNaN(s)&&(s=0);t.top+=o;t.left+=s;n.offset.setOffset(r[0],n.extend({using:function(n){r.css({top:Math.round(n.top),left:Math.round(n.left)})}},t),0);r.addClass("in");h=r[0].offsetWidth;f=r[0].offsetHeight;i=="top"&&f!=e&&(t.top=t.top+e-f);u=this.getViewportAdjustedDelta(i,t,h,f);u.left?t.left+=u.left:t.top+=u.top;var c=/top|bottom/.test(i),a=c?u.left*2-l+h:u.top*2-e+f,v=c?"offsetWidth":"offsetHeight";r.offset(t);this.replaceArrow(a,r[0][v],c)};t.prototype.replaceArrow=function(n,t,i){this.arrow().css(i?"left":"top",50*(1-n/t)+"%").css(i?"top":"left","")};t.prototype.setContent=function(){var n=this.tip(),t=this.getTitle();n.find(".tooltip-inner")[this.options.html?"html":"text"](t);n.removeClass("fade in top bottom left right")};t.prototype.hide=function(i){function e(){r.hoverState!="in"&&u.detach();r.$element&&r.$element.removeAttr("aria-describedby").trigger("hidden.bs."+r.type);i&&i()}var r=this,u=n(this.$tip),f=n.Event("hide.bs."+this.type);if(this.$element.trigger(f),!f.isDefaultPrevented())return u.removeClass("in"),n.support.transition&&u.hasClass("fade")?u.one("bsTransitionEnd",e).emulateTransitionEnd(t.TRANSITION_DURATION):e(),this.hoverState=null,this};t.prototype.fixTitle=function(){var n=this.$element;(n.attr("title")||typeof n.attr("data-original-title")!="string")&&n.attr("data-original-title",n.attr("title")||"").attr("title","")};t.prototype.hasContent=function(){return this.getTitle()};t.prototype.getPosition=function(t){t=t||this.$element;var r=t[0],u=r.tagName=="BODY",i=r.getBoundingClientRect();i.width==null&&(i=n.extend({},i,{width:i.right-i.left,height:i.bottom-i.top}));var f=window.SVGElement&&r instanceof window.SVGElement,e=u?{top:0,left:0}:f?null:t.offset(),o={scroll:u?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},s=u?{width:n(window).width(),height:n(window).height()}:null;return n.extend({},i,o,s,e)};t.prototype.getCalculatedOffset=function(n,t,i,r){return n=="bottom"?{top:t.top+t.height,left:t.left+t.width/2-i/2}:n=="top"?{top:t.top-r,left:t.left+t.width/2-i/2}:n=="left"?{top:t.top+t.height/2-r/2,left:t.left-i}:{top:t.top+t.height/2-r/2,left:t.left+t.width}};t.prototype.getViewportAdjustedDelta=function(n,t,i,r){var f={top:0,left:0},e,u,o,s,h,c;return this.$viewport?(e=this.options.viewport&&this.options.viewport.padding||0,u=this.getPosition(this.$viewport),/right|left/.test(n)?(o=t.top-e-u.scroll,s=t.top+e-u.scroll+r,o<u.top?f.top=u.top-o:s>u.top+u.height&&(f.top=u.top+u.height-s)):(h=t.left-e,c=t.left+e+i,h<u.left?f.left=u.left-h:c>u.right&&(f.left=u.left+u.width-c)),f):f};t.prototype.getTitle=function(){var t=this.$element,n=this.options;return t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title)};t.prototype.getUID=function(n){do n+=~~(Math.random()*1e6);while(document.getElementById(n));return n};t.prototype.tip=function(){if(!this.$tip&&(this.$tip=n(this.options.template),this.$tip.length!=1))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip};t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")};t.prototype.enable=function(){this.enabled=!0};t.prototype.disable=function(){this.enabled=!1};t.prototype.toggleEnabled=function(){this.enabled=!this.enabled};t.prototype.toggle=function(t){var i=this;t&&(i=n(t.currentTarget).data("bs."+this.type),i||(i=new this.constructor(t.currentTarget,this.getDelegateOptions()),n(t.currentTarget).data("bs."+this.type,i)));t?(i.inState.click=!i.inState.click,i.isInStateTrue()?i.enter(i):i.leave(i)):i.tip().hasClass("in")?i.leave(i):i.enter(i)};t.prototype.destroy=function(){var n=this;clearTimeout(this.timeout);this.hide(function(){n.$element.off("."+n.type).removeData("bs."+n.type);n.$tip&&n.$tip.detach();n.$tip=null;n.$arrow=null;n.$viewport=null;n.$element=null})};i=n.fn.tooltip;n.fn.tooltip=r;n.fn.tooltip.Constructor=t;n.fn.tooltip.noConflict=function(){return n.fn.tooltip=i,this}}(jQuery);+function(n){"use strict";function r(i){return this.each(function(){var u=n(this),r=u.data("bs.popover"),f=typeof i=="object"&&i;(r||!/destroy|hide/.test(i))&&(r||u.data("bs.popover",r=new t(this,f)),typeof i=="string"&&r[i]())})}var t=function(n,t){this.init("popover",n,t)},i;if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");t.VERSION="3.3.7";t.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"><\/div><h3 class="popover-title"><\/h3><div class="popover-content"><\/div><\/div>'});t.prototype=n.extend({},n.fn.tooltip.Constructor.prototype);t.prototype.constructor=t;t.prototype.getDefaults=function(){return t.DEFAULTS};t.prototype.setContent=function(){var n=this.tip(),i=this.getTitle(),t=this.getContent();n.find(".popover-title")[this.options.html?"html":"text"](i);n.find(".popover-content").children().detach().end()[this.options.html?typeof t=="string"?"html":"append":"text"](t);n.removeClass("fade top bottom left right in");n.find(".popover-title").html()||n.find(".popover-title").hide()};t.prototype.hasContent=function(){return this.getTitle()||this.getContent()};t.prototype.getContent=function(){var t=this.$element,n=this.options;return t.attr("data-content")||(typeof n.content=="function"?n.content.call(t[0]):n.content)};t.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};i=n.fn.popover;n.fn.popover=r;n.fn.popover.Constructor=t;n.fn.popover.noConflict=function(){return n.fn.popover=i,this}}(jQuery);+function(n){"use strict";function t(i,r){this.$body=n(document.body);this.$scrollElement=n(i).is(document.body)?n(window):n(i);this.options=n.extend({},t.DEFAULTS,r);this.selector=(this.options.target||"")+" .nav li > a";this.offsets=[];this.targets=[];this.activeTarget=null;this.scrollHeight=0;this.$scrollElement.on("scroll.bs.scrollspy",n.proxy(this.process,this));this.refresh();this.process()}function i(i){return this.each(function(){var u=n(this),r=u.data("bs.scrollspy"),f=typeof i=="object"&&i;r||u.data("bs.scrollspy",r=new t(this,f));typeof i=="string"&&r[i]()})}t.VERSION="3.3.7";t.DEFAULTS={offset:10};t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)};t.prototype.refresh=function(){var t=this,i="offset",r=0;this.offsets=[];this.targets=[];this.scrollHeight=this.getScrollHeight();n.isWindow(this.$scrollElement[0])||(i="position",r=this.$scrollElement.scrollTop());this.$body.find(this.selector).map(function(){var f=n(this),u=f.data("target")||f.attr("href"),t=/^#./.test(u)&&n(u);return t&&t.length&&t.is(":visible")&&[[t[i]().top+r,u]]||null}).sort(function(n,t){return n[0]-t[0]}).each(function(){t.offsets.push(this[0]);t.targets.push(this[1])})};t.prototype.process=function(){var i=this.$scrollElement.scrollTop()+this.options.offset,f=this.getScrollHeight(),e=this.options.offset+f-this.$scrollElement.height(),t=this.offsets,r=this.targets,u=this.activeTarget,n;if(this.scrollHeight!=f&&this.refresh(),i>=e)return u!=(n=r[r.length-1])&&this.activate(n);if(u&&i<t[0])return this.activeTarget=null,this.clear();for(n=t.length;n--;)u!=r[n]&&i>=t[n]&&(t[n+1]===undefined||i<t[n+1])&&this.activate(r[n])};t.prototype.activate=function(t){this.activeTarget=t;this.clear();var r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=n(r).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active"));i.trigger("activate.bs.scrollspy")};t.prototype.clear=function(){n(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var r=n.fn.scrollspy;n.fn.scrollspy=i;n.fn.scrollspy.Constructor=t;n.fn.scrollspy.noConflict=function(){return n.fn.scrollspy=r,this};n(window).on("load.bs.scrollspy.data-api",function(){n('[data-spy="scroll"]').each(function(){var t=n(this);i.call(t,t.data())})})}(jQuery);+function(n){"use strict";function r(i){return this.each(function(){var u=n(this),r=u.data("bs.tab");r||u.data("bs.tab",r=new t(this));typeof i=="string"&&r[i]()})}var t=function(t){this.element=n(t)},u,i;t.VERSION="3.3.7";t.TRANSITION_DURATION=150;t.prototype.show=function(){var t=this.element,f=t.closest("ul:not(.dropdown-menu)"),i=t.data("target"),u;if(i||(i=t.attr("href"),i=i&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var r=f.find(".active:last a"),e=n.Event("hide.bs.tab",{relatedTarget:t[0]}),o=n.Event("show.bs.tab",{relatedTarget:r[0]});(r.trigger(e),t.trigger(o),o.isDefaultPrevented()||e.isDefaultPrevented())||(u=n(i),this.activate(t.closest("li"),f),this.activate(u,u.parent(),function(){r.trigger({type:"hidden.bs.tab",relatedTarget:t[0]});t.trigger({type:"shown.bs.tab",relatedTarget:r[0]})}))}};t.prototype.activate=function(i,r,u){function o(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1);i.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0);e?(i[0].offsetWidth,i.addClass("in")):i.removeClass("fade");i.parent(".dropdown-menu").length&&i.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0);u&&u()}var f=r.find("> .active"),e=u&&n.support.transition&&(f.length&&f.hasClass("fade")||!!r.find("> .fade").length);f.length&&e?f.one("bsTransitionEnd",o).emulateTransitionEnd(t.TRANSITION_DURATION):o();f.removeClass("in")};u=n.fn.tab;n.fn.tab=r;n.fn.tab.Constructor=t;n.fn.tab.noConflict=function(){return n.fn.tab=u,this};i=function(t){t.preventDefault();r.call(n(this),"show")};n(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery);+function(n){"use strict";function i(i){return this.each(function(){var u=n(this),r=u.data("bs.affix"),f=typeof i=="object"&&i;r||u.data("bs.affix",r=new t(this,f));typeof i=="string"&&r[i]()})}var t=function(i,r){this.options=n.extend({},t.DEFAULTS,r);this.$target=n(this.options.target).on("scroll.bs.affix.data-api",n.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",n.proxy(this.checkPositionWithEventLoop,this));this.$element=n(i);this.affixed=null;this.unpin=null;this.pinnedOffset=null;this.checkPosition()},r;t.VERSION="3.3.7";t.RESET="affix affix-top affix-bottom";t.DEFAULTS={offset:0,target:window};t.prototype.getState=function(n,t,i,r){var u=this.$target.scrollTop(),f=this.$element.offset(),e=this.$target.height();if(i!=null&&this.affixed=="top")return u<i?"top":!1;if(this.affixed=="bottom")return i!=null?u+this.unpin<=f.top?!1:"bottom":u+e<=n-r?!1:"bottom";var o=this.affixed==null,s=o?u:f.top,h=o?e:t;return i!=null&&u<=i?"top":r!=null&&s+h>=n-r?"bottom":!1};t.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(t.RESET).addClass("affix");var n=this.$target.scrollTop(),i=this.$element.offset();return this.pinnedOffset=i.top-n};t.prototype.checkPositionWithEventLoop=function(){setTimeout(n.proxy(this.checkPosition,this),1)};t.prototype.checkPosition=function(){var i,e,o;if(this.$element.is(":visible")){var s=this.$element.height(),r=this.options.offset,f=r.top,u=r.bottom,h=Math.max(n(document).height(),n(document.body).height());if(typeof r!="object"&&(u=f=r),typeof f=="function"&&(f=r.top(this.$element)),typeof u=="function"&&(u=r.bottom(this.$element)),i=this.getState(h,s,f,u),this.affixed!=i){if(this.unpin!=null&&this.$element.css("top",""),e="affix"+(i?"-"+i:""),o=n.Event(e+".bs.affix"),this.$element.trigger(o),o.isDefaultPrevented())return;this.affixed=i;this.unpin=i=="bottom"?this.getPinnedOffset():null;this.$element.removeClass(t.RESET).addClass(e).trigger(e.replace("affix","affixed")+".bs.affix")}i=="bottom"&&this.$element.offset({top:h-s-u})}};r=n.fn.affix;n.fn.affix=i;n.fn.affix.Constructor=t;n.fn.affix.noConflict=function(){return n.fn.affix=r,this};n(window).on("load",function(){n('[data-spy="affix"]').each(function(){var r=n(this),t=r.data();t.offset=t.offset||{};t.offsetBottom!=null&&(t.offset.bottom=t.offsetBottom);t.offsetTop!=null&&(t.offset.top=t.offsetTop);i.call(r,t)})})}(jQuery);window.matchMedia||(window.matchMedia=function(){"use strict";var t=window.styleMedia||window.media;if(!t){var n=document.createElement("style"),i=document.getElementsByTagName("script")[0],r=null;n.type="text/css";n.id="matchmediajs-test";i.parentNode.insertBefore(n,i);r="getComputedStyle"in window&&window.getComputedStyle(n,null)||n.currentStyle;t={matchMedium:function(t){var i="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return n.styleSheet?n.styleSheet.cssText=i:n.textContent=i,"1px"===r.width}}}return function(n){return{matches:t.matchMedium(n||"all"),media:n||"all"}}}());!function(){if(window.matchMedia&&window.matchMedia("all").addListener)return!1;var t=window.matchMedia,u=t("only all").matches,i=!1,r=0,n=[],f=function(){clearTimeout(r);r=setTimeout(function(){for(var u,s,i=0,f=n.length;f>i;i++){var r=n[i].mql,e=n[i].listeners||[],o=t(r.media).matches;if(o!==r.matches)for(r.matches=o,u=0,s=e.length;s>u;u++)e[u].call(window,r)}},30)};window.matchMedia=function(r){var o=t(r),e=[],s=0;return o.addListener=function(t){u&&(i||(i=!0,window.addEventListener("resize",f,!0)),0===s&&(s=n.push({mql:o,listeners:e})),e.push(t))},o.removeListener=function(n){for(var t=0,i=e.length;i>t;t++)e[t]===n&&e.splice(t,1)},o}}();!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this;t.enquire=n()}}(function(){return function n(t,i,r){function u(f,o){var h,c,s;if(!i[f]){if(!t[f]){if(h="function"==typeof require&&require,!o&&h)return h(f,!0);if(e)return e(f,!0);c=new Error("Cannot find module '"+f+"'");throw c.code="MODULE_NOT_FOUND",c;}s=i[f]={exports:{}};t[f][0].call(s.exports,function(n){var i=t[f][1][n];return u(i?i:n)},s,s.exports,n,t,i,r)}return i[f].exports}for(var e="function"==typeof require&&require,f=0;f<r.length;f++)u(r[f]);return u}({1:[function(n,t){function i(n,t){this.query=n;this.isUnconditional=t;this.handlers=[];this.mql=window.matchMedia(n);var i=this;this.listener=function(n){i.mql=n.currentTarget||n;i.assess()};this.mql.addListener(this.listener)}var u=n(3),r=n(4).each;i.prototype={constuctor:i,addHandler:function(n){var t=new u(n);this.handlers.push(t);this.matches()&&t.on()},removeHandler:function(n){var t=this.handlers;r(t,function(i,r){if(i.equals(n))return i.destroy(),!t.splice(r,1)})},matches:function(){return this.mql.matches||this.isUnconditional},clear:function(){r(this.handlers,function(n){n.destroy()});this.mql.removeListener(this.listener);this.handlers.length=0},assess:function(){var n=this.matches()?"on":"off";r(this.handlers,function(t){t[n]()})}};t.exports=i},{3:3,4:4}],2:[function(n,t){function i(){if(!window.matchMedia)throw new Error("matchMedia not present, legacy browsers require a polyfill");this.queries={};this.browserIsIncapable=!window.matchMedia("only all").matches}var f=n(1),r=n(4),e=r.each,u=r.isFunction,o=r.isArray;i.prototype={constructor:i,register:function(n,t,i){var r=this.queries,s=i&&this.browserIsIncapable;return r[n]||(r[n]=new f(n,s)),u(t)&&(t={match:t}),o(t)||(t=[t]),e(t,function(t){u(t)&&(t={match:t});r[n].addHandler(t)}),this},unregister:function(n,t){var i=this.queries[n];return i&&(t?i.removeHandler(t):(i.clear(),delete this.queries[n])),this}};t.exports=i},{1:1,4:4}],3:[function(n,t){function i(n){this.options=n;n.deferSetup||this.setup()}i.prototype={constructor:i,setup:function(){this.options.setup&&this.options.setup();this.initialised=!0},on:function(){this.initialised||this.setup();this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(n){return this.options===n||this.options.match===n}};t.exports=i},{}],4:[function(n,t){function i(n,t){var i=0,r=n.length;for(i;i<r&&t(n[i],i)!==!1;i++);}function r(n){return"[object Array]"===Object.prototype.toString.apply(n)}function u(n){return"function"==typeof n}t.exports={isFunction:u,isArray:r,each:i}},{}],5:[function(n,t){var i=n(2);t.exports=new i},{2:2}]},{},[5])(5)});!function(n){"use strict";"function"==typeof define&&define.amd?define(["jquery"],n):"undefined"!=typeof module&&module.exports?module.exports=n(require("jquery")):n(jQuery)}(function(n){var o=-1,r=-1,i=function(n){return parseFloat(n)||0},s=function(t){var f=1,e=n(t),u=null,r=[];return e.each(function(){var t=n(this),e=t.offset().top-i(t.css("margin-top")),o=r.length>0?r[r.length-1]:null;null===o?r.push(t):Math.floor(Math.abs(u-e))<=f?r[r.length-1]=o.add(t):r.push(t);u=e}),r},u=function(t){var i={byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof t?n.extend(i,t):("boolean"==typeof t?i.byRow=t:"remove"===t&&(i.remove=!0),i)},t=n.fn.matchHeight=function(i){var r=u(i),f;return r.remove?(f=this,this.css(r.property,""),n.each(t._groups,function(n,t){t.elements=t.elements.not(f)}),this):this.length<=1&&!r.target?this:(t._groups.push({elements:this,options:r}),t._apply(this,r),this)},f,e;t.version="0.7.2";t._groups=[];t._throttle=80;t._maintainScroll=!1;t._beforeUpdate=null;t._afterUpdate=null;t._rows=s;t._parse=i;t._parseOptions=u;t._apply=function(r,f){var e=u(f),o=n(r),c=[o],l=n(window).scrollTop(),a=n("html").outerHeight(!0),h=o.parents().filter(":hidden");return h.each(function(){var t=n(this);t.data("style-cache",t.attr("style"))}),h.css("display","block"),e.byRow&&!e.target&&(o.each(function(){var i=n(this),t=i.css("display");"inline-block"!==t&&"flex"!==t&&"inline-flex"!==t&&(t="block");i.data("style-cache",i.attr("style"));i.css({display:t,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),c=s(o),o.each(function(){var t=n(this);t.attr("style",t.data("style-cache")||"")})),n.each(c,function(t,r){var u=n(r),f=0;if(e.target)f=e.target.outerHeight(!1);else{if(e.byRow&&u.length<=1)return void u.css(e.property,"");u.each(function(){var t=n(this),u=t.attr("style"),i=t.css("display"),r;"inline-block"!==i&&"flex"!==i&&"inline-flex"!==i&&(i="block");r={display:i};r[e.property]="";t.css(r);t.outerHeight(!1)>f&&(f=t.outerHeight(!1));u?t.attr("style",u):t.css("display","")})}u.each(function(){var t=n(this),r=0;e.target&&t.is(e.target)||("border-box"!==t.css("box-sizing")&&(r+=i(t.css("border-top-width"))+i(t.css("border-bottom-width")),r+=i(t.css("padding-top"))+i(t.css("padding-bottom"))),t.css(e.property,f-r+"px"))})}),h.each(function(){var t=n(this);t.attr("style",t.data("style-cache")||null)}),t._maintainScroll&&n(window).scrollTop(l/a*n("html").outerHeight(!0)),this};t._applyDataApi=function(){var t={};n("[data-match-height], [data-mh]").each(function(){var i=n(this),r=i.attr("data-mh")||i.attr("data-match-height");t[r]=r in t?t[r].add(i):i});n.each(t,function(){this.matchHeight(!0)})};f=function(i){t._beforeUpdate&&t._beforeUpdate(i,t._groups);n.each(t._groups,function(){t._apply(this.elements,this.options)});t._afterUpdate&&t._afterUpdate(i,t._groups)};t._update=function(i,u){if(u&&"resize"===u.type){var e=n(window).width();if(e===o)return;o=e}i?r===-1&&(r=setTimeout(function(){f(u);r=-1},t._throttle)):f(u)};n(t._applyDataApi);e=n.fn.on?"on":"bind";n(window)[e]("load",function(n){t._update(!1,n)});n(window)[e]("resize orientationchange",function(n){t._update(!0,n)})});!function(n){"use strict";"function"==typeof define&&define.amd?define(["jquery"],n):"undefined"!=typeof exports?module.exports=n(require("jquery")):n(jQuery)}(function(n){"use strict";var t=window.Slick||{};(t=function(){var t=0;return function(i,r){var f,u=this;u.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:n(i),appendDots:n(i),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous<\/button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next<\/button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(t,i){return n('<button type="button" />').text(i+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3};u.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1};n.extend(u,u.initials);u.activeBreakpoint=null;u.animType=null;u.animProp=null;u.breakpoints=[];u.breakpointSettings=[];u.cssTransitions=!1;u.focussed=!1;u.interrupted=!1;u.hidden="hidden";u.paused=!0;u.positionProp=null;u.respondTo=null;u.rowCount=1;u.shouldClick=!0;u.$slider=n(i);u.$slidesCache=null;u.transformType=null;u.transitionType=null;u.visibilityChange="visibilitychange";u.windowWidth=0;u.windowTimer=null;f=n(i).data("slick")||{};u.options=n.extend({},u.defaults,r,f);u.currentSlide=u.options.initialSlide;u.originalSettings=u.options;void 0!==document.mozHidden?(u.hidden="mozHidden",u.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(u.hidden="webkitHidden",u.visibilityChange="webkitvisibilitychange");u.autoPlay=n.proxy(u.autoPlay,u);u.autoPlayClear=n.proxy(u.autoPlayClear,u);u.autoPlayIterator=n.proxy(u.autoPlayIterator,u);u.changeSlide=n.proxy(u.changeSlide,u);u.clickHandler=n.proxy(u.clickHandler,u);u.selectHandler=n.proxy(u.selectHandler,u);u.setPosition=n.proxy(u.setPosition,u);u.swipeHandler=n.proxy(u.swipeHandler,u);u.dragHandler=n.proxy(u.dragHandler,u);u.keyHandler=n.proxy(u.keyHandler,u);u.instanceUid=t++;u.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/;u.registerBreakpoints();u.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})};t.prototype.addSlide=t.prototype.slickAdd=function(t,i,r){var u=this;if("boolean"==typeof i)r=i,i=null;else if(i<0||i>=u.slideCount)return!1;u.unload();"number"==typeof i?0===i&&0===u.$slides.length?n(t).appendTo(u.$slideTrack):r?n(t).insertBefore(u.$slides.eq(i)):n(t).insertAfter(u.$slides.eq(i)):!0===r?n(t).prependTo(u.$slideTrack):n(t).appendTo(u.$slideTrack);u.$slides=u.$slideTrack.children(this.options.slide);u.$slideTrack.children(this.options.slide).detach();u.$slideTrack.append(u.$slides);u.$slides.each(function(t,i){n(i).attr("data-slick-index",t)});u.$slidesCache=u.$slides;u.reinit()};t.prototype.animateHeight=function(){var n=this,t;1===n.options.slidesToShow&&!0===n.options.adaptiveHeight&&!1===n.options.vertical&&(t=n.$slides.eq(n.currentSlide).outerHeight(!0),n.$list.animate({height:t},n.options.speed))};t.prototype.animateSlide=function(t,i){var u={},r=this;r.animateHeight();!0===r.options.rtl&&!1===r.options.vertical&&(t=-t);!1===r.transformsEnabled?!1===r.options.vertical?r.$slideTrack.animate({left:t},r.options.speed,r.options.easing,i):r.$slideTrack.animate({top:t},r.options.speed,r.options.easing,i):!1===r.cssTransitions?(!0===r.options.rtl&&(r.currentLeft=-r.currentLeft),n({animStart:r.currentLeft}).animate({animStart:t},{duration:r.options.speed,easing:r.options.easing,step:function(n){n=Math.ceil(n);!1===r.options.vertical?(u[r.animType]="translate("+n+"px, 0px)",r.$slideTrack.css(u)):(u[r.animType]="translate(0px,"+n+"px)",r.$slideTrack.css(u))},complete:function(){i&&i.call()}})):(r.applyTransition(),t=Math.ceil(t),u[r.animType]=!1===r.options.vertical?"translate3d("+t+"px, 0px, 0px)":"translate3d(0px,"+t+"px, 0px)",r.$slideTrack.css(u),i&&setTimeout(function(){r.disableTransition();i.call()},r.options.speed))};t.prototype.getNavTarget=function(){var i=this,t=i.options.asNavFor;return t&&null!==t&&(t=n(t).not(i.$slider)),t};t.prototype.asNavFor=function(t){var i=this.getNavTarget();null!==i&&"object"==typeof i&&i.each(function(){var i=n(this).slick("getSlick");i.unslicked||i.slideHandler(t,!0)})};t.prototype.applyTransition=function(n){var t=this,i={};i[t.transitionType]=!1===t.options.fade?t.transformType+" "+t.options.speed+"ms "+t.options.cssEase:"opacity "+t.options.speed+"ms "+t.options.cssEase;!1===t.options.fade?t.$slideTrack.css(i):t.$slides.eq(n).css(i)};t.prototype.autoPlay=function(){var n=this;n.autoPlayClear();n.slideCount>n.options.slidesToShow&&(n.autoPlayTimer=setInterval(n.autoPlayIterator,n.options.autoplaySpeed))};t.prototype.autoPlayClear=function(){var n=this;n.autoPlayTimer&&clearInterval(n.autoPlayTimer)};t.prototype.autoPlayIterator=function(){var n=this,t=n.currentSlide+n.options.slidesToScroll;n.paused||n.interrupted||n.focussed||(!1===n.options.infinite&&(1===n.direction&&n.currentSlide+1===n.slideCount-1?n.direction=0:0===n.direction&&(t=n.currentSlide-n.options.slidesToScroll,n.currentSlide-1==0&&(n.direction=1))),n.slideHandler(t))};t.prototype.buildArrows=function(){var t=this;!0===t.options.arrows&&(t.$prevArrow=n(t.options.prevArrow).addClass("slick-arrow"),t.$nextArrow=n(t.options.nextArrow).addClass("slick-arrow"),t.slideCount>t.options.slidesToShow?(t.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),t.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.prependTo(t.options.appendArrows),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.appendTo(t.options.appendArrows),!0!==t.options.infinite&&t.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):t.$prevArrow.add(t.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))};t.prototype.buildDots=function(){var i,r,t=this;if(!0===t.options.dots){for(t.$slider.addClass("slick-dotted"),r=n("<ul />").addClass(t.options.dotsClass),i=0;i<=t.getDotCount();i+=1)r.append(n("<li />").append(t.options.customPaging.call(this,t,i)));t.$dots=r.appendTo(t.options.appendDots);t.$dots.find("li").first().addClass("slick-active")}};t.prototype.buildOut=function(){var t=this;t.$slides=t.$slider.children(t.options.slide+":not(.slick-cloned)").addClass("slick-slide");t.slideCount=t.$slides.length;t.$slides.each(function(t,i){n(i).attr("data-slick-index",t).data("originalStyling",n(i).attr("style")||"")});t.$slider.addClass("slick-slider");t.$slideTrack=0===t.slideCount?n('<div class="slick-track"/>').appendTo(t.$slider):t.$slides.wrapAll('<div class="slick-track"/>').parent();t.$list=t.$slideTrack.wrap('<div class="slick-list"/>').parent();t.$slideTrack.css("opacity",0);!0!==t.options.centerMode&&!0!==t.options.swipeToSlide||(t.options.slidesToScroll=1);n("img[data-lazy]",t.$slider).not("[src]").addClass("slick-loading");t.setupInfinite();t.buildArrows();t.buildDots();t.updateDots();t.setSlideClasses("number"==typeof t.currentSlide?t.currentSlide:0);!0===t.options.draggable&&t.$list.addClass("draggable")};t.prototype.buildRows=function(){var t,i,r,f,c,u,e,n=this,o,s,h;if(f=document.createDocumentFragment(),u=n.$slider.children(),n.options.rows>1){for(e=n.options.slidesPerRow*n.options.rows,c=Math.ceil(u.length/e),t=0;t<c;t++){for(o=document.createElement("div"),i=0;i<n.options.rows;i++){for(s=document.createElement("div"),r=0;r<n.options.slidesPerRow;r++)h=t*e+(i*n.options.slidesPerRow+r),u.get(h)&&s.appendChild(u.get(h));o.appendChild(s)}f.appendChild(o)}n.$slider.empty().append(f);n.$slider.children().children().children().css({width:100/n.options.slidesPerRow+"%",display:"inline-block"})}};t.prototype.checkResponsive=function(t,i){var f,u,e,r=this,o=!1,s=r.$slider.width(),h=window.innerWidth||n(window).width();if("window"===r.respondTo?e=h:"slider"===r.respondTo?e=s:"min"===r.respondTo&&(e=Math.min(h,s)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){u=null;for(f in r.breakpoints)r.breakpoints.hasOwnProperty(f)&&(!1===r.originalSettings.mobileFirst?e<r.breakpoints[f]&&(u=r.breakpoints[f]):e>r.breakpoints[f]&&(u=r.breakpoints[f]));null!==u?null!==r.activeBreakpoint?(u!==r.activeBreakpoint||i)&&(r.activeBreakpoint=u,"unslick"===r.breakpointSettings[u]?r.unslick(u):(r.options=n.extend({},r.originalSettings,r.breakpointSettings[u]),!0===t&&(r.currentSlide=r.options.initialSlide),r.refresh(t)),o=u):(r.activeBreakpoint=u,"unslick"===r.breakpointSettings[u]?r.unslick(u):(r.options=n.extend({},r.originalSettings,r.breakpointSettings[u]),!0===t&&(r.currentSlide=r.options.initialSlide),r.refresh(t)),o=u):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===t&&(r.currentSlide=r.options.initialSlide),r.refresh(t),o=u);t||!1===o||r.$slider.trigger("breakpoint",[r,o])}};t.prototype.changeSlide=function(t,i){var f,e,o,r=this,u=n(t.currentTarget),s;switch(u.is("a")&&t.preventDefault(),u.is("li")||(u=u.closest("li")),o=r.slideCount%r.options.slidesToScroll!=0,f=o?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,t.data.message){case"previous":e=0===f?r.options.slidesToScroll:r.options.slidesToShow-f;r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-e,!1,i);break;case"next":e=0===f?r.options.slidesToScroll:f;r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+e,!1,i);break;case"index":s=0===t.data.index?0:t.data.index||u.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(s),!1,i);u.children().trigger("focus");break;default:return}};t.prototype.checkNavigable=function(n){var t,i,r;if(t=this.getNavigableIndexes(),i=0,n>t[t.length-1])n=t[t.length-1];else for(r in t){if(n<t[r]){n=i;break}i=t[r]}return n};t.prototype.cleanUpEvents=function(){var t=this;t.options.dots&&null!==t.$dots&&(n("li",t.$dots).off("click.slick",t.changeSlide).off("mouseenter.slick",n.proxy(t.interrupt,t,!0)).off("mouseleave.slick",n.proxy(t.interrupt,t,!1)),!0===t.options.accessibility&&t.$dots.off("keydown.slick",t.keyHandler));t.$slider.off("focus.slick blur.slick");!0===t.options.arrows&&t.slideCount>t.options.slidesToShow&&(t.$prevArrow&&t.$prevArrow.off("click.slick",t.changeSlide),t.$nextArrow&&t.$nextArrow.off("click.slick",t.changeSlide),!0===t.options.accessibility&&(t.$prevArrow&&t.$prevArrow.off("keydown.slick",t.keyHandler),t.$nextArrow&&t.$nextArrow.off("keydown.slick",t.keyHandler)));t.$list.off("touchstart.slick mousedown.slick",t.swipeHandler);t.$list.off("touchmove.slick mousemove.slick",t.swipeHandler);t.$list.off("touchend.slick mouseup.slick",t.swipeHandler);t.$list.off("touchcancel.slick mouseleave.slick",t.swipeHandler);t.$list.off("click.slick",t.clickHandler);n(document).off(t.visibilityChange,t.visibility);t.cleanUpSlideEvents();!0===t.options.accessibility&&t.$list.off("keydown.slick",t.keyHandler);!0===t.options.focusOnSelect&&n(t.$slideTrack).children().off("click.slick",t.selectHandler);n(window).off("orientationchange.slick.slick-"+t.instanceUid,t.orientationChange);n(window).off("resize.slick.slick-"+t.instanceUid,t.resize);n("[draggable!=true]",t.$slideTrack).off("dragstart",t.preventDefault);n(window).off("load.slick.slick-"+t.instanceUid,t.setPosition)};t.prototype.cleanUpSlideEvents=function(){var t=this;t.$list.off("mouseenter.slick",n.proxy(t.interrupt,t,!0));t.$list.off("mouseleave.slick",n.proxy(t.interrupt,t,!1))};t.prototype.cleanUpRows=function(){var t,n=this;n.options.rows>1&&((t=n.$slides.children().children()).removeAttr("style"),n.$slider.empty().append(t))};t.prototype.clickHandler=function(n){!1===this.shouldClick&&(n.stopImmediatePropagation(),n.stopPropagation(),n.preventDefault())};t.prototype.destroy=function(t){var i=this;i.autoPlayClear();i.touchObject={};i.cleanUpEvents();n(".slick-cloned",i.$slider).detach();i.$dots&&i.$dots.remove();i.$prevArrow&&i.$prevArrow.length&&(i.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),i.htmlExpr.test(i.options.prevArrow)&&i.$prevArrow.remove());i.$nextArrow&&i.$nextArrow.length&&(i.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),i.htmlExpr.test(i.options.nextArrow)&&i.$nextArrow.remove());i.$slides&&(i.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){n(this).attr("style",n(this).data("originalStyling"))}),i.$slideTrack.children(this.options.slide).detach(),i.$slideTrack.detach(),i.$list.detach(),i.$slider.append(i.$slides));i.cleanUpRows();i.$slider.removeClass("slick-slider");i.$slider.removeClass("slick-initialized");i.$slider.removeClass("slick-dotted");i.unslicked=!0;t||i.$slider.trigger("destroy",[i])};t.prototype.disableTransition=function(n){var t=this,i={};i[t.transitionType]="";!1===t.options.fade?t.$slideTrack.css(i):t.$slides.eq(n).css(i)};t.prototype.fadeSlide=function(n,t){var i=this;!1===i.cssTransitions?(i.$slides.eq(n).css({zIndex:i.options.zIndex}),i.$slides.eq(n).animate({opacity:1},i.options.speed,i.options.easing,t)):(i.applyTransition(n),i.$slides.eq(n).css({opacity:1,zIndex:i.options.zIndex}),t&&setTimeout(function(){i.disableTransition(n);t.call()},i.options.speed))};t.prototype.fadeSlideOut=function(n){var t=this;!1===t.cssTransitions?t.$slides.eq(n).animate({opacity:0,zIndex:t.options.zIndex-2},t.options.speed,t.options.easing):(t.applyTransition(n),t.$slides.eq(n).css({opacity:0,zIndex:t.options.zIndex-2}))};t.prototype.filterSlides=t.prototype.slickFilter=function(n){var t=this;null!==n&&(t.$slidesCache=t.$slides,t.unload(),t.$slideTrack.children(this.options.slide).detach(),t.$slidesCache.filter(n).appendTo(t.$slideTrack),t.reinit())};t.prototype.focusHandler=function(){var t=this;t.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(i){i.stopImmediatePropagation();var r=n(this);setTimeout(function(){t.options.pauseOnFocus&&(t.focussed=r.is(":focus"),t.autoPlay())},0)})};t.prototype.getCurrent=t.prototype.slickCurrentSlide=function(){return this.currentSlide};t.prototype.getDotCount=function(){var n=this,i=0,r=0,t=0;if(!0===n.options.infinite)if(n.slideCount<=n.options.slidesToShow)++t;else for(;i<n.slideCount;)++t,i=r+n.options.slidesToScroll,r+=n.options.slidesToScroll<=n.options.slidesToShow?n.options.slidesToScroll:n.options.slidesToShow;else if(!0===n.options.centerMode)t=n.slideCount;else if(n.options.asNavFor)for(;i<n.slideCount;)++t,i=r+n.options.slidesToScroll,r+=n.options.slidesToScroll<=n.options.slidesToShow?n.options.slidesToScroll:n.options.slidesToShow;else t=1+Math.ceil((n.slideCount-n.options.slidesToShow)/n.options.slidesToScroll);return t-1};t.prototype.getLeft=function(n){var f,r,i,e,t=this,u=0;return t.slideOffset=0,r=t.$slides.first().outerHeight(!0),!0===t.options.infinite?(t.slideCount>t.options.slidesToShow&&(t.slideOffset=t.slideWidth*t.options.slidesToShow*-1,e=-1,!0===t.options.vertical&&!0===t.options.centerMode&&(2===t.options.slidesToShow?e=-1.5:1===t.options.slidesToShow&&(e=-2)),u=r*t.options.slidesToShow*e),t.slideCount%t.options.slidesToScroll!=0&&n+t.options.slidesToScroll>t.slideCount&&t.slideCount>t.options.slidesToShow&&(n>t.slideCount?(t.slideOffset=(t.options.slidesToShow-(n-t.slideCount))*t.slideWidth*-1,u=(t.options.slidesToShow-(n-t.slideCount))*r*-1):(t.slideOffset=t.slideCount%t.options.slidesToScroll*t.slideWidth*-1,u=t.slideCount%t.options.slidesToScroll*r*-1))):n+t.options.slidesToShow>t.slideCount&&(t.slideOffset=(n+t.options.slidesToShow-t.slideCount)*t.slideWidth,u=(n+t.options.slidesToShow-t.slideCount)*r),t.slideCount<=t.options.slidesToShow&&(t.slideOffset=0,u=0),!0===t.options.centerMode&&t.slideCount<=t.options.slidesToShow?t.slideOffset=t.slideWidth*Math.floor(t.options.slidesToShow)/2-t.slideWidth*t.slideCount/2:!0===t.options.centerMode&&!0===t.options.infinite?t.slideOffset+=t.slideWidth*Math.floor(t.options.slidesToShow/2)-t.slideWidth:!0===t.options.centerMode&&(t.slideOffset=0,t.slideOffset+=t.slideWidth*Math.floor(t.options.slidesToShow/2)),f=!1===t.options.vertical?n*t.slideWidth*-1+t.slideOffset:n*r*-1+u,!0===t.options.variableWidth&&(i=t.slideCount<=t.options.slidesToShow||!1===t.options.infinite?t.$slideTrack.children(".slick-slide").eq(n):t.$slideTrack.children(".slick-slide").eq(n+t.options.slidesToShow),f=!0===t.options.rtl?i[0]?-1*(t.$slideTrack.width()-i[0].offsetLeft-i.width()):0:i[0]?-1*i[0].offsetLeft:0,!0===t.options.centerMode&&(i=t.slideCount<=t.options.slidesToShow||!1===t.options.infinite?t.$slideTrack.children(".slick-slide").eq(n):t.$slideTrack.children(".slick-slide").eq(n+t.options.slidesToShow+1),f=!0===t.options.rtl?i[0]?-1*(t.$slideTrack.width()-i[0].offsetLeft-i.width()):0:i[0]?-1*i[0].offsetLeft:0,f+=(t.$list.width()-i.outerWidth())/2)),f};t.prototype.getOption=t.prototype.slickGetOption=function(n){return this.options[n]};t.prototype.getNavigableIndexes=function(){var i,n=this,t=0,r=0,u=[];for(!1===n.options.infinite?i=n.slideCount:(t=-1*n.options.slidesToScroll,r=-1*n.options.slidesToScroll,i=2*n.slideCount);t<i;)u.push(t),t=r+n.options.slidesToScroll,r+=n.options.slidesToScroll<=n.options.slidesToShow?n.options.slidesToScroll:n.options.slidesToShow;return u};t.prototype.getSlick=function(){return this};t.prototype.getSlideCount=function(){var i,r,t=this;return r=!0===t.options.centerMode?t.slideWidth*Math.floor(t.options.slidesToShow/2):0,!0===t.options.swipeToSlide?(t.$slideTrack.find(".slick-slide").each(function(u,f){if(f.offsetLeft-r+n(f).outerWidth()/2>-1*t.swipeLeft)return i=f,!1}),Math.abs(n(i).attr("data-slick-index")-t.currentSlide)||1):t.options.slidesToScroll};t.prototype.goTo=t.prototype.slickGoTo=function(n,t){this.changeSlide({data:{message:"index",index:parseInt(n)}},t)};t.prototype.init=function(t){var i=this;n(i.$slider).hasClass("slick-initialized")||(n(i.$slider).addClass("slick-initialized"),i.buildRows(),i.buildOut(),i.setProps(),i.startLoad(),i.loadSlider(),i.initializeEvents(),i.updateArrows(),i.updateDots(),i.checkResponsive(!0),i.focusHandler());t&&i.$slider.trigger("init",[i]);!0===i.options.accessibility&&i.initADA();i.options.autoplay&&(i.paused=!1,i.autoPlay())};t.prototype.initADA=function(){var t=this,f=Math.ceil(t.slideCount/t.options.slidesToShow),r=t.getNavigableIndexes().filter(function(n){return n>=0&&n<t.slideCount}),i,u;for(t.$slides.add(t.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==t.$dots&&(t.$slides.not(t.$slideTrack.find(".slick-cloned")).each(function(i){var u=r.indexOf(i);n(this).attr({role:"tabpanel",id:"slick-slide"+t.instanceUid+i,tabindex:-1});-1!==u&&n(this).attr({"aria-describedby":"slick-slide-control"+t.instanceUid+u})}),t.$dots.attr("role","tablist").find("li").each(function(i){var u=r[i];n(this).attr({role:"presentation"});n(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+t.instanceUid+i,"aria-controls":"slick-slide"+t.instanceUid+u,"aria-label":i+1+" of "+f,"aria-selected":null,tabindex:"-1"})}).eq(t.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end()),i=t.currentSlide,u=i+t.options.slidesToShow;i<u;i++)t.$slides.eq(i).attr("tabindex",0);t.activateADA()};t.prototype.initArrowEvents=function(){var n=this;!0===n.options.arrows&&n.slideCount>n.options.slidesToShow&&(n.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},n.changeSlide),n.$nextArrow.off("click.slick").on("click.slick",{message:"next"},n.changeSlide),!0===n.options.accessibility&&(n.$prevArrow.on("keydown.slick",n.keyHandler),n.$nextArrow.on("keydown.slick",n.keyHandler)))};t.prototype.initDotEvents=function(){var t=this;!0===t.options.dots&&(n("li",t.$dots).on("click.slick",{message:"index"},t.changeSlide),!0===t.options.accessibility&&t.$dots.on("keydown.slick",t.keyHandler));!0===t.options.dots&&!0===t.options.pauseOnDotsHover&&n("li",t.$dots).on("mouseenter.slick",n.proxy(t.interrupt,t,!0)).on("mouseleave.slick",n.proxy(t.interrupt,t,!1))};t.prototype.initSlideEvents=function(){var t=this;t.options.pauseOnHover&&(t.$list.on("mouseenter.slick",n.proxy(t.interrupt,t,!0)),t.$list.on("mouseleave.slick",n.proxy(t.interrupt,t,!1)))};t.prototype.initializeEvents=function(){var t=this;t.initArrowEvents();t.initDotEvents();t.initSlideEvents();t.$list.on("touchstart.slick mousedown.slick",{action:"start"},t.swipeHandler);t.$list.on("touchmove.slick mousemove.slick",{action:"move"},t.swipeHandler);t.$list.on("touchend.slick mouseup.slick",{action:"end"},t.swipeHandler);t.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},t.swipeHandler);t.$list.on("click.slick",t.clickHandler);n(document).on(t.visibilityChange,n.proxy(t.visibility,t));!0===t.options.accessibility&&t.$list.on("keydown.slick",t.keyHandler);!0===t.options.focusOnSelect&&n(t.$slideTrack).children().on("click.slick",t.selectHandler);n(window).on("orientationchange.slick.slick-"+t.instanceUid,n.proxy(t.orientationChange,t));n(window).on("resize.slick.slick-"+t.instanceUid,n.proxy(t.resize,t));n("[draggable!=true]",t.$slideTrack).on("dragstart",t.preventDefault);n(window).on("load.slick.slick-"+t.instanceUid,t.setPosition);n(t.setPosition)};t.prototype.initUI=function(){var n=this;!0===n.options.arrows&&n.slideCount>n.options.slidesToShow&&(n.$prevArrow.show(),n.$nextArrow.show());!0===n.options.dots&&n.slideCount>n.options.slidesToShow&&n.$dots.show()};t.prototype.keyHandler=function(n){var t=this;n.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===n.keyCode&&!0===t.options.accessibility?t.changeSlide({data:{message:!0===t.options.rtl?"next":"previous"}}):39===n.keyCode&&!0===t.options.accessibility&&t.changeSlide({data:{message:!0===t.options.rtl?"previous":"next"}}))};t.prototype.lazyLoad=function(){function f(i){n("img[data-lazy]",i).each(function(){var i=n(this),r=n(this).attr("data-lazy"),f=n(this).attr("data-srcset"),e=n(this).attr("data-sizes")||t.$slider.attr("data-sizes"),u=document.createElement("img");u.onload=function(){i.animate({opacity:0},100,function(){f&&(i.attr("srcset",f),e&&i.attr("sizes",e));i.attr("src",r).animate({opacity:1},200,function(){i.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")});t.$slider.trigger("lazyLoaded",[t,i,r])})};u.onerror=function(){i.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error");t.$slider.trigger("lazyLoadError",[t,i,r])};u.src=r})}var u,i,r,t=this;if(!0===t.options.centerMode?!0===t.options.infinite?r=(i=t.currentSlide+(t.options.slidesToShow/2+1))+t.options.slidesToShow+2:(i=Math.max(0,t.currentSlide-(t.options.slidesToShow/2+1)),r=t.options.slidesToShow/2+1+2+t.currentSlide):(i=t.options.infinite?t.options.slidesToShow+t.currentSlide:t.currentSlide,r=Math.ceil(i+t.options.slidesToShow),!0===t.options.fade&&(i>0&&i--,r<=t.slideCount&&r++)),u=t.$slider.find(".slick-slide").slice(i,r),"anticipated"===t.options.lazyLoad)for(var e=i-1,o=r,s=t.$slider.find(".slick-slide"),h=0;h<t.options.slidesToScroll;h++)e<0&&(e=t.slideCount-1),u=(u=u.add(s.eq(e))).add(s.eq(o)),e--,o++;f(u);t.slideCount<=t.options.slidesToShow?f(t.$slider.find(".slick-slide")):t.currentSlide>=t.slideCount-t.options.slidesToShow?f(t.$slider.find(".slick-cloned").slice(0,t.options.slidesToShow)):0===t.currentSlide&&f(t.$slider.find(".slick-cloned").slice(-1*t.options.slidesToShow))};t.prototype.loadSlider=function(){var n=this;n.setPosition();n.$slideTrack.css({opacity:1});n.$slider.removeClass("slick-loading");n.initUI();"progressive"===n.options.lazyLoad&&n.progressiveLazyLoad()};t.prototype.next=t.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})};t.prototype.orientationChange=function(){var n=this;n.checkResponsive();n.setPosition()};t.prototype.pause=t.prototype.slickPause=function(){var n=this;n.autoPlayClear();n.paused=!0};t.prototype.play=t.prototype.slickPlay=function(){var n=this;n.autoPlay();n.options.autoplay=!0;n.paused=!1;n.focussed=!1;n.interrupted=!1};t.prototype.postSlide=function(t){var i=this;i.unslicked||(i.$slider.trigger("afterChange",[i,t]),i.animating=!1,i.slideCount>i.options.slidesToShow&&i.setPosition(),i.swipeLeft=null,i.options.autoplay&&i.autoPlay(),!0===i.options.accessibility&&(i.initADA(),i.options.focusOnChange&&n(i.$slides.get(i.currentSlide)).attr("tabindex",0).focus()))};t.prototype.prev=t.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})};t.prototype.preventDefault=function(n){n.preventDefault()};t.prototype.progressiveLazyLoad=function(t){t=t||1;var r,u,f,e,o,i=this,s=n("img[data-lazy]",i.$slider);s.length?(r=s.first(),u=r.attr("data-lazy"),f=r.attr("data-srcset"),e=r.attr("data-sizes")||i.$slider.attr("data-sizes"),(o=document.createElement("img")).onload=function(){f&&(r.attr("srcset",f),e&&r.attr("sizes",e));r.attr("src",u).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading");!0===i.options.adaptiveHeight&&i.setPosition();i.$slider.trigger("lazyLoaded",[i,r,u]);i.progressiveLazyLoad()},o.onerror=function(){t<3?setTimeout(function(){i.progressiveLazyLoad(t+1)},500):(r.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),i.$slider.trigger("lazyLoadError",[i,r,u]),i.progressiveLazyLoad())},o.src=u):i.$slider.trigger("allImagesLoaded",[i])};t.prototype.refresh=function(t){var r,u,i=this;u=i.slideCount-i.options.slidesToShow;!i.options.infinite&&i.currentSlide>u&&(i.currentSlide=u);i.slideCount<=i.options.slidesToShow&&(i.currentSlide=0);r=i.currentSlide;i.destroy(!0);n.extend(i,i.initials,{currentSlide:r});i.init();t||i.changeSlide({data:{message:"index",index:r}},!1)};t.prototype.registerBreakpoints=function(){var u,f,i,t=this,r=t.options.responsive||null;if("array"===n.type(r)&&r.length){t.respondTo=t.options.respondTo||"window";for(u in r)if(i=t.breakpoints.length-1,r.hasOwnProperty(u)){for(f=r[u].breakpoint;i>=0;)t.breakpoints[i]&&t.breakpoints[i]===f&&t.breakpoints.splice(i,1),i--;t.breakpoints.push(f);t.breakpointSettings[f]=r[u].settings}t.breakpoints.sort(function(n,i){return t.options.mobileFirst?n-i:i-n})}};t.prototype.reinit=function(){var t=this;t.$slides=t.$slideTrack.children(t.options.slide).addClass("slick-slide");t.slideCount=t.$slides.length;t.currentSlide>=t.slideCount&&0!==t.currentSlide&&(t.currentSlide=t.currentSlide-t.options.slidesToScroll);t.slideCount<=t.options.slidesToShow&&(t.currentSlide=0);t.registerBreakpoints();t.setProps();t.setupInfinite();t.buildArrows();t.updateArrows();t.initArrowEvents();t.buildDots();t.updateDots();t.initDotEvents();t.cleanUpSlideEvents();t.initSlideEvents();t.checkResponsive(!1,!0);!0===t.options.focusOnSelect&&n(t.$slideTrack).children().on("click.slick",t.selectHandler);t.setSlideClasses("number"==typeof t.currentSlide?t.currentSlide:0);t.setPosition();t.focusHandler();t.paused=!t.options.autoplay;t.autoPlay();t.$slider.trigger("reInit",[t])};t.prototype.resize=function(){var t=this;n(window).width()!==t.windowWidth&&(clearTimeout(t.windowDelay),t.windowDelay=window.setTimeout(function(){t.windowWidth=n(window).width();t.checkResponsive();t.unslicked||t.setPosition()},50))};t.prototype.removeSlide=t.prototype.slickRemove=function(n,t,i){var r=this;if(n="boolean"==typeof n?!0===(t=n)?0:r.slideCount-1:!0===t?--n:n,r.slideCount<1||n<0||n>r.slideCount-1)return!1;r.unload();!0===i?r.$slideTrack.children().remove():r.$slideTrack.children(this.options.slide).eq(n).remove();r.$slides=r.$slideTrack.children(this.options.slide);r.$slideTrack.children(this.options.slide).detach();r.$slideTrack.append(r.$slides);r.$slidesCache=r.$slides;r.reinit()};t.prototype.setCSS=function(n){var r,u,t=this,i={};!0===t.options.rtl&&(n=-n);r="left"==t.positionProp?Math.ceil(n)+"px":"0px";u="top"==t.positionProp?Math.ceil(n)+"px":"0px";i[t.positionProp]=n;!1===t.transformsEnabled?t.$slideTrack.css(i):(i={},!1===t.cssTransitions?(i[t.animType]="translate("+r+", "+u+")",t.$slideTrack.css(i)):(i[t.animType]="translate3d("+r+", "+u+", 0px)",t.$slideTrack.css(i)))};t.prototype.setDimensions=function(){var n=this,t;!1===n.options.vertical?!0===n.options.centerMode&&n.$list.css({padding:"0px "+n.options.centerPadding}):(n.$list.height(n.$slides.first().outerHeight(!0)*n.options.slidesToShow),!0===n.options.centerMode&&n.$list.css({padding:n.options.centerPadding+" 0px"}));n.listWidth=n.$list.width();n.listHeight=n.$list.height();!1===n.options.vertical&&!1===n.options.variableWidth?(n.slideWidth=Math.ceil(n.listWidth/n.options.slidesToShow),n.$slideTrack.width(Math.ceil(n.slideWidth*n.$slideTrack.children(".slick-slide").length))):!0===n.options.variableWidth?n.$slideTrack.width(5e3*n.slideCount):(n.slideWidth=Math.ceil(n.listWidth),n.$slideTrack.height(Math.ceil(n.$slides.first().outerHeight(!0)*n.$slideTrack.children(".slick-slide").length)));t=n.$slides.first().outerWidth(!0)-n.$slides.first().width();!1===n.options.variableWidth&&n.$slideTrack.children(".slick-slide").width(n.slideWidth-t)};t.prototype.setFade=function(){var i,t=this;t.$slides.each(function(r,u){i=t.slideWidth*r*-1;!0===t.options.rtl?n(u).css({position:"relative",right:i,top:0,zIndex:t.options.zIndex-2,opacity:0}):n(u).css({position:"relative",left:i,top:0,zIndex:t.options.zIndex-2,opacity:0})});t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})};t.prototype.setHeight=function(){var n=this,t;1===n.options.slidesToShow&&!0===n.options.adaptiveHeight&&!1===n.options.vertical&&(t=n.$slides.eq(n.currentSlide).outerHeight(!0),n.$list.css("height",t))};t.prototype.setOption=t.prototype.slickSetOption=function(){var u,f,e,i,r,t=this,o=!1;if("object"===n.type(arguments[0])?(e=arguments[0],o=arguments[1],r="multiple"):"string"===n.type(arguments[0])&&(e=arguments[0],i=arguments[1],o=arguments[2],"responsive"===arguments[0]&&"array"===n.type(arguments[1])?r="responsive":void 0!==arguments[1]&&(r="single")),"single"===r)t.options[e]=i;else if("multiple"===r)n.each(e,function(n,i){t.options[n]=i});else if("responsive"===r)for(f in i)if("array"!==n.type(t.options.responsive))t.options.responsive=[i[f]];else{for(u=t.options.responsive.length-1;u>=0;)t.options.responsive[u].breakpoint===i[f].breakpoint&&t.options.responsive.splice(u,1),u--;t.options.responsive.push(i[f])}o&&(t.unload(),t.reinit())};t.prototype.setPosition=function(){var n=this;n.setDimensions();n.setHeight();!1===n.options.fade?n.setCSS(n.getLeft(n.currentSlide)):n.setFade();n.$slider.trigger("setPosition",[n])};t.prototype.setProps=function(){var n=this,t=document.body.style;n.positionProp=!0===n.options.vertical?"top":"left";"top"===n.positionProp?n.$slider.addClass("slick-vertical"):n.$slider.removeClass("slick-vertical");void 0===t.WebkitTransition&&void 0===t.MozTransition&&void 0===t.msTransition||!0===n.options.useCSS&&(n.cssTransitions=!0);n.options.fade&&("number"==typeof n.options.zIndex?n.options.zIndex<3&&(n.options.zIndex=3):n.options.zIndex=n.defaults.zIndex);void 0!==t.OTransform&&(n.animType="OTransform",n.transformType="-o-transform",n.transitionType="OTransition",void 0===t.perspectiveProperty&&void 0===t.webkitPerspective&&(n.animType=!1));void 0!==t.MozTransform&&(n.animType="MozTransform",n.transformType="-moz-transform",n.transitionType="MozTransition",void 0===t.perspectiveProperty&&void 0===t.MozPerspective&&(n.animType=!1));void 0!==t.webkitTransform&&(n.animType="webkitTransform",n.transformType="-webkit-transform",n.transitionType="webkitTransition",void 0===t.perspectiveProperty&&void 0===t.webkitPerspective&&(n.animType=!1));void 0!==t.msTransform&&(n.animType="msTransform",n.transformType="-ms-transform",n.transitionType="msTransition",void 0===t.msTransform&&(n.animType=!1));void 0!==t.transform&&!1!==n.animType&&(n.animType="transform",n.transformType="transform",n.transitionType="transition");n.transformsEnabled=n.options.useTransform&&null!==n.animType&&!1!==n.animType};t.prototype.setSlideClasses=function(n){var u,i,r,f,t=this,e;(i=t.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),t.$slides.eq(n).addClass("slick-current"),!0===t.options.centerMode)?(e=t.options.slidesToShow%2==0?1:0,u=Math.floor(t.options.slidesToShow/2),!0===t.options.infinite&&(n>=u&&n<=t.slideCount-1-u?t.$slides.slice(n-u+e,n+u+1).addClass("slick-active").attr("aria-hidden","false"):(r=t.options.slidesToShow+n,i.slice(r-u+1+e,r+u+2).addClass("slick-active").attr("aria-hidden","false")),0===n?i.eq(i.length-1-t.options.slidesToShow).addClass("slick-center"):n===t.slideCount-1&&i.eq(t.options.slidesToShow).addClass("slick-center")),t.$slides.eq(n).addClass("slick-center")):n>=0&&n<=t.slideCount-t.options.slidesToShow?t.$slides.slice(n,n+t.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):i.length<=t.options.slidesToShow?i.addClass("slick-active").attr("aria-hidden","false"):(f=t.slideCount%t.options.slidesToShow,r=!0===t.options.infinite?t.options.slidesToShow+n:n,t.options.slidesToShow==t.options.slidesToScroll&&t.slideCount-n<t.options.slidesToShow?i.slice(r-(t.options.slidesToShow-f),r+f).addClass("slick-active").attr("aria-hidden","false"):i.slice(r,r+t.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==t.options.lazyLoad&&"anticipated"!==t.options.lazyLoad||t.lazyLoad()};t.prototype.setupInfinite=function(){var i,r,u,t=this;if(!0===t.options.fade&&(t.options.centerMode=!1),!0===t.options.infinite&&!1===t.options.fade&&(r=null,t.slideCount>t.options.slidesToShow)){for(u=!0===t.options.centerMode?t.options.slidesToShow+1:t.options.slidesToShow,i=t.slideCount;i>t.slideCount-u;i-=1)r=i-1,n(t.$slides[r]).clone(!0).attr("id","").attr("data-slick-index",r-t.slideCount).prependTo(t.$slideTrack).addClass("slick-cloned");for(i=0;i<u+t.slideCount;i+=1)r=i,n(t.$slides[r]).clone(!0).attr("id","").attr("data-slick-index",r+t.slideCount).appendTo(t.$slideTrack).addClass("slick-cloned");t.$slideTrack.find(".slick-cloned").find("[id]").each(function(){n(this).attr("id","")})}};t.prototype.interrupt=function(n){var t=this;n||t.autoPlay();t.interrupted=n};t.prototype.selectHandler=function(t){var i=this,u=n(t.target).is(".slick-slide")?n(t.target):n(t.target).parents(".slick-slide"),r=parseInt(u.attr("data-slick-index"));r||(r=0);i.slideCount<=i.options.slidesToShow?i.slideHandler(r,!1,!0):i.slideHandler(r)};t.prototype.slideHandler=function(n,t,i){var u,f,s,e,o,h=null,r=this;if(t=t||!1,!(!0===r.animating&&!0===r.options.waitForAnimate||!0===r.options.fade&&r.currentSlide===n))if(!1===t&&r.asNavFor(n),u=n,h=r.getLeft(u),e=r.getLeft(r.currentSlide),r.currentLeft=null===r.swipeLeft?e:r.swipeLeft,!1===r.options.infinite&&!1===r.options.centerMode&&(n<0||n>r.getDotCount()*r.options.slidesToScroll))!1===r.options.fade&&(u=r.currentSlide,!0!==i?r.animateSlide(e,function(){r.postSlide(u)}):r.postSlide(u));else if(!1===r.options.infinite&&!0===r.options.centerMode&&(n<0||n>r.slideCount-r.options.slidesToScroll))!1===r.options.fade&&(u=r.currentSlide,!0!==i?r.animateSlide(e,function(){r.postSlide(u)}):r.postSlide(u));else{if(r.options.autoplay&&clearInterval(r.autoPlayTimer),f=u<0?r.slideCount%r.options.slidesToScroll!=0?r.slideCount-r.slideCount%r.options.slidesToScroll:r.slideCount+u:u>=r.slideCount?r.slideCount%r.options.slidesToScroll!=0?0:u-r.slideCount:u,r.animating=!0,r.$slider.trigger("beforeChange",[r,r.currentSlide,f]),s=r.currentSlide,r.currentSlide=f,r.setSlideClasses(r.currentSlide),r.options.asNavFor&&(o=(o=r.getNavTarget()).slick("getSlick")).slideCount<=o.options.slidesToShow&&o.setSlideClasses(r.currentSlide),r.updateDots(),r.updateArrows(),!0===r.options.fade)return!0!==i?(r.fadeSlideOut(s),r.fadeSlide(f,function(){r.postSlide(f)})):r.postSlide(f),void r.animateHeight();!0!==i?r.animateSlide(h,function(){r.postSlide(f)}):r.postSlide(f)}};t.prototype.startLoad=function(){var n=this;!0===n.options.arrows&&n.slideCount>n.options.slidesToShow&&(n.$prevArrow.hide(),n.$nextArrow.hide());!0===n.options.dots&&n.slideCount>n.options.slidesToShow&&n.$dots.hide();n.$slider.addClass("slick-loading")};t.prototype.swipeDirection=function(){var i,r,u,n,t=this;return i=t.touchObject.startX-t.touchObject.curX,r=t.touchObject.startY-t.touchObject.curY,u=Math.atan2(r,i),(n=Math.round(180*u/Math.PI))<0&&(n=360-Math.abs(n)),n<=45&&n>=0?!1===t.options.rtl?"left":"right":n<=360&&n>=315?!1===t.options.rtl?"left":"right":n>=135&&n<=225?!1===t.options.rtl?"right":"left":!0===t.options.verticalSwiping?n>=35&&n<=135?"down":"up":"vertical"};t.prototype.swipeEnd=function(){var t,i,n=this;if(n.dragging=!1,n.swiping=!1,n.scrolling)return n.scrolling=!1,!1;if(n.interrupted=!1,n.shouldClick=!(n.touchObject.swipeLength>10),void 0===n.touchObject.curX)return!1;if(!0===n.touchObject.edgeHit&&n.$slider.trigger("edge",[n,n.swipeDirection()]),n.touchObject.swipeLength>=n.touchObject.minSwipe){switch(i=n.swipeDirection()){case"left":case"down":t=n.options.swipeToSlide?n.checkNavigable(n.currentSlide+n.getSlideCount()):n.currentSlide+n.getSlideCount();n.currentDirection=0;break;case"right":case"up":t=n.options.swipeToSlide?n.checkNavigable(n.currentSlide-n.getSlideCount()):n.currentSlide-n.getSlideCount();n.currentDirection=1}"vertical"!=i&&(n.slideHandler(t),n.touchObject={},n.$slider.trigger("swipe",[n,i]))}else n.touchObject.startX!==n.touchObject.curX&&(n.slideHandler(n.currentSlide),n.touchObject={})};t.prototype.swipeHandler=function(n){var t=this;if(!(!1===t.options.swipe||"ontouchend"in document&&!1===t.options.swipe||!1===t.options.draggable&&-1!==n.type.indexOf("mouse")))switch(t.touchObject.fingerCount=n.originalEvent&&void 0!==n.originalEvent.touches?n.originalEvent.touches.length:1,t.touchObject.minSwipe=t.listWidth/t.options.touchThreshold,!0===t.options.verticalSwiping&&(t.touchObject.minSwipe=t.listHeight/t.options.touchThreshold),n.data.action){case"start":t.swipeStart(n);break;case"move":t.swipeMove(n);break;case"end":t.swipeEnd(n)}};t.prototype.swipeMove=function(n){var f,e,r,u,i,o,t=this;return i=void 0!==n.originalEvent?n.originalEvent.touches:null,!(!t.dragging||t.scrolling||i&&1!==i.length)&&(f=t.getLeft(t.currentSlide),t.touchObject.curX=void 0!==i?i[0].pageX:n.clientX,t.touchObject.curY=void 0!==i?i[0].pageY:n.clientY,t.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(t.touchObject.curX-t.touchObject.startX,2))),o=Math.round(Math.sqrt(Math.pow(t.touchObject.curY-t.touchObject.startY,2))),!t.options.verticalSwiping&&!t.swiping&&o>4?(t.scrolling=!0,!1):(!0===t.options.verticalSwiping&&(t.touchObject.swipeLength=o),e=t.swipeDirection(),void 0!==n.originalEvent&&t.touchObject.swipeLength>4&&(t.swiping=!0,n.preventDefault()),u=(!1===t.options.rtl?1:-1)*(t.touchObject.curX>t.touchObject.startX?1:-1),!0===t.options.verticalSwiping&&(u=t.touchObject.curY>t.touchObject.startY?1:-1),r=t.touchObject.swipeLength,t.touchObject.edgeHit=!1,!1===t.options.infinite&&(0===t.currentSlide&&"right"===e||t.currentSlide>=t.getDotCount()&&"left"===e)&&(r=t.touchObject.swipeLength*t.options.edgeFriction,t.touchObject.edgeHit=!0),t.swipeLeft=!1===t.options.vertical?f+r*u:f+r*(t.$list.height()/t.listWidth)*u,!0===t.options.verticalSwiping&&(t.swipeLeft=f+r*u),!0!==t.options.fade&&!1!==t.options.touchMove&&(!0===t.animating?(t.swipeLeft=null,!1):void t.setCSS(t.swipeLeft))))};t.prototype.swipeStart=function(n){var i,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==n.originalEvent&&void 0!==n.originalEvent.touches&&(i=n.originalEvent.touches[0]);t.touchObject.startX=t.touchObject.curX=void 0!==i?i.pageX:n.clientX;t.touchObject.startY=t.touchObject.curY=void 0!==i?i.pageY:n.clientY;t.dragging=!0};t.prototype.unfilterSlides=t.prototype.slickUnfilter=function(){var n=this;null!==n.$slidesCache&&(n.unload(),n.$slideTrack.children(this.options.slide).detach(),n.$slidesCache.appendTo(n.$slideTrack),n.reinit())};t.prototype.unload=function(){var t=this;n(".slick-cloned",t.$slider).remove();t.$dots&&t.$dots.remove();t.$prevArrow&&t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove();t.$nextArrow&&t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove();t.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")};t.prototype.unslick=function(n){var t=this;t.$slider.trigger("unslick",[t,n]);t.destroy()};t.prototype.updateArrows=function(){var n=this;Math.floor(n.options.slidesToShow/2);!0===n.options.arrows&&n.slideCount>n.options.slidesToShow&&!n.options.infinite&&(n.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),n.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===n.currentSlide?(n.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),n.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):n.currentSlide>=n.slideCount-n.options.slidesToShow&&!1===n.options.centerMode?(n.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),n.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):n.currentSlide>=n.slideCount-1&&!0===n.options.centerMode&&(n.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),n.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))};t.prototype.updateDots=function(){var n=this;null!==n.$dots&&(n.$dots.find("li").removeClass("slick-active").end(),n.$dots.find("li").eq(Math.floor(n.currentSlide/n.options.slidesToScroll)).addClass("slick-active"))};t.prototype.visibility=function(){var n=this;n.options.autoplay&&(n.interrupted=document[n.hidden]?!0:!1)};n.fn.slick=function(){for(var u,i=this,r=arguments[0],f=Array.prototype.slice.call(arguments,1),e=i.length,n=0;n<e;n++)if("object"==typeof r||void 0===r?i[n].slick=new t(i[n],r):u=i[n].slick[r].apply(i[n].slick,f),void 0!==u)return u;return i}});!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.PerfectScrollbar=t()}(this,function(){"use strict";function r(n){return getComputedStyle(n)}function i(n,t){var r,i;for(r in t)i=t[r],"number"==typeof i&&(i+="px"),n.style[r]=i;return n}function l(n){var t=document.createElement("div");return t.className=n,t}function f(n,t){if(!d)throw new Error("No element matching method supported");return d.call(n,t)}function o(n){n.remove?n.remove():n.parentNode&&n.parentNode.removeChild(n)}function y(n,t){return Array.prototype.filter.call(n.children,function(n){return f(n,t)})}function p(n,i){var r=n.element.classList,u=t.state.scrolling(i);r.contains(u)?clearTimeout(g[i]):r.add(u)}function w(n,i){g[i]=setTimeout(function(){return n.isAlive&&n.element.classList.remove(t.state.scrolling(i))},n.settings.scrollingThreshold)}function tt(n,t){p(n,t);w(n,t)}function a(n){if("function"==typeof CustomEvent)return new CustomEvent(n);var t=document.createEvent("CustomEvent");return t.initCustomEvent(n,!1,!1,void 0),t}function it(n,t,i,r,u){var s=i[0],h=i[1],o=i[2],f=i[3],c=i[4],l=i[5],e;void 0===r&&(r=!0);void 0===u&&(u=!1);e=n.element;n.reach[f]=null;e[o]<1&&(n.reach[f]="start");e[o]>n[s]-n[h]-1&&(n.reach[f]="end");t&&(e.dispatchEvent(a("ps-scroll-"+f)),t<0?e.dispatchEvent(a("ps-scroll-"+c)):t>0&&e.dispatchEvent(a("ps-scroll-"+l)),r&&tt(n,f));n.reach[f]&&(t||u)&&e.dispatchEvent(a("ps-"+f+"-reach-"+n.reach[f]))}function n(n){return parseInt(n,10)||0}function rt(n){return f(n,"input,[contenteditable]")||f(n,"select,[contenteditable]")||f(n,"textarea,[contenteditable]")||f(n,"button,[contenteditable]")}function ut(t){var i=r(t);return n(i.width)+n(i.paddingLeft)+n(i.paddingRight)+n(i.borderLeftWidth)+n(i.borderRightWidth)}function b(n,t){return n.settings.minScrollbarLength&&(t=Math.max(t,n.settings.minScrollbarLength)),n.settings.maxScrollbarLength&&(t=Math.min(t,n.settings.maxScrollbarLength)),t}function ft(n,t){var r={width:t.railXWidth},f=Math.floor(n.scrollTop),u;r.left=t.isRtl?t.negativeScrollAdjustment+n.scrollLeft+t.containerWidth-t.contentWidth:n.scrollLeft;t.isScrollbarXUsingBottom?r.bottom=t.scrollbarXBottom-f:r.top=t.scrollbarXTop+f;i(t.scrollbarXRail,r);u={top:f,height:t.railYHeight};t.isScrollbarYUsingRight?u.right=t.isRtl?t.contentWidth-(t.negativeScrollAdjustment+n.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth:t.scrollbarYRight-n.scrollLeft:u.left=t.isRtl?t.negativeScrollAdjustment+n.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:t.scrollbarYLeft+n.scrollLeft;i(t.scrollbarYRail,u);i(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth});i(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}function k(n,i){function r(t){h[e]=c+a*(t[f]-l);p(n,o);u(n);t.stopPropagation();t.preventDefault()}function v(){w(n,o);n[s].classList.remove(t.state.clicking);n.event.unbind(n.ownerDocument,"mousemove",r)}var y=i[0],b=i[1],f=i[2],k=i[3],d=i[4],g=i[5],e=i[6],o=i[7],s=i[8],h=n.element,c=null,l=null,a=null;n.event.bind(n[d],"mousedown",function(i){c=h[e];l=i[f];a=(n[b]-n[y])/(n[k]-n[g]);n.event.bind(n.ownerDocument,"mousemove",r);n.event.once(n.ownerDocument,"mouseup",v);n[s].classList.add(t.state.clicking);i.stopPropagation();i.preventDefault()})}var d="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector),t={main:"ps",element:{thumb:function(n){return"ps__thumb-"+n},rail:function(n){return"ps__rail-"+n},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(n){return"ps--active-"+n},scrolling:function(n){return"ps--scrolling-"+n}}},g={x:null,y:null},h=function(n){this.element=n;this.handlers={}},nt={isEmpty:{configurable:!0}},e;h.prototype.bind=function(n,t){void 0===this.handlers[n]&&(this.handlers[n]=[]);this.handlers[n].push(t);this.element.addEventListener(n,t,!1)};h.prototype.unbind=function(n,t){var i=this;this.handlers[n]=this.handlers[n].filter(function(r){return!(!t||r===t)||(i.element.removeEventListener(n,r,!1),!1)})};h.prototype.unbindAll=function(){var n=this;for(var t in n.handlers)n.unbind(t)};nt.isEmpty.get=function(){var n=this;return Object.keys(this.handlers).every(function(t){return 0===n.handlers[t].length})};Object.defineProperties(h.prototype,nt);e=function(){this.eventElements=[]};e.prototype.eventElement=function(n){var t=this.eventElements.filter(function(t){return t.element===n})[0];return t||(t=new h(n),this.eventElements.push(t)),t};e.prototype.bind=function(n,t,i){this.eventElement(n).bind(t,i)};e.prototype.unbind=function(n,t,i){var r=this.eventElement(n);r.unbind(t,i);r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)};e.prototype.unbindAll=function(){this.eventElements.forEach(function(n){return n.unbindAll()});this.eventElements=[]};e.prototype.once=function(n,t,i){var r=this.eventElement(n),u=function(n){r.unbind(t,u);i(n)};r.bind(t,u)};var v=function(n,t,i,r,u){void 0===r&&(r=!0);void 0===u&&(u=!1);var f;if("top"===t)f=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==t)throw new Error("A proper axis should be provided");f=["contentWidth","containerWidth","scrollLeft","x","left","right"]}it(n,i,f,r,u)},s={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)},u=function(i){var r=i.element,u=Math.floor(r.scrollTop);i.containerWidth=r.clientWidth;i.containerHeight=r.clientHeight;i.contentWidth=r.scrollWidth;i.contentHeight=r.scrollHeight;r.contains(i.scrollbarXRail)||(y(r,t.element.rail("x")).forEach(function(n){return o(n)}),r.appendChild(i.scrollbarXRail));r.contains(i.scrollbarYRail)||(y(r,t.element.rail("y")).forEach(function(n){return o(n)}),r.appendChild(i.scrollbarYRail));!i.settings.suppressScrollX&&i.containerWidth+i.settings.scrollXMarginOffset<i.contentWidth?(i.scrollbarXActive=!0,i.railXWidth=i.containerWidth-i.railXMarginWidth,i.railXRatio=i.containerWidth/i.railXWidth,i.scrollbarXWidth=b(i,n(i.railXWidth*i.containerWidth/i.contentWidth)),i.scrollbarXLeft=n((i.negativeScrollAdjustment+r.scrollLeft)*(i.railXWidth-i.scrollbarXWidth)/(i.contentWidth-i.containerWidth))):i.scrollbarXActive=!1;!i.settings.suppressScrollY&&i.containerHeight+i.settings.scrollYMarginOffset<i.contentHeight?(i.scrollbarYActive=!0,i.railYHeight=i.containerHeight-i.railYMarginHeight,i.railYRatio=i.containerHeight/i.railYHeight,i.scrollbarYHeight=b(i,n(i.railYHeight*i.containerHeight/i.contentHeight)),i.scrollbarYTop=n(u*(i.railYHeight-i.scrollbarYHeight)/(i.contentHeight-i.containerHeight))):i.scrollbarYActive=!1;i.scrollbarXLeft>=i.railXWidth-i.scrollbarXWidth&&(i.scrollbarXLeft=i.railXWidth-i.scrollbarXWidth);i.scrollbarYTop>=i.railYHeight-i.scrollbarYHeight&&(i.scrollbarYTop=i.railYHeight-i.scrollbarYHeight);ft(r,i);i.scrollbarXActive?r.classList.add(t.state.active("x")):(r.classList.remove(t.state.active("x")),i.scrollbarXWidth=0,i.scrollbarXLeft=0,r.scrollLeft=0);i.scrollbarYActive?r.classList.add(t.state.active("y")):(r.classList.remove(t.state.active("y")),i.scrollbarYHeight=0,i.scrollbarYTop=0,r.scrollTop=0)},et={"click-rail":function(n){n.event.bind(n.scrollbarY,"mousedown",function(n){return n.stopPropagation()});n.event.bind(n.scrollbarYRail,"mousedown",function(t){var i=t.pageY-window.pageYOffset-n.scrollbarYRail.getBoundingClientRect().top>n.scrollbarYTop?1:-1;n.element.scrollTop+=i*n.containerHeight;u(n);t.stopPropagation()});n.event.bind(n.scrollbarX,"mousedown",function(n){return n.stopPropagation()});n.event.bind(n.scrollbarXRail,"mousedown",function(t){var i=t.pageX-window.pageXOffset-n.scrollbarXRail.getBoundingClientRect().left>n.scrollbarXLeft?1:-1;n.element.scrollLeft+=i*n.containerWidth;u(n);t.stopPropagation()})},"drag-thumb":function(n){k(n,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]);k(n,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(n){function i(i,r){var f=Math.floor(t.scrollTop),u;if(0===i){if(!n.scrollbarYActive)return!1;if(0===f&&r>0||f>=n.contentHeight-n.containerHeight&&r<0)return!n.settings.wheelPropagation}if(u=t.scrollLeft,0===r){if(!n.scrollbarXActive)return!1;if(0===u&&i<0||u>=n.contentWidth-n.containerWidth&&i>0)return!n.settings.wheelPropagation}return!0}var t=n.element,r=function(){return f(t,":hover")},e=function(){return f(n.scrollbarX,":focus")||f(n.scrollbarY,":focus")};n.event.bind(n.ownerDocument,"keydown",function(f){var s,h,o;if(!(f.isDefaultPrevented&&f.isDefaultPrevented()||f.defaultPrevented)&&(r()||e())){if(s=document.activeElement?document.activeElement:n.ownerDocument.activeElement,s){if("IFRAME"===s.tagName)s=s.contentDocument.activeElement;else for(;s.shadowRoot;)s=s.shadowRoot.activeElement;if(rt(s))return}h=0;o=0;switch(f.which){case 37:h=f.metaKey?-n.contentWidth:f.altKey?-n.containerWidth:-30;break;case 38:o=f.metaKey?n.contentHeight:f.altKey?n.containerHeight:30;break;case 39:h=f.metaKey?n.contentWidth:f.altKey?n.containerWidth:30;break;case 40:o=f.metaKey?-n.contentHeight:f.altKey?-n.containerHeight:-30;break;case 32:o=f.shiftKey?n.containerHeight:-n.containerHeight;break;case 33:o=n.containerHeight;break;case 34:o=-n.containerHeight;break;case 36:o=n.contentHeight;break;case 35:o=-n.contentHeight;break;default:return}n.settings.suppressScrollX&&0!==h||n.settings.suppressScrollY&&0!==o||(t.scrollTop-=o,t.scrollLeft+=h,u(n),i(h,o)&&f.preventDefault())}})},wheel:function(n){function e(t,r){var u=Math.floor(i.scrollTop),f=0===i.scrollTop,e=u+i.offsetHeight===i.scrollHeight,o=0===i.scrollLeft,s=i.scrollLeft+i.offsetWidth===i.scrollWidth;return!(Math.abs(r)>Math.abs(t)?f||e:o||s)||!n.settings.wheelPropagation}function o(n){var t=n.deltaX,i=-1*n.deltaY;return void 0!==t&&void 0!==i||(t=n.wheelDeltaX/-6,i=n.wheelDeltaY/6),n.deltaMode&&1===n.deltaMode&&(t*=10,i*=10),t!==t&&i!==i&&(t=0,i=n.wheelDelta),n.shiftKey?[-i,-t]:[t,i]}function h(n,u,f){var e,o,h,c;if(!s.isWebKit&&i.querySelector("select:focus"))return!0;if(!i.contains(n))return!1;for(e=n;e&&e!==i;){if(e.classList.contains(t.element.consuming)||(o=r(e),[o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)&&((h=e.scrollHeight-e.clientHeight,h>0&&!(0===e.scrollTop&&f>0||e.scrollTop===h&&f<0))||(c=e.scrollWidth-e.clientWidth,c>0&&!(0===e.scrollLeft&&u<0||e.scrollLeft===c&&u>0)))))return!0;e=e.parentNode}return!1}function f(t){var c=o(t),r=c[0],f=c[1],s;h(t.target,r,f)||(s=!1,n.settings.useBothWheelAxes?n.scrollbarYActive&&!n.scrollbarXActive?(f?i.scrollTop-=f*n.settings.wheelSpeed:i.scrollTop+=r*n.settings.wheelSpeed,s=!0):n.scrollbarXActive&&!n.scrollbarYActive&&(r?i.scrollLeft+=r*n.settings.wheelSpeed:i.scrollLeft-=f*n.settings.wheelSpeed,s=!0):(i.scrollTop-=f*n.settings.wheelSpeed,i.scrollLeft+=r*n.settings.wheelSpeed),u(n),(s=s||e(r,f))&&!t.ctrlKey&&(t.stopPropagation(),t.preventDefault()))}var i=n.element;void 0!==window.onwheel?n.event.bind(i,"wheel",f):void 0!==window.onmousewheel&&n.event.bind(i,"mousewheel",f)},touch:function(n){function w(t,r){var u=Math.floor(i.scrollTop),f=i.scrollLeft,e=Math.abs(t),o=Math.abs(r);if(o>e){if(r<0&&u===n.contentHeight-n.containerHeight||r>0&&0===u)return 0===window.scrollY&&r>0&&s.isChrome}else if(e>o&&(t<0&&f===n.contentWidth-n.containerWidth||t>0&&0===f))return!0;return!0}function v(t,r){i.scrollTop-=r;i.scrollLeft-=t;u(n)}function y(n){return n.targetTouches?n.targetTouches[0]:n}function p(n){return!(n.pointerType&&"pen"===n.pointerType&&0===n.buttons||(!n.targetTouches||1!==n.targetTouches.length)&&(!n.pointerType||"mouse"===n.pointerType||n.pointerType===n.MSPOINTER_TYPE_MOUSE))}function h(n){if(p(n)){var t=y(n);o.pageX=t.pageX;o.pageY=t.pageY;a=(new Date).getTime();null!==e&&clearInterval(e)}}function b(n,u,f){var e,o,s,h;if(!i.contains(n))return!1;for(e=n;e&&e!==i;){if(e.classList.contains(t.element.consuming)||(o=r(e),[o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)&&((s=e.scrollHeight-e.clientHeight,s>0&&!(0===e.scrollTop&&f>0||e.scrollTop===s&&f<0))||(h=e.scrollLeft-e.clientWidth,h>0&&!(0===e.scrollLeft&&u<0||e.scrollLeft===h&&u>0)))))return!0;e=e.parentNode}return!1}function c(n){var e,r;if(p(n)){var s=y(n),u={pageX:s.pageX,pageY:s.pageY},t=u.pageX-o.pageX,i=u.pageY-o.pageY;if(b(n.target,t,i))return;v(t,i);o=u;e=(new Date).getTime();r=e-a;r>0&&(f.x=t/r,f.y=i/r,a=e);w(t,i)&&n.preventDefault()}}function l(){n.settings.swipeEasing&&(clearInterval(e),e=setInterval(function(){n.isInitialized?clearInterval(e):f.x||f.y?Math.abs(f.x)<.01&&Math.abs(f.y)<.01?clearInterval(e):(v(30*f.x,30*f.y),f.x*=.8,f.y*=.8):clearInterval(e)},10))}if(s.supportsTouch||s.supportsIePointer){var i=n.element,o={},a=0,f={},e=null;s.supportsTouch?(n.event.bind(i,"touchstart",h),n.event.bind(i,"touchmove",c),n.event.bind(i,"touchend",l)):s.supportsIePointer&&(window.PointerEvent?(n.event.bind(i,"pointerdown",h),n.event.bind(i,"pointermove",c),n.event.bind(i,"pointerup",l)):window.MSPointerEvent&&(n.event.bind(i,"MSPointerDown",h),n.event.bind(i,"MSPointerMove",c),n.event.bind(i,"MSPointerUp",l)))}}},c=function(f,o){var c=this,a,v,y,s,h;if(void 0===o&&(o={}),"string"==typeof f&&(f=document.querySelector(f)),!f||!f.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");this.element=f;f.classList.add(t.main);this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1};for(a in o)c.settings[a]=o[a];this.containerWidth=null;this.containerHeight=null;this.contentWidth=null;this.contentHeight=null;v=function(){return f.classList.add(t.state.focus)};y=function(){return f.classList.remove(t.state.focus)};this.isRtl="rtl"===r(f).direction;this.isNegativeScroll=function(){var t=f.scrollLeft,n=null;return f.scrollLeft=-1,n=f.scrollLeft<0,f.scrollLeft=t,n}();this.negativeScrollAdjustment=this.isNegativeScroll?f.scrollWidth-f.clientWidth:0;this.event=new e;this.ownerDocument=f.ownerDocument||document;this.scrollbarXRail=l(t.element.rail("x"));f.appendChild(this.scrollbarXRail);this.scrollbarX=l(t.element.thumb("x"));this.scrollbarXRail.appendChild(this.scrollbarX);this.scrollbarX.setAttribute("tabindex",0);this.event.bind(this.scrollbarX,"focus",v);this.event.bind(this.scrollbarX,"blur",y);this.scrollbarXActive=null;this.scrollbarXWidth=null;this.scrollbarXLeft=null;s=r(this.scrollbarXRail);this.scrollbarXBottom=parseInt(s.bottom,10);isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=n(s.top)):this.isScrollbarXUsingBottom=!0;this.railBorderXWidth=n(s.borderLeftWidth)+n(s.borderRightWidth);i(this.scrollbarXRail,{display:"block"});this.railXMarginWidth=n(s.marginLeft)+n(s.marginRight);i(this.scrollbarXRail,{display:""});this.railXWidth=null;this.railXRatio=null;this.scrollbarYRail=l(t.element.rail("y"));f.appendChild(this.scrollbarYRail);this.scrollbarY=l(t.element.thumb("y"));this.scrollbarYRail.appendChild(this.scrollbarY);this.scrollbarY.setAttribute("tabindex",0);this.event.bind(this.scrollbarY,"focus",v);this.event.bind(this.scrollbarY,"blur",y);this.scrollbarYActive=null;this.scrollbarYHeight=null;this.scrollbarYTop=null;h=r(this.scrollbarYRail);this.scrollbarYRight=parseInt(h.right,10);isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=n(h.left)):this.isScrollbarYUsingRight=!0;this.scrollbarYOuterWidth=this.isRtl?ut(this.scrollbarY):null;this.railBorderYWidth=n(h.borderTopWidth)+n(h.borderBottomWidth);i(this.scrollbarYRail,{display:"block"});this.railYMarginHeight=n(h.marginTop)+n(h.marginBottom);i(this.scrollbarYRail,{display:""});this.railYHeight=null;this.railYRatio=null;this.reach={x:f.scrollLeft<=0?"start":f.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:f.scrollTop<=0?"start":f.scrollTop>=this.contentHeight-this.containerHeight?"end":null};this.isAlive=!0;this.settings.handlers.forEach(function(n){return et[n](c)});this.lastScrollTop=Math.floor(f.scrollTop);this.lastScrollLeft=f.scrollLeft;this.event.bind(this.element,"scroll",function(n){return c.onScroll(n)});u(this)};return c.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,i(this.scrollbarXRail,{display:"block"}),i(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=n(r(this.scrollbarXRail).marginLeft)+n(r(this.scrollbarXRail).marginRight),this.railYMarginHeight=n(r(this.scrollbarYRail).marginTop)+n(r(this.scrollbarYRail).marginBottom),i(this.scrollbarXRail,{display:"none"}),i(this.scrollbarYRail,{display:"none"}),u(this),v(this,"top",0,!1,!0),v(this,"left",0,!1,!0),i(this.scrollbarXRail,{display:""}),i(this.scrollbarYRail,{display:""}))},c.prototype.onScroll=function(){this.isAlive&&(u(this),v(this,"top",this.element.scrollTop-this.lastScrollTop),v(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},c.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),o(this.scrollbarX),o(this.scrollbarY),o(this.scrollbarXRail),o(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},c.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(n){return!n.match(/^ps([-_].+|)$/)}).join(" ")},c});!function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(n.jQuery)}(this,function(n){!function(){"use strict";function t(t,r){if(this.el=t,this.$el=n(t),this.s=n.extend({},i,r),this.s.dynamic&&"undefined"!==this.s.dynamicEl&&this.s.dynamicEl.constructor===Array&&!this.s.dynamicEl.length)throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.modules={},this.lGalleryOn=!1,this.lgBusy=!1,this.hideBartimeout=!1,this.isTouch="ontouchstart"in document.documentElement,this.s.slideEndAnimatoin&&(this.s.hideControlOnEnd=!1),this.$items=this.s.dynamic?this.s.dynamicEl:"this"===this.s.selector?this.$el:""!==this.s.selector?this.s.selectWithin?n(this.s.selectWithin).find(this.s.selector):this.$el.find(n(this.s.selector)):this.$el.children(),this.$slide="",this.$outer="",this.init(),this}var i={mode:"lg-slide",cssEasing:"ease",easing:"linear",speed:600,height:"100%",width:"100%",addClass:"",startClass:"lg-start-zoom",backdropDuration:150,hideBarsDelay:6e3,useLeft:!1,closable:!0,loop:!0,escKey:!0,keyPress:!0,controls:!0,slideEndAnimatoin:!0,hideControlOnEnd:!1,mousewheel:!0,getCaptionFromTitleOrAlt:!0,appendSubHtmlTo:".lg-sub-html",subHtmlSelectorRelative:!1,preload:1,showAfterLoad:!0,selector:"",selectWithin:"",nextHtml:"",prevHtml:"",index:!1,iframeMaxWidth:"100%",download:!0,counter:!0,appendCounterTo:".lg-toolbar",swipeThreshold:50,enableSwipe:!0,enableDrag:!0,dynamic:!1,dynamicEl:[],galleryId:1};t.prototype.init=function(){var t=this,i;t.s.preload>t.$items.length&&(t.s.preload=t.$items.length);i=window.location.hash;i.indexOf("lg="+this.s.galleryId)>0&&(t.index=parseInt(i.split("&slide=")[1],10),n("body").addClass("lg-from-hash"),n("body").hasClass("lg-on")||(setTimeout(function(){t.build(t.index)}),n("body").addClass("lg-on")));t.s.dynamic?(t.$el.trigger("onBeforeOpen.lg"),t.index=t.s.index||0,n("body").hasClass("lg-on")||setTimeout(function(){t.build(t.index);n("body").addClass("lg-on")})):t.$items.on("click.lgcustom",function(i){try{i.preventDefault();i.preventDefault()}catch(n){i.returnValue=!1}t.$el.trigger("onBeforeOpen.lg");t.index=t.s.index||t.$items.index(this);n("body").hasClass("lg-on")||(t.build(t.index),n("body").addClass("lg-on"))})};t.prototype.build=function(t){var i=this;i.structure();n.each(n.fn.lightGallery.modules,function(t){i.modules[t]=new n.fn.lightGallery.modules[t](i.el)});i.slide(t,!1,!1,!1);i.s.keyPress&&i.keyPress();i.$items.length>1?(i.arrow(),setTimeout(function(){i.enableDrag();i.enableSwipe()},50),i.s.mousewheel&&i.mousewheel()):i.$slide.on("click.lg",function(){i.$el.trigger("onSlideClick.lg")});i.counter();i.closeGallery();i.$el.trigger("onAfterOpen.lg");i.$outer.on("mousemove.lg click.lg touchstart.lg",function(){i.$outer.removeClass("lg-hide-items");clearTimeout(i.hideBartimeout);i.hideBartimeout=setTimeout(function(){i.$outer.addClass("lg-hide-items")},i.s.hideBarsDelay)});i.$outer.trigger("mousemove.lg")};t.prototype.structure=function(){var u,f="",e="",t=0,o="",i=this,r;for(n("body").append('<div class="lg-backdrop"><\/div>'),n(".lg-backdrop").css("transition-duration",this.s.backdropDuration+"ms"),t=0;t<this.$items.length;t++)f+='<div class="lg-item"><\/div>';(this.s.controls&&this.$items.length>1&&(e='<div class="lg-actions"><button class="lg-prev lg-icon">'+this.s.prevHtml+'<\/button><button class="lg-next lg-icon">'+this.s.nextHtml+"<\/button><\/div>"),".lg-sub-html"===this.s.appendSubHtmlTo&&(o='<div class="lg-sub-html"><\/div>'),u='<div class="lg-outer '+this.s.addClass+" "+this.s.startClass+'"><div class="lg" style="width:'+this.s.width+"; height:"+this.s.height+'"><div class="lg-inner">'+f+'<\/div><div class="lg-toolbar lg-group"><span class="lg-close lg-icon"><\/span><\/div>'+e+o+"<\/div><\/div>",n("body").append(u),this.$outer=n(".lg-outer"),this.$slide=this.$outer.find(".lg-item"),this.s.useLeft?(this.$outer.addClass("lg-use-left"),this.s.mode="lg-slide"):this.$outer.addClass("lg-use-css3"),i.setTop(),n(window).on("resize.lg orientationchange.lg",function(){setTimeout(function(){i.setTop()},100)}),this.$slide.eq(this.index).addClass("lg-current"),this.doCss()?this.$outer.addClass("lg-css3"):(this.$outer.addClass("lg-css"),this.s.speed=0),this.$outer.addClass(this.s.mode),this.s.enableDrag&&this.$items.length>1&&this.$outer.addClass("lg-grab"),this.s.showAfterLoad&&this.$outer.addClass("lg-show-after-load"),this.doCss())&&(r=this.$outer.find(".lg-inner"),r.css("transition-timing-function",this.s.cssEasing),r.css("transition-duration",this.s.speed+"ms"));setTimeout(function(){n(".lg-backdrop").addClass("in")});setTimeout(function(){i.$outer.addClass("lg-visible")},this.s.backdropDuration);this.s.download&&this.$outer.find(".lg-toolbar").append('<a id="lg-download" target="_blank" download class="lg-download lg-icon"><\/a>');this.prevScrollTop=n(window).scrollTop()};t.prototype.setTop=function(){if("100%"!==this.s.height){var t=n(window).height(),r=(t-parseInt(this.s.height,10))/2,i=this.$outer.find(".lg");t>=parseInt(this.s.height,10)?i.css("top",r+"px"):i.css("top","0px")}};t.prototype.doCss=function(){return!!function(){for(var t=["transition","MozTransition","WebkitTransition","OTransition","msTransition","KhtmlTransition"],i=document.documentElement,n=0,n=0;n<t.length;n++)if(t[n]in i.style)return!0}()};t.prototype.isVideo=function(n,t){var i;if(i=this.s.dynamic?this.s.dynamicEl[t].html:this.$items.eq(t).attr("data-html"),!n)return i?{html5:!0}:(console.error("lightGallery :- data-src is not pvovided on slide item "+(t+1)+". Please make sure the selector property is properly configured. More info - http://sachinchoolur.github.io/lightGallery/demos/html-markup.html"),!1);var r=n.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)/i),u=n.match(/\/\/(?:www\.)?vimeo.com\/([0-9a-z\-_]+)/i),f=n.match(/\/\/(?:www\.)?dai.ly\/([0-9a-z\-_]+)/i),e=n.match(/\/\/(?:www\.)?(?:vk\.com|vkontakte\.ru)\/(?:video_ext\.php\?)(.*)/i);return r?{youtube:r}:u?{vimeo:u}:f?{dailymotion:f}:e?{vk:e}:void 0};t.prototype.counter=function(){this.s.counter&&n(this.s.appendCounterTo).append('<div id="lg-counter"><span id="lg-counter-current">'+(parseInt(this.index,10)+1)+'<\/span> / <span id="lg-counter-all">'+this.$items.length+"<\/span><\/div>")};t.prototype.addHtml=function(t){var r,u,i=null,f;(this.s.dynamic?this.s.dynamicEl[t].subHtmlUrl?r=this.s.dynamicEl[t].subHtmlUrl:i=this.s.dynamicEl[t].subHtml:(u=this.$items.eq(t),u.attr("data-sub-html-url")?r=u.attr("data-sub-html-url"):(i=u.attr("data-sub-html"),this.s.getCaptionFromTitleOrAlt&&!i&&(i=u.attr("title")||u.find("img").first().attr("alt")))),r)||(void 0!==i&&null!==i?(f=i.substring(0,1),"."!==f&&"#"!==f||(i=this.s.subHtmlSelectorRelative&&!this.s.dynamic?u.find(i).html():n(i).html())):i="");".lg-sub-html"===this.s.appendSubHtmlTo?r?this.$outer.find(this.s.appendSubHtmlTo).load(r):this.$outer.find(this.s.appendSubHtmlTo).html(i):r?this.$slide.eq(t).load(r):this.$slide.eq(t).append(i);void 0!==i&&null!==i&&(""===i?this.$outer.find(this.s.appendSubHtmlTo).addClass("lg-empty-html"):this.$outer.find(this.s.appendSubHtmlTo).removeClass("lg-empty-html"));this.$el.trigger("onAfterAppendSubHtml.lg",[t])};t.prototype.preload=function(n){for(var t=1,i=1,t=1;t<=this.s.preload&&!(t>=this.$items.length-n);t++)this.loadContent(n+t,!1,0);for(i=1;i<=this.s.preload&&!(n-i<0);i++)this.loadContent(n-i,!1,0)};t.prototype.loadContent=function(t,i,r){var o,e,a,s,h,v,u=this,c=!1,p=function(t){for(var i,s,r,u=[],o=[],f=0;f<t.length;f++)i=t[f].split(" "),""===i[0]&&i.splice(0,1),o.push(i[0]),u.push(i[1]);for(s=n(window).width(),r=0;r<u.length;r++)if(parseInt(u[r],10)>s){e=o[r];break}},l,f,y;if(u.s.dynamic?((u.s.dynamicEl[t].poster&&(c=!0,a=u.s.dynamicEl[t].poster),v=u.s.dynamicEl[t].html,e=u.s.dynamicEl[t].src,u.s.dynamicEl[t].responsive)&&p(u.s.dynamicEl[t].responsive.split(",")),s=u.s.dynamicEl[t].srcset,h=u.s.dynamicEl[t].sizes):((u.$items.eq(t).attr("data-poster")&&(c=!0,a=u.$items.eq(t).attr("data-poster")),v=u.$items.eq(t).attr("data-html"),e=u.$items.eq(t).attr("href")||u.$items.eq(t).attr("data-src"),u.$items.eq(t).attr("data-responsive"))&&p(u.$items.eq(t).attr("data-responsive").split(",")),s=u.$items.eq(t).attr("data-srcset"),h=u.$items.eq(t).attr("data-sizes")),l=!1,u.s.dynamic?u.s.dynamicEl[t].iframe&&(l=!0):"true"===u.$items.eq(t).attr("data-iframe")&&(l=!0),f=u.isVideo(e,t),!u.$slide.eq(t).hasClass("lg-loaded")){if(l?u.$slide.eq(t).prepend('<div class="lg-video-cont lg-has-iframe" style="max-width:'+u.s.iframeMaxWidth+'"><div class="lg-video"><iframe class="lg-object" frameborder="0" src="'+e+'"  allowfullscreen="true"><\/iframe><\/div><\/div>'):c?(y="",y=f&&f.youtube?"lg-has-youtube":f&&f.vimeo?"lg-has-vimeo":"lg-has-html5",u.$slide.eq(t).prepend('<div class="lg-video-cont '+y+' "><div class="lg-video"><span class="lg-video-play"><\/span><img class="lg-object lg-has-poster" src="'+a+'" /><\/div><\/div>')):f?(u.$slide.eq(t).prepend('<div class="lg-video-cont "><div class="lg-video"><\/div><\/div>'),u.$el.trigger("hasVideo.lg",[t,e,v])):u.$slide.eq(t).prepend('<div class="lg-img-wrap"><img class="lg-object lg-image" src="'+e+'" /><\/div>'),u.$el.trigger("onAferAppendSlide.lg",[t]),o=u.$slide.eq(t).find(".lg-object"),h&&o.attr("sizes",h),s){o.attr("srcset",s);try{picturefill({elements:[o[0]]})}catch(n){console.warn("lightGallery :- If you want srcset to be supported for older browser please include picturefil version 2 javascript library in your document.")}}".lg-sub-html"!==this.s.appendSubHtmlTo&&u.addHtml(t);u.$slide.eq(t).addClass("lg-loaded")}u.$slide.eq(t).find(".lg-object").on("load.lg error.lg",function(){var i=0;r&&!n("body").hasClass("lg-from-hash")&&(i=r);setTimeout(function(){u.$slide.eq(t).addClass("lg-complete");u.$el.trigger("onSlideItemLoad.lg",[t,r||0])},i)});f&&f.html5&&!c&&u.$slide.eq(t).addClass("lg-complete");!0===i&&(u.$slide.eq(t).hasClass("lg-complete")?u.preload(t):u.$slide.eq(t).find(".lg-object").on("load.lg error.lg",function(){u.preload(t)}))};t.prototype.slide=function(t,i,r,u){var e=this.$outer.find(".lg-current").index(),f=this,o,l,c,s,h;f.lGalleryOn&&e===t||(o=this.$slide.length,l=f.lGalleryOn?this.s.speed:0,f.lgBusy||(this.s.download&&(c=f.s.dynamic?!1!==f.s.dynamicEl[t].downloadUrl&&(f.s.dynamicEl[t].downloadUrl||f.s.dynamicEl[t].src):"false"!==f.$items.eq(t).attr("data-download-url")&&(f.$items.eq(t).attr("data-download-url")||f.$items.eq(t).attr("href")||f.$items.eq(t).attr("data-src")),c?(n("#lg-download").attr("href",c),f.$outer.removeClass("lg-hide-download")):f.$outer.addClass("lg-hide-download")),(this.$el.trigger("onBeforeSlide.lg",[e,t,i,r]),f.lgBusy=!0,clearTimeout(f.hideBartimeout),".lg-sub-html"===this.s.appendSubHtmlTo&&setTimeout(function(){f.addHtml(t)},l),this.arrowDisable(t),u||(t<e?u="prev":t>e&&(u="next")),i)?(this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide"),o>2?(s=t-1,h=t+1,0===t&&e===o-1?(h=0,s=o-1):t===o-1&&0===e&&(h=0,s=o-1)):(s=0,h=1),"prev"===u?f.$slide.eq(h).addClass("lg-next-slide"):f.$slide.eq(s).addClass("lg-prev-slide"),f.$slide.eq(t).addClass("lg-current")):(f.$outer.addClass("lg-no-trans"),this.$slide.removeClass("lg-prev-slide lg-next-slide"),"prev"===u?(this.$slide.eq(t).addClass("lg-prev-slide"),this.$slide.eq(e).addClass("lg-next-slide")):(this.$slide.eq(t).addClass("lg-next-slide"),this.$slide.eq(e).addClass("lg-prev-slide")),setTimeout(function(){f.$slide.removeClass("lg-current");f.$slide.eq(t).addClass("lg-current");f.$outer.removeClass("lg-no-trans")},50)),f.lGalleryOn?(setTimeout(function(){f.loadContent(t,!0,0)},this.s.speed+50),setTimeout(function(){f.lgBusy=!1;f.$el.trigger("onAfterSlide.lg",[e,t,i,r])},this.s.speed)):(f.loadContent(t,!0,f.s.backdropDuration),f.lgBusy=!1,f.$el.trigger("onAfterSlide.lg",[e,t,i,r])),f.lGalleryOn=!0,this.s.counter&&n("#lg-counter-current").text(t+1)),f.index=t)};t.prototype.goToNextSlide=function(n){var t=this,i=t.s.loop;n&&t.$slide.length<3&&(i=!1);t.lgBusy||(t.index+1<t.$slide.length?(t.index++,t.$el.trigger("onBeforeNextSlide.lg",[t.index]),t.slide(t.index,n,!1,"next")):i?(t.index=0,t.$el.trigger("onBeforeNextSlide.lg",[t.index]),t.slide(t.index,n,!1,"next")):t.s.slideEndAnimatoin&&!n&&(t.$outer.addClass("lg-right-end"),setTimeout(function(){t.$outer.removeClass("lg-right-end")},400)))};t.prototype.goToPrevSlide=function(n){var t=this,i=t.s.loop;n&&t.$slide.length<3&&(i=!1);t.lgBusy||(t.index>0?(t.index--,t.$el.trigger("onBeforePrevSlide.lg",[t.index,n]),t.slide(t.index,n,!1,"prev")):i?(t.index=t.$items.length-1,t.$el.trigger("onBeforePrevSlide.lg",[t.index,n]),t.slide(t.index,n,!1,"prev")):t.s.slideEndAnimatoin&&!n&&(t.$outer.addClass("lg-left-end"),setTimeout(function(){t.$outer.removeClass("lg-left-end")},400)))};t.prototype.keyPress=function(){var t=this;this.$items.length>1&&n(window).on("keyup.lg",function(n){t.$items.length>1&&(37===n.keyCode&&(n.preventDefault(),t.goToPrevSlide()),39===n.keyCode&&(n.preventDefault(),t.goToNextSlide()))});n(window).on("keydown.lg",function(n){!0===t.s.escKey&&27===n.keyCode&&(n.preventDefault(),t.$outer.hasClass("lg-thumb-open")?t.$outer.removeClass("lg-thumb-open"):t.destroy())})};t.prototype.arrow=function(){var n=this;this.$outer.find(".lg-prev").on("click.lg",function(){n.goToPrevSlide()});this.$outer.find(".lg-next").on("click.lg",function(){n.goToNextSlide()})};t.prototype.arrowDisable=function(n){!this.s.loop&&this.s.hideControlOnEnd&&(n+1<this.$slide.length?this.$outer.find(".lg-next").removeAttr("disabled").removeClass("disabled"):this.$outer.find(".lg-next").attr("disabled","disabled").addClass("disabled"),n>0?this.$outer.find(".lg-prev").removeAttr("disabled").removeClass("disabled"):this.$outer.find(".lg-prev").attr("disabled","disabled").addClass("disabled"))};t.prototype.setTranslate=function(n,t,i){this.s.useLeft?n.css("left",t):n.css({transform:"translate3d("+t+"px, "+i+"px, 0px)"})};t.prototype.touchMove=function(t,i){var r=i-t;Math.abs(r)>15&&(this.$outer.addClass("lg-dragging"),this.setTranslate(this.$slide.eq(this.index),r,0),this.setTranslate(n(".lg-prev-slide"),-this.$slide.eq(this.index).width()+r,0),this.setTranslate(n(".lg-next-slide"),this.$slide.eq(this.index).width()+r,0))};t.prototype.touchEnd=function(n){var t=this;"lg-slide"!==t.s.mode&&t.$outer.addClass("lg-slide");this.$slide.not(".lg-current, .lg-prev-slide, .lg-next-slide").css("opacity","0");setTimeout(function(){t.$outer.removeClass("lg-dragging");n<0&&Math.abs(n)>t.s.swipeThreshold?t.goToNextSlide(!0):n>0&&Math.abs(n)>t.s.swipeThreshold?t.goToPrevSlide(!0):Math.abs(n)<5&&t.$el.trigger("onSlideClick.lg");t.$slide.removeAttr("style")});setTimeout(function(){t.$outer.hasClass("lg-dragging")||"lg-slide"===t.s.mode||t.$outer.removeClass("lg-slide")},t.s.speed+100)};t.prototype.enableSwipe=function(){var n=this,t=0,i=0,r=!1;n.s.enableSwipe&&n.doCss()&&(n.$slide.on("touchstart.lg",function(i){n.$outer.hasClass("lg-zoomed")||n.lgBusy||(i.preventDefault(),n.manageSwipeClass(),t=i.originalEvent.targetTouches[0].pageX)}),n.$slide.on("touchmove.lg",function(u){n.$outer.hasClass("lg-zoomed")||(u.preventDefault(),i=u.originalEvent.targetTouches[0].pageX,n.touchMove(t,i),r=!0)}),n.$slide.on("touchend.lg",function(){n.$outer.hasClass("lg-zoomed")||(r?(r=!1,n.touchEnd(i-t)):n.$el.trigger("onSlideClick.lg"))}))};t.prototype.enableDrag=function(){var t=this,r=0,u=0,i=!1,f=!1;t.s.enableDrag&&t.doCss()&&(t.$slide.on("mousedown.lg",function(u){t.$outer.hasClass("lg-zoomed")||t.lgBusy||n(u.target).text().trim()||(u.preventDefault(),t.manageSwipeClass(),r=u.pageX,i=!0,t.$outer.scrollLeft+=1,t.$outer.scrollLeft-=1,t.$outer.removeClass("lg-grab").addClass("lg-grabbing"),t.$el.trigger("onDragstart.lg"))}),n(window).on("mousemove.lg",function(n){i&&(f=!0,u=n.pageX,t.touchMove(r,u),t.$el.trigger("onDragmove.lg"))}),n(window).on("mouseup.lg",function(e){f?(f=!1,t.touchEnd(u-r),t.$el.trigger("onDragend.lg")):(n(e.target).hasClass("lg-object")||n(e.target).hasClass("lg-video-play"))&&t.$el.trigger("onSlideClick.lg");i&&(i=!1,t.$outer.removeClass("lg-grabbing").addClass("lg-grab"))}))};t.prototype.manageSwipeClass=function(){var t=this.index+1,n=this.index-1;this.s.loop&&this.$slide.length>2&&(0===this.index?n=this.$slide.length-1:this.index===this.$slide.length-1&&(t=0));this.$slide.removeClass("lg-next-slide lg-prev-slide");n>-1&&this.$slide.eq(n).addClass("lg-prev-slide");this.$slide.eq(t).addClass("lg-next-slide")};t.prototype.mousewheel=function(){var n=this;n.$outer.on("mousewheel.lg",function(t){t.deltaY&&(t.deltaY>0?n.goToPrevSlide():n.goToNextSlide(),t.preventDefault())})};t.prototype.closeGallery=function(){var t=this,i=!1;this.$outer.find(".lg-close").on("click.lg",function(){t.destroy()});t.s.closable&&(t.$outer.on("mousedown.lg",function(t){i=!!(n(t.target).is(".lg-outer")||n(t.target).is(".lg-item ")||n(t.target).is(".lg-img-wrap"))}),t.$outer.on("mousemove.lg",function(){i=!1}),t.$outer.on("mouseup.lg",function(r){(n(r.target).is(".lg-outer")||n(r.target).is(".lg-item ")||n(r.target).is(".lg-img-wrap")&&i)&&(t.$outer.hasClass("lg-dragging")||t.destroy())}))};t.prototype.destroy=function(t){var i=this;t||(i.$el.trigger("onBeforeClose.lg"),n(window).scrollTop(i.prevScrollTop));t&&(i.s.dynamic||this.$items.off("click.lg click.lgcustom"),n.removeData(i.el,"lightGallery"));this.$el.off(".lg.tm");n.each(n.fn.lightGallery.modules,function(n){i.modules[n]&&i.modules[n].destroy()});this.lGalleryOn=!1;clearTimeout(i.hideBartimeout);this.hideBartimeout=!1;n(window).off(".lg");n("body").removeClass("lg-on lg-from-hash");i.$outer&&i.$outer.removeClass("lg-visible");n(".lg-backdrop").removeClass("in");setTimeout(function(){i.$outer&&i.$outer.remove();n(".lg-backdrop").remove();t||i.$el.trigger("onCloseAfter.lg")},i.s.backdropDuration+50)};n.fn.lightGallery=function(i){return this.each(function(){if(n.data(this,"lightGallery"))try{n(this).data("lightGallery").init()}catch(n){console.error("lightGallery has not initiated properly")}else n.data(this,"lightGallery",new t(this,i))})};n.fn.lightGallery.modules={}}()}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(0,function(n){!function(){"use strict";var i={autoplay:!1,pause:5e3,progressBar:!0,fourceAutoplay:!1,autoplayControls:!0,appendAutoplayControlsTo:".lg-toolbar"},t=function(t){return this.core=n(t).data("lightGallery"),this.$el=n(t),!(this.core.$items.length<2)&&(this.core.s=n.extend({},i,this.core.s),this.interval=!1,this.fromAuto=!0,this.canceledOnTouch=!1,this.fourceAutoplayTemp=this.core.s.fourceAutoplay,this.core.doCss()||(this.core.s.progressBar=!1),this.init(),this)};t.prototype.init=function(){var n=this;n.core.s.autoplayControls&&n.controls();n.core.s.progressBar&&n.core.$outer.find(".lg").append('<div class="lg-progress-bar"><div class="lg-progress"><\/div><\/div>');n.progress();n.core.s.autoplay&&n.$el.one("onSlideItemLoad.lg.tm",function(){n.startlAuto()});n.$el.on("onDragstart.lg.tm touchstart.lg.tm",function(){n.interval&&(n.cancelAuto(),n.canceledOnTouch=!0)});n.$el.on("onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm",function(){!n.interval&&n.canceledOnTouch&&(n.startlAuto(),n.canceledOnTouch=!1)})};t.prototype.progress=function(){var t,i,n=this;n.$el.on("onBeforeSlide.lg.tm",function(){n.core.s.progressBar&&n.fromAuto&&(t=n.core.$outer.find(".lg-progress-bar"),i=n.core.$outer.find(".lg-progress"),n.interval&&(i.removeAttr("style"),t.removeClass("lg-start"),setTimeout(function(){i.css("transition","width "+(n.core.s.speed+n.core.s.pause)+"ms ease 0s");t.addClass("lg-start")},20)));n.fromAuto||n.core.s.fourceAutoplay||n.cancelAuto();n.fromAuto=!1})};t.prototype.controls=function(){var t=this;n(this.core.s.appendAutoplayControlsTo).append('<span class="lg-autoplay-button lg-icon"><\/span>');t.core.$outer.find(".lg-autoplay-button").on("click.lg",function(){n(t.core.$outer).hasClass("lg-show-autoplay")?(t.cancelAuto(),t.core.s.fourceAutoplay=!1):t.interval||(t.startlAuto(),t.core.s.fourceAutoplay=t.fourceAutoplayTemp)})};t.prototype.startlAuto=function(){var n=this;n.core.$outer.find(".lg-progress").css("transition","width "+(n.core.s.speed+n.core.s.pause)+"ms ease 0s");n.core.$outer.addClass("lg-show-autoplay");n.core.$outer.find(".lg-progress-bar").addClass("lg-start");n.interval=setInterval(function(){n.core.index+1<n.core.$items.length?n.core.index++:n.core.index=0;n.fromAuto=!0;n.core.slide(n.core.index,!1,!1,"next")},n.core.s.speed+n.core.s.pause)};t.prototype.cancelAuto=function(){clearInterval(this.interval);this.interval=!1;this.core.$outer.find(".lg-progress").removeAttr("style");this.core.$outer.removeClass("lg-show-autoplay");this.core.$outer.find(".lg-progress-bar").removeClass("lg-start")};t.prototype.destroy=function(){this.cancelAuto();this.core.$outer.find(".lg-progress-bar").remove()};n.fn.lightGallery.modules.autoplay=t}()}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(n.jQuery)}(this,function(n){!function(){"use strict";function i(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement}var r={fullScreen:!0},t=function(t){return this.core=n(t).data("lightGallery"),this.$el=n(t),this.core.s=n.extend({},r,this.core.s),this.init(),this};t.prototype.init=function(){var n="";if(this.core.s.fullScreen){if(!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled))return;n='<span class="lg-fullscreen lg-icon"><\/span>';this.core.$outer.find(".lg-toolbar").append(n);this.fullScreen()}};t.prototype.requestFullscreen=function(){var n=document.documentElement;n.requestFullscreen?n.requestFullscreen():n.msRequestFullscreen?n.msRequestFullscreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.webkitRequestFullscreen&&n.webkitRequestFullscreen()};t.prototype.exitFullscreen=function(){document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen()};t.prototype.fullScreen=function(){var t=this;n(document).on("fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg",function(){t.core.$outer.toggleClass("lg-fullscreen-on")});this.core.$outer.find(".lg-fullscreen").on("click.lg",function(){i()?t.exitFullscreen():t.requestFullscreen()})};t.prototype.destroy=function(){i()&&this.exitFullscreen();n(document).off("fullscreenchange.lg webkitfullscreenchange.lg mozfullscreenchange.lg MSFullscreenChange.lg")};n.fn.lightGallery.modules.fullscreen=t}()}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(0,function(n){!function(){"use strict";var i={pager:!1},t=function(t){return this.core=n(t).data("lightGallery"),this.$el=n(t),this.core.s=n.extend({},i,this.core.s),this.core.s.pager&&this.core.$items.length>1&&this.init(),this};t.prototype.init=function(){var r,i,e,t=this,u="",f;if(t.core.$outer.find(".lg").append('<div class="lg-pager-outer"><\/div>'),t.core.s.dynamic)for(f=0;f<t.core.s.dynamicEl.length;f++)u+='<span class="lg-pager-cont"> <span class="lg-pager"><\/span><div class="lg-pager-thumb-cont"><span class="lg-caret"><\/span> <img src="'+t.core.s.dynamicEl[f].thumb+'" /><\/div><\/span>';else t.core.$items.each(function(){u+=t.core.s.exThumbImage?'<span class="lg-pager-cont"> <span class="lg-pager"><\/span><div class="lg-pager-thumb-cont"><span class="lg-caret"><\/span> <img src="'+n(this).attr(t.core.s.exThumbImage)+'" /><\/div><\/span>':'<span class="lg-pager-cont"> <span class="lg-pager"><\/span><div class="lg-pager-thumb-cont"><span class="lg-caret"><\/span> <img src="'+n(this).find("img").attr("src")+'" /><\/div><\/span>'});i=t.core.$outer.find(".lg-pager-outer");i.html(u);r=t.core.$outer.find(".lg-pager-cont");r.on("click.lg touchend.lg",function(){var i=n(this);t.core.index=i.index();t.core.slide(t.core.index,!1,!0,!1)});i.on("mouseover.lg",function(){clearTimeout(e);i.addClass("lg-pager-hover")});i.on("mouseout.lg",function(){e=setTimeout(function(){i.removeClass("lg-pager-hover")})});t.core.$el.on("onBeforeSlide.lg.tm",function(n,t,i){r.removeClass("lg-pager-active");r.eq(i).addClass("lg-pager-active")})};t.prototype.destroy=function(){};n.fn.lightGallery.modules.pager=t}()}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(0,function(n){!function(){"use strict";var i={thumbnail:!0,animateThumb:!0,currentPagerPosition:"middle",thumbWidth:100,thumbHeight:"80px",thumbContHeight:100,thumbMargin:5,exThumbImage:!1,showThumbByDefault:!0,toogleThumb:!0,pullCaptionUp:!0,enableThumbDrag:!0,enableThumbSwipe:!0,swipeThreshold:50,loadYoutubeThumbnail:!0,youtubeThumbSize:1,loadVimeoThumbnail:!0,vimeoThumbSize:"thumbnail_small",loadDailymotionThumbnail:!0},t=function(t){return this.core=n(t).data("lightGallery"),this.core.s=n.extend({},i,this.core.s),this.$el=n(t),this.$thumbOuter=null,this.thumbOuterWidth=0,this.thumbTotalWidth=this.core.$items.length*(this.core.s.thumbWidth+this.core.s.thumbMargin),this.thumbIndex=this.core.index,this.core.s.animateThumb&&(this.core.s.thumbHeight="100%"),this.left=0,this.init(),this};t.prototype.init=function(){var n=this;this.core.s.thumbnail&&this.core.$items.length>1&&(this.core.s.showThumbByDefault&&setTimeout(function(){n.core.$outer.addClass("lg-thumb-open")},700),this.core.s.pullCaptionUp&&this.core.$outer.addClass("lg-pull-caption-up"),this.build(),this.core.s.animateThumb&&this.core.doCss()?(this.core.s.enableThumbDrag&&this.enableThumbDrag(),this.core.s.enableThumbSwipe&&this.enableThumbSwipe(),this.thumbClickable=!1):this.thumbClickable=!0,this.toogle(),this.thumbkeyPress())};t.prototype.build=function(){function f(n,i,r){var o,f=t.core.isVideo(n,r)||{},s="";f.youtube||f.vimeo||f.dailymotion?f.youtube?o=t.core.s.loadYoutubeThumbnail?"//img.youtube.com/vi/"+f.youtube[1]+"/"+t.core.s.youtubeThumbSize+".jpg":i:f.vimeo?t.core.s.loadVimeoThumbnail?(o="//i.vimeocdn.com/video/error_"+u+".jpg",s=f.vimeo[1]):o=i:f.dailymotion&&(o=t.core.s.loadDailymotionThumbnail?"//www.dailymotion.com/thumbnail/video/"+f.dailymotion[1]:i):o=i;e+='<div data-vimeo-id="'+s+'" class="lg-thumb-item" style="width:'+t.core.s.thumbWidth+"px; height: "+t.core.s.thumbHeight+"; margin-right: "+t.core.s.thumbMargin+'px"><img src="'+o+'" /><\/div>';s=""}var i,t=this,e="",u="",r;switch(this.core.s.vimeoThumbSize){case"thumbnail_large":u="640";break;case"thumbnail_medium":u="200x150";break;case"thumbnail_small":u="100x75"}if(t.core.$outer.addClass("lg-has-thumb"),t.core.$outer.find(".lg").append('<div class="lg-thumb-outer"><div class="lg-thumb lg-group"><\/div><\/div>'),t.$thumbOuter=t.core.$outer.find(".lg-thumb-outer"),t.thumbOuterWidth=t.$thumbOuter.width(),t.core.s.animateThumb&&t.core.$outer.find(".lg-thumb").css({width:t.thumbTotalWidth+"px",position:"relative"}),this.core.s.animateThumb&&t.$thumbOuter.css("height",t.core.s.thumbContHeight+"px"),t.core.s.dynamic)for(r=0;r<t.core.s.dynamicEl.length;r++)f(t.core.s.dynamicEl[r].src,t.core.s.dynamicEl[r].thumb,r);else t.core.$items.each(function(i){t.core.s.exThumbImage?f(n(this).attr("href")||n(this).attr("data-src"),n(this).attr(t.core.s.exThumbImage),i):f(n(this).attr("href")||n(this).attr("data-src"),n(this).find("img").attr("src"),i)});t.core.$outer.find(".lg-thumb").html(e);i=t.core.$outer.find(".lg-thumb-item");i.each(function(){var i=n(this),r=i.attr("data-vimeo-id");r&&n.getJSON("//www.vimeo.com/api/v2/video/"+r+".json?callback=?",{format:"json"},function(n){i.find("img").attr("src",n[0][t.core.s.vimeoThumbSize])})});i.eq(t.core.index).addClass("active");t.core.$el.on("onBeforeSlide.lg.tm",function(){i.removeClass("active");i.eq(t.core.index).addClass("active")});i.on("click.lg touchend.lg",function(){var i=n(this);setTimeout(function(){(!t.thumbClickable||t.core.lgBusy)&&t.core.doCss()||(t.core.index=i.index(),t.core.slide(t.core.index,!1,!0,!1))},50)});t.core.$el.on("onBeforeSlide.lg.tm",function(){t.animateThumb(t.core.index)});n(window).on("resize.lg.thumb orientationchange.lg.thumb",function(){setTimeout(function(){t.animateThumb(t.core.index);t.thumbOuterWidth=t.$thumbOuter.width()},200)})};t.prototype.setTranslate=function(n){this.core.$outer.find(".lg-thumb").css({transform:"translate3d(-"+n+"px, 0px, 0px)"})};t.prototype.animateThumb=function(n){var i=this.core.$outer.find(".lg-thumb"),t;if(this.core.s.animateThumb){switch(this.core.s.currentPagerPosition){case"left":t=0;break;case"middle":t=this.thumbOuterWidth/2-this.core.s.thumbWidth/2;break;case"right":t=this.thumbOuterWidth-this.core.s.thumbWidth}this.left=(this.core.s.thumbWidth+this.core.s.thumbMargin)*n-1-t;this.left>this.thumbTotalWidth-this.thumbOuterWidth&&(this.left=this.thumbTotalWidth-this.thumbOuterWidth);this.left<0&&(this.left=0);this.core.lGalleryOn?(i.hasClass("on")||this.core.$outer.find(".lg-thumb").css("transition-duration",this.core.s.speed+"ms"),this.core.doCss()||i.animate({left:-this.left+"px"},this.core.s.speed)):this.core.doCss()||i.css("left",-this.left+"px");this.setTranslate(this.left)}};t.prototype.enableThumbDrag=function(){var t=this,u=0,f=0,r=!1,e=!1,i=0;t.$thumbOuter.addClass("lg-grab");t.core.$outer.find(".lg-thumb").on("mousedown.lg.thumb",function(n){t.thumbTotalWidth>t.thumbOuterWidth&&(n.preventDefault(),u=n.pageX,r=!0,t.core.$outer.scrollLeft+=1,t.core.$outer.scrollLeft-=1,t.thumbClickable=!1,t.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing"))});n(window).on("mousemove.lg.thumb",function(n){r&&(i=t.left,e=!0,f=n.pageX,t.$thumbOuter.addClass("lg-dragging"),i-=f-u,i>t.thumbTotalWidth-t.thumbOuterWidth&&(i=t.thumbTotalWidth-t.thumbOuterWidth),i<0&&(i=0),t.setTranslate(i))});n(window).on("mouseup.lg.thumb",function(){e?(e=!1,t.$thumbOuter.removeClass("lg-dragging"),t.left=i,Math.abs(f-u)<t.core.s.swipeThreshold&&(t.thumbClickable=!0)):t.thumbClickable=!0;r&&(r=!1,t.$thumbOuter.removeClass("lg-grabbing").addClass("lg-grab"))})};t.prototype.enableThumbSwipe=function(){var n=this,i=0,r=0,u=!1,t=0;n.core.$outer.find(".lg-thumb").on("touchstart.lg",function(t){n.thumbTotalWidth>n.thumbOuterWidth&&(t.preventDefault(),i=t.originalEvent.targetTouches[0].pageX,n.thumbClickable=!1)});n.core.$outer.find(".lg-thumb").on("touchmove.lg",function(f){n.thumbTotalWidth>n.thumbOuterWidth&&(f.preventDefault(),r=f.originalEvent.targetTouches[0].pageX,u=!0,n.$thumbOuter.addClass("lg-dragging"),t=n.left,t-=r-i,t>n.thumbTotalWidth-n.thumbOuterWidth&&(t=n.thumbTotalWidth-n.thumbOuterWidth),t<0&&(t=0),n.setTranslate(t))});n.core.$outer.find(".lg-thumb").on("touchend.lg",function(){n.thumbTotalWidth>n.thumbOuterWidth&&u?(u=!1,n.$thumbOuter.removeClass("lg-dragging"),Math.abs(r-i)<n.core.s.swipeThreshold&&(n.thumbClickable=!0),n.left=t):n.thumbClickable=!0})};t.prototype.toogle=function(){var n=this;n.core.s.toogleThumb&&(n.core.$outer.addClass("lg-can-toggle"),n.$thumbOuter.append('<span class="lg-toogle-thumb lg-icon"><\/span>'),n.core.$outer.find(".lg-toogle-thumb").on("click.lg",function(){n.core.$outer.toggleClass("lg-thumb-open")}))};t.prototype.thumbkeyPress=function(){var t=this;n(window).on("keydown.lg.thumb",function(n){38===n.keyCode?(n.preventDefault(),t.core.$outer.addClass("lg-thumb-open")):40===n.keyCode&&(n.preventDefault(),t.core.$outer.removeClass("lg-thumb-open"))})};t.prototype.destroy=function(){this.core.s.thumbnail&&this.core.$items.length>1&&(n(window).off("resize.lg.thumb orientationchange.lg.thumb keydown.lg.thumb"),this.$thumbOuter.remove(),this.core.$outer.removeClass("lg-has-thumb"))};n.fn.lightGallery.modules.Thumbnail=t}()}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof module&&module.exports?module.exports=t(require("jquery")):t(n.jQuery)}(this,function(n){!function(){"use strict";function i(n,t,i,r){var u=this;if(u.core.$slide.eq(t).find(".lg-video").append(u.loadVideo(i,"lg-object",!0,t,r)),r)if(u.core.s.videojs)try{videojs(u.core.$slide.eq(t).find(".lg-html5").get(0),u.core.s.videojsOptions,function(){!u.videoLoaded&&u.core.s.autoplayFirstVideo&&this.play()})}catch(n){console.error("Make sure you have included videojs")}else!u.videoLoaded&&u.core.s.autoplayFirstVideo&&u.core.$slide.eq(t).find(".lg-html5").get(0).play()}function r(n,t){var i=this.core.$slide.eq(t).find(".lg-video-cont");i.hasClass("lg-has-iframe")||(i.css("max-width",this.core.s.videoMaxWidth),this.videoLoaded=!0)}function u(t,i,r){var u=this,f=u.core.$slide.eq(i),h=f.find(".lg-youtube").get(0),c=f.find(".lg-vimeo").get(0),l=f.find(".lg-dailymotion").get(0),o=f.find(".lg-vk").get(0),s=f.find(".lg-html5").get(0),a,e;if(h)h.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}',"*");else if(c)try{$f(c).api("pause")}catch(n){console.error("Make sure you have included froogaloop2 js")}else if(l)l.contentWindow.postMessage("pause","*");else if(s)if(u.core.s.videojs)try{videojs(s).pause()}catch(n){console.error("Make sure you have included videojs")}else s.pause();o&&n(o).attr("src",n(o).attr("src").replace("&autoplay","&noplay"));a=u.core.s.dynamic?u.core.s.dynamicEl[r].src:u.core.$items.eq(r).attr("href")||u.core.$items.eq(r).attr("data-src");e=u.core.isVideo(a,r)||{};(e.youtube||e.vimeo||e.dailymotion||e.vk)&&u.core.$outer.addClass("lg-hide-download")}var f={videoMaxWidth:"855px",autoplayFirstVideo:!0,youtubePlayerParams:!1,vimeoPlayerParams:!1,dailymotionPlayerParams:!1,vkPlayerParams:!1,videojs:!1,videojsOptions:{}},t=function(t){return this.core=n(t).data("lightGallery"),this.$el=n(t),this.core.s=n.extend({},f,this.core.s),this.videoLoaded=!1,this.init(),this};t.prototype.init=function(){var t=this;t.core.$el.on("hasVideo.lg.tm",i.bind(this));t.core.$el.on("onAferAppendSlide.lg.tm",r.bind(this));t.core.doCss()&&t.core.$items.length>1&&(t.core.s.enableSwipe||t.core.s.enableDrag)?t.core.$el.on("onSlideClick.lg.tm",function(){var n=t.core.$slide.eq(t.core.index);t.loadVideoOnclick(n)}):t.core.$slide.on("click.lg",function(){t.loadVideoOnclick(n(this))});t.core.$el.on("onBeforeSlide.lg.tm",u.bind(this));t.core.$el.on("onAfterSlide.lg.tm",function(n,i){t.core.$slide.eq(i).removeClass("lg-video-playing")});t.core.s.autoplayFirstVideo&&t.core.$el.on("onAferAppendSlide.lg.tm",function(n,i){if(!t.core.lGalleryOn){var r=t.core.$slide.eq(i);setTimeout(function(){t.loadVideoOnclick(r)},100)}})};t.prototype.loadVideo=function(t,i,r,u,f){var s="",h=1,e="",o=this.core.isVideo(t,u)||{},c;return(r&&(h=this.videoLoaded?0:this.core.s.autoplayFirstVideo?1:0),o.youtube)?(e="?wmode=opaque&autoplay="+h+"&enablejsapi=1",this.core.s.youtubePlayerParams&&(e=e+"&"+n.param(this.core.s.youtubePlayerParams)),s='<iframe class="lg-video-object lg-youtube '+i+'" width="560" height="315" src="//www.youtube.com/embed/'+o.youtube[1]+e+'" frameborder="0" allowfullscreen><\/iframe>'):o.vimeo?(e="?autoplay="+h+"&api=1",this.core.s.vimeoPlayerParams&&(e=e+"&"+n.param(this.core.s.vimeoPlayerParams)),s='<iframe class="lg-video-object lg-vimeo '+i+'" width="560" height="315"  src="//player.vimeo.com/video/'+o.vimeo[1]+e+'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen><\/iframe>'):o.dailymotion?(e="?wmode=opaque&autoplay="+h+"&api=postMessage",this.core.s.dailymotionPlayerParams&&(e=e+"&"+n.param(this.core.s.dailymotionPlayerParams)),s='<iframe class="lg-video-object lg-dailymotion '+i+'" width="560" height="315" src="//www.dailymotion.com/embed/video/'+o.dailymotion[1]+e+'" frameborder="0" allowfullscreen><\/iframe>'):o.html5?(c=f.substring(0,1),"."!==c&&"#"!==c||(f=n(f).html()),s=f):o.vk&&(e="&autoplay="+h,this.core.s.vkPlayerParams&&(e=e+"&"+n.param(this.core.s.vkPlayerParams)),s='<iframe class="lg-video-object lg-vk '+i+'" width="560" height="315" src="//vk.com/video_ext.php?'+o.vk[1]+e+'" frameborder="0" allowfullscreen><\/iframe>'),s};t.prototype.loadVideoOnclick=function(n){var t=this,i,r,f,h;if(n.find(".lg-object").hasClass("lg-has-poster")&&n.find(".lg-object").is(":visible"))if(n.hasClass("lg-has-video")){var e=n.find(".lg-youtube").get(0),o=n.find(".lg-vimeo").get(0),s=n.find(".lg-dailymotion").get(0),u=n.find(".lg-html5").get(0);if(e)e.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}',"*");else if(o)try{$f(o).api("play")}catch(n){console.error("Make sure you have included froogaloop2 js")}else if(s)s.contentWindow.postMessage("play","*");else if(u)if(t.core.s.videojs)try{videojs(u).play()}catch(n){console.error("Make sure you have included videojs")}else u.play();n.addClass("lg-video-playing")}else n.addClass("lg-video-playing lg-has-video"),f=function(i,r){if(n.find(".lg-video").append(t.loadVideo(i,"",!1,t.core.index,r)),r)if(t.core.s.videojs)try{videojs(t.core.$slide.eq(t.core.index).find(".lg-html5").get(0),t.core.s.videojsOptions,function(){this.play()})}catch(n){console.error("Make sure you have included videojs")}else t.core.$slide.eq(t.core.index).find(".lg-html5").get(0).play()},t.core.s.dynamic?(i=t.core.s.dynamicEl[t.core.index].src,r=t.core.s.dynamicEl[t.core.index].html,f(i,r)):(i=t.core.$items.eq(t.core.index).attr("href")||t.core.$items.eq(t.core.index).attr("data-src"),r=t.core.$items.eq(t.core.index).attr("data-html"),f(i,r)),h=n.find(".lg-object"),n.find(".lg-video").append(h),n.find(".lg-video-object").hasClass("lg-html5")||(n.removeClass("lg-complete"),n.find(".lg-video-object").on("load.lg error.lg",function(){n.addClass("lg-complete")}))};t.prototype.destroy=function(){this.videoLoaded=!1};n.fn.lightGallery.modules.video=t}()}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(0,function(n){!function(){"use strict";var i=function(){var n=!1,t=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);return t&&parseInt(t[2],10)<54&&(n=!0),n},r={scale:1,zoom:!0,actualSize:!0,enableZoomAfter:300,useLeftForZoom:i()},t=function(t){return this.core=n(t).data("lightGallery"),this.core.s=n.extend({},r,this.core.s),this.core.s.zoom&&this.core.doCss()&&(this.init(),this.zoomabletimeout=!1,this.pageX=n(window).width()/2,this.pageY=n(window).height()/2+n(window).scrollTop()),this};t.prototype.init=function(){var t=this,e='<span id="lg-zoom-in" class="lg-icon"><\/span><span id="lg-zoom-out" class="lg-icon"><\/span>';t.core.s.actualSize&&(e+='<span id="lg-actual-size" class="lg-icon"><\/span>');t.core.s.useLeftForZoom?t.core.$outer.addClass("lg-use-left-for-zoom"):t.core.$outer.addClass("lg-use-transition-for-zoom");this.core.$outer.find(".lg-toolbar").append(e);t.core.$el.on("onSlideItemLoad.lg.tm.zoom",function(i,r,u){var f=t.core.s.enableZoomAfter+u;n("body").hasClass("lg-from-hash")&&u?f=0:n("body").removeClass("lg-from-hash");t.zoomabletimeout=setTimeout(function(){t.core.$slide.eq(r).addClass("lg-zoomable")},f+30)});var i=1,o=function(i){var e,o,r=t.core.$outer.find(".lg-current .lg-image"),s=(n(window).width()-r.prop("offsetWidth"))/2,h=(n(window).height()-r.prop("offsetHeight"))/2+n(window).scrollTop(),u,f;e=t.pageX-s;o=t.pageY-h;u=(i-1)*e;f=(i-1)*o;r.css("transform","scale3d("+i+", "+i+", 1)").attr("data-scale",i);t.core.s.useLeftForZoom?r.parent().css({left:-u+"px",top:-f+"px"}).attr("data-x",u).attr("data-y",f):r.parent().css("transform","translate3d(-"+u+"px, -"+f+"px, 0)").attr("data-x",u).attr("data-y",f)},u=function(){i>1?t.core.$outer.addClass("lg-zoomed"):t.resetZoom();i<1&&(i=1);o(i)},f=function(r,f,e,o){var h,s=f.prop("offsetWidth"),c;h=t.core.s.dynamic?t.core.s.dynamicEl[e].width||f[0].naturalWidth||s:t.core.$items.eq(e).attr("data-width")||f[0].naturalWidth||s;t.core.$outer.hasClass("lg-zoomed")?i=1:h>s&&(c=h/s,i=c||2);o?(t.pageX=n(window).width()/2,t.pageY=n(window).height()/2+n(window).scrollTop()):(t.pageX=r.pageX||r.originalEvent.targetTouches[0].pageX,t.pageY=r.pageY||r.originalEvent.targetTouches[0].pageY);u();setTimeout(function(){t.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")},10)},r=!1;t.core.$el.on("onAferAppendSlide.lg.tm.zoom",function(n,i){var u=t.core.$slide.eq(i).find(".lg-image");u.on("dblclick",function(n){f(n,u,i)});u.on("touchstart",function(n){r?(clearTimeout(r),r=null,f(n,u,i)):r=setTimeout(function(){r=null},300);n.preventDefault()})});n(window).on("resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom",function(){t.pageX=n(window).width()/2;t.pageY=n(window).height()/2+n(window).scrollTop();o(i)});n("#lg-zoom-out").on("click.lg",function(){t.core.$outer.find(".lg-current .lg-image").length&&(i-=t.core.s.scale,u())});n("#lg-zoom-in").on("click.lg",function(){t.core.$outer.find(".lg-current .lg-image").length&&(i+=t.core.s.scale,u())});n("#lg-actual-size").on("click.lg",function(n){f(n,t.core.$slide.eq(t.core.index).find(".lg-image"),t.core.index,!0)});t.core.$el.on("onBeforeSlide.lg.tm",function(){i=1;t.resetZoom()});t.zoomDrag();t.zoomSwipe()};t.prototype.resetZoom=function(){this.core.$outer.removeClass("lg-zoomed");this.core.$slide.find(".lg-img-wrap").removeAttr("style data-x data-y");this.core.$slide.find(".lg-image").removeAttr("style data-scale");this.pageX=n(window).width()/2;this.pageY=n(window).height()/2+n(window).scrollTop()};t.prototype.zoomSwipe=function(){var n=this,t={},i={},f=!1,r=!1,u=!1;n.core.$slide.on("touchstart.lg",function(i){if(n.core.$outer.hasClass("lg-zoomed")){var f=n.core.$slide.eq(n.core.index).find(".lg-object");u=f.prop("offsetHeight")*f.attr("data-scale")>n.core.$outer.find(".lg").height();r=f.prop("offsetWidth")*f.attr("data-scale")>n.core.$outer.find(".lg").width();(r||u)&&(i.preventDefault(),t={x:i.originalEvent.targetTouches[0].pageX,y:i.originalEvent.targetTouches[0].pageY})}});n.core.$slide.on("touchmove.lg",function(e){if(n.core.$outer.hasClass("lg-zoomed")){var s,h,o=n.core.$slide.eq(n.core.index).find(".lg-img-wrap");e.preventDefault();f=!0;i={x:e.originalEvent.targetTouches[0].pageX,y:e.originalEvent.targetTouches[0].pageY};n.core.$outer.addClass("lg-zoom-dragging");h=u?-Math.abs(o.attr("data-y"))+(i.y-t.y):-Math.abs(o.attr("data-y"));s=r?-Math.abs(o.attr("data-x"))+(i.x-t.x):-Math.abs(o.attr("data-x"));(Math.abs(i.x-t.x)>15||Math.abs(i.y-t.y)>15)&&(n.core.s.useLeftForZoom?o.css({left:s+"px",top:h+"px"}):o.css("transform","translate3d("+s+"px, "+h+"px, 0)"))}});n.core.$slide.on("touchend.lg",function(){n.core.$outer.hasClass("lg-zoomed")&&f&&(f=!1,n.core.$outer.removeClass("lg-zoom-dragging"),n.touchendZoom(t,i,r,u))})};t.prototype.zoomDrag=function(){var t=this,r={},i={},u=!1,o=!1,f=!1,e=!1;t.core.$slide.on("mousedown.lg.zoom",function(i){var o=t.core.$slide.eq(t.core.index).find(".lg-object");e=o.prop("offsetHeight")*o.attr("data-scale")>t.core.$outer.find(".lg").height();f=o.prop("offsetWidth")*o.attr("data-scale")>t.core.$outer.find(".lg").width();t.core.$outer.hasClass("lg-zoomed")&&n(i.target).hasClass("lg-object")&&(f||e)&&(i.preventDefault(),r={x:i.pageX,y:i.pageY},u=!0,t.core.$outer.scrollLeft+=1,t.core.$outer.scrollLeft-=1,t.core.$outer.removeClass("lg-grab").addClass("lg-grabbing"))});n(window).on("mousemove.lg.zoom",function(n){if(u){var h,c,s=t.core.$slide.eq(t.core.index).find(".lg-img-wrap");o=!0;i={x:n.pageX,y:n.pageY};t.core.$outer.addClass("lg-zoom-dragging");c=e?-Math.abs(s.attr("data-y"))+(i.y-r.y):-Math.abs(s.attr("data-y"));h=f?-Math.abs(s.attr("data-x"))+(i.x-r.x):-Math.abs(s.attr("data-x"));t.core.s.useLeftForZoom?s.css({left:h+"px",top:c+"px"}):s.css("transform","translate3d("+h+"px, "+c+"px, 0)")}});n(window).on("mouseup.lg.zoom",function(n){u&&(u=!1,t.core.$outer.removeClass("lg-zoom-dragging"),!o||r.x===i.x&&r.y===i.y||(i={x:n.pageX,y:n.pageY},t.touchendZoom(r,i,f,e)),o=!1);t.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")})};t.prototype.touchendZoom=function(n,t,i,r){var u=this,f=u.core.$slide.eq(u.core.index).find(".lg-img-wrap"),s=u.core.$slide.eq(u.core.index).find(".lg-object"),e=-Math.abs(f.attr("data-x"))+(t.x-n.x),o=-Math.abs(f.attr("data-y"))+(t.y-n.y),h=(u.core.$outer.find(".lg").height()-s.prop("offsetHeight"))/2,l=Math.abs(s.prop("offsetHeight")*Math.abs(s.attr("data-scale"))-u.core.$outer.find(".lg").height()+h),c=(u.core.$outer.find(".lg").width()-s.prop("offsetWidth"))/2,a=Math.abs(s.prop("offsetWidth")*Math.abs(s.attr("data-scale"))-u.core.$outer.find(".lg").width()+c);(Math.abs(t.x-n.x)>15||Math.abs(t.y-n.y)>15)&&(r&&(o<=-l?o=-l:o>=-h&&(o=-h)),i&&(e<=-a?e=-a:e>=-c&&(e=-c)),r?f.attr("data-y",Math.abs(o)):o=-Math.abs(f.attr("data-y")),i?f.attr("data-x",Math.abs(e)):e=-Math.abs(f.attr("data-x")),u.core.s.useLeftForZoom?f.css({left:e+"px",top:o+"px"}):f.css("transform","translate3d("+e+"px, "+o+"px, 0)"))};t.prototype.destroy=function(){var t=this;t.core.$el.off(".lg.zoom");n(window).off(".lg.zoom");t.core.$slide.off(".lg.zoom");t.core.$el.off(".lg.tm.zoom");t.resetZoom();clearTimeout(t.zoomabletimeout);t.zoomabletimeout=!1};n.fn.lightGallery.modules.zoom=t}()}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(0,function(n){!function(){"use strict";var i={hash:!0},t=function(t){return this.core=n(t).data("lightGallery"),this.core.s=n.extend({},i,this.core.s),this.core.s.hash&&(this.oldHash=window.location.hash,this.init()),this};t.prototype.init=function(){var i,t=this;t.core.$el.on("onAfterSlide.lg.tm",function(n,i,r){history.replaceState?history.replaceState(null,null,window.location.pathname+window.location.search+"#lg="+t.core.s.galleryId+"&slide="+r):window.location.hash="lg="+t.core.s.galleryId+"&slide="+r});n(window).on("hashchange.lg.hash",function(){i=window.location.hash;var n=parseInt(i.split("&slide=")[1],10);i.indexOf("lg="+t.core.s.galleryId)>-1?t.core.slide(n,!1,!1):t.core.lGalleryOn&&t.core.destroy()})};t.prototype.destroy=function(){this.core.s.hash&&(this.oldHash&&this.oldHash.indexOf("lg="+this.core.s.galleryId)<0?history.replaceState?history.replaceState(null,null,this.oldHash):window.location.hash=this.oldHash:history.replaceState?history.replaceState(null,document.title,window.location.pathname+window.location.search):window.location.hash="",this.core.$el.off(".lg.hash"))};n.fn.lightGallery.modules.hash=t}()}),function(n,t){"function"==typeof define&&define.amd?define(["jquery"],function(n){return t(n)}):"object"==typeof exports?module.exports=t(require("jquery")):t(jQuery)}(0,function(n){!function(){"use strict";var i={share:!0,facebook:!0,facebookDropdownText:"Facebook",twitter:!0,twitterDropdownText:"Twitter",googlePlus:!0,googlePlusDropdownText:"GooglePlus",pinterest:!0,pinterestDropdownText:"Pinterest"},t=function(t){return this.core=n(t).data("lightGallery"),this.core.s=n.extend({},i,this.core.s),this.core.s.share&&this.init(),this};t.prototype.init=function(){var t=this,i='<span id="lg-share" class="lg-icon"><ul class="lg-dropdown" style="position: absolute;">';i+=t.core.s.facebook?'<li><a id="lg-share-facebook" target="_blank"><span class="lg-icon"><\/span><span class="lg-dropdown-text">'+this.core.s.facebookDropdownText+"<\/span><\/a><\/li>":"";i+=t.core.s.twitter?'<li><a id="lg-share-twitter" target="_blank"><span class="lg-icon"><\/span><span class="lg-dropdown-text">'+this.core.s.twitterDropdownText+"<\/span><\/a><\/li>":"";i+=t.core.s.googlePlus?'<li><a id="lg-share-googleplus" target="_blank"><span class="lg-icon"><\/span><span class="lg-dropdown-text">'+this.core.s.googlePlusDropdownText+"<\/span><\/a><\/li>":"";i+=t.core.s.pinterest?'<li><a id="lg-share-pinterest" target="_blank"><span class="lg-icon"><\/span><span class="lg-dropdown-text">'+this.core.s.pinterestDropdownText+"<\/span><\/a><\/li>":"";i+="<\/ul><\/span>";this.core.$outer.find(".lg-toolbar").append(i);this.core.$outer.find(".lg").append('<div id="lg-dropdown-overlay"><\/div>');n("#lg-share").on("click.lg",function(){t.core.$outer.toggleClass("lg-dropdown-active")});n("#lg-dropdown-overlay").on("click.lg",function(){t.core.$outer.removeClass("lg-dropdown-active")});t.core.$el.on("onAfterSlide.lg.tm",function(i,r,u){setTimeout(function(){n("#lg-share-facebook").attr("href","https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(t.getSahreProps(u,"facebookShareUrl")||window.location.href));n("#lg-share-twitter").attr("href","https://twitter.com/intent/tweet?text="+t.getSahreProps(u,"tweetText")+"&url="+encodeURIComponent(t.getSahreProps(u,"twitterShareUrl")||window.location.href));n("#lg-share-googleplus").attr("href","https://plus.google.com/share?url="+encodeURIComponent(t.getSahreProps(u,"googleplusShareUrl")||window.location.href));n("#lg-share-pinterest").attr("href","http://www.pinterest.com/pin/create/button/?url="+encodeURIComponent(t.getSahreProps(u,"pinterestShareUrl")||window.location.href)+"&media="+encodeURIComponent(t.getSahreProps(u,"src"))+"&description="+t.getSahreProps(u,"pinterestText"))},100)})};t.prototype.getSahreProps=function(n,t){var i="",u,r;return this.core.s.dynamic?i=this.core.s.dynamicEl[n][t]:(u=this.core.$items.eq(n).attr("href"),r=this.core.$items.eq(n).data(t),i="src"===t?u||r:r),i};t.prototype.destroy=function(){};n.fn.lightGallery.modules.share=t}()}),function(){for(var n,u=function(){},t=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeline","timelineEnd","timeStamp","trace","warn"],i=t.length,r=window.console=window.console||{};i--;)n=t[i],r[n]||(r[n]=u)}(),function(n,t){typeof exports=="object"&&typeof module!="undefined"?module.exports=t():typeof define=="function"&&define.amd?define(t):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);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 iv(n,t){return n(t={exports:{}},t.exports),t.exports}function hu(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 cu(n,t){this.x=n;this.y=t}function te(n,t){var i,r;if(Array.isArray(n)){if(!Array.isArray(t)||n.length!==t.length)return!1;for(i=0;i<n.length;i++)if(!te(n[i],t[i]))return!1;return!0}if("object"==typeof n&&null!==n&&null!==t){if("object"!=typeof t||Object.keys(n).length!==Object.keys(t).length)return!1;for(r in n)if(!te(n[r],t[r]))return!1;return!0}return n===t}function uv(n,t,i,r){var u=new rv(n,t,i,r);return function(n){return u.solve(n)}}function nr(n,t,i){return Math.min(i,Math.max(t,n))}function si(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 ov(){return ev++}function sv(n,t){n.forEach(function(n){t[n]&&(t[n]=t[n].bind(t))})}function eh(n,t){return-1!==n.indexOf(t,n.length-t.length)}function hv(n,t,i){var u={};for(var r in n)u[r]=t.call(i||this,n[r],r,n);return u}function cv(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 tr(n){return Array.isArray(n)?n.map(tr):"object"==typeof n&&n?hv(n,tr):n}function co(n){oh[n]||("undefined"!=typeof console&&console.warn(n),oh[n]=!0)}function lo(n,t,i){return(i.y-n.y)*(t.x-n.x)>(t.y-n.y)*(i.x-n.x)}function uk(n){for(var r=0,t=0,u=n.length,f=u-1,i=void 0,e=void 0;t<u;f=t++)i=n[t],r+=((e=n[f]).x-i.x)*(i.y+e.y);return r}function ch(n){var t=new self.XMLHttpRequest;for(var i in t.open(n.method||"GET",n.url,!0),n.headers)t.setRequestHeader(i,n.headers[i]);return t.withCredentials="include"===n.credentials,t}function lv(n,t,i){i[n]&&-1!==i[n].indexOf(t)||(i[n]=i[n]||[],i[n].push(t))}function ah(n,t,i){if(i&&i[n]){var r=i[n].indexOf(t);-1!==r&&i[n].splice(r,1)}}function av(n){var i=n.key,t=n.value;return t?[new u(i,t,"constants have been deprecated as of v8")]:[]}function au(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 b(n){return n instanceof Number||n instanceof String||n instanceof Boolean?n.valueOf():n}function re(n){return Array.isArray(n)?n.map(re):b(n)}function ni(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 pu(n,t){if("error"===t.kind)return null;if("array"===n.kind){if("array"===t.kind&&!pu(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=pv;i<r.length;i+=1)if(!pu(r[i],t))return null}return"Expected "+g(n)+" but found "+g(t)+" instead."}function wv(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 st(n){var u;if(null===n)return vv;if("string"==typeof n)return h;if("boolean"==typeof n)return s;if("number"==typeof n)return r;if(n instanceof l)return nu;if(n instanceof wu)return vo;if(Array.isArray(n)){for(var t,e=n.length,i=0,f=n;i<f.length;i+=1){if(u=st(f[i]),t){if(t===u)continue;t=c;break}t=u}return ni(t||c,e)}return yu}function bh(n){if(n instanceof nt&&("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)))return!1;var t=!0;return n.eachChild(function(n){t&&!bh(n)&&(t=!1)}),t}function yo(n){if(n instanceof nt&&"feature-state"===n.name)return!1;var t=!0;return n.eachChild(function(n){t&&!yo(n)&&(t=!1)}),t}function kh(n,t){if(n instanceof nt&&t.indexOf(n.name)>=0)return!1;var i=!0;return n.eachChild(function(n){i&&!kh(n,t)&&(i=!1)}),i}function gv(n,t){for(var r,e,u=0,f=n.length-1,i=0;u<=f;){if(r=n[i=Math.floor((u+f)/2)],e=n[i+1],t===r||t>r&&t<e)return i;if(r<t)u=i+1;else{if(!(r>t))throw new rt("Input is not a number.");f=i-1}}return Math.max(i-1,0)}function ct(n,t,i){return n*(1-i)+t*i}function dh(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 ny(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 ty(n,t,i,r){return 0===r.compare(t,i)}function bu(n,t,i){var r="=="!==n&&"!="!==n;return function(){function u(n,t,i){this.type=s;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,c),!i)return null;if(!ny(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,c),!f)return null;if(!ny(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 ht(f.type,[i]):"value"!==i.type.kind&&"value"===f.type.kind&&(f=new ht(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,vo)))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=st(f),s=st(e),o.kind!==s.kind||"string"!==o.kind&&"number"!==o.kind))throw new rt('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=st(f),c=st(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.possibleOutputs=function(){return[!0,!1]},u.prototype.serialize=function(){var t=[n];return this.eachChild(function(n){t.push(n.serialize())}),t},u}()}function iy(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=wv(r,u,f,i),e)throw new rt(e);return new l(r/255*i,u/255*i,f/255*i,i)}function ry(n,t){return n in t}function gh(n,t){var i=t[n];return void 0===i?null:i}function ru(n){return{type:n}}function uy(n){return{result:"success",value:n}}function ku(n){return{result:"error",value:n}}function du(n){return"data-driven"===n["property-type"]||"cross-faded-data-driven"===n["property-type"]}function fy(n){return!!n.expression&&n.expression.parameters.indexOf("zoom")>-1}function nc(n){return!!n.expression&&n.expression.interpolated}function tc(n){return n>yk?Math.pow(n,1/3):n/cy+hy}function ic(n){return n>gu?n*n*n:cy*(n-hy)}function rc(n){return 255*(n<=.0031308?12.92*n:1.055*Math.pow(n,1/2.4)-.055)}function uc(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function ly(n){var t=uc(n.r),i=uc(n.g),r=uc(n.b),f=tc((.4124564*t+.3575761*i+.1804375*r)/ey),u=tc((.2126729*t+.7151522*i+.072175*r)/oy);return{l:116*u-16,a:500*(f-u),b:200*(u-tc((.0193339*t+.119192*i+.9503041*r)/sy)),alpha:n.a}}function ay(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=oy*ic(t),i=ey*ic(i),r=sy*ic(r),new l(rc(3.2404542*i-1.5371385*t-.4985314*r),rc(-.969266*i+1.8760108*t+.041556*r),rc(.0556434*i-.2040259*t+1.0572252*r),n.alpha)}function a(n){return n instanceof Number?"number":n instanceof String?"string":n instanceof Boolean?"boolean":Array.isArray(n)?"array":null===n?"null":typeof n}function po(n){return"object"==typeof n&&null!==n&&!Array.isArray(n)}function dk(n){return n}function fe(n,t,i){return void 0!==n?n:void 0!==t?t:void 0!==i?i:void 0}function gk(n,t,i,r,u){return fe(typeof i===u?r[i]:void 0,n.default,t.default)}function nd(n,t,i){var r,u;return"number"!==a(i)?fe(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=py(n.stops,i),n.stops[u][1])}function yy(n,t,i){var c=void 0!==n.base?n.base:1,u,r;if("number"!==a(i))return fe(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=py(n.stops,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=ue[t.type]||dk;return n.colorSpace&&"rgb"!==n.colorSpace&&(r=vy[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 td(n,t,i){return"color"===t.type?i=l.parse(i):a(i)===t.type||"enum"===t.type&&t.values[i]||(i=void 0),fe(i,n.default,t.default)}function py(n,t){for(var r,e,u=0,f=n.length-1,i=0;u<=f;){if(r=n[i=Math.floor((u+f)/2)][0],e=n[i+1][0],t===r||t>r&&t<e)return i;r<t?u=i+1:r>t&&(f=i-1)}return Math.max(i-1,0)}function fc(n){return Array.isArray(n)&&n.length>0&&"string"==typeof n[0]&&n[0]in iu}function ec(n,t){var i=new fr(iu,[],function(n){var t={color:nu,string:h,number:r,"enum":h,boolean:s};return"array"===n.type?ni(t[n.value]||c,n.length):t[n.type]||null}(t)),u=i.parse(n);return u?uy(new ee(u,t)):ku(i.errors)}function wy(n,t){var r,u,f,i;return"error"===(n=ec(n,t)).result?n:(r=n.value.expression,u=bh(r),!u&&!du(t))?ku([new gt("","data expressions not supported")]):(f=kh(r,["zoom"]),!f&&!fy(t))?ku([new gt("","zoom expressions not supported")]):(i=function n(t){var i=null,r,u,f;if(t instanceof sr)i=n(t.result);else if(t instanceof or){for(r=0,u=t.args;r<u.length;r+=1)if(f=u[r],i=n(f))break}else(t instanceof er||t instanceof ut)&&t.input instanceof nt&&"zoom"===t.input.name&&(i=t);return i instanceof gt?i:(t.eachChild(function(t){var r=n(t);r instanceof gt?i=r:!i&&r?i=new gt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):i&&r&&i!==r&&(i=new gt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),i)}(r),i||f?i instanceof gt?ku([i]):i instanceof ut&&!nc(t)?ku([new gt("",'"interpolate" expressions cannot be used with this property')]):uy(i?new nf(u?"camera":"composite",n.value,i):new oe(u?"constant":"source",n.value)):ku([new gt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]))}function oc(n,t){var i,r;if(po(n))return new tf(n,t);if(fc(n)){if(i=wy(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=l.parse(n)),{kind:"constant",evaluate:function(){return r}}}function ii(n){var f=n.key,t=n.value,i=n.valueSpec||{},o=n.objectElementValidators||{},v=n.style,y=n.styleSpec,s=[],l=a(t),r,e;if("object"!==l)return[new u(f,t,"object expected, "+l+" found")];for(r in t){var c=r.split(".")[0],p=i[c]||i["*"],h=void 0;if(o[c])h=o[c];else if(i[c])h=ri;else if(o["*"])h=o["*"];else{if(!i["*"]){s.push(new u(f,t[r],'unknown property "'+r+'"'));continue}h=ri}s=s.concat(h({key:(f?f+".":f)+r,value:t[r],valueSpec:p,style:v,styleSpec:y,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 by(n){var t=n.value,i=n.valueSpec,h=n.style,s=n.styleSpec,f=n.key,c=n.arrayElementValidator||ri,e,o,r;if("array"!==a(t))return[new u(f,t,"array expected, "+a(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},s.$version<7&&(e.function=i.function),"object"===a(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 ky(n){var r=n.key,t=n.value,i=n.valueSpec,f=a(t);return"number"!==f?[new u(r,t,"number expected, "+f+" 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 dy(n){function y(n){var r=[],t=n.value,i=n.key;if("array"!==a(t))return[new u(i,t,"array expected, "+a(t)+" found")];if(2!==t.length)return[new u(i,t,"array length 2 expected, length "+t.length+" found")];if(c){if("object"!==a(t[0]))return[new u(i,t,"object expected, "+a(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>b(t[0].zoom))return[new u(i,t[0].zoom,"stop zoom values must appear in ascending order")];b(t[0].zoom)!==e&&(e=b(t[0].zoom),f=void 0,s={});r=r.concat(ii({key:i+"[0]",value:t[0],valueSpec:{zoom:{}},style:n.style,styleSpec:n.styleSpec,objectElementValidators:{zoom:ky,value:l}}))}else r=r.concat(l({key:i+"[0]",value:t[0],valueSpec:{},style:n.style,styleSpec:n.styleSpec},t));return r.concat(ri({key:i+"[1]",value:t[1],valueSpec:o,style:n.style,styleSpec:n.styleSpec}))}function l(n,i){var e=a(n.value),h=b(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",du(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=b(n.value.type),s={},h="categorical"!==t&&void 0===n.value.property,v=!h,c="array"===a(n.value.stops)&&"array"===a(n.value.stops[0])&&"object"===a(n.value.stops[0][0]),i=ii({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(by({key:n.key,value:r,valueSpec:n.valueSpec,style:n.style,styleSpec:n.styleSpec,arrayElementValidator:y})),"array"===a(r)&&0===r.length&&i.push(new u(n.key,r,"array must have at least one stop")),i},"default":function(n){return ri({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&&!nc(n.valueSpec)&&i.push(new u(n.key,n.value,"exponential functions not supported")),n.styleSpec.$version>=8&&(v&&!du(n.valueSpec)?i.push(new u(n.key,n.value,"property functions not supported")):h&&!fy(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 sc(n){var t=("property"===n.expressionContext?wy:ec)(re(n.value),n.valueSpec);return"error"===t.result?t.value.map(function(t){return new u(""+n.key+t.key,n.value,t.message)}):"property"===n.expressionContext&&"text-font"===n.propertyKey&&-1!==t.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new u(n.key,n.value,'Invalid data expression for "text-font". Output values must be contained as literals within the expression.')]:"property"!==n.expressionContext||"layout"!==n.propertyType||yo(t.value._styleExpression.expression)?[]:[new u(n.key,n.value,'"feature-state" data expressions are not supported with layout properties.')]}function wo(n){var f=n.key,t=n.value,i=n.valueSpec,r=[];return Array.isArray(i.values)?-1===i.values.indexOf(b(t))&&r.push(new u(f,t,"expected one of ["+i.values.join(", ")+"], "+JSON.stringify(t)+" found")):-1===Object.keys(i.values).indexOf(b(t))&&r.push(new u(f,t,"expected one of ["+Object.keys(i.values).join(", ")+"], "+JSON.stringify(t)+" found")),r}function hc(n){var t,i,r;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":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],!hc(r)&&"boolean"!=typeof r)return!1;return!0;default:return!0}}function bo(n){if(!n)return function(){return!0};hc(n)||(n=ko(n));var t=ec(n,gy);if("error"===t.result)throw new Error(t.value.map(function(n){return n.key+": "+n.message}).join(", "));return function(n,i){return t.value.evaluate(n,i)}}function id(n,t){return n<t?-1:n>t?1:0}function ko(n){if(!n)return!0;var i,t=n[0];return n.length<=1?"any"!==t:"=="===t?cc(n[1],n[2],"=="):"!="===t?go(cc(n[1],n[2],"==")):"<"===t||">"===t||"<="===t||">="===t?cc(n[1],n[2],t):"any"===t?(i=n.slice(1),["any"].concat(i.map(ko))):"all"===t?["all"].concat(n.slice(1).map(ko)):"none"===t?["all"].concat(n.slice(1).map(ko).map(go)):"in"===t?np(n[1],n.slice(2)):"!in"===t?go(np(n[1],n.slice(2))):"has"===t?tp(n[1]):"!has"!==t||go(tp(n[1]))}function cc(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 np(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(id)]]:["filter-in-small",n,["literal",t]]}}function tp(n){switch(n){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",n]}}function go(n){return["!",n]}function lc(n){return hc(re(n.value))?sc(au({},n,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function n(t){var i=t.value,f=t.key,h,e,r,o,s;if("array"!==a(i))return[new u(f,i,"array expected, "+a(i)+" found")];if(h=t.styleSpec,r=[],i.length<1)return[new u(f,i,"filter array must have at least 1 element")];r=r.concat(wo({key:f+"[0]",value:i[0],valueSpec:h.filter_operator,style:t.style,styleSpec:t.styleSpec}));switch(b(i[0])){case"<":case"<=":case">":case">=":i.length>=2&&"$type"===b(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=a(i[1]))&&r.push(new u(f+"[1]",i[1],"string expected, "+e+" found")),o=2;o<i.length;o++)e=a(i[o]),"$type"===b(i[1])?r=r.concat(wo({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=a(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"))}return r}(n)}function ip(n,t){var f=n.key,o=n.style,s=n.styleSpec,i=n.value,r=n.objectKey,h=s[t+"_"+n.layerType],c,v,e,l;return h?(c=r.match(/^(.*)-transition$/),"paint"===t&&c&&h[c[1]]&&h[c[1]].transition)?ri({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"===a(i)&&du(e)&&!e.tokens&&(v=/^{([^}]+)}$/.exec(i))?[new u(f,i,'"'+r+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(v[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&&po(re(i))&&"identity"===b(i.type)&&l.push(new u(f,i,'"text-font" does not support identity functions'))),l.concat(ri({key:n.key,value:i,valueSpec:e,style:o,styleSpec:s,expressionContext:"property",propertyType:t,propertyKey:r}))):[]}function rp(n){return ip(n,"paint")}function up(n){return ip(n,"layout")}function fp(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=b(t.type),l=b(t.ref),t.id)for(y=b(t.id),c=0;c<n.arrayIndex;c++)a=s.layers[c],b(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){b(n.id)===l&&(h=n)}),h?h.ref?i.push(new u(r,t.ref,"ref cannot reference another ref layer")):f=b(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&&b(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(ii({key:r,value:t,valueSpec:v.layer,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return ri({key:r+".type",value:t.type,valueSpec:v.layer.type,style:n.style,styleSpec:n.styleSpec,object:t,objectKey:"type"})},filter:lc,layout:function(n){return ii({layer:t,key:n.key,value:n.value,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(n){return up(au({layerType:f},n))}}})},paint:function(n){return ii({layer:t,key:n.key,value:n.value,style:n.style,styleSpec:n.styleSpec,objectElementValidators:{"*":function(n){return rp(au({layerType:f},n))}}})}}}))}function ep(n){var t=n.value,r=n.key,i=n.styleSpec,o=n.style,s,f,e;if(!t.type)return[new u(r,t,'"type" is required')];s=b(t.type);f=[];switch(s){case"vector":case"raster":case"raster-dem":if(f=f.concat(ii({key:r,value:t,valueSpec:i["source_"+s.replace("-","_")],style:n.style,styleSpec:i})),"url"in t)for(e in t)["type","url","tileSize"].indexOf(e)<0&&f.push(new u(r+"."+e,t[e],'a source with a "url" property may not include a "'+e+'" property'));return f;case"geojson":return ii({key:r,value:t,valueSpec:i.source_geojson,style:o,styleSpec:i});case"video":return ii({key:r,value:t,valueSpec:i.source_video,style:o,styleSpec:i});case"image":return ii({key:r,value:t,valueSpec:i.source_image,style:o,styleSpec:i});case"canvas":return f.push(new u(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")),f;default:return wo({key:r+".type",value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:o,styleSpec:i})}}function op(n){var i=n.value,f=n.styleSpec,e=f.light,s=n.style,r=[],h=a(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=o&&e[o[1]]&&e[o[1]].transition?r.concat(ri({key:t,value:i[t],valueSpec:f.transition,style:s,styleSpec:f})):e[t]?r.concat(ri({key:t,value:i[t],valueSpec:e[t],style:s,styleSpec:f})):r.concat([new u(t,i[t],'unknown property "'+t+'"')]);return r}function ac(n){var t=n.value,r=n.key,i=a(t);return"string"!==i?[new u(r,t,"string expected, "+i+" found")]:[]}function ri(n){var i=n.value,t=n.valueSpec,r=n.styleSpec;return t.expression&&po(b(i))?dy(n):t.expression&&fc(re(i))?sc(n):t.type&&vc[t.type]?vc[t.type](n):ii(au({},n,{valueSpec:t.type?r[t.type]:t}))}function rd(n){var i=n.value,r=n.key,t=ac(n);return t.length?t:(-1===i.indexOf("{fontstack}")&&t.push(new u(r,i,'"glyphs" url must include a "{fontstack}" token')),-1===i.indexOf("{range}")&&t.push(new u(r,i,'"glyphs" url must include a "{range}" token')),t)}function ci(n,i){i=i||t;var r=[];return r=r.concat(ri({key:"",value:n,valueSpec:i.$root,styleSpec:i,style:n,objectElementValidators:{glyphs:rd,"*":function(){return[]}}})),n.constants&&(r=r.concat(av({key:"constants",value:n.constants,style:n,styleSpec:i}))),sp(r)}function sp(n){return[].concat(n).sort(function(n,t){return n.line-t.line})}function rf(n){return function(){return sp(n.apply(this,arguments))}}function cp(n,t){var u=!1,i,r,f;if(t&&t.length)for(i=0,r=t;i<r.length;i+=1)f=r[i],n.fire(new vh(new Error(f.message))),u=!0;return u}function cr(n,t,i){var f=this.cells=[],r,u,e,o,l,s,h,c;if(n instanceof ArrayBuffer){for(this.arrayBuffer=n,r=new Int32Array(this.arrayBuffer),n=r[0],t=r[1],i=r[2],this.d=t+2*i,u=0;u<this.d*this.d;u++)e=r[hr+u],o=r[hr+u+1],f.push(e===o?null:r.subarray(e,o));l=r[hr+f.length];s=r[hr+f.length+1];this.keys=r.subarray(l,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 e(n,t,i){void 0===i&&(i={});Object.defineProperty(t,"_classRegistryKey",{value:n,writeable:!1});ff[n]={klass:t,omit:i.omit||[],shallow:i.shallow||[]}}function se(n,t){var e,l,f,r,u,i,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(n instanceof ArrayBuffer)return t&&t.push(n),n;if(ArrayBuffer.isView(n))return e=n,t&&t.push(e.buffer),e;if(n instanceof yc)return t&&t.push(n.data.buffer),n;if(Array.isArray(n)){for(var h=[],o=0,c=n;o<c.length;o+=1)l=c[o],h.push(se(l,t));return h}if("object"==typeof n){if(f=n.constructor,r=f._classRegistryKey,!r)throw new Error("can't serialize object of unregistered class");if(u={},f.serialize)u._serialized=f.serialize(n,t);else{for(i in n)!n.hasOwnProperty(i)||ff[r].omit.indexOf(i)>=0||(s=n[i],u[i]=ff[r].shallow.indexOf(i)>=0?s:se(s,t));n instanceof Error&&(u.message=n.message)}return{name:r,properties:u}}throw new Error("can't serialize object of type "+typeof n);}function uu(n){var t,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||n instanceof ArrayBuffer||ArrayBuffer.isView(n)||n instanceof yc)return n;if(Array.isArray(n))return n.map(function(n){return uu(n)});if("object"==typeof n){var e=n,r=e.name,u=e.properties;if(!r)throw new Error("can't deserialize object of anonymous class");if(t=ff[r].klass,!t)throw new Error("can't deserialize unregistered class "+r);if(t.deserialize)return t.deserialize(u._serialized);for(var o=Object.create(t.prototype),f=0,s=Object.keys(u);f<s.length;f+=1)i=s[f],o[i]=ff[r].shallow.indexOf(i)>=0?u[i]:uu(u[i]);return o}throw new Error("can't deserialize object of type "+typeof n);}function pc(n){for(var t=0,i=n;t<i.length;t+=1)if(wc(i[t].charCodeAt(0)))return!0;return!1}function od(n){return!i.Arabic(n)&&!i["Arabic Supplement"](n)&&!i["Arabic Extended-A"](n)&&!i["Arabic Presentation Forms-A"](n)&&!i["Arabic Presentation Forms-B"](n)}function wc(n){return 746===n||747===n||!(n<4352)&&(!!i["Bopomofo Extended"](n)||!!i.Bopomofo(n)||!(!i["CJK Compatibility Forms"](n)||n>=65097&&n<=65103)||!!i["CJK Compatibility Ideographs"](n)||!!i["CJK Compatibility"](n)||!!i["CJK Radicals Supplement"](n)||!!i["CJK Strokes"](n)||!(!i["CJK Symbols and Punctuation"](n)||n>=12296&&n<=12305||n>=12308&&n<=12319||12336===n)||!!i["CJK Unified Ideographs Extension A"](n)||!!i["CJK Unified Ideographs"](n)||!!i["Enclosed CJK Letters and Months"](n)||!!i["Hangul Compatibility Jamo"](n)||!!i["Hangul Jamo Extended-A"](n)||!!i["Hangul Jamo Extended-B"](n)||!!i["Hangul Jamo"](n)||!!i["Hangul Syllables"](n)||!!i.Hiragana(n)||!!i["Ideographic Description Characters"](n)||!!i.Kanbun(n)||!!i["Kangxi Radicals"](n)||!!i["Katakana Phonetic Extensions"](n)||!(!i.Katakana(n)||12540===n)||!(!i["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)||!(!i["Small Form Variants"](n)||n>=65112&&n<=65118||n>=65123&&n<=65126)||!!i["Unified Canadian Aboriginal Syllabics"](n)||!!i["Unified Canadian Aboriginal Syllabics Extended"](n)||!!i["Vertical Forms"](n)||!!i["Yijing Hexagram Symbols"](n)||!!i["Yi Syllables"](n)||!!i["Yi Radicals"](n))}function lp(n){return!(wc(n)||function(n){return!!(i["Latin-1 Supplement"](n)&&(167===n||169===n||174===n||177===n||188===n||189===n||190===n||215===n||247===n)||i["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)||i["Letterlike Symbols"](n)||i["Number Forms"](n)||i["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)||i["Control Pictures"](n)&&9251!==n||i["Optical Character Recognition"](n)||i["Enclosed Alphanumerics"](n)||i["Geometric Shapes"](n)||i["Miscellaneous Symbols"](n)&&!(n>=9754&&n<=9759)||i["Miscellaneous Symbols and Arrows"](n)&&(n>=11026&&n<=11055||n>=11088&&n<=11097||n>=11192&&n<=11243)||i["CJK Symbols and Punctuation"](n)||i.Katakana(n)||i["Private Use Area"](n)||i["CJK Compatibility Forms"](n)||i["Small Form Variants"](n)||i["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 sd(n,t){return!(!t&&(n>=1424&&n<=2303||i["Arabic Presentation Forms-A"](n)||i["Arabic Presentation Forms-B"](n)))&&!(n>=2304&&n<=3583||n>=3840&&n<=4255||i.Khmer(n))}function ft(n,t){void 0===t&&(t=1);var i=0,r=0;return{members:n.map(function(n){var f,u=(f=n.type,hd[f].BYTES_PER_ELEMENT),o=i=vp(i,Math.max(t,u)),e=n.components||1;return r=Math.max(r,u),i+=u*e,{name:n.name,type:n.type,components:e,offset:o}}),size:vp(i,Math.max(r,t)),alignment:t}}function vp(n,t){return Math.ceil(n/t)*t}function lf(n){return[hl(255*n.r,255*n.g),hl(255*n.b,255*n.a)]}function cd(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"}[n]||n.replace(t+"-","").replace(/-/g,"_")}function af(n){for(var f,i,t,e=lt/n.extent,r=n.loadGeometry(),u=0;u<r.length;u++)for(f=r[u],i=0;i<f.length;i++)t=f[i],t.x=Math.round(t.x*e),t.y=Math.round(t.y*e),(t.x<be.min||t.x>be.max||t.y<be.min||t.y>be.max)&&co("Geometry exceeds allowed extent, reduce your vector tile buffer size");return r}function ps(n,t,i,r,u){n.emplaceBack(2*t+(r+1)/2,2*i+(u+1)/2)}function pp(n,t,i){for(var u,r=0;r<n.length;r++)if((u=n[r],ws(u,t))||vl(t,u,i))return!0;return!1}function ll(n,t){var i,s,r,u,f,e,o;if(1===n.length&&1===n[0].length)return yl(t,n[0][0]);for(i=0;i<t.length;i++)for(s=t[i],r=0;r<s.length;r++)if(yl(n,s[r]))return!0;for(u=0;u<n.length;u++){for(f=n[u],e=0;e<f.length;e++)if(yl(t,f[e]))return!0;for(o=0;o<t.length;o++)if(al(f,t[o]))return!0}return!1}function wp(n,t,i){for(var u,f,e,o,r=0;r<t.length;r++)for(u=t[r],f=0;f<n.length;f++){if(e=n[f],e.length>=3)for(o=0;o<u.length;o++)if(ws(e,u[o]))return!0;if(ld(e,u,i))return!0}return!1}function ld(n,t,i){var r,u;if(n.length>1){if(al(n,t))return!0;for(r=0;r<t.length;r++)if(vl(t[r],n,i))return!0}for(u=0;u<n.length;u++)if(vl(n[u],t,i))return!0;return!1}function al(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(ad(u,f,t[r],t[r+1]))return!0;return!1}function ad(n,t,i,r){return lo(n,i,r)!==lo(t,i,r)&&lo(n,t,i)!==lo(n,t,r)}function vl(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(bp(n,t[r-1],t[r])<u)return!0;return!1}function bp(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,r<0?n.distSqr(t):r>1?n.distSqr(i):n.distSqr(i.sub(t)._mult(r)._add(t)))}function yl(n,t){for(var r,i,u,o,s,f=!1,e=0;e<n.length;e++)for(o=0,s=(r=n[e]).length-1;o<r.length;s=o++)i=r[o],u=r[s],i.y>t.y!=u.y>t.y&&t.x<(u.x-i.x)*(t.y-i.y)/(u.y-i.y)+i.x&&(f=!f);return f}function ws(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 ke(n,t,i){var r=t.paint.get(n).value;return"constant"===r.kind?r.value:i.programConfigurations.get(t.id).binders[n].statistics.max}function bs(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1])}function ks(n,t,i,r,u){var e,o,f;if(!t[0]&&!t[1])return n;for(e=ot.convert(t),"viewport"===i&&e._rotate(-r),o=[],f=0;f<n.length;f++){for(var h=n[f],c=[],s=0;s<h.length;s++)c.push(h[s].sub(e._mult(u)));o.push(c)}return o}function dp(){var n=new lr(9);return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=1,n[5]=0,n[6]=0,n[7]=0,n[8]=1,n}function pl(){var n=new lr(3);return n[0]=0,n[1]=0,n[2]=0,n}function gp(n){var t=n[0],i=n[1],r=n[2];return Math.sqrt(t*t+i*i+r*r)}function wl(n,t,i){var r=new lr(3);return r[0]=n,r[1]=t,r[2]=i,r}function vd(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}function yd(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function pd(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}function iw(){var n=new lr(4);return n[0]=0,n[1]=0,n[2]=0,n[3]=0,n}function rw(n,t){var r=t[0],u=t[1],f=t[2],e=t[3],i=r*r+u*u+f*f+e*e;return i>0&&(i=1/Math.sqrt(i),n[0]=r*i,n[1]=u*i,n[2]=f*i,n[3]=e*i),n}function bl(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 fw(){var n=new lr(4);return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function ow(n,t,i){var r=bl([],[n.x,n.y,0,1],t);return new ot((r[0]/r[3]+1)*i.width*.5,(r[1]/r[3]+1)*i.height*.5)}function dl(n,t,i,r){var u=t.width,f=t.height;if(r){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 sw(n,t,i){var r=t.width,u=t.height,f;(r!==n.width||u!==n.height)&&(f=dl({},{width:r,height:u},i),gl(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 gl(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 cw(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 ei({width:256,height:1},r)}function ds(n,t,i){var f;i=i||2;var r,u,e,o,s,h,c,v=t&&t.length,y=v?t[0]*i:n.length,l=aw(n,0,y,i,!0),a=[];if(!l)return a;if(v&&(l=function(n,t,i,r){for(var s,h,f,e=[],u=0,o=t.length;u<o;u++)s=t[u]*r,h=u<o-1?t[u+1]*r:n.length,(f=aw(n,s,h,r,!1))===f.next&&(f.steiner=!0),e.push(ag(f));for(e.sort(cg),u=0;u<e.length;u++)lg(e[u],i),i=de(i,i.next);return i}(n,t,l,i)),n.length>80*i){for(r=e=n[0],u=o=n[1],f=i;f<y;f+=i)(s=n[f])<r&&(r=s),(h=n[f+1])<u&&(u=h),s>e&&(e=s),h>o&&(o=h);c=0!==(c=Math.max(e-r,o-u))?1/c:0}return ge(l,a,i,r,u,c),a}function aw(n,t,i,r,u){var f,e;if(u===ua(n,t,i,r)>0)for(f=t;f<i;f+=r)e=pw(f,n[f],n[f+1],e);else for(f=i-r;f>=t;f-=r)e=pw(f,n[f],n[f+1],e);return e&&ou(e,e.next)&&(to(e),e=e.next),e}function de(n,t){if(!n)return n;t||(t=n);var r,i=n;do if(r=!1,i.steiner||!ou(i,i.next)&&0!==it(i.prev,i,i.next))i=i.next;else{if(to(i),(i=t=i.prev)===i.next)break;r=!0}while(r||i!==t);return t}function ge(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=ia(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?og(n,r,u,f):eg(n))t.push(s.i/i),t.push(n.i/i),t.push(o.i/i),to(n),n=o.next,h=o.next;else if((n=o)===h){e?1===e?ge(n=sg(n,t,i),t,i,r,u,f,2):2===e&&hg(n,t,i,r,u,f):ge(de(n),t,i,r,u,f,1);break}}}function eg(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(vf(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 og(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,v=o.x>s.x?o.x>u.x?o.x:u.x:s.x>u.x?s.x:u.x,y=o.y>s.y?o.y>u.y?o.y:u.y:s.y>u.y?s.y:u.y,h=ia(l,a,t,i,r),c=ia(v,y,t,i,r),f=n.prevZ,e=n.nextZ;f&&f.z>=h&&e&&e.z<=c;){if(f!==n.prev&&f!==n.next&&vf(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&&vf(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&&vf(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&&vf(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 sg(n,t,i){var r=n,f,u;do f=r.prev,u=r.next.next,!ou(f,u)&&vw(f,r,r.next,u)&&no(f,u)&&no(u,f)&&(t.push(f.i/i),t.push(r.i/i),t.push(u.i/i),to(r),to(r.next),r=n=u),r=r.next;while(r!==n);return r}function hg(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&&vg(e,o))return s=yw(e,o),e=de(e,e.next),s=de(s,s.next),ge(e,t,i,r,u,f),void ge(s,t,i,r,u,f);o=o.next}e=e.next}while(e!==n)}function cg(n,t){return n.x-t.x}function lg(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.prev;var s,a=r,l=r.x,h=r.y,c=1/0;for(i=r.next;i!==a;)f>=i.x&&i.x>=l&&f!==i.x&&vf(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))<c||s===c&&i.x>r.x)&&no(i,n)&&(r=i,c=s),i=i.next;return r}(n,t)){var i=yw(t,n);de(i,i.next)}}function ia(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 ag(n){var t=n,i=n;do t.x<i.x&&(i=t),t=t.next;while(t!==n);return i}function vf(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 vg(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&&vw(i,i.next,n,t))return!0;i=i.next}while(i!==n);return!1}(n,t)&&no(n,t)&&no(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)}function it(n,t,i){return(t.y-n.y)*(i.x-t.x)-(t.x-n.x)*(i.y-t.y)}function ou(n,t){return n.x===t.x&&n.y===t.y}function vw(n,t,i,r){return!!(ou(n,t)&&ou(i,r)||ou(n,r)&&ou(i,t))||it(n,t,i)>0!=it(n,t,r)>0&&it(i,r,n)>0!=it(i,r,t)>0}function no(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 yw(n,t){var r=new ra(n.i,n.x,n.y),i=new ra(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 pw(n,t,i,r){var u=new ra(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 to(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 ra(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 ua(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 bw(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),y=Math.max(r,Math.floor(i-l*h/o+v)),p=Math.min(u,Math.floor(i+(o-l)*h/o+v));n(t,i,y,p,f)}var c=t[i],s=r,e=u;for(io(t,r,i),f(t[u],c)>0&&io(t,r,u);s<e;){for(io(t,s,e),s++,e--;f(t[s],c)<0;)s++;for(;f(t[e],c)>0;)e--}0===f(t[r],c)?io(t,r,e):io(t,++e,u);e<=i&&(r=e+1);i<=e&&(u=e-1)}}(n,t,i||0,r||n.length-1,u||yg)}function io(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function yg(n,t){return n<t?-1:n>t?1:0}function ea(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=uk(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||(fa(i[r],t,1,i[r].length-1,pg),i[r]=i[r].slice(0,t));return i}function pg(n,t){return t.area-n.area}function ro(n,t,i,r,u,f,e,o){n.emplaceBack(t,i,2*Math.floor(r*sa)+e,u*sa*2,f*sa*2,Math.round(o))}function kg(n,t){return n.x===t.x&&(n.x<0||n.x>lt)||n.y===t.y&&(n.y<0||n.y>lt)}function dg(n){return n.every(function(n){return n.x<0})||n.every(function(n){return n.x>lt})||n.every(function(n){return n.y<0})||n.every(function(n){return n.y>lt})}function yf(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(tn,this,t)}function tn(n,t,i){1==n?t.id=i.readVarint():2==n?function(n,t){for(var u=n.readVarint()+n.pos,i,r;n.pos<u;)i=t._keys[n.readVarint()],r=t._values[n.readVarint()],t.properties[i]=r}(i,t):3==n?t.type=i.readVarint():4==n&&(t._geometry=i.pos)}function rn(n){for(var t,r,u=0,i=0,f=n.length,e=f-1;i<f;e=i++)t=n[i],u+=((r=n[e]).x-t.x)*(t.y+r.y);return u}function nb(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(un,this,t);this.length=this._features.length}function un(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 i=null,r=n.readVarint()+n.pos,t;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 fn(n,t,i){if(3===n){var r=new ca(i,i.readVarint()+i.pos);r.length&&(t[r.name]=r)}}function aa(n,t,i,r,u,f,e){n.emplaceBack(t.x,t.y,r?1:0,u?1:-1,Math.round(tb*i.x)+128,Math.round(tb*i.y)+128,1+(0===f?0:f<0?-1:1)|(e*la&63)<<2,e*la>>6)}function rb(n,t){return(n/t.tileTotal*(t.end-t.start)+t.start)*(ib-1)}function ob(n,t){return t>0?t+2*n:n}function sb(n,t,i){var r=t.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?n=n.toLocaleUpperCase():"lowercase"===r&&(n=n.toLocaleLowerCase()),fu.applyArabicShaping&&(n=fu.applyArabicShaping(n)),n}function vn(n,t,i){return n instanceof bt?(n.sections.forEach(function(n){n.text=sb(n.text,t,i)}),n):sb(n,t,i)}function pa(n,t){var i=t.expression,r,u,f,e;if("constant"===i.kind)return{functionType:"constant",layoutSize:i.evaluate(new k(n+1))};if("source"===i.kind)return{functionType:"source"};for(r=i.zoomStops,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++;return f=Math.min(r.length-1,f),e={min:r[u],max:r[f]},"composite"===i.kind?{functionType:"composite",zoomRange:e,propertyValue:t.value}:{functionType:"camera",layoutSize:i.evaluate(new k(n+1)),zoomRange:e,sizeRange:{min:i.evaluate(new k(e.min)),max:i.evaluate(new k(e.max))},propertyValue:t.value}}function gs(n,t,i,r,u,f,e,o){n.emplaceBack(t,i,Math.round(32*r),Math.round(32*u),f,e,o?o[0]:0,o?o[1]:0)}function wa(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 dt(n,t,i){i=i||{};this.w=n||64;this.h=t||64;this.autoResize=!!i.autoResize;this.shelves=[];this.freebins=[];this.stats={};this.bins={};this.maxId=0}function ba(n,t,i){this.x=0;this.y=n;this.w=this.free=t;this.h=i}function w(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 vr(n){return n.type===w.Bytes?n.readVarint()+n.pos:n.pos+1}function kf(n,t,i){return i?4294967296*t+(n>>>0):4294967296*(t>>>0)+(n>>>0)}function kb(n,t,i){var u=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.ceil(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 gn(n,t){for(var i=0;i<n.length;i++)t.writeVarint(n[i])}function ntt(n,t){for(var i=0;i<n.length;i++)t.writeSVarint(n[i])}function ttt(n,t){for(var i=0;i<n.length;i++)t.writeFloat(n[i])}function itt(n,t){for(var i=0;i<n.length;i++)t.writeDouble(n[i])}function rtt(n,t){for(var i=0;i<n.length;i++)t.writeBoolean(n[i])}function utt(n,t){for(var i=0;i<n.length;i++)t.writeFixed32(n[i])}function ftt(n,t){for(var i=0;i<n.length;i++)t.writeSFixed32(n[i])}function ett(n,t){for(var i=0;i<n.length;i++)t.writeFixed64(n[i])}function ott(n,t){for(var i=0;i<n.length;i++)t.writeSFixed64(n[i])}function th(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16)+16777216*n[t+3]}function df(n,t,i){n[i]=t;n[i+1]=t>>>8;n[i+2]=t>>>16;n[i+3]=t>>>24}function db(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16)+(n[t+3]<<24)}function stt(n,t,i){1===n&&i.readMessage(htt,t)}function htt(n,t,i){if(3===n){var r=i.readMessage(ctt,{}),e=r.id,o=r.bitmap,u=r.width,f=r.height,s=r.left,h=r.top,c=r.advance;t.push({id:e,bitmap:new gr({width:u+2*ih,height:f+2*ih},o),metrics:{width:u,height:f,left:s,top:h,advance:c}})}}function ctt(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 nk(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 ga(n,t,i,r){(n*=2)<0&&(n=-1*n-1);var u=1<<t;return 32*(u*u*n+u*r+i)+t}function ltt(n,t){return t-n}function tk(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 att(n,t){var i=0;return 10===n&&(i-=1e4),40!==n&&65288!==n||(i+=50),41!==t&&65289!==t||(i+=50),i}function ik(n,t,i,r,u,f){for(var e,h,c=null,o=tk(t,i,u,f),s=0,l=r;s<l.length;s+=1)e=l[s],h=tk(t-e.x,i,u,f)+e.badness,h<=o&&(c=e,o=h);return{index:n,x:t,priorBreak:c,badness:o}}function tv(n,t,r,u){if(!r)return[];if(!n)return[];for(var f,s=[],c=function(n,t,i,r){for(var f=0,u=0;u<n.length();u++){var e=n.getSection(u),o=r[e.fontStack],s=o&&o[n.getCharCode(u)];s&&(f+=s.metrics.advance*e.scale+t)}return f/Math.max(1,Math.ceil(f/i))}(n,t,r,u),h=0,e=0;e<n.length();e++){var l=n.getSection(e),o=n.getCharCode(e),a=u[l.fontStack],v=a&&a[o];v&&!fh[o]&&(h+=v.metrics.advance*l.scale+t);e<n.length()-1&&(et[o]||!((f=o)<11904)&&(i["Bopomofo Extended"](f)||i.Bopomofo(f)||i["CJK Compatibility Forms"](f)||i["CJK Compatibility Ideographs"](f)||i["CJK Compatibility"](f)||i["CJK Radicals Supplement"](f)||i["CJK Strokes"](f)||i["CJK Symbols and Punctuation"](f)||i["CJK Unified Ideographs Extension A"](f)||i["CJK Unified Ideographs"](f)||i["Enclosed CJK Letters and Months"](f)||i["Halfwidth and Fullwidth Forms"](f)||i.Hiragana(f)||i["Ideographic Description Characters"](f)||i["Kangxi Radicals"](f)||i["Katakana Phonetic Extensions"](f)||i.Katakana(f)||i["Vertical Forms"](f)||i["Yi Radicals"](f)||i["Yi Syllables"](f)))&&s.push(ik(e+1,h,c,s,att(o,n.getCharCode(e+1)),!1))}return function n(t){return t?n(t.priorBreak).concat(t.index):[]}(ik(n.length(),h,c,s,0,!0))}function rk(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 vtt(n,t,i,r,u){if(u){var f=n[r],o=t[f.fontStack],s=o&&o[f.glyph];if(s)for(var h=s.metrics.advance*f.scale,c=(n[r].x+h)*u,e=i;e<=r;e++)n[e].x-=c}}var rv=hu,oi,ot,fv,ev,oh,sh,hh,ie,lh,t,u,gt,vu,pv,yh,l,wu,rr,ph,bt,pr,ti,rt,bv,ht,wh,hi,kv,kt,dv,wr,nt,ur,fr,er,ue,ut,or,sr,br,kr,dr,iu,ee,oe,nf,tf,gy,vc,uf,hr,yc,ff,ns,ts,i,eu,ef,li,is,of,sf,ai,ce,f,o,vi,hf,vt,cf,ae,rs,us,fs,es,os,ss,ve,hs,cs,ye,ls,as,pi,pe,we,vs,gc,ys,nl,tl,il,rl,ul,fl,el,ol,hl,wi,bi,ui,yt,pt,lt,cl,be,fi,kp,lr,ar,nw,tw,uw,wd,bd,kd,dd,gd,ng,tg,ew,kl,gr,ei,hw,fa,ww,ki,di,ca,wt,eb,pf,ya,hb,cb,wf,bf,v,fo,eo,ka,ih,gb,oo,gf,da,p,gi,nv,so,ho,rh,ne,yr,d,uh,at,fh,et;hu.prototype.sampleCurveX=function(n){return((this.ax*n+this.bx)*n+this.cx)*n};hu.prototype.sampleCurveY=function(n){return((this.ay*n+this.by)*n+this.cy)*n};hu.prototype.sampleCurveDerivativeX=function(n){return(3*this.ax*n+2*this.bx)*n+this.cx};hu.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};hu.prototype.solve=function(n,t){return this.sampleCurveY(this.solveCurveX(n,t))};oi=function(n,t,i){this.column=n;this.row=t;this.zoom=i};oi.prototype.clone=function(){return new oi(this.column,this.row,this.zoom)};oi.prototype.zoomTo=function(n){return this.clone()._zoomTo(n)};oi.prototype.sub=function(n){return this.clone()._sub(n)};oi.prototype._zoomTo=function(n){var t=Math.pow(2,n-this.zoom);return this.column*=t,this.row*=t,this.zoom=n,this};oi.prototype._sub=function(n){return n=n.zoomTo(this.zoom),this.column-=n.column,this.row-=n.row,this};ot=cu;cu.prototype={clone:function(){return new cu(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[0]*this.x+n[1]*this.y,i=n[2]*this.x+n[3]*this.y;return this.x=t,this.y=i,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=t*this.x-i*this.y,u=i*this.x+t*this.y;return this.x=r,this.y=u,this},_rotateAround:function(n,t){var i=Math.cos(n),r=Math.sin(n),u=t.x+i*(this.x-t.x)-r*(this.y-t.y),f=t.y+r*(this.x-t.x)+i*(this.y-t.y);return this.x=u,this.y=f,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};cu.convert=function(n){return n instanceof cu?n:Array.isArray(n)?new cu(n[0],n[1]):n};fv=uv(.25,.1,.25,1);ev=1;oh={};var fk=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),ek=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,ok=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,lu={now:fk,frame:function(n){var t=ek(n);return{cancel:function(){return ok(t)}}},getImageData:function(n){var t=self.document.createElement("canvas"),i=t.getContext("2d");if(!i)throw new Error("failed to create canvas 2d context");return t.width=n.width,t.height=n.height,i.drawImage(n,0,0,n.width,n.height),i.getImageData(0,0,n.width,n.height)},resolveURL:function(n){var t=self.document.createElement("a");return t.href=n,t.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},supportsWebp:!1};self.document&&(sh=self.document.createElement("img"),sh.onload=function(){lu.supportsWebp=!0},sh.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");hh={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(hh);ie=function(n){function t(t,i,r){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),t.prototype.constructor=t,t.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},t}(Error);lh=function(n,t){var i=ch(n);return i.responseType="arraybuffer",i.onerror=function(){t(new Error(i.statusText))},i.onload=function(){var r=i.response;if(0===r.byteLength&&200===i.status)return t(new Error("http status 200 returned without content."));i.status>=200&&i.status<300&&i.response?t(null,{data:r,cacheControl:i.getResponseHeader("Cache-Control"),expires:i.getResponseHeader("Expires")}):t(new ie(i.statusText,i.status,n.url))},i.send(),{cancel:function(){return i.abort()}}};var ao=function(n,t){void 0===t&&(t={});si(this,t);this.type=n},vh=function(n){function t(t,i){void 0===i&&(i={});n.call(this,"error",si({error:t},i))}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t}(ao),ir=function(){};ir.prototype.on=function(n,t){return this._listeners=this._listeners||{},lv(n,t,this._listeners),this};ir.prototype.off=function(n,t){return ah(n,t,this._listeners),ah(n,t,this._oneTimeListeners),this};ir.prototype.once=function(n,t){return this._oneTimeListeners=this._oneTimeListeners||{},lv(n,t,this._oneTimeListeners),this};ir.prototype.fire=function(n){var t,i,u,r,f,e,o;if("string"==typeof n&&(n=new ao(n,arguments[1]||{})),t=n.type,this.listens(t)){for(n.target=this,i=0,u=this._listeners&&this._listeners[t]?this._listeners[t].slice():[];i<u.length;i+=1)u[i].call(this,n);for(r=0,f=this._oneTimeListeners&&this._oneTimeListeners[t]?this._oneTimeListeners[t].slice():[];r<f.length;r+=1)e=f[r],ah(t,e,this._oneTimeListeners),e.call(this,n);o=this._eventedParent;o&&(si(n,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),o.fire(n))}else n instanceof vh&&console.error(n.error);return this};ir.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)};ir.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"},"*":{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"},lineMetrics:{type:"boolean","default":!1},generateId:{type:"boolean","default":!1}},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:{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},layout_circle:{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_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"},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"},"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:"string",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:{left:{},center:{},right:{}},"default":"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},"default":"center",requires:["text-field"],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-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"],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":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function_stop:{type:"array",minimum:0,maximum:22,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"},"case":{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{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"},"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:"Heatmap"},"+":{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"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{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:"string",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"}},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:"string",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"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,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:"string",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"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},"default":"visible","property-type":"constant"}},"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}},"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:"string",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"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"}},"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"}}};u=function(n,t,i,r){this.message=(n?n+": ":"")+i;r&&(this.identifier=r);null!=t&&t.__line__&&(this.line=t.__line__)};gt=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),t.prototype.constructor=t,t}(Error);vu=function(n,t){var i,r;for(void 0===t&&(t=[]),this.parent=n,this.bindings={},i=0,r=t;i<r.length;i+=1){var u=r[i],f=u[0],e=u[1];this.bindings[f]=e}};vu.prototype.concat=function(n){return new vu(this,n)};vu.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.");};vu.prototype.has=function(n){return!!this.bindings[n]||!!this.parent&&this.parent.has(n)};var vv={kind:"null"},r={kind:"number"},h={kind:"string"},s={kind:"boolean"},nu={kind:"color"},yu={kind:"object"},c={kind:"value"},vo={kind:"collator"},yv={kind:"formatted"};pv=[vv,r,h,s,nu,yv,yu,ni(c)];yh=iv(function(n,t){function i(n){return(n=Math.round(n))<0?0:n>255?255:n}function o(n){return n<0?0:n>1?1:n}function u(n){return"%"===n[n.length-1]?i(parseFloat(n)/100*255):i(parseInt(n))}function r(n){return"%"===n[n.length-1]?o(parseFloat(n)/100):o(parseFloat(n))}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;l=function(n,t,i,r){void 0===r&&(r=1);this.r=n;this.g=t;this.b=i;this.a=r};l.parse=function(n){if(n){if(n instanceof l)return n;if("string"==typeof n){var t=yh(n);if(t)return new l(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3])}}};l.prototype.toString=function(){var n=this.toArray(),t=n[0],i=n[1],r=n[2],u=n[3];return"rgba("+Math.round(t)+","+Math.round(i)+","+Math.round(r)+","+u+")"};l.prototype.toArray=function(){var t=this.r,i=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*i/n,255*r/n,n]};l.black=new l(0,0,0,1);l.white=new l(1,1,1,1);l.transparent=new l(0,0,0,0);wu=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"})};wu.prototype.compare=function(n,t){return this.collator.compare(n,t)};wu.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};rr=function(n,t,i){this.type=vo;this.locale=i;this.caseSensitive=n;this.diacriticSensitive=t};rr.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,s),!r)?null:(u=t.parse(void 0!==i["diacritic-sensitive"]&&i["diacritic-sensitive"],1,s),!u)?null:(f=null,i.locale&&!(f=t.parse(i.locale,1,h))?null:new rr(r,u,f))};rr.prototype.evaluate=function(n){return new wu(this.caseSensitive.evaluate(n),this.diacriticSensitive.evaluate(n),this.locale?this.locale.evaluate(n):null)};rr.prototype.eachChild=function(n){n(this.caseSensitive);n(this.diacriticSensitive);this.locale&&n(this.locale)};rr.prototype.possibleOutputs=function(){return[void 0]};rr.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]};ph=function(n,t,i){this.text=n;this.scale=t;this.fontStack=i};bt=function(n){this.sections=n};bt.prototype.toString=function(){return this.sections.map(function(n){return n.text}).join("")};bt.prototype.serialize=function(){for(var n,u,t=["format"],i=0,r=this.sections;i<r.length;i+=1)n=r[i],t.push(n.text),u=n.fontStack?["literal",n.fontStack.split(",")]:null,t.push({"text-font":u,"font-scale":n.scale});return t};pr=function(n){this.type=yv;this.sections=n};pr.parse=function(n,t){var o,u,f,e,i,s,l;if(n.length<3)return t.error("Expected at least two arguments.");if((n.length-1)%2!=0)return t.error("Expected an even number of arguments.");for(o=[],u=1;u<n.length-1;u+=2){if(f=t.parse(n[u],1,c),!f)return null;if(e=f.type.kind,"string"!==e&&"value"!==e&&"null"!==e)return t.error("Formatted text type must be 'string', 'value', or 'null'.");if(i=n[u+1],"object"!=typeof i||Array.isArray(i))return t.error("Format options argument must be an object.");if((s=null,i["font-scale"]&&!(s=t.parse(i["font-scale"],1,r)))||(l=null,i["text-font"]&&!(l=t.parse(i["text-font"],1,ni(h)))))return null;o.push({text:f,scale:s,font:l})}return new pr(o)};pr.prototype.evaluate=function(n){return new bt(this.sections.map(function(t){return new ph(t.text.evaluate(n)||"",t.scale?t.scale.evaluate(n):null,t.font?t.font.evaluate(n).join(","):null)}))};pr.prototype.eachChild=function(n){for(var t,i=0,r=this.sections;i<r.length;i+=1)t=r[i],n(t.text),t.scale&&n(t.scale),t.font&&n(t.font)};pr.prototype.possibleOutputs=function(){return[void 0]};pr.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.text.serialize()),t={},n.scale&&(t["font-scale"]=n.scale.serialize()),n.font&&(t["text-font"]=n.font.serialize()),i.push(t);return i};ti=function(n,t){this.type=n;this.value=t};ti.parse=function(n,t){if(2!==n.length)return t.error("'literal' expression requires exactly one argument, but found "+(n.length-1)+" instead.");if(!function n(t){var i,r,u;if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof l||t instanceof wu)return!0;if(Array.isArray(t)){for(i=0,r=t;i<r.length;i+=1)if(!n(r[i]))return!1;return!0}if("object"==typeof t){for(u in t)if(!n(t[u]))return!1;return!0}return!1}(n[1]))return t.error("invalid value");var u=n[1],r=st(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 ti(r,u)};ti.prototype.evaluate=function(){return this.value};ti.prototype.eachChild=function(){};ti.prototype.possibleOutputs=function(){return[this.value]};ti.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof l?["rgba"].concat(this.value.toArray()):this.value instanceof bt?this.value.serialize():this.value};rt=function(n){this.name="ExpressionEvaluationError";this.message=n};rt.prototype.toJSON=function(){return this.message};bv={string:h,number:r,boolean:s,object:yu};ht=function(n,t){this.type=n;this.args=t};ht.parse=function(n,t){var r;if(n.length<2)return t.error("Expected at least one argument.");for(var f=n[0],e=bv[f],u=[],i=1;i<n.length;i++){if(r=t.parse(n[i],i,c),!r)return null;u.push(r)}return new ht(e,u)};ht.prototype.evaluate=function(n){for(var i,t=0;t<this.args.length;t++){if(i=this.args[t].evaluate(n),!pu(this.type,st(i)))return i;if(t===this.args.length-1)throw new rt("Expected value to be of type "+g(this.type)+", but found "+g(st(i))+" instead.");}return null};ht.prototype.eachChild=function(n){this.args.forEach(n)};ht.prototype.possibleOutputs=function(){return(n=[]).concat.apply(n,this.args.map(function(n){return n.possibleOutputs()}));var n};ht.prototype.serialize=function(){return[this.type.kind].concat(this.args.map(function(n){return n.serialize()}))};wh={string:h,number:r,boolean:s};hi=function(n,t){this.type=n;this.input=t};hi.parse=function(n,t){var r,f,i,e,u;if(n.length<2||n.length>4)return t.error("Expected 1, 2, or 3 arguments, but found "+(n.length-1)+" instead.");if(n.length>2){if(i=n[1],"string"!=typeof i||!(i in wh))return t.error('The item type argument of "array" must be one of string, number, boolean',1);r=wh[i]}else r=c;if(n.length>3){if("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);f=n[2]}return e=ni(r,f),u=t.parse(n[n.length-1],n.length-1,c),u?new hi(e,u):null};hi.prototype.evaluate=function(n){var t=this.input.evaluate(n);if(pu(this.type,st(t)))throw new rt("Expected value to be of type "+g(this.type)+", but found "+g(st(t))+" instead.");return t};hi.prototype.eachChild=function(n){n(this.input)};hi.prototype.possibleOutputs=function(){return this.input.possibleOutputs()};hi.prototype.serialize=function(){var n=["array"],t=this.type.itemType,i;return("string"===t.kind||"number"===t.kind||"boolean"===t.kind)&&(n.push(t.kind),i=this.type.N,"number"==typeof i&&n.push(i)),n.push(this.input.serialize()),n};kv={"to-number":r,"to-color":nu};kt=function(n,t){this.type=n;this.args=t};kt.parse=function(n,t){var r;if(n.length<2)return t.error("Expected at least one argument.");for(var f=n[0],e=kv[f],u=[],i=1;i<n.length;i++){if(r=t.parse(n[i],i,c),!r)return null;u.push(r)}return new kt(e,u)};kt.prototype.evaluate=function(n){var t,f,r,e,o,i,u,s,a;if("color"===this.type.kind){for(r=0,e=this.args;r<e.length;r+=1)if(f=null,"string"==typeof(t=e[r].evaluate(n))){if(o=n.parseColor(t),o)return o}else if(Array.isArray(t)&&!(f=t.length<3||t.length>4?"Invalid rbga value "+JSON.stringify(t)+": expected an array containing either three or four numeric values.":wv(t[0],t[1],t[2],t[3])))return new l(t[0]/255,t[1]/255,t[2]/255,t[3]);throw new rt(f||"Could not parse color from value '"+("string"==typeof t?t:JSON.stringify(t))+"'");}if("formatted"===this.type.kind){for(u=0,s=this.args;u<s.length;u+=1)if("string"==typeof(i=s[u].evaluate(n)))return new bt([new ph(i,null,null)]);throw new rt("Could not parse formatted text from value '"+("string"==typeof i?i:JSON.stringify(i))+"'");}for(var h=null,c=0,v=this.args;c<v.length;c+=1)if(null!==(h=v[c].evaluate(n))&&(a=Number(h),!isNaN(a)))return a;throw new rt("Could not convert "+JSON.stringify(h)+" to number.");};kt.prototype.eachChild=function(n){this.args.forEach(n)};kt.prototype.possibleOutputs=function(){return(n=[]).concat.apply(n,this.args.map(function(n){return n.possibleOutputs()}));var n};kt.prototype.serialize=function(){var n=["to-"+this.type.kind];return this.eachChild(function(t){n.push(t.serialize())}),n};dv=["Unknown","Point","LineString","Polygon"];wr=function(){this._parseColorCache={}};wr.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null};wr.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?dv[this.feature.type]:this.feature.type:null};wr.prototype.properties=function(){return this.feature&&this.feature.properties||{}};wr.prototype.parseColor=function(n){var t=this._parseColorCache[n];return t||(t=this._parseColorCache[n]=l.parse(n)),t};nt=function(n,t,i,r){this.name=n;this.type=t;this._evaluate=i;this.args=r};nt.prototype.evaluate=function(n){return this._evaluate(n,this.args)};nt.prototype.eachChild=function(n){this.args.forEach(n)};nt.prototype.possibleOutputs=function(){return[void 0]};nt.prototype.serialize=function(){return[this.name].concat(this.args.map(function(n){return n.serialize()}))};nt.parse=function(n,t){var h=n[0],r=nt.definitions[h],e,d,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,y=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=y.filter(function(t){var i=t[0];return!Array.isArray(i)||i.length===n.length-1}),f=null,c=0,p=o;c<p.length;c+=1){var w=p[c],i=w[0],rt=w[1];f=new fr(t.registry,t.path,null,t.scope);for(var u=[],b=!1,s=1;s<n.length;s++){var ut=n[s],ft=Array.isArray(i)?i[s-1]:i.type,k=f.parse(ut,1+u.length,ft);if(!k){b=!0;break}u.push(k)}if(!b)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++)d=Array.isArray(i)?i[e]:i.type,tt=u[e],f.concat(e+1).checkSubtype(d,tt.type);if(0===f.errors.length)return new nt(h,it,rt,u)}}if(1===o.length)t.errors.push.apply(t.errors,f.errors);else{for(var et=(o.length?o:y).map(function(n){var t,i=n[0];return t=i,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};nt.register=function(n,t){for(var i in nt.definitions=t,t)n[i]=nt};ur=function(n,t){this.type=t.type;this.name=n;this.boundExpression=t};ur.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 ur(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)};ur.prototype.evaluate=function(n){return this.boundExpression.evaluate(n)};ur.prototype.eachChild=function(){};ur.prototype.possibleOutputs=function(){return[void 0]};ur.prototype.serialize=function(){return["var",this.name]};fr=function(n,t,i,r,u){void 0===t&&(t=[]);void 0===r&&(r=new vu);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};fr.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)};fr.prototype._parse=function(n,t){var f,e,i,r,u,o;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(e=this.registry[f],e){if(i=e.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||"value"!==u.kind)if("array"===r.kind&&"value"===u.kind)t.omitTypeAnnotations||(i=new hi(r,i));else if("color"!==r.kind||"value"!==u.kind&&"string"!==u.kind)if("formatted"!==r.kind||"value"!==u.kind&&"string"!==u.kind){if(this.checkSubtype(this.expectedType,i.type))return null}else t.omitTypeAnnotations||(i=new kt(r,[i]));else t.omitTypeAnnotations||(i=new kt(r,[i]));else t.omitTypeAnnotations||(i=new ht(r,[i]));if(!(i instanceof ti)&&function n(t){if(t instanceof ur)return n(t.boundExpression);if(t instanceof nt&&"error"===t.name||t instanceof rr)return!1;var r=t instanceof kt||t instanceof ht||t instanceof hi,i=!0;return(t.eachChild(function(t){i=r?i&&n(t):i&&t instanceof ti}),!i)?!1:bh(t)&&kh(t,["zoom","heatmap-density","line-progress","is-supported-script"])}(i)){o=new wr;try{i=new ti(i.type,i.evaluate(o))}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 void 0===n?this.error("'undefined' value invalid. Use null instead."):"object"==typeof n?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof n+" instead.")};fr.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 fr(this.registry,r,t||null,u,this.errors)};fr.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 gt(r,n))};fr.prototype.checkSubtype=function(n,t){var i=pu(n,t);return i&&this.error(i),i};er=function(n,t,i){var r,u;for(this.type=n,this.input=t,this.labels=[],this.outputs=[],r=0,u=i;r<u.length;r+=1){var f=u[r],e=f[0],o=f[1];this.labels.push(e);this.outputs.push(o)}};er.parse=function(n,t){var s=n[1],e=n.slice(2),u,f,i,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(!(s=t.parse(s,1,r)))return null;for(u=[],f=null,t.expectedType&&"value"!==t.expectedType.kind&&(f=t.expectedType),e.unshift(-1/0),i=0;i<e.length;i+=2){var h=e[i],l=e[i+1],c=i+1,a=i+2;if("number"!=typeof h)return t.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',c);if(u.length&&u[u.length-1][0]>=h)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',c);if(o=t.parse(l,a,f),!o)return null;f=f||o.type;u.push([h,o])}return new er(f,s,u)};er.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[gv(t,r)].evaluate(n))};er.prototype.eachChild=function(n){n(this.input);for(var t=0,i=this.outputs;t<i.length;t+=1)n(i[t])};er.prototype.possibleOutputs=function(){return(n=[]).concat.apply(n,this.outputs.map(function(n){return n.possibleOutputs()}));var n};er.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};ue=Object.freeze({number:ct,color:function(n,t,i){return new l(ct(n.r,t.r,i),ct(n.g,t.g,i),ct(n.b,t.b,i),ct(n.a,t.a,i))},array:function(n,t,i){return n.map(function(n,r){return ct(n,t[r],i)})}});ut=function(n,t,i,r){var u,f;for(this.type=n,this.interpolation=t,this.input=i,this.labels=[],this.outputs=[],u=0,f=r;u<f.length;u+=1){var e=f[u],o=e[0],s=e[1];this.labels.push(o);this.outputs.push(s)}};ut.interpolationFactor=function(n,t,i,r){var f=0,u;return"exponential"===n.name?f=dh(t,n.base,i,r):"linear"===n.name?f=dh(t,1,i,r):"cubic-bezier"===n.name&&(u=n.controlPoints,f=new rv(u[0],u[1],u[2],u[3]).solve(dh(t,1,i,r))),f};ut.parse=function(n,t){var i=n[1],h=n[2],c=n.slice(3),l,o,e,u,f,s;if(!Array.isArray(i)||0===i.length)return t.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){if(l=i[1],"number"!=typeof l)return t.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:l}}else{if("cubic-bezier"!==i[0])return t.error("Unknown interpolation type "+String(i[0]),1,0);if(o=i.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);i={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(!(h=t.parse(h,2,r)))return null;for(e=[],u=null,t.expectedType&&"value"!==t.expectedType.kind&&(u=t.expectedType),f=0;f<c.length;f+=2){var a=c[f],y=c[f+1],v=f+3,p=f+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(e.length&&e[e.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,p,u),!s)return null;u=u||s.type;e.push([a,s])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new ut(u,i,h,e):t.error("Type "+g(u)+" is not interpolatable.")};ut.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=gv(t,i),e=t[u],o=t[u+1],s=ut.interpolationFactor(this.interpolation,i,e,o),h=r[u].evaluate(n),c=r[u+1].evaluate(n);return ue[this.type.kind.toLowerCase()](h,c,s)};ut.prototype.eachChild=function(n){n(this.input);for(var t=0,i=this.outputs;t<i.length;t+=1)n(i[t])};ut.prototype.possibleOutputs=function(){return(n=[]).concat.apply(n,this.outputs.map(function(n){return n.possibleOutputs()}));var n};ut.prototype.serialize=function(){for(var t=["interpolate","linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints),this.input.serialize()],n=0;n<this.labels.length;n++)t.push(this.labels[n],this.outputs[n].serialize());return t};or=function(n,t){this.type=n;this.args=t};or.parse=function(n,t){var i,r,s,f,h;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(s=o[e],f=t.parse(s,1+u.length,i,void 0,{omitTypeAnnotations:!0}),!f)return null;i=i||f.type;u.push(f)}return h=r&&u.some(function(n){return pu(r,n.type)}),new or(h?c:i,u)};or.prototype.evaluate=function(n){for(var i=null,t=0,r=this.args;t<r.length;t+=1)if(null!==(i=r[t].evaluate(n)))break;return i};or.prototype.eachChild=function(n){this.args.forEach(n)};or.prototype.possibleOutputs=function(){return(n=[]).concat.apply(n,this.args.map(function(n){return n.possibleOutputs()}));var n};or.prototype.serialize=function(){var n=["coalesce"];return this.eachChild(function(t){n.push(t.serialize())}),n};sr=function(n,t){this.type=t.type;this.bindings=[].concat(n);this.result=t};sr.prototype.evaluate=function(n){return this.result.evaluate(n)};sr.prototype.eachChild=function(n){for(var t=0,i=this.bindings;t<i.length;t+=1)n(i[t][1]);n(this.result)};sr.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,void 0,u),e?new sr(u,e):null};sr.prototype.possibleOutputs=function(){return this.result.possibleOutputs()};sr.prototype.serialize=function(){for(var n=["let"],t=0,i=this.bindings;t<i.length;t+=1){var r=i[t],u=r[0],f=r[1];n.push(u,f.serialize())}return n.push(this.result.serialize()),n};br=function(n,t,i){this.type=n;this.index=t;this.input=i};br.parse=function(n,t){var u,i,f;return 3!==n.length?t.error("Expected 2 arguments, but found "+(n.length-1)+" instead."):(u=t.parse(n[1],1,r),i=t.parse(n[2],2,ni(t.expectedType||c)),!u||!i)?null:(f=i.type,new br(f.itemType,u,i))};br.prototype.evaluate=function(n){var t=this.index.evaluate(n),i=this.input.evaluate(n);if(t<0)throw new rt("Array index out of bounds: "+t+" < 0.");if(t>=i.length)throw new rt("Array index out of bounds: "+t+" > "+(i.length-1)+".");if(t!==Math.floor(t))throw new rt("Array index must be an integer, but found "+t+" instead.");return i[t]};br.prototype.eachChild=function(n){n(this.index);n(this.input)};br.prototype.possibleOutputs=function(){return[void 0]};br.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};kr=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};kr.parse=function(n,t){var o,u,e,w,r,h,y,i,l,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,st(i)))return null}else o=st(i);if(void 0!==a[String(i)])return r.error("Branch labels must be unique.");a[String(i)]=v.length}if(l=t.parse(w,f,u),!l)return null;u=u||l.type;v.push(l)}return(s=t.parse(n[1],1,c),!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 kr(o,u,s,a,v,p):null)};kr.prototype.evaluate=function(n){var t=this.input.evaluate(n);return(st(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(n)};kr.prototype.eachChild=function(n){n(this.input);this.outputs.forEach(n);n(this.otherwise)};kr.prototype.possibleOutputs=function(){return(n=[]).concat.apply(n,this.outputs.map(function(n){return n.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var n};kr.prototype.serialize=function(){for(var n,f,t=this,i=["match",this.input.serialize()],r=[],s={},u=0,h=Object.keys(this.cases).sort();u<h.length;u+=1)n=h[u],f=s[t.cases[n]],void 0===f?(s[t.cases[n]]=r.length,r.push([t.cases[n],[n]])):r[f][1].push(n);for(var c=function(n){return"number"===t.inputType.kind?Number(n):n},e=0,l=r;e<l.length;e+=1){var a=l[e],v=a[0],o=a[1];1===o.length?i.push(c(o[0])):i.push(o.map(c));i.push(t.outputs[v].serialize())}return i.push(this.otherwise.serialize()),i};dr=function(n,t,i){this.type=n;this.branches=t;this.otherwise=i};dr.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,s),!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 dr(r,f,o):null};dr.prototype.evaluate=function(n){for(var t=0,i=this.branches;t<i.length;t+=1){var r=i[t],u=r[0],f=r[1];if(u.evaluate(n))return f.evaluate(n)}return this.otherwise.evaluate(n)};dr.prototype.eachChild=function(n){for(var t=0,i=this.branches;t<i.length;t+=1){var r=i[t],u=r[0],f=r[1];n(u);n(f)}n(this.otherwise)};dr.prototype.possibleOutputs=function(){return(n=[]).concat.apply(n,this.branches.map(function(n){return n[0],n[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var n};dr.prototype.serialize=function(){var n=["case"];return this.eachChild(function(t){n.push(t.serialize())}),n};var sk=bu("==",function(n,t,i){return t===i},ty),hk=bu("!=",function(n,t,i){return t!==i},function(n,t,i,r){return!ty(0,t,i,r)}),ck=bu("<",function(n,t,i){return t<i},function(n,t,i,r){return r.compare(t,i)<0}),lk=bu(">",function(n,t,i){return t>i},function(n,t,i,r){return r.compare(t,i)>0}),ak=bu("<=",function(n,t,i){return t<=i},function(n,t,i,r){return r.compare(t,i)<=0}),vk=bu(">=",function(n,t,i){return t>=i},function(n,t,i,r){return r.compare(t,i)>=0}),tu=function(n){this.type=r;this.input=n};tu.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 tu(i):null};tu.prototype.evaluate=function(n){var t=this.input.evaluate(n);if("string"==typeof t||Array.isArray(t))return t.length;throw new rt("Expected value to be of type string or array, but found "+g(st(t))+" instead.");};tu.prototype.eachChild=function(n){n(this.input)};tu.prototype.possibleOutputs=function(){return[void 0]};tu.prototype.serialize=function(){var n=["length"];return this.eachChild(function(t){n.push(t.serialize())}),n};iu={"==":sk,"!=":hk,">":lk,"<":ck,">=":vk,"<=":ak,array:hi,at:br,boolean:ht,"case":dr,coalesce:or,collator:rr,format:pr,interpolate:ut,length:tu,"let":sr,literal:ti,match:kr,number:ht,object:ht,step:er,string:ht,"to-color":kt,"to-number":kt,"var":ur};nt.register(iu,{error:[{kind:"error"},[h],function(n,t){var i=t[0];throw new rt(i.evaluate(n));}],"typeof":[h,[c],function(n,t){return g(st(t[0].evaluate(n)))}],"to-string":[h,[c],function(n,t){var i=t[0],r=typeof(i=i.evaluate(n));return null===i?"":"string"===r||"number"===r||"boolean"===r?String(i):i instanceof l||i instanceof bt?i.toString():JSON.stringify(i)}],"to-boolean":[s,[c],function(n,t){var i=t[0];return Boolean(i.evaluate(n))}],"to-rgba":[ni(r,4),[nu],function(n,t){return t[0].evaluate(n).toArray()}],rgb:[nu,[r,r,r],iy],rgba:[nu,[r,r,r,r],iy],has:{type:s,overloads:[[[h],function(n,t){return ry(t[0].evaluate(n),n.properties())}],[[h,yu],function(n,t){var i=t[0],r=t[1];return ry(i.evaluate(n),r.evaluate(n))}]]},get:{type:c,overloads:[[[h],function(n,t){return gh(t[0].evaluate(n),n.properties())}],[[h,yu],function(n,t){var i=t[0],r=t[1];return gh(i.evaluate(n),r.evaluate(n))}]]},"feature-state":[c,[h],function(n,t){return gh(t[0].evaluate(n),n.featureState||{})}],properties:[yu,[],function(n){return n.properties()}],"geometry-type":[h,[],function(n){return n.geometryType()}],id:[c,[],function(n){return n.id()}],zoom:[r,[],function(n){return n.globals.zoom}],"heatmap-density":[r,[],function(n){return n.globals.heatmapDensity||0}],"line-progress":[r,[],function(n){return n.globals.lineProgress||0}],"+":[r,ru(r),function(n,t){for(var r=0,i=0,u=t;i<u.length;i+=1)r+=u[i].evaluate(n);return r}],"*":[r,ru(r),function(n,t){for(var r=1,i=0,u=t;i<u.length;i+=1)r*=u[i].evaluate(n);return r}],"-":{type:r,overloads:[[[r,r],function(n,t){var i=t[0],r=t[1];return i.evaluate(n)-r.evaluate(n)}],[[r],function(n,t){return-t[0].evaluate(n)}]]},"/":[r,[r,r],function(n,t){var i=t[0],r=t[1];return i.evaluate(n)/r.evaluate(n)}],"%":[r,[r,r],function(n,t){var i=t[0],r=t[1];return i.evaluate(n)%r.evaluate(n)}],ln2:[r,[],function(){return Math.LN2}],pi:[r,[],function(){return Math.PI}],e:[r,[],function(){return Math.E}],"^":[r,[r,r],function(n,t){var i=t[0],r=t[1];return Math.pow(i.evaluate(n),r.evaluate(n))}],sqrt:[r,[r],function(n,t){var i=t[0];return Math.sqrt(i.evaluate(n))}],log10:[r,[r],function(n,t){var i=t[0];return Math.log10(i.evaluate(n))}],ln:[r,[r],function(n,t){var i=t[0];return Math.log(i.evaluate(n))}],log2:[r,[r],function(n,t){var i=t[0];return Math.log2(i.evaluate(n))}],sin:[r,[r],function(n,t){var i=t[0];return Math.sin(i.evaluate(n))}],cos:[r,[r],function(n,t){var i=t[0];return Math.cos(i.evaluate(n))}],tan:[r,[r],function(n,t){var i=t[0];return Math.tan(i.evaluate(n))}],asin:[r,[r],function(n,t){var i=t[0];return Math.asin(i.evaluate(n))}],acos:[r,[r],function(n,t){var i=t[0];return Math.acos(i.evaluate(n))}],atan:[r,[r],function(n,t){var i=t[0];return Math.atan(i.evaluate(n))}],min:[r,ru(r),function(n,t){return Math.min.apply(Math,t.map(function(t){return t.evaluate(n)}))}],max:[r,ru(r),function(n,t){return Math.max.apply(Math,t.map(function(t){return t.evaluate(n)}))}],abs:[r,[r],function(n,t){var i=t[0];return Math.abs(i.evaluate(n))}],round:[r,[r],function(n,t){var i=t[0].evaluate(n);return i<0?-Math.round(-i):Math.round(i)}],floor:[r,[r],function(n,t){var i=t[0];return Math.floor(i.evaluate(n))}],ceil:[r,[r],function(n,t){var i=t[0];return Math.ceil(i.evaluate(n))}],"filter-==":[s,[h,c],function(n,t){var i=t[0],r=t[1];return n.properties()[i.value]===r.value}],"filter-id-==":[s,[c],function(n,t){var i=t[0];return n.id()===i.value}],"filter-type-==":[s,[h],function(n,t){var i=t[0];return n.geometryType()===i.value}],"filter-<":[s,[h,c],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-<":[s,[c],function(n,t){var u=t[0],i=n.id(),r=u.value;return typeof i==typeof r&&i<r}],"filter->":[s,[h,c],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->":[s,[c],function(n,t){var u=t[0],i=n.id(),r=u.value;return typeof i==typeof r&&i>r}],"filter-<=":[s,[h,c],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-<=":[s,[c],function(n,t){var u=t[0],i=n.id(),r=u.value;return typeof i==typeof r&&i<=r}],"filter->=":[s,[h,c],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->=":[s,[c],function(n,t){var u=t[0],i=n.id(),r=u.value;return typeof i==typeof r&&i>=r}],"filter-has":[s,[c],function(n,t){return t[0].value in n.properties()}],"filter-has-id":[s,[],function(n){return null!==n.id()}],"filter-type-in":[s,[ni(h)],function(n,t){return t[0].value.indexOf(n.geometryType())>=0}],"filter-id-in":[s,[ni(c)],function(n,t){return t[0].value.indexOf(n.id())>=0}],"filter-in-small":[s,[h,ni(c)],function(n,t){var i=t[0];return t[1].value.indexOf(n.properties()[i.value])>=0}],"filter-in-large":[s,[h,ni(c)],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:s,overloads:[[[s,s],function(n,t){var i=t[0],r=t[1];return i.evaluate(n)&&r.evaluate(n)}],[ru(s),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:s,overloads:[[[s,s],function(n,t){var i=t[0],r=t[1];return i.evaluate(n)||r.evaluate(n)}],[ru(s),function(n,t){for(var i=0,r=t;i<r.length;i+=1)if(r[i].evaluate(n))return!0;return!1}]]},"!":[s,[s],function(n,t){return!t[0].evaluate(n)}],"is-supported-script":[s,[h],function(n,t){var r=t[0],i=n.globals&&n.globals.isSupportedScript;return!i||i(r.evaluate(n))}],upcase:[h,[h],function(n,t){return t[0].evaluate(n).toUpperCase()}],downcase:[h,[h],function(n,t){return t[0].evaluate(n).toLowerCase()}],concat:[h,ru(h),function(n,t){return t.map(function(t){return t.evaluate(n)}).join("")}],"resolved-locale":[h,[vo],function(n,t){return t[0].evaluate(n).resolvedLocale()}]});var ey=.95047,oy=1,sy=1.08883,hy=4/29,gu=6/29,cy=3*gu*gu,yk=gu*gu*gu,pk=Math.PI/180,wk=180/Math.PI;var bk={forward:ly,reverse:ay,interpolate:function(n,t,i){return{l:ct(n.l,t.l,i),a:ct(n.a,t.a,i),b:ct(n.b,t.b,i),alpha:ct(n.alpha,t.alpha,i)}}},kk={forward:function(n){var t=ly(n),f=t.l,i=t.a,r=t.b,u=Math.atan2(r,i)*wk;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*pk,i=n.c;return ay({l:n.l,a:Math.cos(t)*i,b:Math.sin(t)*i,alpha:n.alpha})},interpolate:function(n,t,i){return{h:function(n,t,i){var r=t-n;return n+i*(r>180||r<-180?r-360*Math.round(r/360):r)}(n.h,t.h,i),c:ct(n.c,t.c,i),l:ct(n.l,t.l,i),alpha:ct(n.alpha,t.alpha,i)}}},vy=Object.freeze({lab:bk,hcl:kk});ee=function(n,t){var i;this.expression=n;this._warningHistory={};this._defaultValue="color"===(i=t).type&&po(i.default)?new l(0,0,0,0):"color"===i.type?l.parse(i.default)||null:void 0===i.default?null:i.default;"enum"===t.type&&(this._enumValues=t.values)};ee.prototype.evaluateWithoutErrorHandling=function(n,t,i){return this._evaluator||(this._evaluator=new wr),this._evaluator.globals=n,this._evaluator.feature=t,this._evaluator.featureState=i,this.expression.evaluate(this._evaluator)};ee.prototype.evaluate=function(n,t,i){this._evaluator||(this._evaluator=new wr);this._evaluator.globals=n;this._evaluator.feature=t;this._evaluator.featureState=i;try{var r=this.expression.evaluate(this._evaluator);if(null==r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new rt("Expected value to be one of "+Object.keys(this._enumValues).map(function(n){return JSON.stringify(n)}).join(", ")+", but found "+JSON.stringify(r)+" instead.");return r}catch(n){return this._warningHistory[n.message]||(this._warningHistory[n.message]=!0,"undefined"!=typeof console&&console.warn(n.message)),this._defaultValue}};oe=function(n,t){this.kind=n;this._styleExpression=t;this.isStateDependent="constant"!==n&&!yo(t.expression)};oe.prototype.evaluateWithoutErrorHandling=function(n,t,i){return this._styleExpression.evaluateWithoutErrorHandling(n,t,i)};oe.prototype.evaluate=function(n,t,i){return this._styleExpression.evaluate(n,t,i)};nf=function(n,t,i){this.kind=n;this.zoomStops=i.labels;this._styleExpression=t;this.isStateDependent="camera"!==n&&!yo(t.expression);i instanceof ut&&(this._interpolationType=i.interpolation)};nf.prototype.evaluateWithoutErrorHandling=function(n,t,i){return this._styleExpression.evaluateWithoutErrorHandling(n,t,i)};nf.prototype.evaluate=function(n,t,i){return this._styleExpression.evaluate(n,t,i)};nf.prototype.interpolationFactor=function(n,t,i){return this._interpolationType?ut.interpolationFactor(this._interpolationType,n,t,i):0};tf=function(n,t){this._parameters=n;this._specification=t;au(this,function n(t,i){var r,o,c,nt="color"===i.type,a=t.stops&&"object"==typeof t.stops[0][0],tt=a||void 0!==t.property,it=a||!tt,u=t.type||(nc(i)?"exponential":"interval"),s,v,y,h,f,k;if(nt&&((t=au({},t)).stops&&(t.stops=t.stops.map(function(n){return[n[0],l.parse(n[1])]})),t.default=t.default?l.parse(t.default):l.parse(i.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!vy[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=yy;else if("interval"===u)r=nd;else if("categorical"===u){for(r=gk,o=Object.create(null),s=0,v=t.stops;s<v.length;s+=1)y=v[s],o[y[0]]=y[1];c=typeof t.stops[0][0]}else{if("identity"!==u)throw new Error('Unknown function type "'+u+'"');r=td}if(a){for(var e={},d=[],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:[]},d.push(f)),e[f].stops.push([h[0].value,h[1]]);for(var w=[],b=0,g=d;b<g.length;b+=1)k=g[b],w.push([e[k].zoom,n(e[k],i)]);return{kind:"composite",interpolationFactor:ut.interpolationFactor.bind(void 0,{name:"linear"}),zoomStops:w.map(function(n){return n[0]}),evaluate:function(n,r){var u=n.zoom;return yy({stops:w,base:t.base},i,u).evaluate(u,r)}}}return it?{kind:"camera",interpolationFactor:"exponential"===u?ut.interpolationFactor.bind(void 0,{name:"exponential",base:void 0!==t.base?t.base:1}):function(){return 0},zoomStops:t.stops.map(function(n){return n[0]}),evaluate:function(n){var u=n.zoom;return r(t,i,u,o,c)}}:{kind:"source",evaluate:function(n,u){var f=u&&u.properties?u.properties[t.property]:void 0;return void 0===f?fe(t.default,i.default):r(t,i,f,o,c)}}}(this._parameters,this._specification))};tf.deserialize=function(n){return new tf(n._parameters,n._specification)};tf.serialize=function(n){return{_parameters:n._parameters,_specification:n._specification}};gy={type:"boolean","default":!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};vc={"*":function(){return[]},array:by,boolean:function(n){var t=n.value,r=n.key,i=a(t);return"boolean"!==i?[new u(r,t,"boolean expected, "+i+" found")]:[]},number:ky,color:function(n){var i=n.key,t=n.value,r=a(t);return"string"!==r?[new u(i,t,"color expected, "+r+" found")]:null===yh(t)?[new u(i,t,'color expected, "'+t+'" found')]:[]},constants:av,"enum":wo,filter:lc,"function":dy,layer:fp,object:ii,source:ep,light:op,string:ac,formatted:function(n){return 0===ac(n).length?[]:sc(n)}};ci.source=rf(ep);ci.light=rf(op);ci.layer=rf(fp);ci.filter=rf(lc);ci.paintProperty=rf(rp);ci.layoutProperty=rf(up);var hp=ci,ud=ci.light,fd=ci.paintProperty,ed=ci.layoutProperty;uf=cr;hr=3;cr.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)};cr.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer.";};cr.prototype._insertCell=function(n,t,i,r,u,f){this.cells[u].push(f)};cr.prototype.query=function(n,t,i,r){var f=this.min,e=this.max,u;return n<=f&&t<=f&&e<=i&&e<=r?Array.prototype.slice.call(this.keys):(u=[],this._forEachCell(n,t,i,r,this._queryCell,u,{}),u)};cr.prototype._queryCell=function(n,t,i,r,u,f,e){var c=this.cells[u],o,s;if(null!==c)for(var a=this.keys,h=this.bboxes,l=0;l<c.length;l++)o=c[l],void 0===e[o]&&(s=4*o,n<=h[s+2]&&t<=h[s+3]&&i>=h[s+0]&&r>=h[s+1]?(e[o]=!0,f.push(a[o])):e[o]=!1)};cr.prototype._forEachCell=function(n,t,i,r,u,f,e){for(var o,h,c=this._convertToCellCoord(n),l=this._convertToCellCoord(t),a=this._convertToCellCoord(i),v=this._convertToCellCoord(r),s=c;s<=a;s++)for(o=l;o<=v;o++)if(h=this.d*o+s,u.call(this,n,t,i,r,h,f,e))return};cr.prototype._convertToCellCoord=function(n){return Math.max(0,Math.min(this.d-1,Math.floor(n*this.scale)+this.padding))};cr.prototype.toArrayBuffer=function(){var n,t,i,f;if(this.arrayBuffer)return this.arrayBuffer;for(var r=this.cells,e=hr+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[hr+i]=t,n.set(f,t),t+=f.length;return n[hr+r.length]=t,n.set(this.keys,t),t+=this.keys.length,n[hr+r.length+1]=t,n.set(this.bboxes,t),t+=this.bboxes.length,n.buffer};yc=self.ImageData;ff={};for(ns in e("Object",Object),uf.serialize=function(n,t){var i=n.toArrayBuffer();return t&&t.push(i),i},uf.deserialize=function(n){return new uf(n)},e("Grid",uf),e("Color",l),e("Error",Error),e("StylePropertyFunction",tf),e("StyleExpression",ee,{omit:["_evaluator"]}),e("ZoomDependentExpression",nf),e("ZoomConstantExpression",oe),e("CompoundExpression",nt,{omit:["_evaluate"]}),iu)iu[ns]._classRegistryKey||e("Expression_"+ns,iu[ns]);ts=function(){this.first=!0};ts.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))};i={"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 bc,kc=!1,he=null,ap=!1,dc=new ir,fu={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return ap||null!=fu.applyArabicShaping}},k=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 ts,this.transition={})};k.prototype.isSupportedScript=function(n){return function(n,t){for(var i=0,r=n;i<r.length;i+=1)if(!sd(r[i].charCodeAt(0),t))return!1;return!0}(n,fu.isLoaded())};k.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)};eu=function(n,t){this.property=n;this.value=t;this.expression=oc(void 0===t?n.specification.default:t,n.specification)};eu.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind};eu.prototype.possiblyEvaluate=function(n){return this.property.possiblyEvaluate(this,n)};ef=function(n){this.property=n;this.value=new eu(n,void 0)};ef.prototype.transitioned=function(n,t){return new is(this.property,this.value,t,si({},n.transition,this.transition),n.now)};ef.prototype.untransitioned=function(){return new is(this.property,this.value,null,{},0)};li=function(n){this._properties=n;this._values=Object.create(n.defaultTransitionablePropertyValues)};li.prototype.getValue=function(n){return tr(this._values[n].value.value)};li.prototype.setValue=function(n,t){this._values.hasOwnProperty(n)||(this._values[n]=new ef(this._values[n].property));this._values[n].value=new eu(this._values[n].property,null===t?void 0:tr(t))};li.prototype.getTransition=function(n){return tr(this._values[n].transition)};li.prototype.setTransition=function(n,t){this._values.hasOwnProperty(n)||(this._values[n]=new ef(this._values[n].property));this._values[n].transition=tr(t)||void 0};li.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};li.prototype.transitioned=function(n,t){for(var i,u=new of(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};li.prototype.untransitioned=function(){for(var t,i=new of(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};is=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)};is.prototype.possiblyEvaluate=function(n){var i=n.now||0,t=this.value.possiblyEvaluate(n),r=this.prior,u;return r?i>this.end?(this.prior=null,t):this.value.isDataDriven()?(this.prior=null,t):i<this.begin?r.possiblyEvaluate(n):(u=(i-this.begin)/(this.end-this.begin),this.property.interpolate(r.possiblyEvaluate(n),t,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)}(u))):t};of=function(n){this._properties=n;this._values=Object.create(n.defaultTransitioningPropertyValues)};of.prototype.possiblyEvaluate=function(n){for(var i,r=new ce(this._properties),t=0,u=Object.keys(this._values);t<u.length;t+=1)i=u[t],r._values[i]=this._values[i].possiblyEvaluate(n);return r};of.prototype.hasTransition=function(){for(var i,n=0,t=Object.keys(this._values);n<t.length;n+=1)if(i=t[n],this._values[i].prior)return!0;return!1};sf=function(n){this._properties=n;this._values=Object.create(n.defaultPropertyValues)};sf.prototype.getValue=function(n){return tr(this._values[n].value)};sf.prototype.setValue=function(n,t){this._values[n]=new eu(this._values[n].property,null===t?void 0:tr(t))};sf.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};sf.prototype.possiblyEvaluate=function(n){for(var i,r=new ce(this._properties),t=0,u=Object.keys(this._values);t<u.length;t+=1)i=u[t],r._values[i]=this._values[i].possiblyEvaluate(n);return r};ai=function(n,t,i){this.property=n;this.value=t;this.globals=i};ai.prototype.isConstant=function(){return"constant"===this.value.kind};ai.prototype.constantOr=function(n){return"constant"===this.value.kind?this.value.value:n};ai.prototype.evaluate=function(n,t){return this.property.evaluate(this.value,this.globals,n,t)};ce=function(n){this._properties=n;this._values=Object.create(n.defaultPossiblyEvaluatedValues)};ce.prototype.get=function(n){return this._values[n]};f=function(n){this.specification=n};f.prototype.possiblyEvaluate=function(n,t){return n.expression.evaluate(t)};f.prototype.interpolate=function(n,t,i){var r=ue[this.specification.type];return r?r(n,t,i):n};o=function(n){this.specification=n};o.prototype.possiblyEvaluate=function(n,t){return"constant"===n.expression.kind||"camera"===n.expression.kind?new ai(this,{kind:"constant",value:n.expression.evaluate(t)},t):new ai(this,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 ai(this,{kind:"constant",value:void 0},n.globals);var r=ue[this.specification.type];return r?new ai(this,{kind:"constant",value:r(n.value.value,t.value.value,i)},n.globals):n};o.prototype.evaluate=function(n,t,i,r){return"constant"===n.kind?n.value:n.evaluate(t,i,r)};vi=function(n){this.specification=n};vi.prototype.possiblyEvaluate=function(n,t){if(void 0!==n.value){if("constant"===n.expression.kind){var i=n.expression.evaluate(t);return this._calculate(i,i,i,t)}return this._calculate(n.expression.evaluate(new k(Math.floor(t.zoom-1),t)),n.expression.evaluate(new k(Math.floor(t.zoom),t)),n.expression.evaluate(new k(Math.floor(t.zoom+1),t)),t)}};vi.prototype._calculate=function(n,t,i,r){var u=r.zoom,f=u-Math.floor(u),e=r.crossFadingFactor();return u>r.zoomHistory.lastIntegerZoom?{from:n,to:t,fromScale:2,toScale:1,t:f+(1-f)*e}:{from:i,to:t,fromScale:.5,toScale:1,t:1-(1-e)*f}};vi.prototype.interpolate=function(n){return n};hf=function(n){this.specification=n};hf.prototype.possiblyEvaluate=function(n,t){return!!n.expression.evaluate(t)};hf.prototype.interpolate=function(){return!1};vt=function(n){for(var t in this.properties=n,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},n){var i=n[t],r=this.defaultPropertyValues[t]=new eu(i,void 0),u=this.defaultTransitionablePropertyValues[t]=new ef(i);this.defaultTransitioningPropertyValues[t]=u.untransitioned();this.defaultPossiblyEvaluatedValues[t]=r.possiblyEvaluate({})}};e("DataDrivenProperty",o);e("DataConstantProperty",f);e("CrossFadedProperty",vi);e("ColorRampProperty",hf);var yi=function(n){function i(t,i){var r,u;for(r in n.call(this),this.id=t.id,this.metadata=t.metadata,this.type=t.type,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,this.visibility="visible","background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),this._featureFilter=function(){return!0},i.layout&&(this._unevaluatedLayout=new sf(i.layout)),this._transitionablePaint=new li(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()}return n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i,i.prototype.getLayoutProperty=function(n){return"visibility"===n?this.visibility:this._unevaluatedLayout.getValue(n)},i.prototype.setLayoutProperty=function(n,t,i){if(null!=t){var r="layers."+this.id+".layout."+n;if(this._validate(ed,r,n,t,i))return}"visibility"!==n?this._unevaluatedLayout.setValue(n,t):this.visibility="none"===t?t:"visible"},i.prototype.getPaintProperty=function(n){return eh(n,"-transition")?this._transitionablePaint.getTransition(n.slice(0,-11)):this._transitionablePaint.getValue(n)},i.prototype.setPaintProperty=function(n,t,i){var r,u,f;return null!=t&&(r="layers."+this.id+".paint."+n,this._validate(fd,r,n,t,i))?!1:eh(n,"-transition")?(this._transitionablePaint.setTransition(n.slice(0,-11),t||void 0),!1):(u=this._transitionablePaint._values[n].value.isDataDriven(),this._transitionablePaint.setValue(n,t),f=this._transitionablePaint._values[n].value.isDataDriven(),this._handleSpecialPaintPropertyUpdate(n),f||u)},i.prototype._handleSpecialPaintPropertyUpdate=function(){},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){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(n));this.paint=this._transitioningPaint.possiblyEvaluate(n)},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"none"===this.visibility&&(n.layout=n.layout||{},n.layout.visibility="none"),cv(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(!f||!1!==f.validate)&&cp(this,n.call(hp,{key:i,layerType:this.type,objectKey:r,value:u,styleSpec:t,style:{glyphs:!0,sprite:!0}}))},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 ai&&du(n.property.specification)&&("source"===n.value.kind||"composite"===n.value.kind)&&n.value.isStateDependent)return!0;return!1},i}(ir),hd={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},le=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},y=function(){this.isTransferred=!1;this.capacity=-1;this.resize(0)};y.serialize=function(n,t){return n._trim(),t&&(n.isTransferred=!0,t.push(n.arrayBuffer)),{length:n.length,arrayBuffer:n.arrayBuffer}};y.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};y.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())};y.prototype.clear=function(){this.length=0};y.prototype.resize=function(n){this.reserve(n);this.length=n};y.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)}};y.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout");};cf=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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,r;return this.resize(i+1),r=2*i,this.int16[r+0]=n,this.int16[r+1]=t,i},t.prototype.emplace=function(n,t,i){var r=2*n;return this.int16[r+0]=t,this.int16[r+1]=i,n},t}(y);cf.prototype.bytesPerElement=4;e("StructArrayLayout2i4",cf);ae=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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 f=this.length,u;return this.resize(f+1),u=4*f,this.int16[u+0]=n,this.int16[u+1]=t,this.int16[u+2]=i,this.int16[u+3]=r,f},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}(y);ae.prototype.bytesPerElement=8;e("StructArrayLayout4i8",ae);rs=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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 o=this.length,e;return this.resize(o+1),e=6*o,this.int16[e+0]=n,this.int16[e+1]=t,this.int16[e+2]=i,this.int16[e+3]=r,this.int16[e+4]=u,this.int16[e+5]=f,o},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}(y);rs.prototype.bytesPerElement=12;e("StructArrayLayout2i4i12",rs);us=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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,e,o){var c=this.length,s,h;return this.resize(c+1),s=6*c,h=12*c,this.int16[s+0]=n,this.int16[s+1]=t,this.int16[s+2]=i,this.int16[s+3]=r,this.uint8[h+8]=u,this.uint8[h+9]=f,this.uint8[h+10]=e,this.uint8[h+11]=o,c},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s){var h=6*n,c=12*n;return this.int16[h+0]=t,this.int16[h+1]=i,this.int16[h+2]=r,this.int16[h+3]=u,this.uint8[c+8]=f,this.uint8[c+9]=e,this.uint8[c+10]=o,this.uint8[c+11]=s,n},t}(y);us.prototype.bytesPerElement=12;e("StructArrayLayout4i4ub12",us);fs=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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){var h=this.length,s;return this.resize(h+1),s=8*h,this.int16[s+0]=n,this.int16[s+1]=t,this.int16[s+2]=i,this.int16[s+3]=r,this.uint16[s+4]=u,this.uint16[s+5]=f,this.uint16[s+6]=e,this.uint16[s+7]=o,h},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s){var h=8*n;return this.int16[h+0]=t,this.int16[h+1]=i,this.int16[h+2]=r,this.int16[h+3]=u,this.uint16[h+4]=f,this.uint16[h+5]=e,this.uint16[h+6]=o,this.uint16[h+7]=s,n},t}(y);fs.prototype.bytesPerElement=16;e("StructArrayLayout4i4ui16",fs);es=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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 u=this.length,r;return this.resize(u+1),r=3*u,this.float32[r+0]=n,this.float32[r+1]=t,this.float32[r+2]=i,u},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}(y);es.prototype.bytesPerElement=12;e("StructArrayLayout3f12",es);os=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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,i;return this.resize(t+1),i=1*t,this.uint32[i+0]=n,t},t.prototype.emplace=function(n,t){var i=1*n;return this.uint32[i+0]=t,n},t}(y);os.prototype.bytesPerElement=4;e("StructArrayLayout1ul4",os);ss=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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,h,c){var a=this.length,l,v;return this.resize(a+1),l=12*a,v=6*a,this.int16[l+0]=n,this.int16[l+1]=t,this.int16[l+2]=i,this.int16[l+3]=r,this.int16[l+4]=u,this.int16[l+5]=f,this.uint32[v+3]=e,this.uint16[l+8]=o,this.uint16[l+9]=s,this.int16[l+10]=h,this.int16[l+11]=c,a},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c,l){var a=12*n,v=6*n;return this.int16[a+0]=t,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=u,this.int16[a+4]=f,this.int16[a+5]=e,this.uint32[v+3]=o,this.uint16[a+8]=s,this.uint16[a+9]=h,this.int16[a+10]=c,this.int16[a+11]=l,n},t}(y);ss.prototype.bytesPerElement=24;e("StructArrayLayout6i1ul2ui2i24",ss);ve=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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 o=this.length,e;return this.resize(o+1),e=6*o,this.int16[e+0]=n,this.int16[e+1]=t,this.int16[e+2]=i,this.int16[e+3]=r,this.int16[e+4]=u,this.int16[e+5]=f,o},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}(y);ve.prototype.bytesPerElement=12;e("StructArrayLayout2i2i2i12",ve);hs=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},t.prototype.emplaceBack=function(n,t){var i=this.length,r;return this.resize(i+1),r=4*i,this.uint8[r+0]=n,this.uint8[r+1]=t,i},t.prototype.emplace=function(n,t,i){var r=4*n;return this.uint8[r+0]=t,this.uint8[r+1]=i,n},t}(y);hs.prototype.bytesPerElement=4;e("StructArrayLayout2ub4",hs);cs=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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){var p=this.length;this.resize(p+1);var y=20*p,w=10*p,b=40*p;return this.int16[y+0]=n,this.int16[y+1]=t,this.uint16[y+2]=i,this.uint16[y+3]=r,this.uint32[w+2]=u,this.uint32[w+3]=f,this.uint32[w+4]=e,this.uint16[y+10]=o,this.uint16[y+11]=s,this.uint16[y+12]=h,this.float32[w+7]=c,this.float32[w+8]=l,this.uint8[b+36]=a,this.uint8[b+37]=v,p},t.prototype.emplace=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){var p=20*n,w=10*n,b=40*n;return this.int16[p+0]=t,this.int16[p+1]=i,this.uint16[p+2]=r,this.uint16[p+3]=u,this.uint32[w+2]=f,this.uint32[w+3]=e,this.uint32[w+4]=o,this.uint16[p+10]=s,this.uint16[p+11]=h,this.uint16[p+12]=c,this.float32[w+7]=l,this.float32[w+8]=a,this.uint8[b+36]=v,this.uint8[b+37]=y,n},t}(y);cs.prototype.bytesPerElement=40;e("StructArrayLayout2i2ui3ul3ui2f2ub40",cs);ye=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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,i;return this.resize(t+1),i=1*t,this.float32[i+0]=n,t},t.prototype.emplace=function(n,t){var i=1*n;return this.float32[i+0]=t,n},t}(y);ye.prototype.bytesPerElement=4;e("StructArrayLayout1f4",ye);ls=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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 u=this.length,r;return this.resize(u+1),r=3*u,this.int16[r+0]=n,this.int16[r+1]=t,this.int16[r+2]=i,u},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}(y);ls.prototype.bytesPerElement=6;e("StructArrayLayout3i6",ls);as=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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,f,u;return this.resize(r+1),f=2*r,u=4*r,this.uint32[f+0]=n,this.uint16[u+2]=t,this.uint16[u+3]=i,r},t.prototype.emplace=function(n,t,i,r){var f=2*n,u=4*n;return this.uint32[f+0]=t,this.uint16[u+2]=i,this.uint16[u+3]=r,n},t}(y);as.prototype.bytesPerElement=8;e("StructArrayLayout1ul2ui8",as);pi=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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 u=this.length,r;return this.resize(u+1),r=3*u,this.uint16[r+0]=n,this.uint16[r+1]=t,this.uint16[r+2]=i,u},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}(y);pi.prototype.bytesPerElement=6;e("StructArrayLayout3ui6",pi);pe=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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,r;return this.resize(i+1),r=2*i,this.uint16[r+0]=n,this.uint16[r+1]=t,i},t.prototype.emplace=function(n,t,i){var r=2*n;return this.uint16[r+0]=t,this.uint16[r+1]=i,n},t}(y);pe.prototype.bytesPerElement=4;e("StructArrayLayout2ui4",pe);we=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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,r;return this.resize(i+1),r=2*i,this.float32[r+0]=n,this.float32[r+1]=t,i},t.prototype.emplace=function(n,t,i){var r=2*n;return this.float32[r+0]=t,this.float32[r+1]=i,n},t}(y);we.prototype.bytesPerElement=8;e("StructArrayLayout2f8",we);vs=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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 f=this.length,u;return this.resize(f+1),u=4*f,this.float32[u+0]=n,this.float32[u+1]=t,this.float32[u+2]=i,this.float32[u+3]=r,f},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}(y);vs.prototype.bytesPerElement=16;e("StructArrayLayout4f16",vs);gc=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);i.prototype=Object.create(n&&n.prototype);i.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},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return t.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},t.anchorPointX.set=function(n){this._structArray.int16[this._pos2+0]=n},t.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},t.anchorPointY.set=function(n){this._structArray.int16[this._pos2+1]=n},t.x1.get=function(){return this._structArray.int16[this._pos2+2]},t.x1.set=function(n){this._structArray.int16[this._pos2+2]=n},t.y1.get=function(){return this._structArray.int16[this._pos2+3]},t.y1.set=function(n){this._structArray.int16[this._pos2+3]=n},t.x2.get=function(){return this._structArray.int16[this._pos2+4]},t.x2.set=function(n){this._structArray.int16[this._pos2+4]=n},t.y2.get=function(){return this._structArray.int16[this._pos2+5]},t.y2.set=function(n){this._structArray.int16[this._pos2+5]=n},t.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},t.featureIndex.set=function(n){this._structArray.uint32[this._pos4+3]=n},t.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},t.sourceLayerIndex.set=function(n){this._structArray.uint16[this._pos2+8]=n},t.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},t.bucketIndex.set=function(n){this._structArray.uint16[this._pos2+9]=n},t.radius.get=function(){return this._structArray.int16[this._pos2+10]},t.radius.set=function(n){this._structArray.int16[this._pos2+10]=n},t.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},t.signedDistanceFromAnchor.set=function(n){this._structArray.int16[this._pos2+11]=n},t.anchorPoint.get=function(){return new ot(this.anchorPointX,this.anchorPointY)},Object.defineProperties(i.prototype,t),i}(le);gc.prototype.size=24;ys=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.get=function(n){return new gc(this,n)},t}(ss);e("CollisionBoxArray",ys);nl=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);i.prototype=Object.create(n&&n.prototype);i.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},hidden:{configurable:!0}};return t.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},t.anchorX.set=function(n){this._structArray.int16[this._pos2+0]=n},t.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},t.anchorY.set=function(n){this._structArray.int16[this._pos2+1]=n},t.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},t.glyphStartIndex.set=function(n){this._structArray.uint16[this._pos2+2]=n},t.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},t.numGlyphs.set=function(n){this._structArray.uint16[this._pos2+3]=n},t.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},t.vertexStartIndex.set=function(n){this._structArray.uint32[this._pos4+2]=n},t.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},t.lineStartIndex.set=function(n){this._structArray.uint32[this._pos4+3]=n},t.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},t.lineLength.set=function(n){this._structArray.uint32[this._pos4+4]=n},t.segment.get=function(){return this._structArray.uint16[this._pos2+10]},t.segment.set=function(n){this._structArray.uint16[this._pos2+10]=n},t.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},t.lowerSize.set=function(n){this._structArray.uint16[this._pos2+11]=n},t.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},t.upperSize.set=function(n){this._structArray.uint16[this._pos2+12]=n},t.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},t.lineOffsetX.set=function(n){this._structArray.float32[this._pos4+7]=n},t.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},t.lineOffsetY.set=function(n){this._structArray.float32[this._pos4+8]=n},t.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},t.writingMode.set=function(n){this._structArray.uint8[this._pos1+36]=n},t.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},t.hidden.set=function(n){this._structArray.uint8[this._pos1+37]=n},Object.defineProperties(i.prototype,t),i}(le);nl.prototype.size=40;tl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.get=function(n){return new nl(this,n)},t}(cs);e("PlacedSymbolArray",tl);il=function(n){function t(){n.apply(this,arguments)}n&&(t.__proto__=n);t.prototype=Object.create(n&&n.prototype);t.prototype.constructor=t;var i={offsetX:{configurable:!0}};return i.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},i.offsetX.set=function(n){this._structArray.float32[this._pos4+0]=n},Object.defineProperties(t.prototype,i),t}(le);il.prototype.size=4;rl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.getoffsetX=function(n){return this.float32[1*n+0]},t.prototype.get=function(n){return new il(this,n)},t}(ye);e("GlyphOffsetArray",rl);ul=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);i.prototype=Object.create(n&&n.prototype);i.prototype.constructor=i;var t={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return t.x.get=function(){return this._structArray.int16[this._pos2+0]},t.x.set=function(n){this._structArray.int16[this._pos2+0]=n},t.y.get=function(){return this._structArray.int16[this._pos2+1]},t.y.set=function(n){this._structArray.int16[this._pos2+1]=n},t.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},t.tileUnitDistanceFromAnchor.set=function(n){this._structArray.int16[this._pos2+2]=n},Object.defineProperties(i.prototype,t),i}(le);ul.prototype.size=6;fl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.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.prototype.get=function(n){return new ul(this,n)},t}(ls);e("SymbolLineVertexArray",fl);el=function(n){function i(){n.apply(this,arguments)}n&&(i.__proto__=n);i.prototype=Object.create(n&&n.prototype);i.prototype.constructor=i;var t={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return t.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},t.featureIndex.set=function(n){this._structArray.uint32[this._pos4+0]=n},t.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},t.sourceLayerIndex.set=function(n){this._structArray.uint16[this._pos2+2]=n},t.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},t.bucketIndex.set=function(n){this._structArray.uint16[this._pos2+3]=n},Object.defineProperties(i.prototype,t),i}(le);el.prototype.size=8;ol=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.get=function(n){return new el(this,n)},t}(as);e("FeatureIndexArray",ol);var sl=ft([{name:"a_pos",components:2,type:"Int16"}],4),yp=sl.members,tt=(sl.size,sl.alignment,function(n){void 0===n&&(n=[]);this.segments=n});tt.prototype.prepareSegment=function(n,t,i){var r=this.segments[this.segments.length-1];return n>tt.MAX_VERTEX_ARRAY_LENGTH&&co("Max vertices per segment is "+tt.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+n),(!r||r.vertexLength+n>tt.MAX_VERTEX_ARRAY_LENGTH)&&(r={vertexOffset:t.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},this.segments.push(r)),r};tt.prototype.get=function(){return this.segments};tt.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()}};tt.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1;e("SegmentVector",tt);hl=function(n,t){return 256*(n=nr(Math.floor(n),0,255))+(t=nr(Math.floor(t),0,255))};wi=function(n,t,i){this.value=n;this.name=t;this.type=i;this.statistics={max:-1/0}};wi.prototype.defines=function(){return["#define HAS_UNIFORM_u_"+this.name]};wi.prototype.populatePaintArray=function(){};wi.prototype.updatePaintArray=function(){};wi.prototype.upload=function(){};wi.prototype.destroy=function(){};wi.prototype.setUniforms=function(n,t,i,r){var u=r.constantOr(this.value),f=n.gl;"color"===this.type?f.uniform4f(t.uniforms["u_"+this.name],u.r,u.g,u.b,u.a):f.uniform1f(t.uniforms["u_"+this.name],u)};bi=function(n,t,i){this.expression=n;this.name=t;this.type=i;this.statistics={max:-1/0};var r="color"===i?we:ye;this.paintVertexAttributes=[{name:"a_"+t,type:"Float32",components:"color"===i?2:1,offset:0}];this.paintVertexArray=new r};bi.prototype.defines=function(){return[]};bi.prototype.populatePaintArray=function(n,t){var i=this.paintVertexArray,o=i.length,r,u,f,e;if(i.reserve(n),r=this.expression.evaluate(new k(0),t,{}),"color"===this.type)for(u=lf(r),f=o;f<n;f++)i.emplaceBack(u[0],u[1]);else{for(e=o;e<n;e++)i.emplaceBack(r);this.statistics.max=Math.max(this.statistics.max,r)}};bi.prototype.updatePaintArray=function(n,t,i,r){var s=this.paintVertexArray,e=this.expression.evaluate({zoom:0},i,r),o,u,f;if("color"===this.type)for(o=lf(e),u=n;u<t;u++)s.emplace(u,o[0],o[1]);else{for(f=n;f<t;f++)s.emplace(f,e);this.statistics.max=Math.max(this.statistics.max,e)}};bi.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))};bi.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};bi.prototype.setUniforms=function(n,t){n.gl.uniform1f(t.uniforms["a_"+this.name+"_t"],0)};ui=function(n,t,i,r,u){this.expression=n;this.name=t;this.type=i;this.useIntegerZoom=r;this.zoom=u;this.statistics={max:-1/0};var f="color"===i?vs:we;this.paintVertexAttributes=[{name:"a_"+t,type:"Float32",components:"color"===i?4:2,offset:0}];this.paintVertexArray=new f};ui.prototype.defines=function(){return[]};ui.prototype.populatePaintArray=function(n,t){var i=this.paintVertexArray,e=i.length,r,u,f;if(i.reserve(n),r=this.expression.evaluate(new k(this.zoom),t,{}),u=this.expression.evaluate(new k(this.zoom+1),t,{}),"color"===this.type)for(var o=lf(r),s=lf(u),h=e;h<n;h++)i.emplaceBack(o[0],o[1],s[0],s[1]);else{for(f=e;f<n;f++)i.emplaceBack(r,u);this.statistics.max=Math.max(this.statistics.max,r,u)}};ui.prototype.updatePaintArray=function(n,t,i,r){var s=this.paintVertexArray,f=this.expression.evaluate({zoom:this.zoom},i,r),e=this.expression.evaluate({zoom:this.zoom+1},i,r),u;if("color"===this.type)for(var h=lf(f),c=lf(e),o=n;o<t;o++)s.emplace(o,h[0],h[1],c[0],c[1]);else{for(u=n;u<t;u++)s.emplace(u,f,e);this.statistics.max=Math.max(this.statistics.max,f,e)}};ui.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))};ui.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};ui.prototype.interpolationFactor=function(n){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(n),this.zoom,this.zoom+1):this.expression.interpolationFactor(n,this.zoom,this.zoom+1)};ui.prototype.setUniforms=function(n,t,i){n.gl.uniform1f(t.uniforms["a_"+this.name+"_t"],this.interpolationFactor(i.zoom))};yt=function(){this.binders={};this.cacheKey="";this._buffers=[];this._idMap={};this._bufferOffset=0};yt.createDynamic=function(n,t,i){var e=new yt,o=[],u,r;for(u in n.paint._values)if(i(u)&&(r=n.paint.get(u),r instanceof ai&&du(r.property.specification))){var f=cd(u,n.type),s=r.property.specification.type,h=r.property.useIntegerZoom;"constant"===r.value.kind?(e.binders[u]=new wi(r.value,f,s),o.push("/u_"+f)):"source"===r.value.kind?(e.binders[u]=new bi(r.value,f,s),o.push("/a_"+f)):(e.binders[u]=new ui(r.value,f,s,h,t),o.push("/z_"+f))}return e.cacheKey=o.sort().join(""),e};yt.prototype.populatePaintArrays=function(n,t,i){var u,r;for(u in this.binders)this.binders[u].populatePaintArray(n,t);t.id&&(r=String(t.id),this._idMap[r]=this._idMap[r]||[],this._idMap[r].push({index:i,start:this._bufferOffset,end:n}));this._bufferOffset=n};yt.prototype.updatePaintArrays=function(n,t,i){var h=!1,f,e,u,l,s,r,a;for(f in n)if(e=this._idMap[f],e)for(var v=n[f],o=0,c=e;o<c.length;o+=1){u=c[o];l=t.feature(u.index);for(s in this.binders)r=this.binders[s],r instanceof wi||!0!==r.expression.isStateDependent||(a=i.paint.get(s),r.expression=a.value,r.updatePaintArray(u.start,u.end,l,v),h=!0)}return h};yt.prototype.defines=function(){var n=[];for(var t in this.binders)n.push.apply(n,this.binders[t].defines());return n};yt.prototype.setUniforms=function(n,t,i,r){for(var u in this.binders)this.binders[u].setUniforms(n,t,r,i.get(u))};yt.prototype.getPaintVertexBuffers=function(){return this._buffers};yt.prototype.upload=function(n){var r,i,u,t;for(r in this.binders)this.binders[r].upload(n);i=[];for(u in this.binders)t=this.binders[u],(t instanceof bi||t instanceof ui)&&t.paintVertexBuffer&&i.push(t.paintVertexBuffer);this._buffers=i};yt.prototype.destroy=function(){for(var n in this.binders)this.binders[n].destroy()};pt=function(n,t,i,r){var u,e,f;for(void 0===r&&(r=function(){return!0}),this.programConfigurations={},u=0,e=t;u<e.length;u+=1)f=e[u],this.programConfigurations[f.id]=yt.createDynamic(f,i,r),this.programConfigurations[f.id].layoutAttributes=n;this.needsUpload=!1};pt.prototype.populatePaintArrays=function(n,t,i){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(n,t,i);this.needsUpload=!0};pt.prototype.updatePaintArrays=function(n,t,i){for(var f,r=0,u=i;r<u.length;r+=1)f=u[r],this.needsUpload=this.programConfigurations[f.id].updatePaintArrays(n,t,f)||this.needsUpload};pt.prototype.get=function(n){return this.programConfigurations[n]};pt.prototype.upload=function(n){if(this.needsUpload){for(var t in this.programConfigurations)this.programConfigurations[t].upload(n);this.needsUpload=!1}};pt.prototype.destroy=function(){for(var n in this.programConfigurations)this.programConfigurations[n].destroy()};e("ConstantBinder",wi);e("SourceExpressionBinder",bi);e("CompositeExpressionBinder",ui);e("ProgramConfiguration",yt,{omit:["_buffers"]});e("ProgramConfigurationSet",pt);lt=8192;be=(cl=16,{min:-1*Math.pow(2,cl-1),max:Math.pow(2,cl-1)-1});fi=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.layoutVertexArray=new cf;this.indexArray=new pi;this.segments=new tt;this.programConfigurations=new pt(yp,n.layers,n.zoom)};fi.prototype.populate=function(n,t){for(var e,i=0,u=n;i<u.length;i+=1){var f=u[i],r=f.feature,o=f.index,s=f.sourceLayerIndex;this.layers[0]._featureFilter(new k(this.zoom),r)&&(e=af(r),this.addFeature(r,e,o),t.featureIndex.insert(r,e,o,s,this.index))}};fi.prototype.update=function(n,t){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers)};fi.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};fi.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};fi.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,yp),this.indexBuffer=n.createIndexBuffer(this.indexArray));this.programConfigurations.upload(n);this.uploaded=!0};fi.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())};fi.prototype.addFeature=function(n,t,i){for(var o,c,s,r,e=0,h=t;e<h.length;e+=1)for(o=0,c=h[e];o<c.length;o+=1){var l=c[o],u=l.x,f=l.y;u<0||u>=lt||f<0||f>=lt||(s=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),r=s.vertexLength,ps(this.layoutVertexArray,u,f,-1,-1),ps(this.layoutVertexArray,u,f,1,-1),ps(this.layoutVertexArray,u,f,1,1),ps(this.layoutVertexArray,u,f,-1,1),this.indexArray.emplaceBack(r,r+1,r+2),this.indexArray.emplaceBack(r,r+3,r+2),s.vertexLength+=4,s.primitiveLength+=2)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i)};e("CircleBucket",fi,{omit:["layers"]});kp={paint:new vt({"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 f(t.paint_circle["circle-translate"]),"circle-translate-anchor":new f(t.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new f(t.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new f(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"])})};lr="undefined"!=typeof Float32Array?Float32Array:Array;Math.PI;nw=gp;tw=(ar=pl(),function(n,t,i,r,u,f){var e,o;for(t||(t=3),i||(i=0),o=r?Math.min(r*t+i,n.length):n.length,e=i;e<o;e+=t)ar[0]=n[e],ar[1]=n[e+1],ar[2]=n[e+2],u(ar,ar,f),n[e]=ar[0],n[e+1]=ar[1],n[e+2]=ar[2];return n});uw=function(){var n=iw();return function(t,i,r,u,f,e){var o,s;for(i||(i=4),r||(r=0),s=u?Math.min(u*i+r,t.length):t.length,o=r;o<s;o+=i)n[0]=t[o],n[1]=t[o+1],n[2]=t[o+2],n[3]=t[o+3],f(n,n,e),t[o]=n[0],t[o+1]=n[1],t[o+2]=n[2],t[o+3]=n[3];return t}}();tg=rw;wd=pl();bd=wl(1,0,0);kd=wl(0,1,0);dd=fw();gd=fw();ng=dp();!function(){var n,t=((n=new lr(2))[0]=0,n[1]=0,n)}();ew=function(n){function t(t){n.call(this,t,kp)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(n){return new fi(n)},t.prototype.queryRadius=function(n){var t=n;return ke("circle-radius",this,t)+ke("circle-stroke-width",this,t)+bs(this.paint.get("circle-translate"))},t.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e,o){for(var s,a,y=ks(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,i){return n.map(function(n){return n.map(function(n){return ow(n,t,i)})})}(y,o,f),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:ow(h,o,f),v=d,b=bl([],[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]),pp(k,g,v))return!0}return!1},t}(yi);kl=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t}(fi);e("HeatmapBucket",kl,{omit:["layers"]});gr=function(n,t){dl(this,n,1,t)};gr.prototype.resize=function(n){sw(this,n,1)};gr.prototype.clone=function(){return new gr({width:this.width,height:this.height},new Uint8Array(this.data))};gr.copy=function(n,t,i,r,u){gl(n,t,i,r,u,1)};ei=function(n,t){dl(this,n,4,t)};ei.prototype.resize=function(n){sw(this,n,4)};ei.prototype.clone=function(){return new ei({width:this.width,height:this.height},new Uint8Array(this.data))};ei.copy=function(n,t,i,r,u){gl(n,t,i,r,u,4)};e("AlphaImage",gr);e("RGBAImage",ei);hw={paint:new vt({"heatmap-radius":new o(t.paint_heatmap["heatmap-radius"]),"heatmap-weight":new o(t.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new f(t.paint_heatmap["heatmap-intensity"]),"heatmap-color":new hf(t.paint_heatmap["heatmap-color"]),"heatmap-opacity":new f(t.paint_heatmap["heatmap-opacity"])})};var ig=function(n){function t(t){n.call(this,t,hw);this._updateColorRamp()}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(n){return new kl(n)},t.prototype._handleSpecialPaintPropertyUpdate=function(n){"heatmap-color"===n&&this._updateColorRamp()},t.prototype._updateColorRamp=function(){var n=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=cw(n,"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}(yi),rg={paint:new vt({"hillshade-illumination-direction":new f(t.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new f(t.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new f(t.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new f(t.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new f(t.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new f(t.paint_hillshade["hillshade-accent-color"])})},ug=function(n){function t(t){n.call(this,t,rg)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},t}(yi),na=ft([{name:"a_pos",components:2,type:"Int16"}],4),lw=na.members,ta=(na.size,na.alignment,ds),fg=ds;ds.deviation=function(n,t,i,r){var h=t&&t.length,y=h?t[0]*i:n.length,f=Math.abs(ua(n,0,y,i)),u,s,c,l,e;if(h)for(u=0,s=t.length;u<s;u++)c=t[u]*i,l=u<s-1?t[u+1]*i:n.length,f-=Math.abs(ua(n,c,l,i));for(e=0,u=0;u<r.length;u+=3){var o=r[u]*i,a=r[u+1]*i,v=r[u+2]*i;e+=Math.abs((n[o]-n[v])*(n[a+1]-n[o+1])-(n[o]-n[a])*(n[v+1]-n[o+1]))}return 0===f&&0===e?0:Math.abs((e-f)/f)};ds.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&&(e+=n[t-1].length,u.holes.push(e))}return u};ta.default=fg;fa=bw;ww=bw;fa.default=ww;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.layoutVertexArray=new cf;this.indexArray=new pi;this.indexArray2=new pe;this.programConfigurations=new pt(lw,n.layers,n.zoom);this.segments=new tt;this.segments2=new tt};ki.prototype.populate=function(n,t){for(var e,i=0,u=n;i<u.length;i+=1){var f=u[i],r=f.feature,o=f.index,s=f.sourceLayerIndex;this.layers[0]._featureFilter(new k(this.zoom),r)&&(e=af(r),this.addFeature(r,e,o),t.featureIndex.insert(r,e,o,s,this.index))}};ki.prototype.update=function(n,t){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers)};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,lw),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){for(var r,c,s,u,e,o,h=0,l=ea(t,500);h<l.length;h+=1){for(var a=l[h],v=0,y=0,k=a;y<k.length;y+=1)v+=k[y].length;for(var p=this.segments.prepareSegment(v,this.layoutVertexArray,this.indexArray),w=p.vertexLength,f=[],d=[],b=0,g=a;b<g.length;b+=1)if(r=g[b],0!==r.length){for(r!==a[0]&&d.push(f.length/2),c=this.segments2.prepareSegment(r.length,this.layoutVertexArray,this.indexArray2),s=c.vertexLength,this.layoutVertexArray.emplaceBack(r[0].x,r[0].y),this.indexArray2.emplaceBack(s+r.length-1,s),f.push(r[0].x),f.push(r[0].y),u=1;u<r.length;u++)this.layoutVertexArray.emplaceBack(r[u].x,r[u].y),this.indexArray2.emplaceBack(s+u-1,s+u),f.push(r[u].x),f.push(r[u].y);c.vertexLength+=r.length;c.primitiveLength+=r.length}for(e=ta(f,d),o=0;o<e.length;o+=3)this.indexArray.emplaceBack(w+e[o],w+e[o+1],w+e[o+2]);p.vertexLength+=v;p.primitiveLength+=e.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i)};e("FillBucket",ki,{omit:["layers"]});var wg={paint:new vt({"fill-antialias":new f(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 f(t.paint_fill["fill-translate"]),"fill-translate-anchor":new f(t.paint_fill["fill-translate-anchor"]),"fill-pattern":new vi(t.paint_fill["fill-pattern"])})},bg=function(n){function t(t){n.call(this,t,wg)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.recalculate=function(n){this.paint=this._transitioningPaint.possiblyEvaluate(n);var 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"])},t.prototype.createBucket=function(n){return new ki(n)},t.prototype.queryRadius=function(){return bs(this.paint.get("fill-translate"))},t.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e){return ll(ks(n,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),f.angle,e),r)},t}(yi),oa=ft([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4),kw=oa.members,sa=(oa.size,oa.alignment,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.layoutVertexArray=new rs;this.indexArray=new pi;this.programConfigurations=new pt(kw,n.layers,n.zoom);this.segments=new tt};di.prototype.populate=function(n,t){for(var e,i=0,u=n;i<u.length;i+=1){var f=u[i],r=f.feature,o=f.index,s=f.sourceLayerIndex;this.layers[0]._featureFilter(new k(this.zoom),r)&&(e=af(r),this.addFeature(r,e,o),t.featureIndex.insert(r,e,o,s,this.index))}};di.prototype.update=function(n,t){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers)};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,kw),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){for(var h,f,c,e,o,u,rt,s,v,d,y,l,a,p=0,g=ea(t,500);p<g.length;p+=1){for(var w=g[p],b=0,nt=0,et=w;nt<et.length;nt+=1)b+=et[nt].length;for(var r=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),it=0,ot=w;it<ot.length;it+=1)if(h=ot[it],0!==h.length&&!dg(h))for(f=0,c=0;c<h.length;c++)e=h[c],c>=1&&(o=h[c-1],kg(e,o)||(r.vertexLength+4>tt.MAX_VERTEX_ARRAY_LENGTH&&(r=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)),u=e.sub(o)._perp()._unit(),rt=o.dist(e),f+rt>32768&&(f=0),ro(this.layoutVertexArray,e.x,e.y,u.x,u.y,0,0,f),ro(this.layoutVertexArray,e.x,e.y,u.x,u.y,0,1,f),f+=rt,ro(this.layoutVertexArray,o.x,o.y,u.x,u.y,0,0,f),ro(this.layoutVertexArray,o.x,o.y,u.x,u.y,0,1,f),s=r.vertexLength,this.indexArray.emplaceBack(s,s+1,s+2),this.indexArray.emplaceBack(s+1,s+2,s+3),r.vertexLength+=4,r.primitiveLength+=2));r.vertexLength+b>tt.MAX_VERTEX_ARRAY_LENGTH&&(r=this.segments.prepareSegment(b,this.layoutVertexArray,this.indexArray));for(var k=[],st=[],ut=r.vertexLength,ft=0,ht=w;ft<ht.length;ft+=1)if(v=ht[ft],0!==v.length)for(v!==w[0]&&st.push(k.length/2),d=0;d<v.length;d++)y=v[d],ro(this.layoutVertexArray,y.x,y.y,0,0,1,1,0),k.push(y.x),k.push(y.y);for(l=ta(k,st),a=0;a<l.length;a+=3)this.indexArray.emplaceBack(ut+l[a],ut+l[a+1],ut+l[a+2]);r.primitiveLength+=l.length/3;r.vertexLength+=b}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,n,i)};e("FillExtrusionBucket",di,{omit:["layers"]});var gg={paint:new vt({"fill-extrusion-opacity":new f(t["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new o(t["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new f(t["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new f(t["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new vi(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"])})},nn=function(n){function t(t){n.call(this,t,gg)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(n){return new di(n)},t.prototype.queryRadius=function(){return bs(this.paint.get("fill-extrusion-translate"))},t.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e){return ll(ks(n,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),f.angle,e),r)},t.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("fill-extrusion-opacity")&&"none"!==this.visibility},t.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},t}(yi),ha=ft([{name:"a_pos_normal",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4),dw=ha.members,gw=(ha.size,ha.alignment,yf);yf.types=["Unknown","Point","LineString","Polygon"];yf.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 ot(e,o));else{if(7!==i)throw new Error("unknown command "+i);n&&n.push(n[0].clone())}return n&&u.push(n),u};yf.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]};yf.prototype.toGeoJSON=function(n,t,i){function o(n){for(var i,r,t=0;t<n.length;t++)i=n[t],r=180-360*(i.y+a)/c,n[t]=[360*(i.x+l)/c-180,360/Math.PI*Math.atan(Math.exp(r*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=yf.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=rn(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};ca=nb;nb.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 gw(this._pbf,t,this.extent,this._keys,this._values)};var uo={VectorTile:function(n,t){this.layers=n.readFields(fn,{},t)},VectorTileFeature:gw,VectorTileLayer:ca},en=uo.VectorTileFeature.types,tb=63,on=Math.cos(Math.PI/180*37.5),la=.5,ib=Math.pow(2,14)/la;wt=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.layoutVertexArray=new us;this.indexArray=new pi;this.programConfigurations=new pt(dw,n.layers,n.zoom);this.segments=new tt};wt.prototype.populate=function(n,t){for(var e,i=0,u=n;i<u.length;i+=1){var f=u[i],r=f.feature,o=f.index,s=f.sourceLayerIndex;this.layers[0]._featureFilter(new k(this.zoom),r)&&(e=af(r),this.addFeature(r,e,o),t.featureIndex.insert(r,e,o,s,this.index))}};wt.prototype.update=function(n,t){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(n,t,this.stateDependentLayers)};wt.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length};wt.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload};wt.prototype.upload=function(n){this.uploaded||(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,dw),this.indexBuffer=n.createIndexBuffer(this.indexArray));this.programConfigurations.upload(n);this.uploaded=!0};wt.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())};wt.prototype.addFeature=function(n,t,i){for(var e,r=this.layers[0].layout,o=r.get("line-join").evaluate(n,{}),s=r.get("line-cap"),h=r.get("line-miter-limit"),c=r.get("line-round-limit"),u=0,f=t;u<f.length;u+=1)e=f[u],this.addLine(e,n,o,s,h,c,i)};wt.prototype.addLine=function(n,t,i,r,u,f,e){var h=null,g,v,w,d,p,at,et,vt,a,kt,dt,tt,yt,ht,wt,ct;for(t.properties&&t.properties.hasOwnProperty("mapbox_clip_start")&&t.properties.hasOwnProperty("mapbox_clip_end")&&(h={start:t.properties.mapbox_clip_start,end:t.properties.mapbox_clip_end,tileTotal:void 0}),g="Polygon"===en[t.type],v=n.length;v>=2&&n[v-1].equals(n[v-2]);)v--;for(w=0;w<v-1&&n[w].equals(n[w+1]);)w++;if(!(v<(g?3:2))){h&&(h.tileTotal=function(n,t,i){for(var u,f,e=0,r=t;r<i-1;r++)u=n[r],f=n[r+1],e+=u.dist(f);return e}(n,w,v));"bevel"===i&&(u=1.05);var it=lt/(512*this.overscaling)*15,gt=n[w],c=this.segments.prepareSegment(10*v,this.layoutVertexArray,this.indexArray);this.distance=0;var o,rt,ut,ni=r,ti=g?"butt":r,nt=!0,k=void 0,y=void 0,l=void 0,s=void 0;for(this.e1=this.e2=this.e3=-1,g&&(o=n[v-2],s=gt.sub(o)._unit()._perp()),d=w;d<v;d++)if(!(y=g&&d===v-1?n[w+1]:n[d+1])||!n[d].equals(y)){s&&(l=s);o&&(k=o);o=n[d];s=y?y.sub(o)._unit()._perp():l;p=(l=l||s).add(s);0===p.x&&0===p.y||p._unit();var ft=p.x*s.x+p.y*s.y,b=0!==ft?1/ft:1/0,bt=ft<on&&k&&y;if(bt&&d>w&&(at=o.dist(k),at>2*it&&(et=o.sub(o.sub(k)._mult(it/at)._round()),this.distance+=et.dist(k),this.addCurrentVertex(et,this.distance,l.mult(1),0,0,!1,c,h),k=et)),vt=k&&y,a=vt?i:y?ni:ti,vt&&"round"===a&&(b<f?a="miter":b<=2&&(a="fakeround")),"miter"===a&&b>u&&(a="bevel"),"bevel"===a&&(b>2&&(a="flipbevel"),b<u&&(a="miter")),k&&(this.distance+=o.dist(k)),"miter"===a)p._mult(b),this.addCurrentVertex(o,this.distance,p,0,0,!1,c,h);else if("flipbevel"===a)b>100?p=s.clone().mult(-1):(kt=l.x*s.y-l.y*s.x>0?-1:1,dt=b*l.add(s).mag()/l.sub(s).mag(),p._perp()._mult(dt*kt)),this.addCurrentVertex(o,this.distance,p,0,0,!1,c,h),this.addCurrentVertex(o,this.distance,p.mult(-1),0,0,!1,c,h);else if("bevel"===a||"fakeround"===a){if(tt=l.x*s.y-l.y*s.x>0,yt=-Math.sqrt(b*b-1),tt?(ut=0,rt=yt):(rt=0,ut=yt),nt||this.addCurrentVertex(o,this.distance,l,rt,ut,!1,c,h),"fakeround"===a){for(var ot=Math.floor(8*(.5-(ft-.5))),st=void 0,pt=0;pt<ot;pt++)st=s.mult((pt+1)/(ot+1))._add(l)._unit(),this.addPieSliceVertex(o,this.distance,st,tt,c,h);for(this.addPieSliceVertex(o,this.distance,p,tt,c,h),ht=ot-1;ht>=0;ht--)st=l.mult((ht+1)/(ot+1))._add(s)._unit(),this.addPieSliceVertex(o,this.distance,st,tt,c,h)}y&&this.addCurrentVertex(o,this.distance,s,-rt,-ut,!1,c,h)}else"butt"===a?(nt||this.addCurrentVertex(o,this.distance,l,0,0,!1,c,h),y&&this.addCurrentVertex(o,this.distance,s,0,0,!1,c,h)):"square"===a?(nt||(this.addCurrentVertex(o,this.distance,l,1,1,!1,c,h),this.e1=this.e2=-1),y&&this.addCurrentVertex(o,this.distance,s,-1,-1,!1,c,h)):"round"===a&&(nt||(this.addCurrentVertex(o,this.distance,l,0,0,!1,c,h),this.addCurrentVertex(o,this.distance,l,1,1,!0,c,h),this.e1=this.e2=-1),y&&(this.addCurrentVertex(o,this.distance,s,-1,-1,!0,c,h),this.addCurrentVertex(o,this.distance,s,0,0,!1,c,h)));bt&&d<v-1&&(wt=o.dist(y),wt>2*it&&(ct=o.add(y.sub(o)._mult(it/wt)._round()),this.distance+=ct.dist(o),this.addCurrentVertex(ct,this.distance,s.mult(1),0,0,!1,c,h),o=ct));nt=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,e)}};wt.prototype.addCurrentVertex=function(n,t,i,r,u,f,e,o){var s,h=this.layoutVertexArray,c=this.indexArray;o&&(t=rb(t,o));s=i.clone();r&&s._sub(i.perp()._mult(r));aa(h,n,s,f,!1,r,t);this.e3=e.vertexLength++;this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),e.primitiveLength++);this.e1=this.e2;this.e2=this.e3;s=i.mult(-1);u&&s._sub(i.perp()._mult(u));aa(h,n,s,f,!0,-u,t);this.e3=e.vertexLength++;this.e1>=0&&this.e2>=0&&(c.emplaceBack(this.e1,this.e2,this.e3),e.primitiveLength++);this.e1=this.e2;this.e2=this.e3;t>ib/2&&!o&&(this.distance=0,this.addCurrentVertex(n,this.distance,i,r,u,f,e))};wt.prototype.addPieSliceVertex=function(n,t,i,r,u,f){i=i.mult(r?-1:1);var e=this.layoutVertexArray,o=this.indexArray;f&&(t=rb(t,f));aa(e,n,i,!1,r,0,t);this.e3=u.vertexLength++;this.e1>=0&&this.e2>=0&&(o.emplaceBack(this.e1,this.e2,this.e3),u.primitiveLength++);r?this.e2=this.e3:this.e1=this.e3};e("LineBucket",wt,{omit:["layers"]});var sn=new vt({"line-cap":new f(t.layout_line["line-cap"]),"line-join":new o(t.layout_line["line-join"]),"line-miter-limit":new f(t.layout_line["line-miter-limit"]),"line-round-limit":new f(t.layout_line["line-round-limit"])}),ub={paint:new vt({"line-opacity":new o(t.paint_line["line-opacity"]),"line-color":new o(t.paint_line["line-color"]),"line-translate":new f(t.paint_line["line-translate"]),"line-translate-anchor":new f(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 vi(t.paint_line["line-dasharray"]),"line-pattern":new vi(t.paint_line["line-pattern"]),"line-gradient":new hf(t.paint_line["line-gradient"])}),layout:sn},fb=new(function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.possiblyEvaluate=function(t,i){return i=new k(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=si({},i,{zoom:Math.floor(i.zoom)}),n.prototype.evaluate.call(this,t,i,r,u)},t}(o))(ub.paint.properties["line-width"].specification);fb.useIntegerZoom=!0;eb=function(n){function t(t){n.call(this,t,ub)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype._handleSpecialPaintPropertyUpdate=function(n){"line-gradient"===n&&this._updateGradient()},t.prototype._updateGradient=function(){var n=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=cw(n,"lineProgress");this.gradientTexture=null},t.prototype.recalculate=function(t){n.prototype.recalculate.call(this,t);this.paint._values["line-floorwidth"]=fb.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)},t.prototype.createBucket=function(n){return new wt(n)},t.prototype.queryRadius=function(n){var t=n,i=ob(ke("line-width",this,t),ke("line-gap-width",this,t)),r=ke("line-offset",this,t);return i/2+Math.abs(r)+bs(this.paint.get("line-translate"))},t.prototype.queryIntersectsFeature=function(n,t,i,r,u,f,e){var s=ks(n,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),f.angle,e),h=e/2*ob(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=[],h=new ot(0,0),f=0;f<n.length;f++){for(var r=n[f],c=[],i=0;i<r.length;i++){var l=r[i-1],e=r[i],a=r[i+1],v=0===i?h:e.sub(l)._unit()._perp(),o=i===r.length-1?h:a.sub(e)._unit()._perp(),u=v._add(o)._unit(),y=u.x*o.x+u.y*o.y;u._mult(1/y);c.push(u._mult(t)._add(e))}s.push(c)}return s}(r,o*e)),wp(s,r,h)},t}(yi);var va=ft([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),hn=ft([{name:"a_projected_pos",components:3,type:"Float32"}],4),cn=(ft([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),ft([{name:"a_placed",components:2,type:"Uint8"}],4)),ln=(ft([{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"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),ft([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),an=ft([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);ft([{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:"hidden"}]);ft([{type:"Float32",name:"offsetX"}]);ft([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);pf={"!":"︕","#":"＃",$:"＄","%":"％","&":"＆","(":"︵",")":"︶","*":"＊","+":"＋",",":"︐","-":"︲",".":"・","/":"／",":":"︓",";":"︔","<":"︿","=":"＝",">":"﹀","?":"︖","@":"＠","[":"﹇","\\":"＼","]":"﹈","^":"＾",_:"︳","`":"｀","{":"︷","|":"―","}":"︸","~":"～","¢":"￠","£":"￡","¥":"￥","¦":"￤","¬":"￢","¯":"￣","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"￦","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","！":"︕","（":"︵","）":"︶","，":"︐","－":"︲","．":"・","：":"︓","；":"︔","＜":"︿","＞":"﹀","？":"︖","［":"﹇","］":"﹈","＿":"︳","｛":"︷","｜":"―","｝":"︸","｟":"︵","｠":"︶","｡":"︒","｢":"﹁","｣":"﹂"};ya=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),t.prototype.constructor=t,t.prototype.clone=function(){return new t(this.x,this.y,this.angle,this.segment)},t}(ot);e("Anchor",ya);hb=uo.VectorTileFeature.types;cb=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];wf=function(n){this.layoutVertexArray=new fs;this.indexArray=new pi;this.programConfigurations=n;this.segments=new tt;this.dynamicLayoutVertexArray=new es;this.opacityVertexArray=new os;this.placedSymbolArray=new tl};wf.prototype.upload=function(n,t,i,r){i&&(this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,va.members),this.indexBuffer=n.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=n.createVertexBuffer(this.dynamicLayoutVertexArray,hn.members,!0),this.opacityVertexBuffer=n.createVertexBuffer(this.opacityVertexArray,cb,!0),this.opacityVertexBuffer.itemSize=1);(i||r)&&this.programConfigurations.upload(n)};wf.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())};e("SymbolBuffers",wf);bf=function(n,t,i){this.layoutVertexArray=new n;this.layoutAttributes=t;this.indexArray=new i;this.segments=new tt;this.collisionVertexArray=new hs};bf.prototype.upload=function(n){this.layoutVertexBuffer=n.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes);this.indexBuffer=n.createIndexBuffer(this.indexArray);this.collisionVertexBuffer=n.createVertexBuffer(this.collisionVertexArray,cn.members,!0)};bf.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())};e("CollisionBuffers",bf);v=function(n){var i,t;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;i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=pa(this.zoom,i["text-size"]);this.iconSizeData=pa(this.zoom,i["icon-size"]);t=this.layers[0].layout;this.sortFeaturesByY=t.get("text-allow-overlap")||t.get("icon-allow-overlap")||t.get("text-ignore-placement")||t.get("icon-ignore-placement");this.sourceID=n.sourceID};v.prototype.createArrays=function(){this.text=new wf(new pt(va.members,this.layers,this.zoom,function(n){return/^text/.test(n)}));this.icon=new wf(new pt(va.members,this.layers,this.zoom,function(n){return/^icon/.test(n)}));this.collisionBox=new bf(ve,ln.members,pe);this.collisionCircle=new bf(ve,an.members,pi);this.glyphOffsetArray=new rl;this.lineVertexArray=new fl};v.prototype.calculateGlyphDependencies=function(n,t,i,r){for(var f,u=0;u<n.length;u++)(t[n.charCodeAt(u)]=!0,i&&r)&&(f=pf[n.charAt(u)],f&&(t[f.charCodeAt(0)]=!0))};v.prototype.populate=function(n,t){var e=this.layers[0],u=e.layout,h=u.get("text-font"),w=u.get("text-field"),c=u.get("icon-image"),b=("constant"!==w.value.kind||w.value.value.toString().length>0)&&("constant"!==h.value.kind||h.value.value.length>0),d="constant"!==c.value.kind||c.value.value&&c.value.value.length>0,i,f,v,s,p,rt;if(this.features=[],b||d){for(var ut=t.iconDependencies,o=t.glyphDependencies,ft=new k(this.zoom),l=0,g=n;l<g.length;l+=1){var a=g[l],r=a.feature,et=a.index,ot=a.sourceLayerIndex;if(e._featureFilter(ft,r)&&(i=void 0,b&&(i=vn(i=e.getValueAndResolveTokens("text-field",r),e,r)),f=void 0,(d&&(f=e.getValueAndResolveTokens("icon-image",r)),i||f)&&(v={text:i,icon:f,index:et,sourceLayerIndex:ot,geometry:af(r),properties:r.properties,type:hb[r.type]},void 0!==r.id&&(v.id=r.id),this.features.push(v),f&&(ut[f]=!0),i))){var y=h.evaluate(r,{}).join(","),st=o[y]=o[y]||{},nt="map"===u.get("text-rotation-alignment")&&"point"!==u.get("symbol-placement");if(i instanceof bt)for(s=0,p=i.sections;s<p.length;s+=1){var tt=p[s],ht=pc(i.toString()),it=tt.fontStack||y,ct=o[it]=o[it]||{};this.calculateGlyphDependencies(tt.text,ct,nt,ht)}else rt=pc(i),this.calculateGlyphDependencies(i,st,nt,rt)}}"line"===u.get("symbol-placement")&&(this.features=function(n){function y(i){t.push(n[i]);c++}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 l(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=[],c=0,e=0;e<n.length;e++){var s=n[e],o=s.geometry,h=s.text instanceof bt?s.text.toString():s.text;h?(i=l(h,o),r=l(h,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[l(h,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]=c-1,u[r]=c-1)):y(e)}return t.filter(function(n){return n.geometry})}(this.features))}};v.prototype.update=function(n,t){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(n,t,this.layers),this.icon.programConfigurations.updatePaintArrays(n,t,this.layers))};v.prototype.isEmpty=function(){return 0===this.symbolInstances.length};v.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload};v.prototype.upload=function(n){this.uploaded||(this.collisionBox.upload(n),this.collisionCircle.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.destroy=function(){this.text.destroy();this.icon.destroy();this.collisionBox.destroy();this.collisionCircle.destroy()};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){for(var b=n.indexArray,v=n.layoutVertexArray,rt=n.dynamicLayoutVertexArray,y=n.segments.prepareSegment(4*t.length,n.layoutVertexArray,n.indexArray),k=this.glyphOffsetArray.length,ut=y.vertexLength,w=0,d=t;w<d.length;w+=1){var l=d[w],g=l.tl,nt=l.tr,tt=l.bl,it=l.br,c=l.tex,a=y.vertexLength,p=l.glyphOffset[1];gs(v,o.x,o.y,g.x,p+g.y,c.x,c.y,i);gs(v,o.x,o.y,nt.x,p+nt.y,c.x+c.w,c.y,i);gs(v,o.x,o.y,tt.x,p+tt.y,c.x,c.y+c.h,i);gs(v,o.x,o.y,it.x,p+it.y,c.x+c.w,c.y+c.h,i);wa(rt,o,0);b.emplaceBack(a,a+1,a+2);b.emplaceBack(a+1,a+2,a+3);y.vertexLength+=4;y.primitiveLength+=2;this.glyphOffsetArray.emplaceBack(l.glyphOffset[0])}n.placedSymbolArray.emplaceBack(o.x,o.y,k,this.glyphOffsetArray.length-k,ut,s,h,o.segment,i?i[0]:0,i?i[1]:0,r[0],r[1],e,!1);n.programConfigurations.populatePaintArrays(n.layoutVertexArray.length,f,f.index)};v.prototype._addCollisionDebugVertex=function(n,t,i,r,u){return t.emplaceBack(0,0),n.emplaceBack(i.x,i.y,r.x,r.y,Math.round(u.x),Math.round(u.y))};v.prototype.addCollisionDebugVertices=function(n,t,i,r,u,f,e,o){var c=u.segments.prepareSegment(4,u.layoutVertexArray,u.indexArray),s=c.vertexLength,l=u.layoutVertexArray,a=u.collisionVertexArray,v,h;(this._addCollisionDebugVertex(l,a,f,e.anchor,new ot(n,t)),this._addCollisionDebugVertex(l,a,f,e.anchor,new ot(i,t)),this._addCollisionDebugVertex(l,a,f,e.anchor,new ot(i,r)),this._addCollisionDebugVertex(l,a,f,e.anchor,new ot(n,r)),c.vertexLength+=4,o)?(v=u.indexArray,v.emplaceBack(s,s+1,s+2),v.emplaceBack(s,s+2,s+3),c.primitiveLength+=2):(h=u.indexArray,h.emplaceBack(s,s+1),h.emplaceBack(s+1,s+2),h.emplaceBack(s+2,s+3),h.emplaceBack(s+3,s),c.primitiveLength+=4)};v.prototype.generateCollisionDebugBuffers=function(){for(var n,r,u,f,i=0,e=this.symbolInstances;i<e.length;i+=1)for(n=e[i],n.textCollisionFeature={boxStartIndex:n.textBoxStartIndex,boxEndIndex:n.textBoxEndIndex},n.iconCollisionFeature={boxStartIndex:n.iconBoxStartIndex,boxEndIndex:n.iconBoxEndIndex},r=0;r<2;r++)if(u=n[0===r?"textCollisionFeature":"iconCollisionFeature"],u)for(f=u.boxStartIndex;f<u.boxEndIndex;f++){var t=this.collisionBoxArray.get(f),s=t.x1,h=t.y1,c=t.x2,l=t.y2,o=t.radius>0;this.addCollisionDebugVertices(s,h,c,l,o?this.collisionCircle:this.collisionBox,t.anchorPoint,n,o)}};v.prototype.deserializeCollisionBoxes=function(n,t,i,r,u){for(var f,h,o,e={},s=t;s<i;s++){if(f=n.get(s),0===f.radius){e.textBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY};e.textFeatureIndex=f.featureIndex;break}e.textCircles||(e.textCircles=[],e.textFeatureIndex=f.featureIndex);e.textCircles.push(f.anchorPointX,f.anchorPointY,f.radius,f.signedDistanceFromAnchor,1)}for(h=r;h<u;h++)if(o=n.get(h),0===o.radius){e.iconBox={x1:o.x1,y1:o.y1,x2:o.x2,y2:o.y2,anchorPointX:o.anchorPointX,anchorPointY:o.anchorPointY};e.iconFeatureIndex=o.featureIndex;break}return e};v.prototype.hasTextData=function(){return this.text.segments.get().length>0};v.prototype.hasIconData=function(){return this.icon.segments.get().length>0};v.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0};v.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0};v.prototype.sortFeatures=function(n){var t=this,u,f,s,h,e,c,l,a,o,v,p,r;if(this.sortFeaturesByY&&this.sortedAngle!==n&&(this.sortedAngle=n,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(u=[],f=0;f<this.symbolInstances.length;f++)u.push(f);for(s=Math.sin(n),h=Math.cos(n),u.sort(function(n,i){var r=t.symbolInstances[n],u=t.symbolInstances[i];return(0|Math.round(s*r.anchor.x+h*r.anchor.y))-(0|Math.round(s*u.anchor.x+h*u.anchor.y))||u.featureIndex-r.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[],e=0,c=u;e<c.length;e+=1){for(l=c[e],a=t.symbolInstances[l],t.featureSortOrder.push(a.featureIndex),o=0,v=a.placedTextSymbolIndices;o<v.length;o+=1)for(var w=v[o],y=t.text.placedSymbolArray.get(w),b=y.vertexStartIndex+4*y.numGlyphs,i=y.vertexStartIndex;i<b;i+=4)t.text.indexArray.emplaceBack(i,i+1,i+2),t.text.indexArray.emplaceBack(i+1,i+2,i+3);p=t.icon.placedSymbolArray.get(l);p.numGlyphs&&(r=p.vertexStartIndex,t.icon.indexArray.emplaceBack(r,r+1,r+2),t.icon.indexArray.emplaceBack(r+1,r+2,r+3))}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray);this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}};e("SymbolBucket",v,{omit:["layers","collisionBoxArray","features","compareText"],shallow:["symbolInstances"]});v.MAX_GLYPHS=65535;v.addDynamicAttributes=wa;var yn=new vt({"symbol-placement":new f(t.layout_symbol["symbol-placement"]),"symbol-spacing":new f(t.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new f(t.layout_symbol["symbol-avoid-edges"]),"icon-allow-overlap":new f(t.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new f(t.layout_symbol["icon-ignore-placement"]),"icon-optional":new f(t.layout_symbol["icon-optional"]),"icon-rotation-alignment":new f(t.layout_symbol["icon-rotation-alignment"]),"icon-size":new o(t.layout_symbol["icon-size"]),"icon-text-fit":new f(t.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new f(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 f(t.layout_symbol["icon-padding"]),"icon-keep-upright":new f(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 f(t.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new f(t.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new f(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 f(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-anchor":new o(t.layout_symbol["text-anchor"]),"text-max-angle":new f(t.layout_symbol["text-max-angle"]),"text-rotate":new o(t.layout_symbol["text-rotate"]),"text-padding":new f(t.layout_symbol["text-padding"]),"text-keep-upright":new f(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 f(t.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new f(t.layout_symbol["text-ignore-placement"]),"text-optional":new f(t.layout_symbol["text-optional"])}),lb={paint:new vt({"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 f(t.paint_symbol["icon-translate"]),"icon-translate-anchor":new f(t.paint_symbol["icon-translate-anchor"]),"text-opacity":new o(t.paint_symbol["text-opacity"]),"text-color":new o(t.paint_symbol["text-color"]),"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 f(t.paint_symbol["text-translate"]),"text-translate-anchor":new f(t.paint_symbol["text-translate-anchor"])}),layout:yn},pn=function(n){function t(t){n.call(this,t,lb)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.recalculate=function(t){n.prototype.recalculate.call(this,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"))},t.prototype.getValueAndResolveTokens=function(n,t){var i,r=this.layout.get(n).evaluate(t,{}),u=this._unevaluatedLayout._values[n];return u.isDataDriven()||fc(u.value)?r:(i=t.properties,r.replace(/{([^{}]+)}/g,function(n,t){return t in i?String(i[t]):""}))},t.prototype.createBucket=function(n){return new v(n)},t.prototype.queryRadius=function(){return 0},t.prototype.queryIntersectsFeature=function(){return!1},t}(yi),wn={paint:new vt({"background-color":new f(t.paint_background["background-color"]),"background-pattern":new vi(t.paint_background["background-pattern"]),"background-opacity":new f(t.paint_background["background-opacity"])})},bn=function(n){function t(t){n.call(this,t,wn)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t}(yi),kn={paint:new vt({"raster-opacity":new f(t.paint_raster["raster-opacity"]),"raster-hue-rotate":new f(t.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new f(t.paint_raster["raster-brightness-min"]),"raster-brightness-max":new f(t.paint_raster["raster-brightness-max"]),"raster-saturation":new f(t.paint_raster["raster-saturation"]),"raster-contrast":new f(t.paint_raster["raster-contrast"]),"raster-resampling":new f(t.paint_raster["raster-resampling"]),"raster-fade-duration":new f(t.paint_raster["raster-fade-duration"])})},dn={circle:ew,heatmap:ig,hillshade:ug,fill:bg,"fill-extrusion":nn,line:eb,symbol:pn,background:bn,raster:function(n){function t(t){n.call(this,t,kn)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t}(yi)};dt.prototype.pack=function(n,t){n=[].concat(n);t=t||{};for(var u,f,e,r,o=[],i=0;i<n.length;i++)if(u=n[i].w||n[i].width,f=n[i].h||n[i].height,e=n[i].id,u&&f){if(!(r=this.packOne(u,f,e)))continue;t.inPlace&&(n[i].x=r.x,n[i].y=r.y,n[i].id=r.id);o.push(r)}return this.shrink(),o};dt.prototype.packOne=function(n,t,i){var u,e,s,r,o,c,h,l,f={freebin:-1,shelf:-1,waste:1/0},a=0;if("string"==typeof i||"number"==typeof i){if(u=this.getBin(i))return this.ref(u),u;"number"==typeof i&&(this.maxId=Math.max(i,this.maxId))}else i=++this.maxId;for(r=0;r<this.freebins.length;r++){if(t===(u=this.freebins[r]).maxh&&n===u.maxw)return this.allocFreebin(r,n,t,i);t>u.maxh||n>u.maxw||t<=u.maxh&&n<=u.maxw&&(s=u.maxw*u.maxh-n*t)<f.waste&&(f.waste=s,f.freebin=r)}for(r=0;r<this.shelves.length;r++)if(a+=(e=this.shelves[r]).h,!(n>e.free)){if(t===e.h)return this.allocShelf(r,n,t,i);t>e.h||t<e.h&&(s=(e.h-t)*n)<f.waste&&(f.freebin=-1,f.waste=s,f.shelf=r)}return-1!==f.freebin?this.allocFreebin(f.freebin,n,t,i):-1!==f.shelf?this.allocShelf(f.shelf,n,t,i):t<=this.h-a&&n<=this.w?(e=new ba(a,this.w,t),this.allocShelf(this.shelves.push(e)-1,n,t,i)):this.autoResize?(o=c=this.h,((h=l=this.w)<=o||n>h)&&(l=2*Math.max(n,h)),(o<h||t>o)&&(c=2*Math.max(t,o)),this.resize(l,c),this.packOne(n,t,i)):null};dt.prototype.allocFreebin=function(n,t,i,r){var u=this.freebins.splice(n,1)[0];return u.id=r,u.w=t,u.h=i,u.refcount=0,this.bins[r]=u,this.ref(u),u};dt.prototype.allocShelf=function(n,t,i,r){var u=this.shelves[n].alloc(t,i,r);return this.bins[r]=u,this.ref(u),u};dt.prototype.shrink=function(){var n;if(this.shelves.length>0){for(var t=0,r=0,i=0;i<this.shelves.length;i++)n=this.shelves[i],r+=n.h,t=Math.max(n.w-n.free,t);this.resize(t,r)}};dt.prototype.getBin=function(n){return this.bins[n]};dt.prototype.ref=function(n){if(1==++n.refcount){var t=n.h;this.stats[t]=1+(0|this.stats[t])}return n.refcount};dt.prototype.unref=function(n){return 0===n.refcount?0:(0==--n.refcount&&(this.stats[n.h]--,delete this.bins[n.id],this.freebins.push(n)),n.refcount)};dt.prototype.clear=function(){this.shelves=[];this.freebins=[];this.stats={};this.bins={};this.maxId=0};dt.prototype.resize=function(n,t){this.w=n;this.h=t;for(var i=0;i<this.shelves.length;i++)this.shelves[i].resize(n);return!0};ba.prototype.alloc=function(n,t,i){if(n>this.free||t>this.h)return null;var r=this.x;return this.x+=n,this.free-=n,new function(n,t,i,r,u,f,e){this.id=n;this.x=t;this.y=i;this.w=r;this.h=u;this.maxw=f||r;this.maxh=e||u;this.refcount=0}(i,r,this.y,n,t,n,this.h)};ba.prototype.resize=function(n){return this.free+=n-this.w,this.w=n,!0};fo=function(n,t){var i=t.pixelRatio;this.paddedRect=n;this.pixelRatio=i};eo={tl:{configurable:!0},br:{configurable:!0},displaySize:{configurable:!0}};eo.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]};eo.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]};eo.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]};Object.defineProperties(fo.prototype,eo);ka=function(n){var i={},r=new dt(0,0,{autoResize:!0}),c=[],u,t,f,e,o,s,h;for(u in n)t=n[u],f={x:0,y:0,w:t.data.width+2,h:t.data.height+2},c.push(f),i[u]=new fo(f,t);r.pack(c,{inPlace:!0});e=new ei({width:r.w,height:r.h});for(o in n)s=n[o],h=i[o].paddedRect,ei.copy(s.data,e,{x:0,y:0},{x:h.x+1,y:h.y+1},s.data);this.image=e;this.positions=i};e("ImagePosition",fo);e("ImageAtlas",ka);var ab=self.HTMLImageElement,vb=self.HTMLCanvasElement,yb=self.HTMLVideoElement,pb=self.ImageData,su=function(n,t,i,r){this.context=n;this.format=i;this.texture=n.gl.createTexture();this.update(t,r)};su.prototype.update=function(n,t){var r=n.width,u=n.height,e=!this.size||this.size[0]!==r||this.size[1]!==u,f=this.context,i=f.gl;this.useMipmap=Boolean(t&&t.useMipmap);i.bindTexture(i.TEXTURE_2D,this.texture);e?(this.size=[r,u],f.pixelStoreUnpack.set(1),this.format!==i.RGBA||t&&!1===t.premultiply||f.pixelStoreUnpackPremultiplyAlpha.set(!0),n instanceof ab||n instanceof vb||n instanceof yb||n instanceof pb?i.texImage2D(i.TEXTURE_2D,0,this.format,this.format,i.UNSIGNED_BYTE,n):i.texImage2D(i.TEXTURE_2D,0,this.format,r,u,0,this.format,i.UNSIGNED_BYTE,n.data)):n instanceof ab||n instanceof vb||n instanceof yb||n instanceof pb?i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,n):i.texSubImage2D(i.TEXTURE_2D,0,0,0,r,u,i.RGBA,i.UNSIGNED_BYTE,n.data);this.useMipmap&&this.isSizePowerOfTwo()&&i.generateMipmap(i.TEXTURE_2D)};su.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)};su.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0};su.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture);this.texture=null};var wb=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)},bb=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},nh=w;w.Varint=0;w.Fixed64=1;w.Bytes=2;w.Fixed32=5;w.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=th(this.buf,this.pos);return this.pos+=4,n},readSFixed32:function(){var n=db(this.buf,this.pos);return this.pos+=4,n},readFixed64:function(){var n=th(this.buf,this.pos)+4294967296*th(this.buf,this.pos+4);return this.pos+=8,n},readSFixed64:function(){var n=th(this.buf,this.pos)+4294967296*db(this.buf,this.pos+4);return this.pos+=8,n},readFloat:function(){var n=wb(this.buf,this.pos,!0,23,4);return this.pos+=4,n},readDouble:function(){var n=wb(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((r=f[i.pos++],u=(112&r)>>4,r<128)||(r=f[i.pos++],u|=(127&r)<<3,r<128)||(r=f[i.pos++],u|=(127&r)<<10,r<128)||(r=f[i.pos++],u|=(127&r)<<17,r<128)||(r=f[i.pos++],u|=(127&r)<<24,r<128)||(r=f[i.pos++],u|=(1&r)<<31,r<128))return kf(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=function(n,t,i){for(var h="",u=t;u<i;){var f,s,c,e=n[u],r=null,o=e>239?4:e>223?3:e>191?2:1;if(u+o>i)break;1===o?e<128&&(r=e):2===o?128==(192&(f=n[u+1]))&&(r=(31&e)<<6|63&f)<=127&&(r=null):3===o?(f=n[u+1],s=n[u+2],128==(192&f)&&128==(192&s)&&((r=(15&e)<<12|(63&f)<<6|63&s)<=2047||r>=55296&&r<=57343)&&(r=null)):4===o&&(f=n[u+1],s=n[u+2],c=n[u+3],128==(192&f)&&128==(192&s)&&128==(192&c)&&((r=(15&e)<<18|(63&f)<<12|(63&s)<<6|63&c)<=65535||r>=1114112)&&(r=null));null===r?(r=65533,o=1):r>65535&&(r-=65536,h+=String.fromCharCode(r>>>10&1023|55296),r=56320|1023&r);h+=String.fromCharCode(r);u+=o}return h}(this.buf,this.pos,n);return this.pos=n,t},readBytes:function(){var n=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,n);return this.pos=n,t},readPackedVarint:function(n,t){var i=vr(this);for(n=n||[];this.pos<i;)n.push(this.readVarint(t));return n},readPackedSVarint:function(n){var t=vr(this);for(n=n||[];this.pos<t;)n.push(this.readSVarint());return n},readPackedBoolean:function(n){var t=vr(this);for(n=n||[];this.pos<t;)n.push(this.readBoolean());return n},readPackedFloat:function(n){var t=vr(this);for(n=n||[];this.pos<t;)n.push(this.readFloat());return n},readPackedDouble:function(n){var t=vr(this);for(n=n||[];this.pos<t;)n.push(this.readDouble());return n},readPackedFixed32:function(n){var t=vr(this);for(n=n||[];this.pos<t;)n.push(this.readFixed32());return n},readPackedSFixed32:function(n){var t=vr(this);for(n=n||[];this.pos<t;)n.push(this.readSFixed32());return n},readPackedFixed64:function(n){var t=vr(this);for(n=n||[];this.pos<t;)n.push(this.readFixed64());return n},readPackedSFixed64:function(n){var t=vr(this);for(n=n||[];this.pos<t;)n.push(this.readSFixed64());return n},skip:function(n){var t=7&n;if(t===w.Varint)for(;this.buf[this.pos++]>127;);else if(t===w.Bytes)this.pos=this.readVarint()+this.pos;else if(t===w.Fixed32)this.pos+=4;else{if(t!==w.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);df(this.buf,n,this.pos);this.pos+=4},writeSFixed32:function(n){this.realloc(4);df(this.buf,n,this.pos);this.pos+=4},writeFixed64:function(n){this.realloc(8);df(this.buf,-1&n,this.pos);df(this.buf,Math.floor(n*(1/4294967296)),this.pos+4);this.pos+=8},writeSFixed64:function(n){this.realloc(8);df(this.buf,-1&n,this.pos);df(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;n>>>=7;i.buf[i.pos]=127&n}(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&&kb(i,t,this);this.pos=i-1;this.writeVarint(t);this.pos+=t},writeFloat:function(n){this.realloc(4);bb(this.buf,n,this.pos,!0,23,4);this.pos+=4},writeDouble:function(n){this.realloc(8);bb(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&&kb(r,i,this);this.pos=r-1;this.writeVarint(i);this.pos+=i},writeMessage:function(n,t,i){this.writeTag(n,w.Bytes);this.writeRawMessage(t,i)},writePackedVarint:function(n,t){this.writeMessage(n,gn,t)},writePackedSVarint:function(n,t){this.writeMessage(n,ntt,t)},writePackedBoolean:function(n,t){this.writeMessage(n,rtt,t)},writePackedFloat:function(n,t){this.writeMessage(n,ttt,t)},writePackedDouble:function(n,t){this.writeMessage(n,itt,t)},writePackedFixed32:function(n,t){this.writeMessage(n,utt,t)},writePackedSFixed32:function(n,t){this.writeMessage(n,ftt,t)},writePackedFixed64:function(n,t){this.writeMessage(n,ett,t)},writePackedSFixed64:function(n,t){this.writeMessage(n,ott,t)},writeBytesField:function(n,t){this.writeTag(n,w.Bytes);this.writeBytes(t)},writeFixed32Field:function(n,t){this.writeTag(n,w.Fixed32);this.writeFixed32(t)},writeSFixed32Field:function(n,t){this.writeTag(n,w.Fixed32);this.writeSFixed32(t)},writeFixed64Field:function(n,t){this.writeTag(n,w.Fixed64);this.writeFixed64(t)},writeSFixed64Field:function(n,t){this.writeTag(n,w.Fixed64);this.writeSFixed64(t)},writeVarintField:function(n,t){this.writeTag(n,w.Varint);this.writeVarint(t)},writeSVarintField:function(n,t){this.writeTag(n,w.Varint);this.writeSVarint(t)},writeStringField:function(n,t){this.writeTag(n,w.Bytes);this.writeString(t)},writeFloatField:function(n,t){this.writeTag(n,w.Fixed32);this.writeFloat(t)},writeDoubleField:function(n,t){this.writeTag(n,w.Fixed64);this.writeDouble(t)},writeBooleanField:function(n,t){this.writeVarintField(n,Boolean(t))}};ih=3;gb=ih;oo=function(n,t,i){this.target=n;this.parent=t;this.mapId=i;this.callbacks={};this.callbackID=0;sv(["receive"],this);this.target.addEventListener("message",this.receive,!1)};oo.prototype.send=function(n,t,i,r){var f=i?this.mapId+":"+this.callbackID++:null,u;i&&(this.callbacks[f]=i);u=[];this.target.postMessage({targetMapId:r,sourceMapId:this.mapId,type:n,id:String(f),data:se(t,u)},u)};oo.prototype.receive=function(n){var i,e=this,t=n.data,o=t.id,r,u,f;t.targetMapId&&this.mapId!==t.targetMapId||(r=function(n,t){var i=[];e.target.postMessage({sourceMapId:e.mapId,type:"<response>",id:String(o),error:n?se(n):null,data:se(t,i)},i)},"<response>"===t.type?(i=this.callbacks[t.id],delete this.callbacks[t.id],i&&t.error?i(uu(t.error)):i&&i(null,uu(t.data))):void 0!==t.id&&this.parent[t.type]?this.parent[t.type](t.sourceMapId,uu(t.data),r):void 0!==t.id&&this.parent.getWorkerSource?(u=t.type.split("."),f=uu(t.data),this.parent.getWorkerSource(t.sourceMapId,u[0],f.source)[u[1]](f,r)):this.parent[t.type](uu(t.data)))};oo.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)};gf=function(n,t,i){this.z=n;this.x=t;this.y=i;this.key=ga(0,n,t,i)};gf.prototype.equals=function(n){return this.z===n.z&&this.x===n.x&&this.y===n.y};gf.prototype.url=function(n,t){var u,i,r,f,e,o=(u=this.x,i=this.y,r=this.z,f=nk(256*u,256*(i=Math.pow(2,r)-i-1),r),e=nk(256*(u+1),256*(i+1),r),f[0]+","+f[1]+","+e[0]+","+e[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)};da=function(n,t){this.wrap=n;this.canonical=t;this.key=ga(n,t.z,t.x,t.y)};p=function(n,t,i,r,u){this.overscaledZ=n;this.wrap=t;this.canonical=new gf(i,+r,+u);this.key=ga(t,n,r,u)};p.prototype.equals=function(n){return this.overscaledZ===n.overscaledZ&&this.wrap===n.wrap&&this.canonical.equals(n.canonical)};p.prototype.scaledTo=function(n){var t=this.canonical.z-n;return n>this.canonical.z?new p(n,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new p(n,this.wrap,n,this.canonical.x>>t,this.canonical.y>>t)};p.prototype.isChildOf=function(n){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};p.prototype.children=function(n){if(this.overscaledZ>=n)return[new p(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 p(t,this.wrap,t,i,r),new p(t,this.wrap,t,i+1,r),new p(t,this.wrap,t,i,r+1),new p(t,this.wrap,t,i+1,r+1)]};p.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))};p.prototype.wrapped=function(){return new p(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)};p.prototype.unwrapTo=function(n){return new p(this.overscaledZ,n,this.canonical.z,this.canonical.x,this.canonical.y)};p.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)};p.prototype.toUnwrapped=function(){return new da(this.wrap,this.canonical)};p.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y};p.prototype.toCoordinate=function(){return new oi(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)};e("CanonicalTileID",gf);e("OverscaledTileID",p,{omit:["posMatrix"]});gi=function(n,t,i){var r,f,o,u;if(this.uid=n,t.height!==t.width)throw new RangeError("DEM tiles must be square");if(i&&"mapbox"!==i&&"terrarium"!==i)return co('"'+i+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');r=this.dim=t.height;this.border=Math.max(Math.ceil(t.height/2),1);this.stride=this.dim+2*this.border;this.data=new Int32Array(this.stride*this.stride);for(var s=t.data,h="terrarium"===i?this._unpackTerrarium:this._unpackMapbox,e=0;e<r;e++)for(f=0;f<r;f++)o=4*(e*r+f),this.set(f,e,h(s[o],s[o+1],s[o+2]));for(u=0;u<r;u++)this.set(-1,u,this.get(0,u)),this.set(r,u,this.get(r-1,u)),this.set(u,-1,this.get(u,0)),this.set(u,r,this.get(u,r-1));this.set(-1,-1,this.get(0,0));this.set(r,-1,this.get(r-1,0));this.set(-1,r,this.get(0,r-1));this.set(r,r,this.get(r-1,r-1))};gi.prototype.set=function(n,t,i){this.data[this._idx(n,t)]=i+65536};gi.prototype.get=function(n,t){return this.data[this._idx(n,t)]-65536};gi.prototype._idx=function(n,t){if(n<-this.border||n>=this.dim+this.border||t<-this.border||t>=this.dim+this.border)throw new RangeError("out of range source coordinates for DEM data");return(t+this.border)*this.stride+(n+this.border)};gi.prototype._unpackMapbox=function(n,t,i){return(65536*n+256*t+i)/10-1e4};gi.prototype._unpackTerrarium=function(n,t,i){return 256*n+t+i/256-32768};gi.prototype.getPixels=function(){return new ei({width:this.dim+2*this.border,height:this.dim+2*this.border},new Uint8Array(this.data.buffer))};gi.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=nr(f,-this.border,this.dim+this.border),c=nr(e,-this.border,this.dim+this.border),l=nr(o,-this.border,this.dim+this.border),a=nr(s,-this.border,this.dim+this.border),v=-t*this.dim,y=-i*this.dim,u=l;u<a;u++)for(r=h;r<c;r++)this.set(r,u,n.get(r+v,u+y))};e("DEMData",gi);nv=ft([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);so=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};so.prototype.encode=function(n){return this._stringToNumber[n]};so.prototype.decode=function(n){return this._numberToString[n]};ho=function(n,t,i,r){this.type="Feature";this._vectorTileFeature=n;n._z=t;n._x=i;n._y=r;this.properties=n.properties;null!=n.id&&(this.id=n.id)};rh={geometry:{configurable:!0}};rh.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};rh.geometry.set=function(n){this._geometry=n};ho.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(ho.prototype,rh);ne=function(){this.state={};this.stateChanges={}};ne.prototype.updateState=function(n,t,i){t=String(t);this.stateChanges[n]=this.stateChanges[n]||{};this.stateChanges[n][t]=this.stateChanges[n][t]||{};si(this.stateChanges[n][t],i)};ne.prototype.getState=function(n,t){t=String(t);var i=this.state[n]||{},r=this.stateChanges[n]||{};return si({},i[t],r[t])};ne.prototype.initializeTileState=function(n,t){n.setFeatureState(this.state,t)};ne.prototype.coalesceChanges=function(n,t){var u={},i,f,r,e;for(i in this.stateChanges){this.state[i]=this.state[i]||{};f={};for(r in this.stateChanges[i])this.state[i][r]||(this.state[i][r]={}),si(this.state[i][r],this.stateChanges[i][r]),f[r]=this.state[i][r];u[i]=f}if(this.stateChanges={},0!==Object.keys(u).length)for(e in n)n[e].setFeatureState(u,t)};yr=function(n,t,i){this.tileID=n;this.x=n.canonical.x;this.y=n.canonical.y;this.z=n.canonical.z;this.grid=t||new uf(lt,16,0);this.featureIndexArray=i||new ol};yr.prototype.insert=function(n,t,i,r,u){var c=this.featureIndexArray.length,o,e;for(this.featureIndexArray.emplaceBack(i,r,u),o=0;o<t.length;o++){for(var h=t[o],f=[1/0,1/0,-1/0,-1/0],s=0;s<h.length;s++)e=h[s],f[0]=Math.min(f[0],e.x),f[1]=Math.min(f[1],e.y),f[2]=Math.max(f[2],e.x),f[3]=Math.max(f[3],e.y);f[0]<lt&&f[1]<lt&&f[2]>=0&&f[3]>=0&&this.grid.insert(c,f[0],f[1],f[2],f[3])}};yr.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new uo.VectorTile(new nh(this.rawTileData)).layers,this.sourceLayerCoder=new so(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers};yr.prototype.query=function(n,t,i){var o=this,y,f,r,e;this.loadVTLayers();for(var w=n.params||{},b=lt/n.tileSize/n.scale,g=bo(w.filter),s=n.queryGeometry,u=n.queryPadding*b,h=1/0,c=1/0,l=-1/0,a=-1/0,v=0;v<s.length;v++)for(y=s[v],f=0;f<y.length;f++)r=y[f],h=Math.min(h,r.x),c=Math.min(c,r.y),l=Math.max(l,r.x),a=Math.max(a,r.y);e=this.grid.query(h-u,c-u,l+u,a+u);e.sort(ltt);for(var k,d={},nt=function(r){var h=e[r],u,f;h!==k&&(k=h,u=o.featureIndexArray.get(h),f=null,o.loadMatchingFeature(d,u.bucketIndex,u.sourceLayerIndex,u.featureIndex,g,w.layers,t,function(t,r){f||(f=af(t));var u={};return t.id&&(u=i.getState(r.sourceLayer||"_geojsonTileLayer",String(t.id))),r.queryIntersectsFeature(s,t,u,f,o.z,n.transform,b,n.posMatrix)}))},p=0;p<e.length;p++)nt(p);return d};yr.prototype.loadMatchingFeature=function(n,t,i,r,u,f,e,o){var v=this.bucketLayerIDs[t],p,h,c,s,l,y,a;if((!f||function(n,t){for(var i=0;i<n.length;i++)if(t.indexOf(n[i])>=0)return!0;return!1}(f,v))&&(p=this.sourceLayerCoder.decode(i),h=this.vtLayers[p].feature(r),u(new k(this.tileID.overscaledZ),h)))for(c=0;c<v.length;c++)s=v[c],f&&f.indexOf(s)<0||(l=e[s],l&&(!o||o(h,l))&&(y=new ho(h,this.z,this.x,this.y),y.layer=l.serialize(),a=n[s],void 0===a&&(a=n[s]=[]),a.push({featureIndex:r,feature:y})))};yr.prototype.lookupSymbolFeatures=function(n,t,i,r,u,f){var o={},h;this.loadVTLayers();for(var c=bo(r),e=0,s=n;e<s.length;e+=1)h=s[e],this.loadMatchingFeature(o,t,i,h,c,u,f);return o};yr.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};e("FeatureIndex",yr,{omit:["rawTileData","sourceLayerCoder"]});d=function(n,t){this.tileID=n;this.uid=ov();this.uses=0;this.tileSize=t;this.buckets={};this.expirationTime=null;this.queryPadding=0;this.hasSymbolBuckets=!1;this.expiredRequestCount=0;this.state="loading"};d.prototype.registerFadeDuration=function(n){var t=n+this.timeAdded;t<lu.now()||this.fadeEndTime&&t<this.fadeEndTime||(this.fadeEndTime=t)};d.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state};d.prototype.loadVectorData=function(n,t,i){var f,r,u,e;if(this.hasData()&&this.unloadVectorData(),this.state="loaded",n){for(f 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 e={},u,o,i,r,f,s;if(!t)return e;for(u=0,o=n;u<o.length;u+=1)if(i=o[u],r=i.layerIds.map(function(n){return t.getLayer(n)}).filter(Boolean),0!==r.length)for(i.layers=r,i.stateDependentLayers=r.filter(function(n){return n.isStateDependent()}),f=0,s=r;f<s.length;f+=1)e[s[f].id]=i;return e}(n.buckets,t.style),this.hasSymbolBuckets=!1,this.buckets)if(r=this.buckets[f],r instanceof v){if(this.hasSymbolBuckets=!0,!i)break;r.justReloaded=!0}for(u in this.queryPadding=0,this.buckets)e=this.buckets[u],this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(u).queryRadius(e));n.iconAtlasImage&&(this.iconAtlasImage=n.iconAtlasImage);n.glyphAtlasImage&&(this.glyphAtlasImage=n.glyphAtlasImage)}else this.collisionBoxArray=new ys};d.prototype.unloadVectorData=function(){for(var n in this.buckets)this.buckets[n].destroy();this.buckets={};this.iconAtlasTexture&&this.iconAtlasTexture.destroy();this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy();this.latestFeatureIndex=null;this.state="unloaded"};d.prototype.unloadDEMData=function(){this.dem=null;this.neighboringTiles=null;this.state="unloaded"};d.prototype.getBucket=function(n){return this.buckets[n.id]};d.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.iconAtlasImage&&(this.iconAtlasTexture=new su(n,this.iconAtlasImage,i.RGBA),this.iconAtlasImage=null);this.glyphAtlasImage&&(this.glyphAtlasTexture=new su(n,this.glyphAtlasImage,i.ALPHA),this.glyphAtlasImage=null)};d.prototype.queryRenderedFeatures=function(n,t,i,r,u,f,e,o){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:i,scale:r,tileSize:this.tileSize,posMatrix:o,transform:f,params:u,queryPadding:this.queryPadding*e},n,t):{}};d.prototype.querySourceFeatures=function(n,t){var f,e;if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData){var o=this.latestFeatureIndex.loadVTLayers(),l=t?t.sourceLayer:"",i=o._geojsonTileLayer||o[l];if(i)for(var a=bo(t&&t.filter),r=this.tileID.canonical,s=r.z,h=r.x,c=r.y,v={z:s,x:h,y:c},u=0;u<i.length;u++)f=i.feature(u),a(new k(this.tileID.overscaledZ),f)&&(e=new ho(f,s,h,c),e.tile=v,n.push(e))}};d.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments);this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer);this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)};d.prototype.setMask=function(n,t){var r,e,h,o,f;if(!te(this.mask,n)&&(this.mask=n,this.clearMask(),!te(n,{0:!0}))){for(r=new ae,e=new pi,this.segments=new tt,this.segments.prepareSegment(0,r,e),h=Object.keys(n),o=0;o<h.length;o++){var c=n[h[o]],s=lt>>c.z,i=new ot(c.x*s,c.y*s),u=new ot(i.x+s,i.y+s),l=this.segments.prepareSegment(4,r,e);r.emplaceBack(i.x,i.y,i.x,i.y);r.emplaceBack(u.x,i.y,u.x,i.y);r.emplaceBack(i.x,u.y,i.x,u.y);r.emplaceBack(u.x,u.y,u.x,u.y);f=l.vertexLength;e.emplaceBack(f,f+1,f+2);e.emplaceBack(f+1,f+2,f+3);l.vertexLength+=4;l.primitiveLength+=2}this.maskedBoundsBuffer=t.createVertexBuffer(r,nv.members);this.maskedIndexBuffer=t.createIndexBuffer(e)}};d.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state};d.prototype.setExpiryData=function(n){var i=this.expirationTime,r,u,t,f;n.cacheControl?(r=function(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}(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)};d.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)};d.prototype.setFeatureState=function(n,t){var f,i;if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(n).length){f=this.latestFeatureIndex.loadVTLayers();for(i in this.buckets){var r=this.buckets[i],e=r.layers[0].sourceLayer||"_geojsonTileLayer",o=f[e],u=n[e];o&&u&&0!==Object.keys(u).length&&(r.update(u,o),t&&t.style&&(this.queryPadding=Math.max(this.queryPadding,t.style.getLayer(i).queryRadius(r))))}}};d.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil};d.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<lu.now()};d.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0};d.prototype.setHoldDuration=function(n){this.symbolFadeHoldUntil=lu.now()+n};uh={horizontal:1,vertical:2,horizontalOnly:3};at=function(){this.text="";this.sectionIndex=[];this.sections=[]};at.fromFeature=function(n,t){var i=new at,r,u,f,e;if(n instanceof bt)for(r=0;r<n.sections.length;r++)for(u=n.sections[r],i.sections.push({scale:u.scale||1,fontStack:u.fontStack||t}),i.text+=u.text,f=0;f<u.text.length;f++)i.sectionIndex.push(r);else for(i.text=n,i.sections.push({scale:1,fontStack:t}),e=0;e<n.length;e++)i.sectionIndex.push(0);return i};at.prototype.length=function(){return this.text.length};at.prototype.getSection=function(n){return this.sections[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&&lp(r)&&!pf[n[t+1]]||u&&lp(u)&&!pf[n[t-1]]||!pf[n[t]]?n[t]:pf[n[t]];return i}(this.text)};at.prototype.trim=function(){for(var r,t,n=0,i=0;i<this.text.length&&fh[this.text.charCodeAt(i)];i++)n++;for(r=this.text.length,t=this.text.length-1;t>=0&&t>=n&&fh[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)};fh={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0};et={};et[10]=!0;et[32]=!0;et[38]=!0;et[40]=!0;et[41]=!0;et[43]=!0;et[45]=!0;et[47]=!0;et[173]=!0;et[183]=!0;et[8203]=!0;et[8208]=!0;et[8211]=!0;et[8231]=!0;n.createCommonjsModule=iv;n.Point=ot;n.window=self;n.browser=lu;n.uuid=function(){return function n(t){return t?(t^16*Math.random()>>t/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,n)}()};n.validateUuid=function(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)};n.storageAvailable=function(n){try{var t=self[n];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch(n){return!1}};n.warnOnce=co;n.postData=function(n,t,i){var r=ch(si(n,{method:"POST"}));return r.onerror=function(){i(new Error(r.statusText))},r.onload=function(){r.status>=200&&r.status<300?i(null,r.response):i(new ie(r.statusText,r.status,n.url))},r.send(t),{cancel:function(){return r.abort()}}};n.getJSON=function(n,t){var i=ch(n);return i.setRequestHeader("Accept","application/json"),i.onerror=function(){t(new Error(i.statusText))},i.onload=function(){if(i.status>=200&&i.status<300&&i.response){var r;try{r=JSON.parse(i.response)}catch(n){return t(n)}t(null,r)}else 401===i.status&&n.url.match(/mapbox.com/)?t(new ie(i.statusText+": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens",i.status,n.url)):t(new ie(i.statusText,i.status,n.url))},i.send(),{cancel:function(){return i.abort()}}};n.getImage=function(n,t){return lh(n,function(n,i){var r,u,f;n?t(n):i&&(r=new self.Image,u=self.URL||self.webkitURL,r.onload=function(){t(null,r);u.revokeObjectURL(r.src)},f=new self.Blob([new Uint8Array(i.data)],{type:"image/png"}),r.cacheControl=i.cacheControl,r.expires=i.expires,r.src=i.data.byteLength?u.createObjectURL(f):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=")})};n.ResourceType=hh;n.RGBAImage=ei;n.ShelfPack=dt;n.ImagePosition=fo;n.Texture=su;n.getArrayBuffer=lh;n.parseGlyphPBF=function(n){return new nh(n).readFields(stt,[])};n.isChar=i;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.AlphaImage=gr;n.styleSpec=t;n.endsWith=eh;n.extend=si;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.Evented=ir;n.validateStyle=hp;n.validateLight=ud;n.emitValidationErrors=cp;n.Color=l;n.number=ct;n.Properties=vt;n.Transitionable=li;n.Transitioning=of;n.PossiblyEvaluated=ce;n.DataConstantProperty=f;n.uniqueId=ov;n.Actor=oo;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.wrap=function(n,t,i){var r=i-t,u=((n-t)%r+r)%r+t;return u===t?i:u};n.clamp=nr;n.Event=ao;n.ErrorEvent=vh;n.OverscaledTileID=p;n.EXTENT=lt;n.getCoordinatesCenter=function(n){for(var i=1/0,r=1/0,u=-1/0,f=-1/0,t=0;t<n.length;t++)i=Math.min(i,n[t].column),r=Math.min(r,n[t].row),u=Math.max(u,n[t].column),f=Math.max(f,n[t].row);var e=u-i,o=f-r,s=Math.max(e,o),h=Math.max(0,Math.floor(-Math.log(s)/Math.LN2));return new oi((i+u)/2,(r+f)/2,0).zoomTo(h)};n.CanonicalTileID=gf;n.StructArrayLayout4i8=ae;n.rasterBoundsAttributes=nv;n.getVideo=function(n,t){var e,u,i=self.document.createElement("video"),r,f;for(i.muted=!0,i.onloadstart=function(){t(null,i)},r=0;r<n.length;r++)f=self.document.createElement("source"),e=n[r],u=void 0,(u=self.document.createElement("a")).href=e,(u.protocol!==self.document.location.protocol||u.host!==self.document.location.host)&&(i.crossOrigin="Anonymous"),f.src=n[r],i.appendChild(f);return{cancel:function(){}}};n.ValidationError=u;n.bindAll=sv;n.deepEqual=te;n.Tile=d;n.Coordinate=oi;n.keysDifference=function(n,t){var i=[];for(var r in n)r in t||i.push(r);return i};n.SourceFeatureState=ne;n.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"];n.create=function(){var n=new lr(16);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};n.identity=function(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};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?(i=1/i,n[0]=(s*ht-h*st+c*ot)*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.multiply=function(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,r=i[4],u=i[5],f=i[6],e=i[7],n[4]=r*o+u*l+f*p+e*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,r=i[8],u=i[9],f=i[10],e=i[11],n[8]=r*o+u*l+f*p+e*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,r=i[12],u=i[13],f=i[14],e=i[15],n[12]=r*o+u*l+f*p+e*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};n.translate=function(n,t,i){var e,o,s,h,c,l,a,v,y,p,w,b,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[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],n[0]=e,n[1]=o,n[2]=s,n[3]=h,n[4]=c,n[5]=l,n[6]=a,n[7]=v,n[8]=y,n[9]=p,n[10]=w,n[11]=b,n[12]=e*r+c*u+y*f+t[12],n[13]=o*r+l*u+p*f+t[13],n[14]=s*r+a*u+w*f+t[14],n[15]=h*r+v*u+b*f+t[15]),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.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.perspective=function(n,t,i,r,u){var f=1/Math.tan(t/2),e=1/(r-u);return n[0]=f/i,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=f,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=(u+r)*e,n[11]=-1,n[12]=0,n[13]=0,n[14]=2*u*r*e,n[15]=0,n};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.create$1=iw;n.normalize=rw;n.transformMat4=bl;n.forEach=uw;n.getSizeData=pa;n.evaluateSizeForFeature=function(n,t,i){var r=t;return"source"===n.functionType?i.lowerSize/10:"composite"===n.functionType?ct(i.lowerSize/10,i.upperSize/10,r.uSizeT):r.uSize};n.evaluateSizeForZoom=function(n,t,i){var e,u;if("constant"===n.functionType)return{uSizeT:0,uSize:n.layoutSize};if("source"===n.functionType)return{uSizeT:0,uSize:0};if("camera"===n.functionType){var o=n.propertyValue,f=n.zoomRange,r=n.sizeRange,s=nr(oc(o,i.specification).interpolationFactor(t,f.min,f.max),0,1);return{uSizeT:0,uSize:r.min+s*(r.max-r.min)}}return e=n.propertyValue,u=n.zoomRange,{uSizeT:nr(oc(e,i.specification).interpolationFactor(t,u.min,u.max),0,1),uSize:0}};n.addDynamicAttributes=wa;n.properties=lb;n.WritingMode=uh;n.multiPolygonIntersectsBufferedPoint=pp;n.multiPolygonIntersectsMultiPolygon=ll;n.multiPolygonIntersectsBufferedMultiLine=wp;n.polygonIntersectsPolygon=function(n,t){for(var r,i=0;i<n.length;i++)if(ws(t,n[i]))return!0;for(r=0;r<t.length;r++)if(ws(n,t[r]))return!0;return!!al(n,t)};n.distToSegmentSquared=bp;n.StyleLayer=yi;n.createStyleLayer=function(n){return new dn[n.type](n)};n.clone=tr;n.filterObject=cv;n.mapObject=hv;n.registerForPluginAvailability=function(n){return he?n({pluginURL:he,completionCallback:bc}):dc.once("pluginAvailable",n),n};n.evented=dc;n.ZoomHistory=ts;n.createLayout=ft;n.ProgramConfiguration=yt;n.create$2=dp;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.create$3=pl;n.length=gp;n.fromValues=wl;n.normalize$1=vd;n.dot=yd;n.cross=pd;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.len=nw;n.forEach$1=tw;n.StructArrayLayout2i4=cf;n.UnwrappedTileID=da;n.create$4=function(){var n=new lr(4);return n[0]=1,n[1]=0,n[2]=0,n[3]=1,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.ease=fv;n.bezier=uv;n.EvaluationParameters=k;n.setRTLTextPlugin=function(n,t){if(kc)throw new Error("setRTLTextPlugin cannot be called multiple times.");kc=!0;he=lu.resolveURL(n);bc=function(n){n?(kc=!1,he=null,t&&t(n)):ap=!0};dc.fire(new ao("pluginAvailable",{pluginURL:he,completionCallback:bc}))};n.values=function(n){var t=[];for(var i in n)t.push(n[i]);return t};n.featureFilter=bo;n.Anchor=ya;n.register=e;n.GLYPH_PBF_BORDER=gb;n.shapeText=function(n,t,i,r,u,f,e,o,s,h,c){var l=at.fromFeature(n,i),w,k,d,v,g,b,nt,tt,y;c===uh.vertical&&l.verticalizePunctuation();var a,it=[],p={positionedGlyphs:it,text:l,top:s[1],bottom:s[1],left:s[0],right:s[0],writingMode:c},rt=fu.processBidirectionalText,ut=fu.processStyledBidirectionalText;if(rt&&1===l.sections.length)for(a=[],w=0,k=rt(l.toString(),tv(l,o,r,t));w<k.length;w+=1){for(d=k[w],v=new at,v.text=d,v.sections=l.sections,g=0;g<d.length;g++)v.sectionIndex.push(0);a.push(v)}else if(ut)for(a=[],b=0,nt=ut(l.text,l.sectionIndex,tv(l,o,r,t));b<nt.length;b+=1)tt=nt[b],y=new at,y.text=tt[0],y.sectionIndex=tt[1],y.sections=l.sections,a.push(y);else a=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}(l,tv(l,o,r,t));return function(n,t,i,r,u,f,e,o,s){for(var l,k,d,y,ft,g,a=0,p=-17,v=0,c=n.positionedGlyphs,nt="right"===f?1:"left"===f?0:.5,b=0,tt=i;b<tt.length;b+=1)if(l=tt[b],l.trim(),k=l.getMaxScale(),l.length()){for(d=c.length,y=0;y<l.length();y++){var h=l.getSection(y),w=l.getCharCode(y),it=24*(k-h.scale),rt=t[h.fontStack],ut=rt&&rt[w];ut&&(wc(w)&&e!==uh.horizontal?(c.push({glyph:w,x:a,y:it,vertical:!0,scale:h.scale,fontStack:h.fontStack}),a+=s*h.scale+o):(c.push({glyph:w,x:a,y:p+it,vertical:!1,scale:h.scale,fontStack:h.fontStack}),a+=ut.metrics.advance*h.scale+o))}c.length!==d&&(ft=a-o,v=Math.max(ft,v),vtt(c,t,d,c.length-1,nt));a=0;p+=r*k}else p+=r;var et=rk(u),ot=et.horizontalAlign,st=et.verticalAlign;!function(n,t,i,r,u,f,e){for(var s=(t-i)*u,h=(-r*e+.5)*f,o=0;o<n.length;o++)n[o].x+=s,n[o].y+=h}(c,nt,ot,st,v,r,i.length);g=p- -17;n.top+=-st*g;n.bottom=n.top+g;n.left+=-ot*v;n.right=n.left+v}(p,t,a,u,f,e,c,o,h),!!it.length&&(p.text=p.text.toString(),p)};n.shapeIcon=function(n,t,i){var r=rk(i),e=r.horizontalAlign,o=r.verticalAlign,s=t[0],h=t[1],u=s-n.displaySize[0]*e,c=u+n.displaySize[0],f=h-n.displaySize[1]*o;return{image:n,top:f,bottom:f+n.displaySize[1],left:u,right:c}};n.allowsVerticalWritingMode=pc;n.allowsLetterSpacing=function(n){for(var t=0,i=n;t<i.length;t+=1)if(!od(i[t].charCodeAt(0)))return!1;return!0};n.classifyRings=ea;n.SymbolBucket=v;n.Formatted=bt;n.FeatureIndex=yr;n.CollisionBoxArray=ys;n.DictionaryCoder=so;n.ImageAtlas=ka;n.mvt=uo;n.Protobuf=nh;n.DEMData=gi;n.vectorTile=uo;n.Point$1=ot;n.pbf=nh;n.plugin=fu}),r(["./shared.js"],function(n){function k(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+=k(e[r])+",";return f+"]"}for(var u=Object.keys(n).sort(),o="{",t=0;t<u.length;t++)o+=JSON.stringify(u[t])+":"+k(n[u[t]])+",";return o+"}"}function pr(t){for(var r="",i=0,u=n.refProperties;i<u.length;i+=1)r+="/"+k(t[u[i]]);return r}function ti(n,t,i,r,u){var s,h,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;){var v=n[f-1],c=n[f],l=n[f+1];if(!l)return!1;for(o=v.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 ii(n){for(var i=0,t=0;t<n.length-1;t++)i+=n[t].dist(n[t+1]);return i}function ri(n,t,i){return n?.6*t*i:0}function ui(n,t){return Math.max(n?n.right-n.left:0,t?t.right-t.left:0)}function wr(t,i,r,u,f,e){for(var v=ri(r,f,e),w=ui(r,u)*e,c=0,y=ii(t)/2,o=0;o<t.length-1;o++){var s=t[o],h=t[o+1],l=s.dist(h);if(c+l>y){var p=(y-c)/l,b=n.number(s.x,h.x,p),k=n.number(s.y,h.y,p),a=new n.Anchor(b,k,h.angleTo(s),o);return a._round(),!v||ti(t,a,w,v,i)?a:void 0}c+=l}}function br(t,i,r,u,f,e,o,s,h){var v=ri(u,e,o),l=ui(u,f),c=l*o,a=0===t[0].x||t[0].x===h||0===t[0].y||t[0].y===h;return i-c<i/4&&(i=c+i/4),function t(i,r,u,f,e,o,s,h,c){for(var b,nt=o/2,it=ii(i),a=0,v=r-u,y=[],l=0;l<i.length-1;l++){for(var p=i[l],w=i[l+1],k=p.dist(w),rt=w.angleTo(p);v+u<a+k;){var tt=((v+=u)-a)/k,d=n.number(p.x,w.x,tt),g=n.number(p.y,w.y,tt);d>=0&&d<c&&g>=0&&g<c&&v-nt>=0&&v+nt<=it&&(b=new n.Anchor(d,g,rt,l),b._round(),f&&!ti(i,b,o,f,e)||y.push(b))}a+=k}return h||y.length||s||(y=t(i,a/2,u,f,e,o,s,!0,c)),y}(t,a?i/2*s%i:(l/2+2*e)*o*s%i,i,v,r,c,a,!1,h)}function o(n,t){if(!(this instanceof o))return new o(n,t);if(this.data=n||[],this.length=this.data.length,this.compare=t||kr,this.length>0)for(var i=(this.length>>1)-1;i>=0;i--)this._down(i)}function kr(n,t){return n<t?-1:n>t?1:0}function dr(t,i,r){var o,w,b,c,k,f;void 0===i&&(i=1);void 0===r&&(r=!1);for(var l=1/0,a=1/0,v=-1/0,y=-1/0,d=t[0],h=0;h<d.length;h++)o=d[h],(!h||o.x<l)&&(l=o.x),(!h||o.y<a)&&(a=o.y),(!h||o.x>v)&&(v=o.x),(!h||o.y>y)&&(y=o.y);var nt=v-l,tt=y-a,p=Math.min(nt,tt),u=p/2,s=new g(null,gr);if(0===p)return new n.Point(l,a);for(w=l;w<v;w+=p)for(b=a;b<y;b+=p)s.push(new e(w+u,b+u,u,t));for(c=function(n){for(var r=0,s=0,h=0,u=n[0],f=0,c=u.length,l=c-1;f<c;l=f++){var t=u[f],i=u[l],o=t.x*i.y-i.x*t.y;s+=(t.x+i.x)*o;h+=(t.y+i.y)*o;r+=3*o}return new e(s/r,h/r,0,n)}(t),k=s.length;s.length;)f=s.pop(),(f.d>c.d||!c.d)&&(c=f,r&&console.log("found best %d after %d probes",Math.round(1e4*f.d)/1e4,k)),f.max-c.d<=i||(u=f.h/2,s.push(new e(f.p.x-u,f.p.y-u,u,t)),s.push(new e(f.p.x+u,f.p.y-u,u,t)),s.push(new e(f.p.x-u,f.p.y+u,u,t)),s.push(new e(f.p.x+u,f.p.y+u,u,t)),k+=4);return r&&(console.log("num probes: "+k),console.log("best distance: "+c.d)),c.p}function gr(n,t){return t.max-n.max}function e(t,i,r,u){this.p=new n.Point(t,i);this.h=r;this.d=function(t,i){for(var r,u,f=!1,e=1/0,o=0;o<i.length;o++)for(var s=i[o],h=0,c=s.length,l=c-1;h<c;l=h++)r=s[h],u=s[l],r.y>t.y!=u.y>t.y&&t.x<(u.x-r.x)*(t.y-r.y)/(u.y-r.y)+r.x&&(f=!f),e=Math.min(e,n.distToSegmentSquared(t,r,u));return(f?1:-1)*Math.sqrt(e)}(this.p,u);this.max=this.d+this.h*Math.SQRT2}function nu(t,i,r,u,f,e){var w,y,a;t.createArrays();t.symbolInstances=[];w=512*t.overscaling;t.tilePixelRatio=n.EXTENT/w;t.compareText={};t.iconsNeedLinear=!1;var o=t.layers[0].layout,h=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.functionType){var b=t.textSizeData.zoomRange,ot=b.min,st=b.max;c.compositeTextSizes=[h["text-size"].possiblyEvaluate(new n.EvaluationParameters(ot)),h["text-size"].possiblyEvaluate(new n.EvaluationParameters(st))]}if("composite"===t.iconSizeData.functionType){var k=t.iconSizeData.zoomRange,ht=k.min,ct=k.max;c.compositeIconSizes=[h["icon-size"].possiblyEvaluate(new n.EvaluationParameters(ht)),h["icon-size"].possiblyEvaluate(new n.EvaluationParameters(ct))]}c.layoutTextSize=h["text-size"].possiblyEvaluate(new n.EvaluationParameters(t.zoom+1));c.layoutIconSize=h["icon-size"].possiblyEvaluate(new n.EvaluationParameters(t.zoom+1));c.textMaxSize=h["text-size"].possiblyEvaluate(new n.EvaluationParameters(18));for(var d=24*o.get("text-line-height"),lt="map"===o.get("text-rotation-alignment")&&"point"!==o.get("symbol-placement"),at=o.get("text-keep-upright"),p=0,g=t.features;p<g.length;p+=1){var s=g[p],nt=o.get("text-font").evaluate(s,{}).join(","),vt=r,v={},l=s.text;if(l){var tt=l instanceof n.Formatted?l.toString():l,it=o.get("text-offset").evaluate(s,{}).map(function(n){return 24*n}),yt=24*o.get("text-letter-spacing").evaluate(s,{}),rt=n.allowsLetterSpacing(tt)?yt:0,ut=o.get("text-anchor").evaluate(s,{}),ft=o.get("text-justify").evaluate(s,{}),et="point"===o.get("symbol-placement")?24*o.get("text-max-width").evaluate(s,{}):0;v.horizontal=n.shapeText(l,i,nt,et,d,ut,ft,rt,it,24,n.WritingMode.horizontal);n.allowsVerticalWritingMode(tt)&&lt&&at&&(v.vertical=n.shapeText(l,i,nt,et,d,ut,ft,rt,it,24,n.WritingMode.vertical))}y=void 0;s.icon&&(a=u[s.icon],a&&(y=n.shapeIcon(f[s.icon],o.get("icon-offset").evaluate(s,{}),o.get("icon-anchor").evaluate(s,{})),void 0===t.sdfIcons?t.sdfIcons=a.sdf:t.sdfIcons!==a.sdf&&n.warnOnce("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),a.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==o.get("icon-rotate").constantOr(1)&&(t.iconsNeedLinear=!0)));(v.horizontal||y)&&tu(t,s,v,y,vt,c)}e&&t.generateCollisionDebugBuffers()}function tu(t,i,r,u,e,o){var at=o.layoutTextSize.evaluate(i,{}),dt=o.layoutIconSize.evaluate(i,{}),g=o.textMaxSize.evaluate(i,{}),c,nt,it,rt,a,ut,v,ft,y,et,ot,st,p,ht,w,b,ct,k,lt,d;void 0===g&&(g=at);var s=t.layers[0].layout,gt=s.get("text-offset").evaluate(i,{}),ni=s.get("icon-offset").evaluate(i,{}),ti=at/24,ii=t.tilePixelRatio*ti,vt=t.tilePixelRatio*g/24,ri=t.tilePixelRatio*dt,yt=t.tilePixelRatio*s.get("symbol-spacing"),ui=s.get("text-padding")*t.tilePixelRatio,fi=s.get("icon-padding")*t.tilePixelRatio,pt=s.get("text-max-angle")/180*Math.PI,oi="map"===s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement"),si="map"===s.get("icon-rotation-alignment")&&"point"!==s.get("symbol-placement"),wt=s.get("symbol-placement"),hi=yt/2,h=function(s,h){h.x<0||h.x>=n.EXTENT||h.y<0||h.y>=n.EXTENT||t.symbolInstances.push(function(t,i,r,u,e,o,s,h,c,a,v,y,p,w,b,k,d,g,nt,tt,it){var rt,ut,ft=t.addToLineVertexArray(i,r),ct=0,lt=0,at=0,ni=u.horizontal?u.horizontal.text:"",ot=[],vt,yt,pt,st,wt,ht,et,bt,kt,dt,gt;return u.horizontal&&(vt=o.layout.get("text-rotate").evaluate(nt,{}),rt=new l(s,r,i,h,c,a,u.horizontal,v,y,p,t.overscaling,vt),lt+=ei(t,i,u.horizontal,o,p,nt,w,ft,u.vertical?n.WritingMode.horizontal:n.WritingMode.horizontalOnly,ot,tt,it),u.vertical&&(at+=ei(t,i,u.vertical,o,p,nt,w,ft,n.WritingMode.vertical,ot,tt,it))),yt=rt?rt.boxStartIndex:t.collisionBoxArray.length,pt=rt?rt.boxEndIndex:t.collisionBoxArray.length,e&&(st=function(t,i,r,u,f,e){var l,a,v,y,s=i.image,o=r.layout,g=i.top-1/s.pixelRatio,nt=i.left-1/s.pixelRatio,tt=i.bottom+1/s.pixelRatio,it=i.right+1/s.pixelRatio,k;if("none"!==o.get("icon-text-fit")&&f){var rt=it-nt,ut=tt-g,p=o.get("text-size").evaluate(e,{})/24,h=f.left*p,pt=f.right*p,c=f.top*p,ft=pt-h,et=f.bottom*p-c,ot=o.get("icon-text-fit-padding")[0],st=o.get("icon-text-fit-padding")[1],ht=o.get("icon-text-fit-padding")[2],ct=o.get("icon-text-fit-padding")[3],w="width"===o.get("icon-text-fit")?.5*(et-ut):0,b="height"===o.get("icon-text-fit")?.5*(ft-rt):0,lt="width"===o.get("icon-text-fit")||"both"===o.get("icon-text-fit")?ft:rt,at="height"===o.get("icon-text-fit")||"both"===o.get("icon-text-fit")?et:ut;l=new n.Point(h+b-ct,c+w-ot);a=new n.Point(h+b+st+lt,c+w-ot);v=new n.Point(h+b+st+lt,c+w+ht+at);y=new n.Point(h+b-ct,c+w+ht+at)}else l=new n.Point(nt,g),a=new n.Point(it,g),v=new n.Point(it,tt),y=new n.Point(nt,tt);if(k=r.layout.get("icon-rotate").evaluate(e,{})*Math.PI/180,k){var vt=Math.sin(k),yt=Math.cos(k),d=[yt,-vt,vt,yt];l._matMult(d);a._matMult(d);y._matMult(d);v._matMult(d)}return[{tl:l,tr:a,bl:y,br:v,tex:s.paddedRect,writingMode:void 0,glyphOffset:[0,0]}]}(0,e,o,0,u.horizontal,nt),wt=o.layout.get("icon-rotate").evaluate(nt,{}),ut=new l(s,r,i,h,c,a,e,b,k,!1,t.overscaling,wt),ct=4*st.length,ht=t.iconSizeData,et=null,"source"===ht.functionType?et=[10*o.layout.get("icon-size").evaluate(nt,{})]:"composite"===ht.functionType&&(et=[10*it.compositeIconSizes[0].evaluate(nt,{}),10*it.compositeIconSizes[1].evaluate(nt,{})]),t.addSymbols(t.icon,st,et,g,d,nt,!1,i,ft.lineStartIndex,ft.lineLength)),bt=ut?ut.boxStartIndex:t.collisionBoxArray.length,kt=ut?ut.boxEndIndex:t.collisionBoxArray.length,t.glyphOffsetArray.length>=n.SymbolBucket.MAX_GLYPHS&&n.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),dt=new f,gt=new f,{key:ni,textBoxStartIndex:yt,textBoxEndIndex:pt,iconBoxStartIndex:bt,iconBoxEndIndex:kt,textOffset:w,iconOffset:g,anchor:i,line:r,featureIndex:h,numGlyphVertices:lt,numVerticalGlyphVertices:at,numIconVertices:ct,textOpacityState:dt,iconOpacityState:gt,isDuplicate:!1,placedTextSymbolIndices:ot,crossTileID:0}}(t,h,s,r,u,t.layers[0],t.collisionBoxArray,i.index,i.sourceLayerIndex,t.index,ii,ui,oi,gt,ri,fi,si,ni,i,e,o))};if("line"===wt)for(c=0,nt=function(t,i,r,u,f){for(var e,o,l=[],h=0;h<t.length;h++)for(var a=t[h],s=void 0,c=0;c<a.length-1;c++)e=a[c],o=a[c+1],e.x<i&&o.x<i||(e.x<i?e=new n.Point(i,e.y+(o.y-e.y)*((i-e.x)/(o.x-e.x)))._round():o.x<i&&(o=new n.Point(i,e.y+(o.y-e.y)*((i-e.x)/(o.x-e.x)))._round()),e.y<r&&o.y<r||(e.y<r?e=new n.Point(e.x+(o.x-e.x)*((r-e.y)/(o.y-e.y)),r)._round():o.y<r&&(o=new n.Point(e.x+(o.x-e.x)*((r-e.y)/(o.y-e.y)),r)._round()),e.x>=u&&o.x>=u||(e.x>=u?e=new n.Point(u,e.y+(o.y-e.y)*((u-e.x)/(o.x-e.x)))._round():o.x>=u&&(o=new n.Point(u,e.y+(o.y-e.y)*((u-e.x)/(o.x-e.x)))._round()),e.y>=f&&o.y>=f||(e.y>=f?e=new n.Point(e.x+(o.x-e.x)*((f-e.y)/(o.y-e.y)),f)._round():o.y>=f&&(o=new n.Point(e.x+(o.x-e.x)*((f-e.y)/(o.y-e.y)),f)._round()),s&&e.equals(s[s.length-1])||(s=[e],l.push(s)),s.push(o)))));return l}(i.geometry,0,0,n.EXTENT,n.EXTENT);c<nt.length;c+=1)for(var bt=nt[c],tt=0,kt=br(bt,yt,pt,r.vertical||r.horizontal,u,24,vt,t.overscaling,n.EXTENT);tt<kt.length;tt+=1)it=kt[tt],rt=r.horizontal,rt&&iu(t,rt.text,hi,it)||h(bt,it);else if("line-center"===wt)for(a=0,ut=i.geometry;a<ut.length;a+=1)v=ut[a],v.length>1&&(ft=wr(v,pt,r.vertical||r.horizontal,u,24,vt),ft&&h(v,ft));else if("Polygon"===i.type)for(y=0,et=n.classifyRings(i.geometry,0);y<et.length;y+=1)ot=et[y],st=dr(ot,16),h(ot[0],new n.Anchor(st.x,st.y,0));else if("LineString"===i.type)for(p=0,ht=i.geometry;p<ht.length;p+=1)w=ht[p],h(w,new n.Anchor(w[0].x,w[0].y,0));else if("Point"===i.type)for(b=0,ct=i.geometry;b<ct.length;b+=1)for(k=0,lt=ct[b];k<lt.length;k+=1)d=lt[k],h([d],new n.Anchor(d.x,d.y,0))}function ei(t,i,r,u,f,e,o,s,h,c,l,a){var y=function(t,i,r,u,f,e){for(var h,p=r.layout.get("text-rotate").evaluate(f,{})*Math.PI/180,it=r.layout.get("text-offset").evaluate(f,{}).map(function(n){return 24*n}),rt=i.positionedGlyphs,ut=[],w=0;w<rt.length;w++){var o=rt[w],ft=e[o.fontStack],s=ft&&ft[o.glyph];if(s&&(h=s.rect,h)){var et=n.GLYPH_PBF_BORDER+1,c=s.metrics.advance*o.scale/2,at=u?[o.x+c,o.y]:[0,0],ot=u?[0,0]:[o.x+c+it[0],o.y+it[1]],b=(s.metrics.left-et)*o.scale-c+ot[0],k=(-s.metrics.top-et)*o.scale+ot[1],st=b+h.w*o.scale,ht=k+h.h*o.scale,d=new n.Point(b,k),g=new n.Point(st,k),nt=new n.Point(b,ht),tt=new n.Point(st,ht);if(u&&o.vertical){var l=new n.Point(-c,c),a=-Math.PI/2,v=new n.Point(5,0);d._rotateAround(a,l)._add(v);g._rotateAround(a,l)._add(v);nt._rotateAround(a,l)._add(v);tt._rotateAround(a,l)._add(v)}if(p){var ct=Math.sin(p),lt=Math.cos(p),y=[lt,-ct,ct,lt];d._matMult(y);g._matMult(y);nt._matMult(y);tt._matMult(y)}ut.push({tl:d,tr:g,bl:nt,br:tt,tex:h,writingMode:i.writingMode,glyphOffset:at})}}return ut}(0,r,u,f,e,l),p=t.textSizeData,v=null;return"source"===p.functionType?v=[10*u.layout.get("text-size").evaluate(e,{})]:"composite"===p.functionType&&(v=[10*a.compositeTextSizes[0].evaluate(e,{}),10*a.compositeTextSizes[1].evaluate(e,{})]),t.addSymbols(t.text,y,v,o,f,e,h,i,s.lineStartIndex,s.lineLength),c.push(t.text.placedSymbolArray.length-1),4*y.length}function iu(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 oi(t,i){for(var f=new n.EvaluationParameters(i),r=0,u=t;r<u.length;r+=1)u[r].recalculate(f)}function ru(t,i){var r=n.getArrayBuffer(t.request,function(t,r){t?i(t):r&&i(null,{vectorTile:new n.mvt.VectorTile(new n.Protobuf(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires})});return function(){r.cancel();i()}}function hi(n){var i=0,t;if(n&&n.length>0)for(i+=Math.abs(rt(n[0])),t=1;t<n.length;t++)i-=Math.abs(rt(n[t]));return i}function rt(n){var o,s,r,u,f,t,e=0,i=n.length;if(i>2){for(t=0;t<i;t++)t===i-2?(r=i-2,u=i-1,f=0):t===i-1?(r=i-1,u=0,f=1):(r=t,u=t+1,f=t+2),o=n[r],s=n[u],e+=(ut(n[f][0])-ut(o[0]))*Math.sin(ut(s[1]));e=e*it.RADIUS*it.RADIUS/2}return e}function ut(n){return n*Math.PI/180}function ai(n,t){return function(i){return n(i,t)}}function vi(n,t){t=!!t;n[0]=yi(n[0],t);for(var i=1;i<n.length;i++)n[i]=yi(n[i],!t);return n}function yi(n,t){return function(n){return ci.ring(n)>=0}(n)===t?n:n.reverse()}function bi(n,t){this.options=t||{};this.features=n;this.length=n.length}function y(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 ot(t){var i=new n.pbf;return function(n,t){for(var i in n.layers)t.writeMessage(3,ou,n.layers[i])}(t,i),i.finish()}function ou(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,su,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,lu,f[i])}function su(n,t){var i=n.feature;void 0!==i.id&&t.writeVarintField(1,i.id);t.writeMessage(2,hu,n);t.writeVarintField(3,i.type);t.writeMessage(4,cu,i)}function hu(n,t){var s=n.feature,h=n.keys,c=n.values,l=n.keycache,a=n.valuecache,r,u,i,f,o,e;for(r in s.properties)u=l[r],void 0===u&&(h.push(r),u=h.length-1,l[r]=u),t.writeVarint(u),i=s.properties[r],f=typeof i,"string"!==f&&"boolean"!==f&&"number"!==f&&(i=JSON.stringify(i)),o=f+":"+i,e=a[o],void 0===e&&(c.push(i),e=c.length-1,a[o]=e),t.writeVarint(e)}function st(n,t){return(t<<3)+(7&n)}function ki(n){return n<<1^n>>31}function cu(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(st(1,e)),o=3===u?i.length-1:i.length,r=0;r<o;r++)1===r&&1!==u&&t.writeVarint(st(2,o-1)),s=i[r].x-l,h=i[r].y-a,t.writeVarint(ki(s)),t.writeVarint(ki(h)),l+=s,a+=h;3===u&&t.writeVarint(st(7,0))}}function lu(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 ht(n,t,i,r,u,f){if(!(u-r<=i)){var e=Math.floor((r+u)/2);!function n(t,i,r,u,f,e){for(;f>u;){if(f-u>600){var s=f-u+1,v=r-u+1,y=Math.log(s),l=.5*Math.exp(2*y/3),p=.5*Math.sqrt(y*l*(s-l)/s)*(v-s/2<0?-1:1),w=Math.max(u,Math.floor(r-v*l/s+p)),b=Math.min(f,Math.floor(r+(s-v)*l/s+p));n(t,i,r,w,b,e)}var a=i[2*r+e],c=u,o=f;for(h(t,i,u,r),i[2*f+e]>a&&h(t,i,u,f);c<o;){for(h(t,i,c,o),c++,o--;i[2*c+e]<a;)c++;for(;i[2*o+e]>a;)o--}i[2*u+e]===a?h(t,i,u,o):h(t,i,++o,f);o<=r&&(u=o+1);r<=o&&(f=o-1)}}(n,t,e,r,u,f%2);ht(n,t,i,r,e-1,f+1);ht(n,t,i,e+1,u,f+1)}}function h(n,t,i,r){ct(n,i,r);ct(t,2*i,2*r);ct(t,2*i+1,2*r+1)}function ct(n,t,i){var r=n[t];n[t]=n[i];n[i]=r}function di(n,t,i,r){var u=n-i,f=t-r;return u*u+f*f}function gi(n,t,i,r,u){return new nr(n,t,i,r,u)}function nr(n,t,i,r,u){t=t||au;i=i||vu;u=u||Array;this.nodeSize=r||64;this.points=n;this.ids=new u(n.length);this.coords=new u(2*n.length);for(var f=0;f<n.length;f++)this.ids[f]=f,this.coords[2*f]=t(n[f]),this.coords[2*f+1]=i(n[f]);ht(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function au(n){return n[0]}function vu(n){return n[1]}function tr(n){this.options=vt(Object.create(this.options),n);this.trees=new Array(this.options.maxZoom+1)}function yu(n,t,i,r,u){return{x:n,y:t,zoom:1/0,id:i,parentId:-1,numPoints:r,properties:u}}function ir(n){return{type:"Feature",id:n.id,properties:rr(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 rr(n){var t=n.numPoints,i=t>=1e4?Math.round(t/1e3)+"k":t>=1e3?Math.round(t/100)/10+"k":t;return vt(vt({},n.properties),{cluster:!0,cluster_id:n.id,point_count:t,point_count_abbreviated:i})}function lt(n){return n/360+.5}function at(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 vt(n,t){for(var i in t)n[i]=t[i];return n}function ur(n){return n.x}function fr(n){return n.y}function pu(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 c(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)yt(n,i);else if("Polygon"===r||"MultiLineString"===r)for(t=0;t<i.length;t++)yt(n,i[t]);else if("MultiPolygon"===r)for(t=0;t<i.length;t++)for(u=0;u<i[t].length;u++)yt(n,i[t][u])}(u),u}function yt(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 w(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)er(f,e);else if("MultiPoint"===o)for(u=0;u<f.length;u++)er(f[u],e);else if("LineString"===o)pt(f,e,s,!1);else if("MultiLineString"===o){if(i.lineMetrics){for(u=0;u<f.length;u++)e=[],pt(f[u],e,s,!1),n.push(c(h,"LineString",e,t.properties));return}wt(f,e,s,!1)}else if("Polygon"===o)wt(f,e,s,!0);else{if("MultiPolygon"!==o){if("GeometryCollection"===o){for(u=0;u<t.geometry.geometries.length;u++)w(n,{id:h,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=[],wt(f[u],l,s,!0),e.push(l)}n.push(c(h,o,e,t.properties))}}function er(n,t){t.push(or(n[0]));t.push(sr(n[1]));t.push(0)}function pt(n,t,i,r){for(var o,s,f,e,c,h=0,u=0;u<n.length;u++)f=or(n[u][0]),e=sr(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=pu(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 wt(n,t,i,r){for(var f,u=0;u<n.length;u++)f=[],pt(n[u],f,i,r),t.push(f)}function or(n){return n/360+.5}function sr(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,h,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(h=[],"Point"===s||"MultiPoint"===s)wu(y,h,i,r,u);else if("LineString"===s)hr(y,h,i,r,u,!1,o.lineMetrics);else if("MultiLineString"===s)bt(y,h,i,r,u,!1);else if("Polygon"===s)bt(y,h,i,r,u,!0);else if("MultiPolygon"===s)for(a=0;a<y.length;a++)w=[],bt(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));continue}"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 wu(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 hr(n,t,i,r,u,f,e){for(var c,w,l,o=cr(n),b=0===u?bu:ku,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)):kt(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=cr(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&&kt(o,s,h,g);c=o.length-3;f&&c>=3&&(o[c]!==o[0]||o[c+1]!==o[1])&&kt(o,o[0],o[1],o[2]);o.length&&t.push(o)}function cr(n){var t=[];return t.size=n.size,t.start=n.start,t.end=n.end,t}function bt(n,t,i,r,u,f){for(var e=0;e<n.length;e++)hr(n[e],t,i,r,u,f,!1)}function kt(n,t,i,r){n.push(t);n.push(i);n.push(r)}function bu(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 ku(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 lr(n,t){for(var f,i,u,r,h,o,s=[],e=0;e<n.length;e++){if(i=n[e],u=i.type,"Point"===u||"MultiPoint"===u||"LineString"===u)f=dt(i.geometry,t);else if("MultiLineString"===u||"Polygon"===u)for(f=[],r=0;r<i.geometry.length;r++)f.push(dt(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(dt(i.geometry[r][o],t));f.push(h)}s.push(c(i.id,u,f,i.tags))}return s}function dt(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 ar(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(vr(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(vr(r[i][u],r[i][u+1],t,s,h,c));f.geometry.push(o)}}return n.transformed=!0,n}function vr(n,t,i,r,u,f){return[Math.round(i*(n*r-u)),Math.round(i*(t*r-f))]}function du(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++;gu(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 gu(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)gt(o,f,n,i,!1,!1);else if("MultiLineString"===e||"Polygon"===e)for(u=0;u<f.length;u++)gt(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++)gt(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 gt(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 b(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++)w(r,n.features[i],t,i);else"Feature"===n.type?w(r,n,t):w(r,{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=lr(f,1).concat(u)),e&&(u=u.concat(lr(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 ni(n,t,i){return 32*((1<<n)*i+t)+n}function nf(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 ft(u.features);i=p(f);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i));t(null,{vectorTile:f,rawData:i.buffer})}var d=function(n){n&&this.replace(n)},f,l,g,fi,nt,tt,u,a,it,ci,li,pi,v,ft,wi,et,yr,t;d.prototype.replace=function(n){this._layerConfigs={};this._layers={};this.update(n,[])};d.prototype.update=function(t,i){for(var u,l,e,a,v,o,y,p,s,w,f,b,h,r=this,c=0,k=t;c<k.length;c+=1)u=k[c],r._layerConfigs[u.id]=u,l=r._layers[u.id]=n.createStyleLayer(u),l._featureFilter=n.featureFilter(l.filter);for(e=0,a=i;e<a.length;e+=1)v=a[e],delete r._layerConfigs[v],delete r._layers[v];for(this.familiesBySource={},o=0,y=function(n){for(var u,r,f,e,t={},i=0;i<n.length;i++)u=pr(n[i]),r=t[u],r||(r=t[u]=[]),r.push(n[i]);f=[];for(e in t)f.push(t[e]);return f}(n.values(this._layerConfigs));o<y.length;o+=1)p=y[o].map(function(n){return r._layers[n.id]}),s=p[0],"none"!==s.visibility&&(w=s.source||"",f=r.familiesBySource[w],f||(f=r.familiesBySource[w]={}),b=s.sourceLayer||"_geojsonTileLayer",h=f[b],h||(h=f[b]=[]),h.push(p))};f=function(){this.opacity=0;this.targetOpacity=0;this.time=0};f.prototype.clone=function(){var n=new f;return n.opacity=this.opacity,n.targetOpacity=this.targetOpacity,n.time=this.time,n};n.register("OpacityState",f);l=function(t,i,r,u,f,e,o,s,h,c,l,a){var v=o.top*s-h,y=o.bottom*s+h,p=o.left*s-h,w=o.right*s+h,b,it;if(this.boxStartIndex=t.length,c)b=y-v,it=w-p,b>0&&(b=Math.max(10*s,b),this._addLineCollisionCircles(t,i,r,r.segment,it,b,u,f,e,l));else{if(a){var k=new n.Point(p,v),d=new n.Point(w,v),g=new n.Point(p,y),nt=new n.Point(w,y),tt=a*Math.PI/180;k._rotate(tt);d._rotate(tt);g._rotate(tt);nt._rotate(tt);p=Math.min(k.x,d.x,g.x,nt.x);w=Math.max(k.x,d.x,g.x,nt.x);v=Math.min(k.y,d.y,g.y,nt.y);y=Math.max(k.y,d.y,g.y,nt.y)}t.emplaceBack(r.x,r.y,p,v,w,y,u,f,e,0,0)}this.boxEndIndex=t.length};l.prototype._addLineCollisionCircles=function(n,t,i,r,u,f,e,o,s,h){var w=f/2,d=Math.floor(u/w)||1,rt=1+.4*Math.log(h)/Math.LN2,g=Math.floor(d*rt/2),b=-f/2,nt=i,c=r+1,a=b,k=-u/2,ut=k-u/4,y,p,v,l;do{if(--c<0){if(a>k)return;c=0;break}a-=t[c].dist(nt);nt=t[c]}while(a>ut);for(y=t[c].dist(t[c+1]),p=-g;p<d+g;p++)if(v=p*w,l=k+v,v<0&&(l+=v),v>u&&(l+=v-u),!(l<a)){for(;a+y<l;){if(a+=y,++c+1>=t.length)return;y=t[c].dist(t[c+1])}var ft=l-a,tt=t[c],it=t[c+1].sub(tt)._unit()._mult(ft)._add(tt)._round(),et=Math.abs(l-b)<w?0:.8*(l-b);n.emplaceBack(it.x,it.y,-f/2,-f/2,f/2,f/2,e,o,s,f/2,et)}};g=o;fi=o;o.prototype={push:function(n){this.data.push(n);this.length++;this._up(this.length-1)},pop:function(){if(0!==this.length){var n=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),n}},peek:function(){return this.data[0]},_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},_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=i+1,u=t[i];if(r<this.length&&f(t[r],u)<0&&(i=r,u=t[r]),f(u,e)>=0)break;t[n]=u;n=i}t[n]=e}};g.default=fi;nt=function(t){var u={},f=new n.ShelfPack(0,0,{autoResize:!0}),p=[],e,o,w,s,i,h,c,l,a,v,r,y;for(e in t){o=t[e];w=u[e]={};for(s in o)i=o[+s],i&&0!==i.bitmap.width&&0!==i.bitmap.height&&(h={x:0,y:0,w:i.bitmap.width+2,h:i.bitmap.height+2},p.push(h),w[s]={rect:h,metrics:i.metrics})}f.pack(p,{inPlace:!0});c=new n.AlphaImage({width:f.w,height:f.h});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",nt);tt=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};tt.prototype.parse=function(t,i,r,u){function tt(){var i,r,f,t;if(s)return u(s);if(h&&c){i=new nt(h);r=new n.ImageAtlas(c);for(f in y)t=y[f],t instanceof n.SymbolBucket&&(oi(t.layers,this.zoom),nu(t,h,i.positions,c,r.positions,this.showCollisionBoxes));this.status="done";u(null,{buckets:n.values(y).filter(function(n){return!n.isEmpty()}),featureIndex:o,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:i.image,iconAtlasImage:r.image})}}var f=this,it,o,l,a,et,w,k,v,e,d,g;this.status="parsing";this.data=t;this.collisionBoxArray=new n.CollisionBoxArray;it=new n.DictionaryCoder(Object.keys(t.layers).sort());o=new n.FeatureIndex(this.tileID);o.bucketLayerIDs=[];var s,h,c,y={},b={featureIndex:o,iconDependencies:{},glyphDependencies:{}},rt=i.familiesBySource[this.source];for(l in rt)if(a=t.layers[l],a){1===a.version&&n.warnOnce('Vector tile source "'+f.source+'" layer "'+l+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var ut=it.encode(l),ft=[],p=0;p<a.length;p++)et=a.feature(p),ft.push({feature:et,index:p,sourceLayerIndex:ut});for(w=0,k=rt[l];w<k.length;w+=1)v=k[w],e=v[0],e.minzoom&&f.zoom<Math.floor(e.minzoom)||e.maxzoom&&f.zoom>=e.maxzoom||"none"!==e.visibility&&(oi(v,f.zoom),(y[e.id]=e.createBucket({index:o.bucketLayerIDs.length,layers:v,zoom:f.zoom,pixelRatio:f.pixelRatio,overscaling:f.overscaling,collisionBoxArray:f.collisionBoxArray,sourceLayerIndex:ut,sourceID:f.source})).populate(ft,b),o.bucketLayerIDs.push(v.map(function(n){return n.id})))}d=n.mapObject(b.glyphDependencies,function(n){return Object.keys(n).map(Number)});Object.keys(d).length?r.send("getGlyphs",{uid:this.uid,stacks:d},function(n,t){s||(s=n,h=t,tt.call(f))}):h={};g=Object.keys(b.iconDependencies);g.length?r.send("getImages",{icons:g},function(n,t){s||(s=n,c=t,tt.call(f))}):c={};tt.call(this)};var s="undefined"!=typeof performance,i={getEntriesByName:function(n){return!!(s&&performance&&performance.getEntriesByName)&&performance.getEntriesByName(n)},mark:function(n){return!!(s&&performance&&performance.mark)&&performance.mark(n)},measure:function(n,t,i){return!!(s&&performance&&performance.measure)&&performance.measure(n,t,i)},clearMarks:function(n){return!!(s&&performance&&performance.clearMarks)&&performance.clearMarks(n)},clearMeasures:function(n){return!!(s&&performance&&performance.clearMeasures)&&performance.clearMeasures(n)}},si=function(n){this._marks={start:[n.url,"start"].join("#"),end:[n.url,"end"].join("#"),measure:n.url.toString()};i.mark(this._marks.start)};si.prototype.finish=function(){i.mark(this._marks.end);var n=i.getEntriesByName(this._marks.measure);return 0===n.length&&(i.measure(this._marks.measure,this._marks.start,this._marks.end),n=i.getEntriesByName(this._marks.measure),i.clearMarks(this._marks.start),i.clearMarks(this._marks.end),i.clearMeasures(this._marks.measure)),n};i.Performance=si;u=function(n,t,i){this.actor=n;this.layerIndex=t;this.loadVectorData=i||ru;this.loading={};this.loaded={}};u.prototype.loadTile=function(t,r){var u=this,e=t.uid,o,f;this.loading||(this.loading={});o=!!(t&&t.request&&t.request.collectResourceTiming)&&new i.Performance(t.request);f=this.loading[e]=new tt(t);f.abort=this.loadVectorData(t,function(t,i){var l,s,h,c;if(delete u.loading[e],t||!i)return r(t);l=i.rawData;s={};i.expires&&(s.expires=i.expires);i.cacheControl&&(s.cacheControl=i.cacheControl);h={};o&&(c=o.finish(),c&&(h.resourceTiming=JSON.parse(JSON.stringify(c))));f.vectorTile=i.vectorTile;f.parse(i.vectorTile,u.layerIndex,u.actor,function(t,i){if(t||!i)return r(t);r(null,n.extend({rawTileData:l.slice(0)},i,s,h))});u.loaded=u.loaded||{};u.loaded[e]=f})};u.prototype.reloadTile=function(n,t){var r=this.loaded,f=n.uid,e=this,i,u;r&&r[f]&&(i=r[f],i.showCollisionBoxes=n.showCollisionBoxes,u=function(n,r){var u=i.reloadCallback;u&&(delete i.reloadCallback,i.parse(i.vectorTile,e.layerIndex,e.actor,u));t(n,r)},"parsing"===i.status?i.reloadCallback=u:"done"===i.status&&i.parse(i.vectorTile,this.layerIndex,this.actor,u))};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()};a=function(){this.loaded={}};a.prototype.loadTile=function(t,i){var r=t.uid,f=t.encoding,e=t.rawImageData,u=new n.DEMData(r,e,f);this.loaded=this.loaded||{};this.loaded[r]=u;i(null,u)};a.prototype.removeTile=function(n){var t=this.loaded,i=n.uid;t&&t[i]&&delete t[i]};it={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};ci={geometry:function n(t){var i,r=0;switch(t.type){case"Polygon":return hi(t.coordinates);case"MultiPolygon":for(i=0;i<t.coordinates.length;i++)r+=hi(t.coordinates[i]);return r;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0;case"GeometryCollection":for(i=0;i<t.geometries.length;i++)r+=n(t.geometries[i]);return r}},ring:rt};li=function n(t,i){switch(t&&t.type||null){case"FeatureCollection":return t.features=t.features.map(ai(n,i)),t;case"Feature":return t.geometry=n(t.geometry,i),t;case"Polygon":case"MultiPolygon":return function(n,t){return"Polygon"===n.type?n.coordinates=vi(n.coordinates,t):"MultiPolygon"===n.type&&(n.coordinates=n.coordinates.map(ai(vi,t))),n}(t,i);default:return t}};pi=n.mvt.VectorTileFeature.prototype.toGeoJSON;v=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))};v.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(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(f[0],f[1]));s.push(c)}return s};v.prototype.toGeoJSON=function(n,t,i){return pi.call(this,n,t,i)};ft=function(t){this.layers={_geojsonTileLayer:this};this.name="_geojsonTileLayer";this.extent=n.EXTENT;this.length=t.length;this._features=t};ft.prototype.feature=function(n){return new v(this._features[n])};wi=n.vectorTile.VectorTileFeature;et=bi;bi.prototype.feature=function(n){return new y(this.features[n],this.options.extent)};y.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};y.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]};y.prototype.toGeoJSON=wi.prototype.toGeoJSON;var p=ot,uu=ot,fu=function(n,t){var r,i;t=t||{};r={};for(i in n)r[i]=new et(n[i].features,t),r[i].name=i,r[i].version=t.version,r[i].extent=t.extent;return ot({layers:r})},eu=et;return p.fromVectorTileJs=uu,p.fromGeojsonVt=fu,p.GeoJSONWrapper=eu,nr.prototype={range:function(n,t,i,r){return function(n,t,i,r,u,f,e){for(var s,h,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],h=t[2*c+1],s>=i&&s<=u&&h>=r&&h<=f&&a.push(n[c]);else l=Math.floor((y+v)/2),s=t[2*l],h=t[2*l+1],s>=i&&s<=u&&h>=r&&h<=f&&a.push(n[l]),w=(p+1)%2,(0===p?i<=s:r<=h)&&(o.push(y),o.push(l-1),o.push(w)),(0===p?u>=s:f>=h)&&(o.push(l+1),o.push(v),o.push(w))}return a}(this.ids,this.coords,n,t,i,r,this.nodeSize)},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++)di(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];di(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)}},tr.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(n){return n}},load:function(n){var u=this.options.log,f,e,o,s,t,i,r,h;for(u&&console.time("total time"),f="prepare "+n.length+" points",u&&console.time(f),this.points=n,t=[],i=0;i<n.length;i++)n[i].geometry&&t.push((e=n[i],o=i,void 0,{x:lt((s=e.geometry.coordinates)[0]),y:at(s[1]),zoom:1/0,index:o,parentId:-1}));for(this.trees[this.options.maxZoom+1]=gi(t,ur,fr,this.options.nodeSize,Float32Array),u&&console.timeEnd(f),r=this.options.maxZoom;r>=this.options.minZoom;r--)h=+Date.now(),t=this._cluster(t,r),this.trees[r]=gi(t,ur,fr,this.options.nodeSize,Float32Array),u&&console.log("z%d: %d clusters in %dms",r,t.length,+Date.now()-h);return u&&console.timeEnd("total time"),this},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=c.range(lt(i),at(e),lt(r),at(f)),a=[],o=0;o<l.length;o++)u=c.points[l[o]],a.push(u.numPoints?ir(u):this.points[u.index]);return a},getChildren:function(n){var h=n>>5,o=n%32,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)),s=i.within(r.x,r.y,c),f=[],e=0;e<s.length;e++)t=i.points[s[e]],t.parentId===n&&f.push(t.numPoints?ir(t):this.points[t.index]);if(0===f.length)throw new Error(u);return f},getLeaves:function(n,t,i){t=t||10;i=i||0;var r=[];return this._appendLeaves(r,n,t,i,0),r},getTile:function(n,t,i){var u=this.trees[this._limitZoom(n)],r=Math.pow(2,n),h=this.options.extent,f=this.options.radius/h,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},getClusterExpansionZoom:function(n){for(var i,t=n%32-1;t<this.options.maxZoom;){if(i=this.getChildren(n),t++,1!==i.length)break;n=i[0].properties.cluster_id}return t},_appendLeaves:function(n,t,i,r,u){for(var f,o=this.getChildren(t),e=0;e<o.length;e++)if(f=o[e].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(o[e]),n.length===i)break;return u},_addTileFeatures:function(n,t,i,r,u,f){for(var o=0;o<n.length;o++){var e=t[n[o]],s={type:1,geometry:[[Math.round(this.options.extent*(e.x*u-i)),Math.round(this.options.extent*(e.y*u-r))]],tags:e.numPoints?rr(e):this.points[e.index].properties},h=e.numPoints?e.id:this.points[e.index].id;void 0!==h&&(s.id=h);f.features.push(s)}},_limitZoom:function(n){return Math.max(this.options.minZoom,Math.min(n,this.options.maxZoom+1))},_cluster:function(n,t){for(var i,o,s,r,h,c=[],p=this.options.radius/(this.options.extent*Math.pow(2,t)),f=0;f<n.length;f++)if(i=n[f],!(i.zoom<=t)){i.zoom=t;var l=this.trees[t+1],a=l.within(i.x,i.y,p),u=i.numPoints||1,v=i.x*u,y=i.y*u,e=null;for(this.options.reduce&&(e=this.options.initial(),this._accumulate(e,i)),o=(f<<5)+(t+1),s=0;s<a.length;s++)r=l.points[a[s]],r.zoom<=t||(r.zoom=t,h=r.numPoints||1,v+=r.x*h,y+=r.y*h,u+=h,r.parentId=o,this.options.reduce&&this._accumulate(e,r));1===u?c.push(i):(i.parentId=o,c.push(yu(v/u,y/u,o,u,e)))}return c},_accumulate:function(n,t){var i=t.numPoints?t.properties:this.options.map(this.points[t.index].properties);this.options.reduce(n,i)}},b.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},b.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=ni(t,i,u),s=this.tiles[ut];if(!s&&(v>1&&console.time("creation"),s=this.tiles[ut]=du(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)}}},b.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=ni(n,t=(t%h+h)%h,i),this.tiles[r])return ar(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[ni(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]?ar(this.tiles[r],l):null):null},yr=function(t){function r(n,i,r){t.call(this,n,i,nf);r&&(this.loadGeoJSON=r)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.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 u=this,t,n,r;this._pendingCallback&&this._pendingLoadDataParams&&(t=this._pendingCallback,n=this._pendingLoadDataParams,delete this._pendingCallback,delete this._pendingLoadDataParams,r=!!(n&&n.request&&n.request.collectResourceTiming)&&new i.Performance(n.request),this.loadGeoJSON(n,function(i,f){var s,e,o;if(i||!f)return t(i);if("object"!=typeof f)return t(new Error("Input data is not a valid GeoJSON object."));li(f,!0);try{u._geoJSONIndex=n.cluster?(s=n.superclusterOptions,new tr(s)).load(f.features):function(n,t){return new b(n,t)}(f,n.geojsonVtOptions)}catch(i){return t(i)}u.loaded={};e={};r&&(o=r.finish(),o&&(e.resourceTiming={},e.resourceTiming[n.source]=JSON.parse(JSON.stringify(o))));t(null,e)}))},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,u=n.uid;return r&&r[u]?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 is not a valid GeoJSON object."));try{return i(null,JSON.parse(t.data))}catch(n){return i(new Error("Input data 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){t(null,this._geoJSONIndex.getClusterExpansionZoom(n.clusterId))},r.prototype.getClusterChildren=function(n,t){t(null,this._geoJSONIndex.getChildren(n.clusterId))},r.prototype.getClusterLeaves=function(n,t){t(null,this._geoJSONIndex.getLeaves(n.clusterId,n.limit,n.offset))},r}(u),t=function(t){var i=this;this.self=t;this.actor=new n.Actor(t,this);this.layerIndexes={};this.workerSourceTypes={vector:u,geojson:yr};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.isLoaded())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.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.loadRTLTextPlugin=function(t,i,r){try{n.plugin.isLoaded()||(this.self.importScripts(i),r(n.plugin.isLoaded()?null:new Error("RTL Text Plugin failed to import scripts from "+i)))}catch(n){r(n.toString())}},t.prototype.getLayerIndex=function(n){var t=this.layerIndexes[n];return t||(t=this.layerIndexes[n]=new d),t},t.prototype.getWorkerSource=function(n,t,i){var u=this,r;return(this.workerSources[n]||(this.workerSources[n]={}),this.workerSources[n][t]||(this.workerSources[n][t]={}),this.workerSources[n][t][i])||(r={send:function(t,i,r){u.actor.send(t,i,r,n)}},this.workerSources[n][t][i]=new this.workerSourceTypes[t](r,this.getLayerIndex(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 a),this.demWorkerSources[n][t]},"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&new t(self),t}),r(["./shared.js"],function(n){function kf(n){if(!at)return null;for(var t=0;t<n.length;t++)if(n[t]in at)return n[t];return n[0]}function bi(n,t){var i=vt(v.API_URL);if(n.protocol=i.protocol,n.authority=i.authority,"/"!==i.path&&(n.path=""+i.path+n.path),!v.REQUIRE_ACCESS_TOKEN)return li(n);if(!(t=t||v.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+bu);if("s"===t[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+bu);return n.params.push("access_token="+t),li(n)}function kt(n){return 0===n.indexOf("mapbox:")}function vt(n){var t=n.match(as);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 li(n){var t=n.params.length?"?"+n.params.join("&"):"";return n.protocol+"://"+n.authority+n.path+t}function ue(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 fe(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(ee(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(ee(r,u,f,e,t),o=0;o<t;o++)n[s*t+o]=Math.sqrt(u[o])}}function ee(n,t,i,r,u){var e,f,o;for(i[0]=0,r[0]=-dt,r[1]=+dt,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]=+dt}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 oe(t,i,r){var u=function(t,i){if(t)return r(t);if(i){var u=n.pick(i,["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds"]);i.vector_layers&&(u.vectorLayers=i.vector_layers,u.vectorLayerIds=u.vectorLayers.map(function(n){return n.id}));r(null,u)}};return t.url?n.getJSON(i(cs(t.url),n.ResourceType.Source),u):n.browser.frame(function(){return u(null,t)})}function nh(n,t,i,r,u){var s=u.maxPitchScaleFactor(),h=n.tilesIn(i,s),f,e,a;h.sort(he);for(var c=[],o=0,l=h;o<l.length;o+=1)f=l[o],c.push({wrappedTileID:f.tileID.wrapped().key,queryResults:f.tile.queryRenderedFeatures(t,n._state,f.queryGeometry,f.scale,r,u,s,n.transform.calculatePosMatrix(f.tileID.toUnwrapped()))});e=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.feature))}return r}(c);for(a in e)e[a].forEach(function(t){var i=n.getFeatureState(t.layer["source-layer"],t.id);t.source=t.layer.source;t.layer["source-layer"]&&(t.sourceLayer=t.layer["source-layer"]);t.state=i});return e}function he(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 gu(t,i){var r=i.zoomTo(t.canonical.z);return new n.Point((r.column-(t.canonical.x+t.wrap*Math.pow(2,t.canonical.z)))*n.EXTENT,(r.row-t.canonical.y)*n.EXTENT)}function ae(n,t){return n%32-t%32||t-n}function ve(n){return"raster"===n||"image"===n||"video"===n}function rh(){return new n.window.Worker(ss.workerUrl)}function uh(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 ye(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]=uh(n[t],r[n[t].ref]));return n}function pe(n,t,i){i.push({command:r.addSource,args:[n,t[n]]})}function we(n,t,i){t.push({command:r.removeSource,args:[n]});i[n]=!0}function fh(n,t,i,r){we(n,i,r);pe(n,t,i)}function eh(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 eu(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 be(n){return n.id}function ke(n,t){return n[t.id]=t,n}function oh(t,i){var u,f,e,o;if(!t)return[{command:r.setStyle,args:[i]}];u=[];try{if(!n.deepEqual(t.version,i.version))return[{command:r.setStyle,args:[i]}];n.deepEqual(t.center,i.center)||u.push({command:r.setCenter,args:[i.center]});n.deepEqual(t.zoom,i.zoom)||u.push({command:r.setZoom,args:[i.zoom]});n.deepEqual(t.bearing,i.bearing)||u.push({command:r.setBearing,args:[i.bearing]});n.deepEqual(t.pitch,i.pitch)||u.push({command:r.setPitch,args:[i.pitch]});n.deepEqual(t.sprite,i.sprite)||u.push({command:r.setSprite,args:[i.sprite]});n.deepEqual(t.glyphs,i.glyphs)||u.push({command:r.setGlyphs,args:[i.glyphs]});n.deepEqual(t.transition,i.transition)||u.push({command:r.setTransition,args:[i.transition]});n.deepEqual(t.light,i.light)||u.push({command:r.setLight,args:[i.light]});f={};e=[];!function(t,i,u,f){for(var e in i=i||{},t=t||{})t.hasOwnProperty(e)&&(i.hasOwnProperty(e)||we(e,u,f));for(e in i)i.hasOwnProperty(e)&&(t.hasOwnProperty(e)?n.deepEqual(t[e],i[e])||("geojson"===t[e].type&&"geojson"===i[e].type&&eh(t,i,e)?u.push({command:r.setGeoJSONSourceData,args:[e,i[e].data]}):fh(e,i,u,f)):pe(e,i,u))}(t.sources,i.sources,e,f);o=[];t.layers&&t.layers.forEach(function(n){f[n.source]?u.push({command:r.removeLayer,args:[n.id]}):o.push(n)});u=u.concat(e),function(t,i,u){i=i||[];for(var e,s,o,v,f,y=(t=t||[]).map(be),a=i.map(be),w=t.reduce(ke,{}),p=i.reduce(ke,{}),c=y.slice(),b=Object.create(null),h=0,l=0;h<y.length;h++)e=y[h],p.hasOwnProperty(e)?l++:(u.push({command:r.removeLayer,args:[e]}),c.splice(c.indexOf(e,l),1));for(h=0,l=0;h<a.length;h++)e=a[a.length-1-h],c[c.length-1-h]!==e&&(w.hasOwnProperty(e)?(u.push({command:r.removeLayer,args:[e]}),c.splice(c.lastIndexOf(e,c.length-l),1)):l++,v=c[c.length-h],u.push({command:r.addLayer,args:[p[e],v]}),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(f in eu(s.layout,o.layout,u,e,null,r.setLayoutProperty),eu(s.paint,o.paint,u,e,null,r.setPaintProperty),n.deepEqual(s.filter,o.filter)||u.push({command:r.setFilter,args:[e,o.filter]}),n.deepEqual(s.minzoom,o.minzoom)&&n.deepEqual(s.maxzoom,o.maxzoom)||u.push({command:r.setLayerZoomRange,args:[e,o.minzoom,o.maxzoom]}),s)s.hasOwnProperty(f)&&"layout"!==f&&"paint"!==f&&"filter"!==f&&"metadata"!==f&&"minzoom"!==f&&"maxzoom"!==f&&(0===f.indexOf("paint.")?eu(s[f],o[f],u,e,f.slice(6),r.setPaintProperty):n.deepEqual(s[f],o[f])||u.push({command:r.setLayerProperty,args:[e,f,o[f]]}));for(f in o)o.hasOwnProperty(f)&&!s.hasOwnProperty(f)&&"layout"!==f&&"paint"!==f&&"filter"!==f&&"metadata"!==f&&"minzoom"!==f&&"maxzoom"!==f&&(0===f.indexOf("paint.")?eu(s[f],o[f],u,e,f.slice(6),r.setPaintProperty):n.deepEqual(s[f],o[f])||u.push({command:r.setLayerProperty,args:[e,f,o[f]]}))}else u.push({command:r.removeLayer,args:[e]}),v=c[c.lastIndexOf(e)+1],u.push({command:r.addLayer,args:[o,v]})}(o,i.layers,u)}catch(n){console.warn("Unable to compute style diff:",n);u=[{command:r.setStyle,args:[i]}]}return u}function tf(t,i,r,u,f){var e=n.identity(new Float32Array(16));return i?(n.identity(e),n.scale(e,e,[1/f,1/f,1]),r||n.rotateZ(e,e,u.angle)):(n.scale(e,e,[u.width/2,-u.height/2,1]),n.translate(e,e,[1,-1,0]),n.multiply(e,e,t)),e}function sh(t,i,r,u,f){var e=n.identity(new Float32Array(16));return i?(n.multiply(e,e,t),n.scale(e,e,[f,f,1]),r||n.rotateZ(e,e,-u.angle)):(n.scale(e,e,[1,-1,1]),n.translate(e,e,[-1,-1,0]),n.scale(e,e,[2/u.width,2/u.height,1])),e}function ct(t,i){var r=[t.x,t.y,0,1],u;return su(r,r,i),u=r[3],{point:new n.Point(r[0]/u,r[1]/u),signedDistanceFromCamera:u}}function hh(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 ch(t,i,r,u,f,e,o,s){var w=u?t.textSizeData:t.iconSizeData,ut=n.evaluateSizeForZoom(w,r.transform.zoom,de.properties[u?"text-size":"icon-size"]),ft=[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)rf(h.numGlyphs,c);else if(a=!1,l=[h.anchorX,h.anchorY,0,1],n.transformMat4(l,l,i),hh(l,ft)){var g=.5+l[3]/r.transform.cameraToCenterDistance*.5,nt=n.evaluateSizeForFeature(w,ut,h),tt=o?nt*g:nt/g,y=new n.Point(h.anchorX,h.anchorY),it=ct(y,f).point,rt={},p=to(h,tt,!1,s,i,f,e,t.glyphOffsetArray,b,c,it,y,rt,d);a=p.useVertical;(p.notEnoughRoom||a||p.needsFlipping&&to(h,tt,!0,s,i,f,e,t.glyphOffsetArray,b,c,it,y,rt,d).notEnoughRoom)&&rf(h.numGlyphs,c)}else rf(h.numGlyphs,c);u?t.text.dynamicLayoutVertexBuffer.updateData(c):t.icon.dynamicLayoutVertexBuffer.updateData(c)}function ge(n,t,i,r,u,f,e,o,s,h,c,l){var w=o.glyphStartIndex+o.numGlyphs,v=o.lineStartIndex,y=o.lineStartIndex+o.lineLength,b=t.getoffsetX(o.glyphStartIndex),k=t.getoffsetX(w-1),p=ou(n*b,i,r,u,f,e,o.segment,v,y,s,h,c,l),a;return p?(a=ou(n*k,i,r,u,f,e,o.segment,v,y,s,h,c,l),a?{first:p,last:a}:null):null}function no(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 to(t,i,r,u,f,e,o,s,h,c,l,a,v,y){var p,d=i/24,g=t.lineOffsetX*i,nt=t.lineOffsetY*i,ft,et,tt,b,it,k,rt,ut;if(t.numGlyphs>1){var vt=t.glyphStartIndex+t.numGlyphs,yt=t.lineStartIndex,pt=t.lineStartIndex+t.lineLength,w=ge(d,s,g,nt,r,l,a,t,h,e,v,!1);if(!w)return{notEnoughRoom:!0};if(ft=ct(w.first.point,o).point,et=ct(w.last.point,o).point,u&&!r&&(tt=no(t.writingMode,ft,et,y),tt))return tt;for(p=[w.first],b=t.glyphStartIndex+1;b<vt-1;b++)p.push(ou(d*s.getoffsetX(b),g,nt,r,l,a,t.segment,yt,pt,h,e,v,!1));p.push(w.last)}else{if(u&&!r){var ot=ct(a,f).point,st=t.lineStartIndex+t.segment+1,ht=new n.Point(h.getx(st),h.gety(st)),lt=ct(ht,f),wt=lt.signedDistanceFromCamera>0?lt.point:io(a,ht,ot,1,f),at=no(t.writingMode,ot,wt,y);if(at)return at}if(it=ou(d*s.getoffsetX(t.glyphStartIndex),g,nt,r,l,a,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,h,e,v,!1),!it)return{notEnoughRoom:!0};p=[it]}for(k=0,rt=p;k<rt.length;k+=1)ut=rt[k],n.addDynamicAttributes(c,ut.point,ut.angle);return{}}function io(n,t,i,r,u){var e=ct(n.add(n.sub(t)._unit()),u).point,f=i.sub(e);return i.add(f._mult(r/f.mag()))}function ou(t,i,r,u,f,e,o,s,h,c,l,a,v){var ut=u?t-i:t+i,p=ut>0?1:-1,nt=0,tt,it,rt;u&&(p*=-1,nt=Math.PI);p<0&&(nt+=Math.PI);for(var y=p>0?s+o:s+o+1,ot=y,w=f,b=f,k=0,d=0,g=Math.abs(ut);k+d<=g;){if((y+=p)<s||y>=h)return null;(b=w,void 0===(w=a[y]))&&(tt=new n.Point(c.getx(y),c.gety(y)),it=ct(tt,l),it.signedDistanceFromCamera>0?w=a[y]=it.point:(rt=y-p,w=io(0===k?e:new n.Point(c.getx(rt),c.gety(rt)),tt,b,g-k+1,l)));k+=d;d=b.dist(w)}var st=(g-k)/d,ft=w.sub(b),et=ft.mult(st)._add(b);return et._add(ft._unit()._perp()._mult(r*p)),{point:et,angle:nt+Math.atan2(w.y-b.y,w.x-b.x),tileDistance:v?{prevTileDistance:y-p===ot?0:c.gettileUnitDistanceFromAnchor(y-p),lastSegmentViewportDistance:g-k}:null}}function rf(n,t){for(var r,i=0;i<n;i++)r=t.length,t.resize(r+4),t.float32.set(ro,3*r)}function su(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 uf(n,t,i){n[t+4]=i?1:0}function nt(t,i,r){return i*(n.EXTENT/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}function of(n,t,i){n.emplaceBack(t?1:0,i?1:0);n.emplaceBack(t?1:0,i?1:0);n.emplaceBack(t?1:0,i?1:0);n.emplaceBack(t?1:0,i?1:0)}function uo(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*lh+t*ah+i*vh+t*yh+i*ph+t*wh+i*bh+t}function nc(t,i){for(var u=t.sort(function(n,t){return n.tileID.isLessThan(t.tileID)?-1:t.tileID.isLessThan(n.tileID)?1:0}),r=0;r<u.length;r++){var e={},f=u[r],o=u.slice(r+1);so(f.tileID.wrapped(),f.tileID,o,new n.OverscaledTileID(0,f.tileID.wrap+1,0,0,0),e);f.setMask(e,i)}}function so(t,i,r,u,f){for(var o,l,s,h,c,e=0;e<r.length;e++){if(o=r[e],u.isLessThan(o.tileID))break;if(i.key===o.tileID.key)return;if(o.tileID.isChildOf(i)){for(l=i.children(1/0),s=0;s<l.length;s++)so(t,l[s],r.slice(e),u,f);return}}h=i.overscaledZ-t.overscaledZ;c=new n.CanonicalTileID(h,i.canonical.x-(t.canonical.x<<h),i.canonical.y-(t.canonical.y<<h));f[c.key]=f[c.key]||c}function ho(n,t,i,r,u){var h=n.context,f=h.gl,o=u?n.useProgram("collisionCircle"):n.useProgram("collisionBox"),l,s,v,p;for(h.setDepthMode(e.disabled),h.setStencilMode(c.disabled),h.setColorMode(n.colorModeForRenderPass()),l=0;l<r.length;l++){var w=r[l],a=t.getTile(w),y=a.getBucket(i);y&&(s=u?y.collisionCircle:y.collisionBox,s&&(f.uniformMatrix4fv(o.uniforms.u_matrix,!1,w.posMatrix),f.uniform1f(o.uniforms.u_camera_to_center_distance,n.transform.cameraToCenterDistance),v=nt(a,1,n.transform.zoom),p=Math.pow(2,n.transform.zoom-a.tileID.overscaledZ),f.uniform1f(o.uniforms.u_pixels_to_tile_units,v),f.uniform2f(o.uniforms.u_extrude_scale,n.transform.pixelsToGLUnits[0]/(v*p),n.transform.pixelsToGLUnits[1]/(v*p)),f.uniform1f(o.uniforms.u_overscale_factor,a.tileID.overscaleFactor()),o.draw(h,u?f.TRIANGLES:f.LINES,i.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,null,s.collisionVertexBuffer,null)))}}function ao(n,t,i,r,u,f,o,s,h,c){var a,g=n.context,l=g.gl,ct=n.transform,k="map"===s,y="map"===h,ut=k&&"point"!==i.layout.get("symbol-placement"),lt=k&&!y&&!ut,at=y,d,tt,b,ft,et;for(g.setDepthMode(at?n.depthModeForSublayer(0,e.ReadOnly):e.disabled),d=0,tt=r;d<tt.length;d+=1){var w=tt[d],v=t.getTile(w),p=v.getBucket(i);if(p&&(b=u?p.text:p.icon,b&&b.segments.get().length)){var it=b.programConfigurations.get(i.id),rt=u||p.sdfIcons,vt=u?p.textSizeData:p.iconSizeData;(a||(a=n.useProgram(rt?"symbolSDF":"symbolIcon",it),it.setUniforms(n.context,a,i.paint,{zoom:n.transform.zoom}),tc(a,n,i,u,lt,y,vt)),g.activeTexture.set(l.TEXTURE0),l.uniform1i(a.uniforms.u_texture,0),u)?(v.glyphAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),l.uniform2fv(a.uniforms.u_texsize,v.glyphAtlasTexture.size)):(ft=1!==i.layout.get("icon-size").constantOr(0)||p.iconsNeedLinear,et=y||0!==ct.pitch,v.iconAtlasTexture.bind(rt||n.options.rotating||n.options.zooming||ft||et?l.LINEAR:l.NEAREST,l.CLAMP_TO_EDGE),l.uniform2fv(a.uniforms.u_texsize,v.iconAtlasTexture.size));l.uniformMatrix4fv(a.uniforms.u_matrix,!1,n.translatePosMatrix(w.posMatrix,v,f,o));var ot=nt(v,1,n.transform.zoom),st=tf(w.posMatrix,y,k,n.transform,ot),ht=sh(w.posMatrix,y,k,n.transform,ot);l.uniformMatrix4fv(a.uniforms.u_gl_coord_matrix,!1,n.translatePosMatrix(ht,v,f,o,!0));ut?(l.uniformMatrix4fv(a.uniforms.u_label_plane_matrix,!1,co),ch(p,w.posMatrix,n,u,st,ht,y,c)):l.uniformMatrix4fv(a.uniforms.u_label_plane_matrix,!1,st);l.uniform1f(a.uniforms.u_fade_change,n.options.fadeDuration?n.symbolFadeChange:1);ic(a,it,n,i,v,b,u,rt,y)}}}function tc(t,i,r,u,f,e,o){var s=i.context.gl,h=i.transform,l,a,c;s.uniform1i(t.uniforms.u_pitch_with_map,e?1:0);s.uniform1f(t.uniforms.u_is_text,u?1:0);s.uniform1f(t.uniforms.u_pitch,h.pitch/180*Math.PI);l="constant"===o.functionType||"source"===o.functionType;a="constant"===o.functionType||"camera"===o.functionType;s.uniform1i(t.uniforms.u_is_size_zoom_constant,l?1:0);s.uniform1i(t.uniforms.u_is_size_feature_constant,a?1:0);s.uniform1f(t.uniforms.u_camera_to_center_distance,h.cameraToCenterDistance);c=n.evaluateSizeForZoom(o,h.zoom,lo.properties[u?"text-size":"icon-size"]);void 0!==c.uSizeT&&s.uniform1f(t.uniforms.u_size_t,c.uSizeT);void 0!==c.uSize&&s.uniform1f(t.uniforms.u_size,c.uSize);s.uniform1f(t.uniforms.u_aspect_ratio,h.width/h.height);s.uniform1i(t.uniforms.u_rotate_symbol,f?1:0)}function ic(n,t,i,r,u,f,e,o,s){var h=i.context,c=h.gl,l=i.transform,a,v;o&&(a=0!==r.paint.get(e?"text-halo-width":"icon-halo-width").constantOr(1),v=s?Math.cos(l._pitch)*l.cameraToCenterDistance:1,c.uniform1f(n.uniforms.u_gamma_scale,v),a&&(c.uniform1f(n.uniforms.u_is_halo,1),vo(f,r,h,n)),c.uniform1f(n.uniforms.u_is_halo,0));vo(f,r,h,n)}function vo(n,t,i,r){r.draw(i,i.gl.TRIANGLES,t.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,n.programConfigurations.get(t.id),n.dynamicLayoutVertexBuffer,n.opacityVertexBuffer)}function rc(t,i,r,u,f,e,o,s,h){var b,k,y,p,l=i.context,c=l.gl,a=f.paint.get("line-dasharray"),v=f.paint.get("line-pattern"),w,g,tt,rt,d;if(s||h){if(w=1/nt(r,1,i.transform.tileZoom),a)b=i.lineAtlas.getDash(a.from,"round"===f.layout.get("line-cap")),k=i.lineAtlas.getDash(a.to,"round"===f.layout.get("line-cap")),g=b.width*a.fromScale,tt=k.width*a.toScale,c.uniform2f(t.uniforms.u_patternscale_a,w/g,-b.height/2),c.uniform2f(t.uniforms.u_patternscale_b,w/tt,-k.height/2),c.uniform1f(t.uniforms.u_sdfgamma,i.lineAtlas.width/(256*Math.min(g,tt)*n.browser.devicePixelRatio)/2);else if(v){if(y=i.imageManager.getPattern(v.from),p=i.imageManager.getPattern(v.to),!y||!p)return;c.uniform2f(t.uniforms.u_pattern_size_a,y.displaySize[0]*v.fromScale/w,y.displaySize[1]);c.uniform2f(t.uniforms.u_pattern_size_b,p.displaySize[0]*v.toScale/w,p.displaySize[1]);var it=i.imageManager.getPixelSize(),ut=it.width,ft=it.height;c.uniform2fv(t.uniforms.u_texsize,[ut,ft])}c.uniform2f(t.uniforms.u_gl_units_to_pixels,1/i.transform.pixelsToGLUnits[0],1/i.transform.pixelsToGLUnits[1])}if(s&&(a?(c.uniform1i(t.uniforms.u_image,0),l.activeTexture.set(c.TEXTURE0),i.lineAtlas.bind(l),c.uniform1f(t.uniforms.u_tex_y_a,b.y),c.uniform1f(t.uniforms.u_tex_y_b,k.y),c.uniform1f(t.uniforms.u_mix,a.t)):v&&(c.uniform1i(t.uniforms.u_image,0),l.activeTexture.set(c.TEXTURE0),i.imageManager.bind(l),c.uniform2fv(t.uniforms.u_pattern_tl_a,y.tl),c.uniform2fv(t.uniforms.u_pattern_br_a,y.br),c.uniform2fv(t.uniforms.u_pattern_tl_b,p.tl),c.uniform2fv(t.uniforms.u_pattern_br_b,p.br),c.uniform1f(t.uniforms.u_fade,v.t))),l.setStencilMode(i.stencilModeForClipping(e)),rt=i.translatePosMatrix(e.posMatrix,r,f.paint.get("line-translate"),f.paint.get("line-translate-anchor")),c.uniformMatrix4fv(t.uniforms.u_matrix,!1,rt),c.uniform1f(t.uniforms.u_ratio,1/nt(r,1,i.transform.zoom)),f.paint.get("line-gradient")){if(l.activeTexture.set(c.TEXTURE0),d=f.gradientTexture,!f.gradient)return;d||(d=f.gradientTexture=new n.Texture(l,f.gradient,c.RGBA));d.bind(c.LINEAR,c.CLAMP_TO_EDGE);c.uniform1i(t.uniforms.u_image,0)}t.draw(l,c.TRIANGLES,f.id,u.layoutVertexBuffer,u.indexBuffer,u.segments,o)}function yo(n,t,i,r,u){if(!vf(i.paint.get("fill-pattern"),n))for(var o=!0,f=0,s=r;f<s.length;f+=1){var e=s[f],h=t.getTile(e),c=h.getBucket(i);c&&(n.context.setStencilMode(n.stencilModeForClipping(e)),u(n,t,i,h,e,c,o),o=!1)}}function uc(n,t,i,r,u,f,e){var s=n.context.gl,o=f.programConfigurations.get(i.id);po("fill",i.paint.get("fill-pattern"),n,o,i,r,u,e).draw(n.context,s.TRIANGLES,i.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,o)}function fc(n,t,i,r,u,f,e){var o=n.context.gl,s=f.programConfigurations.get(i.id),h=po("fillOutline",i.getPaintProperty("fill-outline-color")?null:i.paint.get("fill-pattern"),n,s,i,r,u,e);o.uniform2f(h.uniforms.u_world,o.drawingBufferWidth,o.drawingBufferHeight);h.draw(n.context,o.LINES,i.id,f.layoutVertexBuffer,f.indexBuffer2,f.segments2,s)}function po(n,t,i,r,u,f,e,o){var s,h=i.context.program.get();return t?(s=i.useProgram(n+"Pattern",r),(o||s.program!==h)&&(r.setUniforms(i.context,s,u.paint,{zoom:i.transform.zoom}),yf(t,i,s)),pf(f,i,s)):(s=i.useProgram(n,r),(o||s.program!==h)&&r.setUniforms(i.context,s,u.paint,{zoom:i.transform.zoom})),i.context.gl.uniformMatrix4fv(s.uniforms.u_matrix,!1,i.translatePosMatrix(e.posMatrix,f,u.paint.get("fill-translate"),u.paint.get("fill-translate-anchor"))),s}function ec(t,i,r,u,f,e,o){var c=t.context,a=c.gl,h=r.paint.get("fill-extrusion-pattern"),v=t.context.program.get(),l=e.programConfigurations.get(r.id),s=t.useProgram(h?"fillExtrusionPattern":"fillExtrusion",l);if((o||s.program!==v)&&l.setUniforms(c,s,r.paint,{zoom:t.transform.zoom}),h){if(vf(h,t))return;yf(h,t,s);pf(u,t,s);a.uniform1f(s.uniforms.u_height_factor,-Math.pow(2,f.overscaledZ)/u.tileSize/8)}t.context.gl.uniformMatrix4fv(s.uniforms.u_matrix,!1,t.translatePosMatrix(f.posMatrix,u,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor"))),function(t,i){var f=i.context.gl,r=i.style.light,e=r.properties.get("position"),o=[e.x,e.y,e.z],s=n.create$2(),u;"viewport"===r.properties.get("anchor")&&n.fromRotation(s,-i.transform.angle);n.transformMat3(o,o,s);u=r.properties.get("color");f.uniform3fv(t.uniforms.u_lightpos,o);f.uniform1f(t.uniforms.u_lightintensity,r.properties.get("intensity"));f.uniform3f(t.uniforms.u_lightcolor,u.r,u.g,u.b)}(s,t);s.draw(c,a.TRIANGLES,r.id,e.layoutVertexBuffer,e.indexBuffer,e.segments,l)}function oc(t,i,r){var h=t.context,u=h.gl,l=i.fbo,f,a,v,e,o,s,c;l&&(f=t.useProgram("hillshade"),a=t.transform.calculatePosMatrix(i.tileID.toUnwrapped(),!0),!function(n,t,i){var r=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(r-=t.transform.angle);t.context.gl.uniform2f(n.uniforms.u_light,i.paint.get("hillshade-exaggeration"),r)}(f,t,r),v=function(t,i){var r=i.toCoordinate(),u=new n.Coordinate(r.column,r.row+1,r.zoom);return[t.transform.coordinateLocation(r).lat,t.transform.coordinateLocation(u).lat]}(t,i.tileID),h.activeTexture.set(u.TEXTURE0),u.bindTexture(u.TEXTURE_2D,l.colorAttachment.get()),u.uniformMatrix4fv(f.uniforms.u_matrix,!1,a),u.uniform2fv(f.uniforms.u_latrange,v),u.uniform1i(f.uniforms.u_image,0),e=r.paint.get("hillshade-shadow-color"),u.uniform4f(f.uniforms.u_shadow,e.r,e.g,e.b,e.a),o=r.paint.get("hillshade-highlight-color"),u.uniform4f(f.uniforms.u_highlight,o.r,o.g,o.b,o.a),s=r.paint.get("hillshade-accent-color"),(u.uniform4f(f.uniforms.u_accent,s.r,s.g,s.b,s.a),i.maskedBoundsBuffer&&i.maskedIndexBuffer&&i.segments)?f.draw(h,u.TRIANGLES,r.id,i.maskedBoundsBuffer,i.maskedIndexBuffer,i.segments):(c=t.rasterBoundsBuffer,t.rasterBoundsVAO.bind(h,f,c,[]),u.drawArrays(u.TRIANGLE_STRIP,0,c.length)))}function sc(t,i,r){var f=t.context,u=f.gl,e,c,l,h,a,s,o,v;i.dem&&i.dem.data&&(e=i.dem.dim,c=i.dem.getPixels(),(f.activeTexture.set(u.TEXTURE1),f.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(i.tileSize),i.demTexture)?(l=i.demTexture,l.update(c,{premultiply:!1}),l.bind(u.NEAREST,u.CLAMP_TO_EDGE)):(i.demTexture=new n.Texture(f,c,u.RGBA,{premultiply:!1}),i.demTexture.bind(u.NEAREST,u.CLAMP_TO_EDGE)),f.activeTexture.set(u.TEXTURE0),h=i.fbo,h||(a=new n.Texture(f,{width:e,height:e,data:null},u.RGBA),a.bind(u.LINEAR,u.CLAMP_TO_EDGE),(h=i.fbo=f.createFramebuffer(e,e)).colorAttachment.set(a.texture)),f.bindFramebuffer.set(h.framebuffer),f.viewport.set([0,0,e,e]),s=n.create(),n.ortho(s,0,n.EXTENT,-n.EXTENT,0,0,1),n.translate(s,s,[0,-n.EXTENT,0]),o=t.useProgram("hillshadePrepare"),u.uniformMatrix4fv(o.uniforms.u_matrix,!1,s),u.uniform1f(o.uniforms.u_zoom,i.tileID.overscaledZ),u.uniform2fv(o.uniforms.u_dimension,[2*e,2*e]),u.uniform1i(o.uniforms.u_image,1),u.uniform1f(o.uniforms.u_maxzoom,r),v=t.rasterBoundsBuffer,t.rasterBoundsVAO.bind(f,o,v,[]),u.drawArrays(u.TRIANGLE_STRIP,0,v.length),i.needsHillshadePrepare=!1)}function hc(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 cc(t,i,r){var o=t.context,u=o.gl,l=r.posMatrix,f=t.useProgram("debug"),h,y;o.setDepthMode(e.disabled);o.setStencilMode(c.disabled);o.setColorMode(t.colorModeForRenderPass());u.uniformMatrix4fv(f.uniforms.u_matrix,!1,l);u.uniform4f(f.uniforms.u_color,1,0,0,1);t.debugVAO.bind(o,f,t.debugBuffer,[]);u.drawArrays(u.LINE_STRIP,0,t.debugBuffer.length);for(var a=function(n,t,i,r){r=r||1;for(var u,l,f,s,h,e,a=[],o=0,c=n.length;o<c;o++)if(f=lc[n[o]]){for(e=null,u=0,l=f[1].length;u<l;u+=2)-1===f[1][u]&&-1===f[1][u+1]?e=null:(s=t+f[1][u]*r,h=i-f[1][u+1]*r,e&&a.push(e.x,e.y,s,h),e={x:s,y:h});t+=f[0]*r}return a}(r.toString(),50,200,5),w=new n.StructArrayLayout2i4,s=0;s<a.length;s+=2)w.emplaceBack(a[s],a[s+1]);h=o.createVertexBuffer(w,lu.members);(new p).bind(o,f,h,[]);u.uniform4f(f.uniforms.u_color,1,1,1,1);for(var d=i.getTile(r).tileSize,b=n.EXTENT/(Math.pow(2,t.transform.zoom-r.overscaledZ)*d),k=[[-1,-1],[-1,1],[1,-1],[1,1]],v=0;v<k.length;v++)y=k[v],u.uniformMatrix4fv(f.uniforms.u_matrix,!1,n.translate([],l,[b*y[0],b*y[1],0])),u.drawArrays(u.LINES,0,h.length);u.uniform4f(f.uniforms.u_color,0,0,0,1);u.uniformMatrix4fv(f.uniforms.u_matrix,!1,l);u.drawArrays(u.LINES,0,h.length)}function wf(n,t){if(n.row>t.row){var i=n;n=t;t=i}return{x0:n.column,y0:n.row,x1:t.column,y1:t.row,dx:t.column-n.column,dy:t.row-n.row}}function bo(n,t,i,r,u){var h=Math.max(i,Math.floor(t.y0)),c=Math.min(r,Math.ceil(t.y1)),e,o,s;(n.x0===t.x0&&n.y0===t.y0?n.x0+t.dy/n.dy*n.dx<t.x1:n.x1-t.dy/n.dy*n.dx<t.x0)&&(e=n,n=t,t=e);for(var l=n.dx/n.dy,a=t.dx/t.dy,v=n.dx>0,y=t.dx<0,f=h;f<c;f++)o=l*Math.max(0,Math.min(n.dy,f+v-n.y0))+n.x0,s=a*Math.max(0,Math.min(t.dy,f+y-t.y0))+t.x0,u(Math.floor(s),Math.ceil(o),f)}function ko(n,t,i,r,u,f){var h,e=wf(n,t),o=wf(t,i),s=wf(i,n);e.dy>o.dy&&(h=e,e=o,o=h);e.dy>s.dy&&(h=e,e=s,s=h);o.dy>s.dy&&(h=o,o=s,s=h);e.dy&&bo(s,e,r,u,f);o.dy&&bo(s,o,r,u,f)}function vc(n){return n*(2-n)}function bf(n){n.parentNode&&n.parentNode.removeChild(n)}function us(n,t,r){var u;if(n=new i(n.lng,n.lat),t){var f=new i(n.lng-360,n.lat),e=new i(n.lng+360,n.lat),o=r.locationPoint(n).distSqr(t);r.locationPoint(f).distSqr(t)<o?n=f:r.locationPoint(e).distSqr(t)<o&&(n=e)}for(;Math.abs(n.lng-r.center.lng)>180;){if(u=r.locationPoint(n),u.x>=0&&u.y>=0&&u.x<=r.width&&u.y<=r.height)break;n.lng>r.center.lng?n.lng-=360:n.lng+=360}return n}function fs(n,t,i){var r=n.classList;for(var u in yu)r.remove("mapboxgl-"+i+"-anchor-"+u);r.add("mapboxgl-"+i+"-anchor-"+t)}function os(n,t,i){var e,o,u,s,h,l,r=i&&i.maxWidth||100,a=n._container.clientHeight/2,c=(e=n.unproject([0,a]),o=n.unproject([r,a]),u=Math.PI/180,s=e.lat*u,h=o.lat*u,l=Math.sin(s)*Math.sin(h)+Math.cos(s)*Math.cos(h)*Math.cos((o.lng-e.lng)*u),6371e3*Math.acos(Math.min(l,1))),f;i&&"imperial"===i.unit?(f=3.2808*c,f>5280?pu(t,r,f/5280,"mi"):pu(t,r,f,"ft")):i&&"nautical"===i.unit?pu(t,r,c/1852,"nm"):pu(t,r,c,"m")}function pu(n,t,i,r){var e,o,u,f=(e=i,(o=Math.pow(10,(""+Math.floor(e)).length-1))*(u=(u=e/o)>=10?10:u>=5?5:u>=3?3:u>=2?2:1)),s=f/i;"m"===r&&f>=1e3&&(f/=1e3,r="km");n.style.width=t*s+"px";n.innerHTML=f+r}var wu=n.createCommonjsModule(function(n){function t(n){return!!("undefined"!=typeof window&&"undefined"!=typeof document&&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(n){return void 0===i[n]&&(i[n]=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)),i[n]}(n&&n.failIfMajorPerformanceCaveat))}n.exports?n.exports=t:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=t);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 i&&(u.className=i),r&&r.appendChild(u),u},createNS:function(t,i){return n.window.document.createElementNS(t,i)}},at=n.window.document?n.window.document.documentElement.style:null,df,si=kf(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]),gf,hi,ci,wi,v,bu,ai,re,dt,et,ki,gt,i,f,yt,it,ni,ce,pt,nr,tr,ir,rr,ur,fr,er,or,sr,hr,cr,lr,ar,vr,yr,pr,wr,br,kr,dr,gr,nu,tu,iu,ru,uu,fu,e,c,l,rt,ti,nf,ht,r,s,de,ro,w,hu,wt,ff,ef,tt,sf,vi,fo,cu,hf,ii,yi,oo,au,af,co,lo,u,o,bt,g,go,a,ns,h,ri,ft,ts,b,lt,ui,rs,fi,yu,st;t.disableDrag=function(){at&&si&&(df=at[si],at[si]="none")};t.enableDrag=function(){at&&si&&(at[si]=df)};gf=kf(["transform","WebkitTransform"]);t.setTransform=function(n,t){n.style[gf]=t};hi=!1;try{ci=Object.defineProperty({},"passive",{get:function(){hi=!0}});n.window.addEventListener("test",ci,ci);n.window.removeEventListener("test",ci,ci)}catch(n){hi=!1}t.addEventListener=function(n,t,i,r){void 0===r&&(r={});"passive"in r&&hi?n.addEventListener(t,i,r):n.addEventListener(t,i,r.capture)};t.removeEventListener=function(n,t,i,r){void 0===r&&(r={});"passive"in r&&hi?n.removeEventListener(t,i,r):n.removeEventListener(t,i,r.capture)};wi=function(t){t.preventDefault();t.stopPropagation();n.window.removeEventListener("click",wi,!0)};t.suppressClick=function(){n.window.addEventListener("click",wi,!0);n.window.setTimeout(function(){n.window.removeEventListener("click",wi,!0)},0)};t.mousePos=function(t,i){var r=t.getBoundingClientRect();return i=i.touches?i.touches[0]:i,new n.Point(i.clientX-r.left-t.clientLeft,i.clientY-r.top-t.clientTop)};t.touchPos=function(t,i){for(var f=t.getBoundingClientRect(),e=[],u="touchend"===i.type?i.changedTouches:i.touches,r=0;r<u.length;r++)e.push(new n.Point(u[r].clientX-f.left-t.clientLeft,u[r].clientY-f.top-t.clientTop));return e};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)};v={API_URL:"https://api.mapbox.com",EVENTS_URL:"https://events.mapbox.com/events/v2",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null};bu="See https://www.mapbox.com/api-documentation/#access-tokens";var hs=function(n,t){if(!kt(n))return n;var i=vt(n);return i.path="/fonts/v1"+i.path,bi(i,t)},cs=function(n,t){if(!kt(n))return n;var i=vt(n);return i.path="/v4/"+i.authority+".json",i.params.push("secure"),bi(i,t)},ne=function(n,t,i,r){var u=vt(n);return kt(n)?(u.path="/styles/v1"+u.path+"/sprite"+t+i,bi(u,r)):(u.path+=""+t+i,li(u))},ls=/(\.(png|jpg)\d*)(?=$)/,ku=function(t,i,r){if(!i||!kt(i))return t;var u=vt(t),f=n.browser.devicePixelRatio>=2||512===r?"@2x":"",e=n.browser.supportsWebp?".webp":"$1";return u.path=u.path.replace(ls,""+f+e),function(n){for(var t=0;t<n.length;t++)0===n[t].indexOf("access_token=tk.")&&(n[t]="access_token="+(v.ACCESS_TOKEN||""))}(u.params),li(u)},as=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;ai=function(){this.eventData={anonId:null,lastSuccess:null,accessToken:v.ACCESS_TOKEN};this.queue=[];this.pending=!1;this.pendingRequest=null};ai.prototype.postTurnstileEvent=function(t){v.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(n){return/(mapbox\.c)(n|om)/i.test(n)})&&this.queueRequest(n.browser.now())};ai.prototype.queueRequest=function(n){this.queue.push(n);this.processRequests()};ai.prototype.processRequests=function(){var t=this,u,r,f,h,c;if(!this.pendingRequest&&0!==this.queue.length){var e="mapbox.turnstileEventData:"+(v.ACCESS_TOKEN||""),o=n.storageAvailable("localStorage"),i=!!this.eventData.accessToken&&this.eventData.accessToken!==v.ACCESS_TOKEN;if(i&&(this.eventData.anonId=this.eventData.lastSuccess=null),(!this.eventData.anonId||!this.eventData.lastSuccess)&&o)try{u=n.window.localStorage.getItem(e);u&&(this.eventData=JSON.parse(u))}catch(t){n.warnOnce("Unable to read from LocalStorage")}if(n.validateUuid(this.eventData.anonId)||(this.eventData.anonId=n.uuid(),i=!0),r=this.queue.shift(),this.eventData.lastSuccess){var l=new Date(this.eventData.lastSuccess),a=new Date(r),s=(r-this.eventData.lastSuccess)/864e5;i=i||s>=1||s<-1||l.getDate()!==a.getDate()}if(!i)return this.processRequests();f=vt(v.EVENTS_URL);f.params.push("access_token="+(v.ACCESS_TOKEN||""));h={url:li(f),headers:{"Content-Type":"text/plain"}};c=JSON.stringify([{event:"appUserTurnstile",created:new Date(r).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"0.48.0","enabled.telemetry":!1,userId:this.eventData.anonId}]);this.pendingRequest=n.postData(h,c,function(i){if(t.pendingRequest=null,!i){if(t.eventData.lastSuccess=r,t.eventData.accessToken=v.ACCESS_TOKEN,o)try{n.window.localStorage.setItem(e,JSON.stringify(t.eventData))}catch(t){n.warnOnce("Unable to write to LocalStorage")}t.processRequests()}})}};var te=new ai,ie=te.postTurnstileEvent.bind(te),k=function(){this.images={};this.loaded=!1;this.requestors=[];this.shelfPack=new n.ShelfPack(64,64,{autoResize:!0});this.patterns={};this.atlasImage=new n.RGBAImage({width:64,height:64});this.dirty=!0};k.prototype.isLoaded=function(){return this.loaded};k.prototype.setLoaded=function(n){var t,i;if(this.loaded!==n&&(this.loaded=n,n)){for(t=0,i=this.requestors;t<i.length;t+=1){var r=i[t],u=r.ids,f=r.callback;this._notify(u,f)}this.requestors=[]}};k.prototype.getImage=function(n){return this.images[n]};k.prototype.addImage=function(n,t){this.images[n]=t};k.prototype.removeImage=function(n){delete this.images[n];var t=this.patterns[n];t&&(this.shelfPack.unref(t.bin),delete this.patterns[n])};k.prototype.listImages=function(){return Object.keys(this.images)};k.prototype.getImages=function(n,t){var u=!0,i,r,f;if(!this.isLoaded())for(i=0,r=n;i<r.length;i+=1)f=r[i],this.images[f]||(u=!1);this.isLoaded()||u?this._notify(n,t):this.requestors.push({ids:n,callback:t})};k.prototype._notify=function(n,t){for(var u,i,f={},r=0,e=n;r<e.length;r+=1)u=e[r],i=this.images[u],i&&(f[u]={data:i.data.clone(),pixelRatio:i.pixelRatio,sdf:i.sdf});t(null,f)};k.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}};k.prototype.getPattern=function(t){var l=this.patterns[t],r,c;if(l)return l.position;if(r=this.getImage(t),!r)return null;var a=r.data.width+2,v=r.data.height+2,u=this.shelfPack.packOne(a,v);if(!u)return null;this.atlasImage.resize(this.getPixelSize());var i=r.data,f=this.atlasImage,e=u.x+1,o=u.y+1,s=i.width,h=i.height;return n.RGBAImage.copy(i,f,{x:0,y:0},{x:e,y:o},{width:s,height:h}),n.RGBAImage.copy(i,f,{x:0,y:h-1},{x:e,y:o-1},{width:s,height:1}),n.RGBAImage.copy(i,f,{x:0,y:0},{x:e,y:o+h},{width:s,height:1}),n.RGBAImage.copy(i,f,{x:s-1,y:0},{x:e-1,y:o},{width:1,height:h}),n.RGBAImage.copy(i,f,{x:0,y:0},{x:e+s,y:o},{width:1,height:h}),this.dirty=!0,c=new n.ImagePosition(u,r),this.patterns[t]={bin:u,position:c},c};k.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)};re=ue;dt=1e20;ue.prototype.draw=function(n){var i,u;this.ctx.clearRect(0,0,this.size,this.size);this.ctx.fillText(n,this.buffer,this.middle);for(var f=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=f.data[4*t+3]/255,this.gridOuter[t]=1===i?0:0===i?dt:Math.pow(Math.max(0,.5-i),2),this.gridInner[t]=1===i?dt:0===i?0:Math.pow(Math.max(0,i-.5),2);for(fe(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),fe(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),t=0;t<this.size*this.size;t++)u=this.gridOuter[t]-this.gridInner[t],r[t]=Math.max(0,Math.min(255,Math.round(255-255*(u/this.radius+this.cutoff))));return r};et=function(n,t){this.requestTransform=n;this.localIdeographFontFamily=t;this.entries={}};et.prototype.setURL=function(n){this.url=n};et.prototype.getGlyphs=function(t,i){var r=this,o=[],f,u,e,s;for(f in t)for(u=0,e=t[f];u<e.length;u+=1)s=e[u],o.push({stack:f,id:s});n.asyncAll(o,function(n,t){var u=n.stack,f=n.id,i=r.entries[u],o,e,s;i||(i=r.entries[u]={glyphs:{},requests:{}});o=i.glyphs[f];void 0===o?(o=r._tinySDF(i,u,f))?t(null,{stack:u,id:f,glyph:o}):(e=Math.floor(f/256),256*e>65535?t(new Error("glyphs > 65535 not supported")):(s=i.requests[e],s||(s=i.requests[e]=[],et.loadGlyphRange(u,e,r.url,r.requestTransform,function(n,t){var u,r,f;if(t)for(u in t)i.glyphs[+u]=t[+u];for(r=0,f=s;r<f.length;r+=1)f[r](n,t);delete i.requests[e]})),s.push(function(n,i){n?t(n):i&&t(null,{stack:u,id:f,glyph:i[f]||null})}))):t(null,{stack:u,id:f,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)}})};et.prototype._tinySDF=function(t,i,r){var e=this.localIdeographFontFamily,f,u;if(e&&(n.isChar["CJK Unified Ideographs"](r)||n.isChar["Hangul Syllables"](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 et.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}}};et.loadGlyphRange=function(t,i,r,u,f){var e=256*i,o=e+255,s=u(hs(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.data);r<o.length;r+=1)u=o[r],e[u.id]=u;f(null,e)}})};et.TinySDF=re;ki=function(){this.specification=n.styleSpec.light.position};ki.prototype.possiblyEvaluate=function(t,i){return n.sphericalToCartesian(t.expression.evaluate(i))};ki.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 vs=new n.Properties({anchor:new n.DataConstantProperty(n.styleSpec.light.anchor),position:new ki,color:new n.DataConstantProperty(n.styleSpec.light.color),intensity:new n.DataConstantProperty(n.styleSpec.light.intensity)}),ys=function(t){function i(i){t.call(this);this._transitionable=new n.Transitionable(vs);this.setLight(i);this._transitioning=this._transitionable.untransitioned()}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.getLight=function(){return this._transitionable.serialize()},i.prototype.setLight=function(t){var i,r;if(!this._validate(n.validateLight,t))for(i in t)r=t[i],n.endsWith(i,"-transition")?this._transitionable.setTransition(i.slice(0,-11),r):this._transitionable.setValue(i,r)},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){return n.emitValidationErrors(this,t.call(n.validateStyle,n.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:n.styleSpec})))},i}(n.Evented),di=function(n,t){this.width=n;this.height=t;this.nextRow=0;this.bytes=4;this.data=new Uint8Array(this.width*this.height*this.bytes);this.positions={}};di.prototype.getDash=function(n,t){var i=n.join(",")+String(t);return this.positions[i]||(this.positions[i]=this.addDash(n,t)),this.positions[i]};di.prototype.addDash=function(t,i){var r=i?7:0,w=2*r+1,o,s,v,p,g;if(this.nextRow+w>this.height)return n.warnOnce("LineAtlas out of space"),null;for(o=0,s=0;s<t.length;s++)o+=t[s];for(var h=this.width/o,y=h/2,b=t.length%2==1,c=-r;c<=r;c++)for(var nt=this.nextRow+r+c,tt=this.width*nt,k=b?-t[t.length-1]:0,f=t[0],l=1,u=0;u<this.width;u++){for(;f<u/h;)k=f,f+=t[l],b&&l===t.length-1&&(f+=t[0]),l++;var it=Math.abs(u-k*h),rt=Math.abs(u-f*h),e=Math.min(it,rt),d=l%2==1,a=void 0;i?(v=r?c/r*(y+1):0,d?(p=y-Math.abs(v),a=Math.sqrt(e*e+p*p)):a=y-Math.sqrt(e*e+v*v)):a=(d?1:-1)*e;this.data[3+4*(tt+u)]=Math.max(0,Math.min(255,a+128))}return g={y:(this.nextRow+r+.5)/this.height,height:2*r/this.height,width:o},this.nextRow+=w,this.dirty=!0,g};di.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.RGBA,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.RGBA,this.width,this.height,0,t.RGBA,t.UNSIGNED_BYTE,this.data))};gt=function wu(t,i){var u,r,e,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++)e=u[r],f=new wu.Actor(e,i,this.id),f.name="Worker "+r,this.actors.push(f)};gt.prototype.broadcast=function(t,i,r){r=r||function(){};n.asyncAll(this.actors,function(n,r){n.send(t,i,r)},r)};gt.prototype.send=function(n,t,i,r){return("number"!=typeof r||isNaN(r))&&(r=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[r].send(n,t,i),r};gt.prototype.remove=function(){this.actors.forEach(function(n){n.remove()});this.actors=[];this.workerPool.release(this.id)};gt.Actor=n.Actor;i=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");};i.prototype.wrap=function(){return new i(n.wrap(this.lng,-180,180),this.lat)};i.prototype.toArray=function(){return[this.lng,this.lat]};i.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"};i.prototype.toBounds=function(n){var t=360*n/40075017,r=t/Math.cos(Math.PI/180*this.lat);return new f(new i(this.lng-r,this.lat-t),new i(this.lng+r,this.lat+t))};i.convert=function(n){if(n instanceof i)return n;if(Array.isArray(n)&&(2===n.length||3===n.length))return new i(Number(n[0]),Number(n[1]));if(!Array.isArray(n)&&"object"==typeof n&&null!==n)return new i(Number(n.lng),Number(n.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]");};f=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]))};f.prototype.setNorthEast=function(n){return this._ne=n instanceof i?new i(n.lng,n.lat):i.convert(n),this};f.prototype.setSouthWest=function(n){return this._sw=n instanceof i?new i(n.lng,n.lat):i.convert(n),this};f.prototype.extend=function(n){var t,r,u=this._sw,e=this._ne;if(n instanceof i)t=n,r=n;else{if(!(n instanceof f))return Array.isArray(n)?n.every(Array.isArray)?this.extend(f.convert(n)):this.extend(i.convert(n)):this;if(t=n._sw,r=n._ne,!t||!r)return this}return u||e?(u.lng=Math.min(t.lng,u.lng),u.lat=Math.min(t.lat,u.lat),e.lng=Math.max(r.lng,e.lng),e.lat=Math.max(r.lat,e.lat)):(this._sw=new i(t.lng,t.lat),this._ne=new i(r.lng,r.lat)),this};f.prototype.getCenter=function(){return new i((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)};f.prototype.getSouthWest=function(){return this._sw};f.prototype.getNorthEast=function(){return this._ne};f.prototype.getNorthWest=function(){return new i(this.getWest(),this.getNorth())};f.prototype.getSouthEast=function(){return new i(this.getEast(),this.getSouth())};f.prototype.getWest=function(){return this._sw.lng};f.prototype.getSouth=function(){return this._sw.lat};f.prototype.getEast=function(){return this._ne.lng};f.prototype.getNorth=function(){return this._ne.lat};f.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]};f.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"};f.prototype.isEmpty=function(){return!(this._sw&&this._ne)};f.convert=function(n){return!n||n instanceof f?n:new f(n)};yt=function(n,t,i){this.bounds=f.convert(this.validateBounds(n));this.minzoom=t||0;this.maxzoom=i||24};yt.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]};yt.prototype.contains=function(n){var t=Math.floor(this.lngX(this.bounds.getWest(),n.z)),i=Math.floor(this.latY(this.bounds.getNorth(),n.z)),r=Math.ceil(this.lngX(this.bounds.getEast(),n.z)),u=Math.ceil(this.latY(this.bounds.getSouth(),n.z));return n.x>=t&&n.x<r&&n.y>=i&&n.y<u};yt.prototype.lngX=function(n,t){return(n+180)*(Math.pow(2,t)/360)};yt.prototype.latY=function(t,i){var r=n.clamp(Math.sin(Math.PI/180*t),-.9999,.9999),u=Math.pow(2,i)/(2*Math.PI);return Math.pow(2,i-1)+.5*Math.log((1+r)/(1-r))*-u};var ps=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,n.extend(this,n.pick(r,["url","scheme","tileSize"])),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),i.prototype.constructor=i,i.prototype.load=function(){var t=this;this.fire(new n.Event("dataloading",{dataType:"source"}));this._tileJSONRequest=oe(this._options,this.map._transformRequest,function(i,r){t._tileJSONRequest=null;i?t.fire(new n.ErrorEvent(i)):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new yt(r.bounds,t.minzoom,t.maxzoom)),ie(r.tiles),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"content"})))})},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(n,r){return t.aborted?i(null):n&&404!==n.status?i(n):(r&&r.resourceTiming&&(t.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&t.setExpiryData(r),t.loadVectorData(r,this.map.painter),i(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}var f=ku(t.tileID.canonical.url(this.tiles,this.scheme),this.url),r={request:this.map._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};r.request.collectResourceTiming=this._collectResourceTiming;void 0===t.workerID||"expired"===t.state?t.workerID=this.dispatcher.send("loadTile",r,u.bind(this)):"loading"===t.state?t.reloadCallback=i:this.dispatcher.send("reloadTile",r,u.bind(this),t.workerID)},i.prototype.abortTile=function(n){this.dispatcher.send("abortTile",{uid:n.uid,type:this.type,source:this.id},void 0,n.workerID)},i.prototype.unloadTile=function(n){n.unloadVectorData();this.dispatcher.send("removeTile",{uid:n.uid,type:this.type,source:this.id},void 0,n.workerID)},i.prototype.hasTransition=function(){return!1},i}(n.Evented),se=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({},r);n.extend(this,n.pick(r,["url","scheme","tileSize"]))}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.prototype.constructor=i,i.prototype.load=function(){var t=this;this.fire(new n.Event("dataloading",{dataType:"source"}));this._tileJSONRequest=oe(this._options,this.map._transformRequest,function(i,r){t._tileJSONRequest=null;i?t.fire(new n.ErrorEvent(i)):r&&(n.extend(t,r),r.bounds&&(t.tileBounds=new yt(r.bounds,t.minzoom,t.maxzoom)),ie(r.tiles),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})),t.fire(new n.Event("data",{dataType:"source",sourceDataType:"content"})))})},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=ku(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=n.getImage(this.map._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";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),ws=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({},r);this.encoding=r.encoding||"mapbox"}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.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){var r=ku(t.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);t.request=n.getImage(this.map._transformRequest(r,n.ResourceType.Tile),function(r,u){if(delete t.request,t.aborted)t.state="unloaded",i(null);else if(r)t.state="errored",i(r);else if(u){this.map._refreshExpiredTiles&&t.setExpiryData(u);delete u.cacheControl;delete u.expires;var f=n.browser.getImageData(u),e={uid:t.uid,coord:t.tileID,source:this.id,rawImageData:f,encoding:this.encoding};t.workerID&&"expired"!==t.state||(t.workerID=this.dispatcher.send("loadDEMTile",e,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)},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";this.dispatcher.send("removeDEMTile",{uid:n.uid,source:this.id},void 0,n.workerID)},i}(se),bs=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.dispatcher=u;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);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,extent:n.EXTENT,radius:(r.clusterRadius||50)*e,log:!1}},r.workerOptions)}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.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.dispatcher.send("geojson.getClusterExpansionZoom",{clusterId:n,source:this.id},t,this.workerID),this},i.prototype.getClusterChildren=function(n,t){return this.dispatcher.send("geojson.getClusterChildren",{clusterId:n,source:this.id},t,this.workerID),this},i.prototype.getClusterLeaves=function(n,t,i,r){return this.dispatcher.send("geojson.getClusterLeaves",{source:this.id,clusterId:n,limit:t,offset:i},r,this.workerID),this},i.prototype._updateWorkerData=function(t){var i=this,r=n.extend({},this.workerOptions),u=this._data;"string"==typeof u?(r.request=this.map._transformRequest(n.browser.resolveURL(u),n.ResourceType.Source),r.request.collectResourceTiming=this._collectResourceTiming):r.data=JSON.stringify(u);this.workerID=this.dispatcher.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.dispatcher.send(i.type+".coalesce",{source:r.source},null,i.workerID),t(n))},this.workerID)},i.prototype.loadTile=function(t,i){var u=this,r=void 0===t.workerID?"loadTile":"reloadTile",f={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};t.workerID=this.dispatcher.send(r,f,function(n,f){return t.unloadVectorData(),t.aborted?i(null):n?i(n):(t.loadVectorData(f,u.map.painter,"reloadTile"===r),i(null))},this.workerID)},i.prototype.abortTile=function(n){n.aborted=!0},i.prototype.unloadTile=function(n){n.unloadVectorData();this.dispatcher.send("removeTile",{uid:n.uid,type:this.type,source:this.id},null,n.workerID)},i.prototype.onRemove=function(){this._removed=!0;this.dispatcher.send("removeSource",{type:this.type,source:this.id},null,this.workerID)},i.prototype.serialize=function(){return n.extend({},this._options,{type:this.type,data:this._data})},i.prototype.hasTransition=function(){return!1},i}(n.Evented),p=function(){this.boundProgram=null;this.boundLayoutVertexBuffer=null;this.boundPaintVertexBuffers=[];this.boundIndexBuffer=null;this.boundVertexOffset=null;this.boundDynamicVertexBuffer=null;this.vao=null};p.prototype.bind=function(n,t,i,r,u,f,e,o){var h,s,c;for(this.context=n,h=this.boundPaintVertexBuffers.length!==r.length,s=0;!h&&s<r.length;s++)this.boundPaintVertexBuffers[s]!==r[s]&&(h=!0);c=!this.vao||this.boundProgram!==t||this.boundLayoutVertexBuffer!==i||h||this.boundIndexBuffer!==u||this.boundVertexOffset!==f||this.boundDynamicVertexBuffer!==e||this.boundDynamicVertexBuffer2!==o;!n.extVertexArrayObject||c?this.freshBind(t,i,r,u,f,e,o):(n.bindVertexArrayOES.set(this.vao),e&&e.bind(),u&&u.dynamicDraw&&u.bind(),o&&o.bind())};p.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};p.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var gi=function(t){function r(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.setEventedParent(u);this.options=i}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){var t=this;this.fire(new n.Event("dataloading",{dataType:"source"}));this.url=this.options.url;n.getImage(this.map._transformRequest(this.url,n.ResourceType.Image),function(i,r){i?t.fire(new n.ErrorEvent(i)):r&&(t.image=n.browser.getImageData(r),t._finishLoading())})},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(n){this.map=n;this.load()},r.prototype.setCoordinates=function(t){var u;this.coordinates=t;var e=this.map,f=t.map(function(n){return e.transform.locationCoordinate(i.convert(n)).zoomTo(0)}),r=this.centerCoord=n.getCoordinatesCenter(f);return r.column=Math.floor(r.column),r.row=Math.floor(r.row),this.tileID=new n.CanonicalTileID(r.zoom,r.column,r.row),this.minzoom=this.maxzoom=r.zoom,u=f.map(function(t){var i=t.zoomTo(r.zoom);return new n.Point(Math.round((i.column-r.column)*n.EXTENT),Math.round((i.row-r.row)*n.EXTENT))}),this._boundsArray=new n.StructArrayLayout4i8,this._boundsArray.emplaceBack(u[0].x,u[0].y,0,0),this._boundsArray.emplaceBack(u[1].x,u[1].y,n.EXTENT,0),this._boundsArray.emplaceBack(u[3].x,u[3].y,0,n.EXTENT),this._boundsArray.emplaceBack(u[2].x,u[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},r.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,n.rasterBoundsAttributes.members)),this.boundsVAO||(this.boundsVAO=new p),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)}},r.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))},r.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(n.Evented),ks=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),i.prototype.constructor=i,i.prototype.load=function(){var t=this,f=this.options,i,r,u;for(this.urls=[],i=0,r=f.urls;i<r.length;i+=1)u=r[i],t.urls.push(t.map._transformRequest(u,n.ResourceType.Source).url);n.getVideo(this.urls,function(i,r){i?t.fire(new n.ErrorEvent(i)):r&&(t.video=r,t.video.loop=!0,t.video.addEventListener("playing",function(){t.map._rerender()}),t.map&&t.video.play(),t._finishLoading())})},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,n.rasterBoundsAttributes.members)),this.boundsVAO||(this.boundsVAO=new p),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}(gi),ds=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),i.prototype.constructor=i,i.prototype.load=function(){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._rerender()},this.pause=function(){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 u=!1,i,t,f,r;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,u=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,u=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){i=this.map.painter.context;t=i.gl;for(f in this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,n.rasterBoundsAttributes.members)),this.boundsVAO||(this.boundsVAO=new p),this.texture?u?this.texture.update(this.canvas):this._playing&&(this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE),t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,this.canvas)):(this.texture=new n.Texture(i,this.canvas,t.RGBA),this.texture.bind(t.LINEAR,t.CLAMP_TO_EDGE)),this.tiles)r=this.tiles[f],"loaded"!==r.state&&(r.state="loaded",r.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}(gi),du={vector:ps,raster:se,"raster-dem":ws,geojson:bs,video:ks,image:gi,canvas:ds},gs=function(t,i,r,u){var f=new du[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};it=function(n,t){this.max=n;this.onRemove=t;this.reset()};it.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};it.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};it.prototype.has=function(n){return n.wrapped().key in this.data};it.prototype.getAndRemove=function(n){return this.has(n)?this._getAndRemoveByKey(n.wrapped().key):null};it.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};it.prototype.get=function(n){return this.has(n)?this.data[n.wrapped().key][0].value:null};it.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};it.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};ni=function(n,t,i){this.context=n;var r=n.gl;this.buffer=r.createBuffer();this.dynamicDraw=Boolean(i);this.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};ni.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)};ni.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)};ni.prototype.updateData=function(n){var t=this.context.gl;this.unbindVAO();this.bind();t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,n.arrayBuffer)};ni.prototype.destroy=function(){var n=this.context.gl;this.buffer&&(n.deleteBuffer(this.buffer),delete this.buffer)};ce={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};pt=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};pt.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)};pt.prototype.updateData=function(n){var t=this.context.gl;this.bind();t.bufferSubData(t.ARRAY_BUFFER,0,n.arrayBuffer)};pt.prototype.enableAttributes=function(n,t){for(var u,r,i=0;i<this.attributes.length;i++)u=this.attributes[i],r=t.attributes[u.name],void 0!==r&&n.enableVertexAttribArray(r)};pt.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[ce[r.type]],!1,this.itemSize,r.offset+this.itemSize*(i||0))};pt.prototype.destroy=function(){var n=this.context.gl;this.buffer&&(n.deleteBuffer(this.buffer),delete this.buffer)};nr=function(t){this.context=t;this.current=n.Color.transparent};nr.prototype.get=function(){return this.current};nr.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.context.gl.clearColor(n.r,n.g,n.b,n.a),this.current=n)};tr=function(n){this.context=n;this.current=1};tr.prototype.get=function(){return this.current};tr.prototype.set=function(n){this.current!==n&&(this.context.gl.clearDepth(n),this.current=n)};ir=function(n){this.context=n;this.current=0};ir.prototype.get=function(){return this.current};ir.prototype.set=function(n){this.current!==n&&(this.context.gl.clearStencil(n),this.current=n)};rr=function(n){this.context=n;this.current=[!0,!0,!0,!0]};rr.prototype.get=function(){return this.current};rr.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.context.gl.colorMask(n[0],n[1],n[2],n[3]),this.current=n)};ur=function(n){this.context=n;this.current=!0};ur.prototype.get=function(){return this.current};ur.prototype.set=function(n){this.current!==n&&(this.context.gl.depthMask(n),this.current=n)};fr=function(n){this.context=n;this.current=255};fr.prototype.get=function(){return this.current};fr.prototype.set=function(n){this.current!==n&&(this.context.gl.stencilMask(n),this.current=n)};er=function(n){this.context=n;this.current={func:n.gl.ALWAYS,ref:0,mask:255}};er.prototype.get=function(){return this.current};er.prototype.set=function(n){var t=this.current;n.func===t.func&&n.ref===t.ref&&n.mask===t.mask||(this.context.gl.stencilFunc(n.func,n.ref,n.mask),this.current=n)};or=function(n){this.context=n;var t=this.context.gl;this.current=[t.KEEP,t.KEEP,t.KEEP]};or.prototype.get=function(){return this.current};or.prototype.set=function(n){var t=this.current;n[0]===t[0]&&n[1]===t[1]&&n[2]===t[2]||(this.context.gl.stencilOp(n[0],n[1],n[2]),this.current=n)};sr=function(n){this.context=n;this.current=!1};sr.prototype.get=function(){return this.current};sr.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;n?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST);this.current=n}};hr=function(n){this.context=n;this.current=[0,1]};hr.prototype.get=function(){return this.current};hr.prototype.set=function(n){var t=this.current;n[0]===t[0]&&n[1]===t[1]||(this.context.gl.depthRange(n[0],n[1]),this.current=n)};cr=function(n){this.context=n;this.current=!1};cr.prototype.get=function(){return this.current};cr.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;n?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST);this.current=n}};lr=function(n){this.context=n;this.current=n.gl.LESS};lr.prototype.get=function(){return this.current};lr.prototype.set=function(n){this.current!==n&&(this.context.gl.depthFunc(n),this.current=n)};ar=function(n){this.context=n;this.current=!1};ar.prototype.get=function(){return this.current};ar.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;n?t.enable(t.BLEND):t.disable(t.BLEND);this.current=n}};vr=function(n){this.context=n;var t=this.context.gl;this.current=[t.ONE,t.ZERO]};vr.prototype.get=function(){return this.current};vr.prototype.set=function(n){var t=this.current;n[0]===t[0]&&n[1]===t[1]||(this.context.gl.blendFunc(n[0],n[1]),this.current=n)};yr=function(t){this.context=t;this.current=n.Color.transparent};yr.prototype.get=function(){return this.current};yr.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.context.gl.blendColor(n.r,n.g,n.b,n.a),this.current=n)};pr=function(n){this.context=n;this.current=null};pr.prototype.get=function(){return this.current};pr.prototype.set=function(n){this.current!==n&&(this.context.gl.useProgram(n),this.current=n)};wr=function(n){this.context=n;this.current=n.gl.TEXTURE0};wr.prototype.get=function(){return this.current};wr.prototype.set=function(n){this.current!==n&&(this.context.gl.activeTexture(n),this.current=n)};br=function(n){this.context=n;var t=this.context.gl;this.current=[0,0,t.drawingBufferWidth,t.drawingBufferHeight]};br.prototype.get=function(){return this.current};br.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.context.gl.viewport(n[0],n[1],n[2],n[3]),this.current=n)};kr=function(n){this.context=n;this.current=null};kr.prototype.get=function(){return this.current};kr.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;t.bindFramebuffer(t.FRAMEBUFFER,n);this.current=n}};dr=function(n){this.context=n;this.current=null};dr.prototype.get=function(){return this.current};dr.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;t.bindRenderbuffer(t.RENDERBUFFER,n);this.current=n}};gr=function(n){this.context=n;this.current=null};gr.prototype.get=function(){return this.current};gr.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;t.bindTexture(t.TEXTURE_2D,n);this.current=n}};nu=function(n){this.context=n;this.current=null};nu.prototype.get=function(){return this.current};nu.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;t.bindBuffer(t.ARRAY_BUFFER,n);this.current=n}};tu=function(n){this.context=n;this.current=null};tu.prototype.get=function(){return this.current};tu.prototype.set=function(n){var t=this.context.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,n);this.current=n};iu=function(n){this.context=n;this.current=null};iu.prototype.get=function(){return this.current};iu.prototype.set=function(n){this.current!==n&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(n),this.current=n)};ru=function(n){this.context=n;this.current=4};ru.prototype.get=function(){return this.current};ru.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,n);this.current=n}};uu=function(n){this.context=n;this.current=!1};uu.prototype.get=function(){return this.current};uu.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n);this.current=n}};fu=function(n,t){this.context=n;this.current=null;this.parent=t};fu.prototype.get=function(){return this.current};var th=function(n){function t(t,i){n.call(this,t,i);this.dirty=!1}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.set=function(n){if(this.dirty||this.current!==n){var t=this.context.gl;this.context.bindFramebuffer.set(this.parent);t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,n,0);this.current=n;this.dirty=!1}},t.prototype.setDirty=function(){this.dirty=!0},t}(fu),ih=function(n){function t(){n.apply(this,arguments)}return n&&(t.__proto__=n),t.prototype=Object.create(n&&n.prototype),t.prototype.constructor=t,t.prototype.set=function(n){if(this.current!==n){var t=this.context.gl;this.context.bindFramebuffer.set(this.parent);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,n);this.current=n}},t}(fu),le=function(n,t,i){this.context=n;this.width=t;this.height=i;var u=n.gl,r=this.framebuffer=u.createFramebuffer();this.colorAttachment=new th(n,r);this.depthAttachment=new ih(n,r)};le.prototype.destroy=function(){var n=this.context.gl,i=this.colorAttachment.get(),t;i&&n.deleteTexture(i);t=this.depthAttachment.get();t&&n.deleteRenderbuffer(t);n.deleteFramebuffer(this.framebuffer)};e=function(n,t,i){this.func=n;this.mask=t;this.range=i};e.ReadOnly=!1;e.ReadWrite=!0;e.disabled=new e(519,e.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);l=function(n,t,i){this.blendFunction=n;this.blendColor=t;this.mask=i};l.Replace=[1,0];l.disabled=new l(l.Replace,n.Color.transparent,[!1,!1,!1,!1]);l.unblended=new l(l.Replace,n.Color.transparent,[!0,!0,!0,!0]);l.alphaBlended=new l([1,771],n.Color.transparent,[!0,!0,!0,!0]);rt=function(n){this.gl=n;this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object");this.clearColor=new nr(this);this.clearDepth=new tr(this);this.clearStencil=new ir(this);this.colorMask=new rr(this);this.depthMask=new ur(this);this.stencilMask=new fr(this);this.stencilFunc=new er(this);this.stencilOp=new or(this);this.stencilTest=new sr(this);this.depthRange=new hr(this);this.depthTest=new cr(this);this.depthFunc=new lr(this);this.blend=new ar(this);this.blendFunc=new vr(this);this.blendColor=new yr(this);this.program=new pr(this);this.activeTexture=new wr(this);this.viewport=new br(this);this.bindFramebuffer=new kr(this);this.bindRenderbuffer=new dr(this);this.bindTexture=new gr(this);this.bindVertexBuffer=new nu(this);this.bindElementBuffer=new tu(this);this.bindVertexArrayOES=this.extVertexArrayObject&&new iu(this);this.pixelStoreUnpack=new ru(this);this.pixelStoreUnpackPremultiplyAlpha=new uu(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")};rt.prototype.createIndexBuffer=function(n,t){return new ni(this,n,t)};rt.prototype.createVertexBuffer=function(n,t,i){return new pt(this,n,t,i)};rt.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};rt.prototype.createFramebuffer=function(n,t){return new le(this,n,t)};rt.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.clearDepth.set(u),this.depthMask.set(!0));t.clear(i)};rt.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)};rt.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)};rt.prototype.setColorMode=function(t){n.deepEqual(t.blendFunction,l.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor));this.colorMask.set(t.mask)};ti=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=gs(i,r,u,this);this._tiles={};this._cache=new it(0,this._unloadTile.bind(this));this._timers={};this._cacheTimers={};this._maxTileCacheSize=null;this._coveredTiles={};this._state=new n.SourceFeatureState}return t&&(i.__proto__=t),i.prototype=Object.create(t&&t.prototype),i.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)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){for(var t in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles)this._tiles[t].upload(n)},i.prototype.getIds=function(){return Object.keys(this._tiles).map(Number).sort(ae)},i.prototype.getRenderableIds=function(t){var i=this,r=[];for(var u in i._tiles)i._isIdRenderable(+u,t)&&r.push(+u);return t?r.sort(function(t,r){var u=i._tiles[t].tileID,f=i._tiles[r].tileID,e=new n.Point(u.canonical.x,u.canonical.y)._rotate(i.transform.angle),o=new n.Point(f.canonical.x,f.canonical.y)._rotate(i.transform.angle);return u.overscaledZ-f.overscaledZ||o.y-e.y||o.x-e.x}):r.sort(ae)},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}));this.map&&(this.map.painter.tileExtentVAO.vao=null)},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.getZoom=function(n){return n.zoom+n.scaleZoom(n.tileSize/this._source.tileSize)},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){for(var i,f,u,r=n.overscaledZ-1;r>=t;r--){if(i=n.scaledTo(r),!i)return;if(f=String(i.key),u=this._tiles[f],u&&u.hasData())return u;if(this._cache.has(i))return this._cache.get(i)}},i.prototype.updateCacheSize=function(n){var i=(Math.ceil(n.width/this._source.tileSize)+1)*(Math.ceil(n.height/this._source.tileSize)+1),t=Math.floor(5*i),r="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,t):t;this._cache.setMaxSize(r)},i.prototype.handleWrapJump=function(n){var s=(n-(void 0===this._prevLng?n:this._prevLng))/360,f=Math.round(s),i,e,t,r,u,o;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)o=this._tiles[u],this._setTileReloadTimer(u,o)}},i.prototype.update=function(t){var r=this,f,o,s,g,c,p,w,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 r._source.hasTile(n)}))):f=[];var h=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(t)),nt=Math.max(h-i.maxOverzooming,this._source.minzoom),tt=Math.max(h+i.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(f,h);if(ve(this._source.type)){for(var l={},b={},a=0,k=Object.keys(u);a<k.length;a+=1){var v=k[a],d=u[v],y=r._tiles[v];!y||y.fadeEndTime&&y.fadeEndTime<=n.browser.now()||(o=r.findLoadedParent(d,nt),o&&(r._addTile(o.tileID),l[o.tileID.key]=o.tileID),b[v]=d)}for(s in this._retainLoadedChildren(b,h,tt,u),l)u[s]||(r._coveredTiles[s]=!0,u[s]=l[s])}for(g in u)r._tiles[g].clearFadeHold();for(c=0,p=n.keysDifference(this._tiles,u);c<p.length;c+=1)w=p[c],e=r._tiles[w],e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(r.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||r._removeTile(w)}},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._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()?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){for(var u,f,r,p,h,w=[],b=this.getIds(),c=1/0,l=1/0,a=-1/0,v=-1/0,k=t[0].zoom,y=0;y<t.length;y++)u=t[y],c=Math.min(c,u.column),l=Math.min(l,u.row),a=Math.max(a,u.column),v=Math.max(v,u.row);for(f=0;f<b.length;f++)if(r=this._tiles[b[f]],!r.holdingForFade()){var e=r.tileID,d=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),o=i*r.queryPadding*n.EXTENT/r.tileSize/d,s=[gu(e,new n.Coordinate(c,l,k)),gu(e,new n.Coordinate(a,v,k))];if(s[0].x-o<n.EXTENT&&s[0].y-o<n.EXTENT&&s[1].x+o>=0&&s[1].y+o>=0){for(p=[],h=0;h<t.length;h++)p.push(gu(e,t[h]));w.push({tile:r,tileID:e,queryGeometry:[p],scale:d})}}return w},i.prototype.getVisibleCoordinates=function(n){for(var i,r=this,u=this.getRenderableIds(n).map(function(n){return r._tiles[n].tileID}),t=0,f=u;t<f.length;t+=1)i=f[t],i.posMatrix=r.transform.calculatePosMatrix(i.toUnwrapped());return u},i.prototype.hasTransition=function(){var i,t;if(this._source.hasTransition())return!0;if(ve(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){n=n||"_geojsonTileLayer";this._state.updateState(n,t,i)},i.prototype.getFeatureState=function(n,t){return n=n||"_geojsonTileLayer",this._state.getState(n,t)},i}(n.Evented);ti.maxOverzooming=10;ti.maxUnderzooming=3;ht=function(){this.active={}};ht.prototype.acquire=function(n){if(!this.workers)for(this.workers=[];this.workers.length<ht.workerCount;)this.workers.push(new rh);return this.active[n]=!0,this.workers.slice()};ht.prototype.release=function(n){delete this.active[n];0===Object.keys(this.active).length&&(this.workers.forEach(function(n){n.terminate()}),this.workers=null)};ht.workerCount=Math.max(Math.floor(n.browser.hardwareConcurrency/2),1);r={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"};s=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};s.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length};s.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)};s.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)};s.prototype._insertBoxCell=function(n,t,i,r,u,f){this.boxCells[u].push(f)};s.prototype._insertCircleCell=function(n,t,i,r,u,f){this.circleCells[u].push(f)};s.prototype._query=function(n,t,i,r,u,f){var e,o,s,a;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 a={hitTest:u,seenUids:{box:{},circle:{}}},this._forEachCell(n,t,i,r,this._queryCell,e,a,f),u?e.length>0:e};s.prototype._queryCircle=function(n,t,i,r,u){var e=n-i,o=n+i,s=t-i,h=t+i,f,c;return o<0||e>this.width||h<0||s>this.height?!r&&[]:(f=[],c={hitTest:r,circle:{x:n,y:t,radius:i},seenUids:{box:{},circle:{}}},this._forEachCell(e,s,o,h,this._queryCellCircle,f,c,u),r?f.length>0:f)};s.prototype.query=function(n,t,i,r,u){return this._query(n,t,i,r,!1,u)};s.prototype.hitTest=function(n,t,i,r,u){return this._query(n,t,i,r,!0,u)};s.prototype.hitTestCircle=function(n,t,i,r){return this._queryCircle(n,t,i,!0,r)};s.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})}};s.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};s.prototype._forEachCell=function(n,t,i,r,u,f,e,o){for(var s,c,l=this._convertToXCellCoord(n),a=this._convertToYCellCoord(t),v=this._convertToXCellCoord(i),y=this._convertToYCellCoord(r),h=l;h<=v;h++)for(s=a;s<=y;s++)if(c=this.xCellCount*s+h,u.call(this,n,t,i,r,c,f,e,o))return};s.prototype._convertToXCellCoord=function(n){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(n*this.xScale)))};s.prototype._convertToYCellCoord=function(n){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(n*this.yScale)))};s.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};s.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=n.properties.layout;ro=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);w=function(n,t,i){void 0===t&&(t=new s(n.width+200,n.height+200,25));void 0===i&&(i=new s(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};w.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)}};w.prototype.approximateTileDistance=function(n,t,i,r,u){var e=u?1:r/this.pitchfactor,f=n.lastSegmentViewportDistance*i;return n.prevTileDistance+f+(e-1)*f*Math.abs(Math.sin(t))};w.prototype.placeCollisionCircles=function(t,i,r,u,f,e,o,s,h,c,l,a,v,y){var k=[],g=this.projectAnchor(c,e.anchorX,e.anchorY),bt=h/24,kt=e.lineOffsetX*h,dt=e.lineOffsetY*h,ot=new n.Point(e.anchorX,e.anchorY),d=ge(bt,s,kt,dt,!1,ct(ot,l).point,ot,e,o,l,{},!0),st=!1,nt=!1,tt=!0,gt=g.perspectiveRatio*u,ht=1/(u*r),it=0,rt=0,p,w,b,ut,ft,et,at;for(d&&(it=this.approximateTileDistance(d.first.tileDistance,d.first.angle,ht,g.cameraDistance,v),rt=this.approximateTileDistance(d.last.tileDistance,d.last.angle,ht,g.cameraDistance,v)),p=0;p<t.length;p+=5){var ni=t[p],ti=t[p+1],ii=t[p+2],lt=t[p+3];if(!d||lt<-it||lt>rt)uf(t,p,!1);else{if(w=this.projectPoint(c,ni,ti),b=ii*gt,k.length>0&&(ut=w.x-k[k.length-4],ft=w.y-k[k.length-3],b*b*2>ut*ut+ft*ft&&p+8<t.length&&(et=t[p+8],et>-it&&et<rt))){uf(t,p,!1);continue}at=p/5;k.push(w.x,w.y,b,at);uf(t,p,!0);var vt=w.x-b,yt=w.y-b,pt=w.x+b,wt=w.y+b;if(tt=tt&&this.isOffscreen(vt,yt,pt,wt),nt=nt||this.isInsideGrid(vt,yt,pt,wt),!i&&this.grid.hitTestCircle(w.x,w.y,b,y)){if(!a)return{circles:[],offscreen:!1};st=!0}}}return{circles:st||!nt?[]:k,offscreen:tt}};w.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};w.prototype.insertCollisionBox=function(n,t,i,r,u){var f={bucketInstanceId:i,featureIndex:r,collisionGroupID:u};(t?this.ignoredGrid:this.grid).insert(f,n[0],n[1],n[2],n[3])};w.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])};w.prototype.projectAnchor=function(n,t,i){var r=[t,i,0,1];return su(r,r,n),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/r[3]*.5,cameraDistance:r[3]}};w.prototype.projectPoint=function(t,i,r){var u=[i,r,0,1];return su(u,u,t),new n.Point((u[0]/u[3]+1)/2*this.transform.width+100,(-u[1]/u[3]+1)/2*this.transform.height+100)};w.prototype.projectAndGetPerspectiveRatio=function(t,i,r){var u=[i,r,0,1];return su(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}};w.prototype.isOffscreen=function(n,t,i,r){return i<100||n>=this.screenRightBoundary||r<100||t>this.screenBottomBoundary};w.prototype.isInsideGrid=function(n,t,i,r){return i>=0&&n<this.gridRightBoundary&&r>=0&&t<this.gridBottomBoundary};hu=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};hu.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};wt=function(n,t,i,r,u){this.text=new hu(n?n.text:null,t,i,u);this.icon=new hu(n?n.icon:null,t,r,u)};wt.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};ff=function(n,t,i){this.text=n;this.icon=t;this.skipFade=i};ef=function(n){this.crossSourceCollisions=n;this.maxGroupID=0;this.collisionGroups={}};ef.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]};tt=function(n,t,i){this.transform=n.clone();this.collisionIndex=new w(this.transform);this.placements={};this.opacities={};this.stale=!1;this.fadeDuration=t;this.retainedQueryData={};this.collisionGroups=new ef(i)};tt.prototype.placeLayerTile=function(t,i,r,u){var f=i.getBucket(t),s=i.latestFeatureIndex;if(f&&s&&t.id===f.layerIds[0]){var h=i.collisionBoxArray,e=f.layers[0].layout,c=Math.pow(2,this.transform.zoom-i.tileID.overscaledZ),l=i.tileSize/n.EXTENT,o=this.transform.calculatePosMatrix(i.tileID.toUnwrapped()),a=tf(o,"map"===e.get("text-pitch-alignment"),"map"===e.get("text-rotation-alignment"),this.transform,nt(i,1,this.transform.zoom)),v=tf(o,"map"===e.get("icon-pitch-alignment"),"map"===e.get("icon-rotation-alignment"),this.transform,nt(i,1,this.transform.zoom));this.retainedQueryData[f.bucketInstanceId]=new function(n,t,i,r,u){this.bucketInstanceId=n;this.featureIndex=t;this.sourceLayerIndex=i;this.bucketIndex=r;this.tileID=u}(f.bucketInstanceId,s,f.sourceLayerIndex,f.index,i.tileID);this.placeLayerBucket(f,o,a,v,c,l,r,i.holdingForFade(),u,h)}};tt.prototype.placeLayerBucket=function(t,i,r,u,f,e,o,s,h,c){for(var l,tt,it,ot,rt,ut,a=t.layers[0].layout,st=n.evaluateSizeForZoom(t.textSizeData,this.transform.zoom,n.properties.layout.properties["text-size"]),ht=a.get("text-optional"),ct=a.get("icon-optional"),w=this.collisionGroups.get(t.sourceID),g=0,ft=t.symbolInstances;g<ft.length;g+=1)if(l=ft[g],!h[l.crossTileID]){if(s){this.placements[l.crossTileID]=new ff(!1,!1,!1);continue}var v=!1,y=!1,p=!0,k=null,b=null,d=null,nt=0,et=0;l.collisionArrays||(l.collisionArrays=t.deserializeCollisionBoxes(c,l.textBoxStartIndex,l.textBoxEndIndex,l.iconBoxStartIndex,l.iconBoxEndIndex));l.collisionArrays.textFeatureIndex&&(nt=l.collisionArrays.textFeatureIndex);l.collisionArrays.textBox&&(v=(k=this.collisionIndex.placeCollisionBox(l.collisionArrays.textBox,a.get("text-allow-overlap"),e,i,w.predicate)).box.length>0,p=p&&k.offscreen);tt=l.collisionArrays.textCircles;tt&&(it=t.text.placedSymbolArray.get(l.placedTextSymbolIndices[0]),ot=n.evaluateSizeForFeature(t.textSizeData,st,it),b=this.collisionIndex.placeCollisionCircles(tt,a.get("text-allow-overlap"),f,e,l.key,it,t.lineVertexArray,t.glyphOffsetArray,ot,i,r,o,"map"===a.get("text-pitch-alignment"),w.predicate),v=a.get("text-allow-overlap")||b.circles.length>0,p=p&&b.offscreen);l.collisionArrays.iconFeatureIndex&&(et=l.collisionArrays.iconFeatureIndex);l.collisionArrays.iconBox&&(y=(d=this.collisionIndex.placeCollisionBox(l.collisionArrays.iconBox,a.get("icon-allow-overlap"),e,i,w.predicate)).box.length>0,p=p&&d.offscreen);rt=ht||0===l.numGlyphVertices&&0===l.numVerticalGlyphVertices;ut=ct||0===l.numIconVertices;rt||ut?ut?rt||(y=y&&v):v=y&&v:y=v=y&&v;v&&k&&this.collisionIndex.insertCollisionBox(k.box,a.get("text-ignore-placement"),t.bucketInstanceId,nt,w.ID);y&&d&&this.collisionIndex.insertCollisionBox(d.box,a.get("icon-ignore-placement"),t.bucketInstanceId,et,w.ID);v&&b&&this.collisionIndex.insertCollisionCircles(b.circles,a.get("text-ignore-placement"),t.bucketInstanceId,nt,w.ID);this.placements[l.crossTileID]=new ff(v,y,p||t.justReloaded);h[l.crossTileID]=!0}t.justReloaded=!1};tt.prototype.commit=function(n,t){var u,i,f,e,o,c;this.commitTime=t;var r=!1,s=n&&0!==this.fadeDuration?(this.commitTime-n.commitTime)/this.fadeDuration:1,h=n?n.opacities:{};for(u in this.placements)i=this.placements[u],f=h[u],f?(this.opacities[u]=new wt(f,s,i.text,i.icon),r=r||i.text!==f.text.placed||i.icon!==f.icon.placed):(this.opacities[u]=new wt(null,s,i.text,i.icon,i.skipFade),r=r||i.text||i.icon);for(e in h)o=h[e],this.opacities[e]||(c=new wt(o,s,!1,!1),c.isHidden()||(this.opacities[e]=c,r=r||o.text.placed||o.icon.placed));r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=n?n.lastPlacementChangeTime:t)};tt.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)};tt.prototype.updateBucketOpacities=function(n,t,i){var y,p,o,c,b,k,l,f,s,h,d;n.hasTextData()&&n.text.opacityVertexArray.clear();n.hasIconData()&&n.icon.opacityVertexArray.clear();n.hasCollisionBoxData()&&n.collisionBox.collisionVertexArray.clear();n.hasCollisionCircleData()&&n.collisionCircle.collisionVertexArray.clear();for(var a=n.layers[0].layout,g=new wt(null,0,!1,!1,!0),nt=new wt(null,0,a.get("text-allow-overlap"),a.get("icon-allow-overlap"),!0),e=0;e<n.symbolInstances.length;e++){var r=n.symbolInstances[e],v=t[r.crossTileID],u=this.opacities[r.crossTileID];if(v?u=g:u||(u=nt,this.opacities[r.crossTileID]=u),t[r.crossTileID]=!0,y=r.numGlyphVertices>0||r.numVerticalGlyphVertices>0,p=r.numIconVertices>0,y){for(var tt=uo(u.text),it=(r.numGlyphVertices+r.numVerticalGlyphVertices)/4,w=0;w<it;w++)n.text.opacityVertexArray.emplaceBack(tt);for(o=0,c=r.placedTextSymbolIndices;o<c.length;o+=1)b=c[o],n.text.placedSymbolArray.get(b).hidden=u.text.isHidden()}if(p){for(k=uo(u.icon),l=0;l<r.numIconVertices/4;l++)n.icon.opacityVertexArray.emplaceBack(k);n.icon.placedSymbolArray.get(e).hidden=u.icon.isHidden()}if(r.collisionArrays||(r.collisionArrays=n.deserializeCollisionBoxes(i,r.textBoxStartIndex,r.textBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex)),f=r.collisionArrays,f&&(f.textBox&&n.hasCollisionBoxData()&&of(n.collisionBox.collisionVertexArray,u.text.placed,!1),f.iconBox&&n.hasCollisionBoxData()&&of(n.collisionBox.collisionVertexArray,u.icon.placed,!1),s=f.textCircles,s&&n.hasCollisionCircleData()))for(h=0;h<s.length;h+=5)d=v||0===s[h+4],of(n.collisionCircle.collisionVertexArray,u.text.placed,d)}n.sortFeatures(this.transform.angle);this.retainedQueryData[n.bucketInstanceId]&&(this.retainedQueryData[n.bucketInstanceId].featureSortOrder=n.featureSortOrder);n.hasTextData()&&n.text.opacityVertexBuffer&&n.text.opacityVertexBuffer.updateData(n.text.opacityVertexArray);n.hasIconData()&&n.icon.opacityVertexBuffer&&n.icon.opacityVertexBuffer.updateData(n.icon.opacityVertexArray);n.hasCollisionBoxData()&&n.collisionBox.collisionVertexBuffer&&n.collisionBox.collisionVertexBuffer.updateData(n.collisionBox.collisionVertexArray);n.hasCollisionCircleData()&&n.collisionCircle.collisionVertexBuffer&&n.collisionCircle.collisionVertexBuffer.updateData(n.collisionCircle.collisionVertexArray)};tt.prototype.symbolFadeChange=function(n){return 0===this.fadeDuration?1:(n-this.commitTime)/this.fadeDuration};tt.prototype.hasTransitions=function(n){return this.stale||n-this.lastPlacementChangeTime<this.fadeDuration};tt.prototype.stillRecent=function(n){return"undefined"!==this.commitTime&&this.commitTime+this.fadeDuration>n};tt.prototype.setStale=function(){this.stale=!0};var lh=Math.pow(2,25),ah=Math.pow(2,24),vh=Math.pow(2,17),yh=Math.pow(2,16),ph=Math.pow(2,9),wh=Math.pow(2,8),bh=Math.pow(2,1);sf=function(){this._currentTileIndex=0;this._seenCrossTileIDs={}};sf.prototype.continuePlacement=function(n,t,i,r,u){for(;this._currentTileIndex<n.length;){var f=n[this._currentTileIndex];if(t.placeLayerTile(r,f,i,this._seenCrossTileIDs),this._currentTileIndex++,u())return!0}};vi=function(n,t,i,r,u,f){this.placement=new tt(n,u,f);this._currentPlacementIndex=t.length-1;this._forceFullPlacement=i;this._showCollisionBoxes=r;this._done=!1};vi.prototype.isDone=function(){return this._done};vi.prototype.continuePlacement=function(t,i,r){for(var f,e,u=this,o=n.browser.now(),s=function(){var t=n.browser.now()-o;return!u._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){if(f=i[t[u._currentPlacementIndex]],e=u.placement.collisionIndex.transform.zoom,"symbol"===f.type&&(!f.minzoom||f.minzoom<=e)&&(!f.maxzoom||f.maxzoom>e)){if(u._inProgressLayer||(u._inProgressLayer=new sf),u._inProgressLayer.continuePlacement(r[f.source],u.placement,u._showCollisionBoxes,f,s))return;delete u._inProgressLayer}u._currentPlacementIndex--}this._done=!0};vi.prototype.commit=function(n,t){return this.placement.commit(n,t),this.placement};fo=256/n.EXTENT;cu=function(n,t,i){var r,e,u,f;for(this.tileID=n,this.indexedSymbolInstances={},this.bucketInstanceId=i,r=0,e=t;r<e.length;r+=1)u=e[r],f=u.key,this.indexedSymbolInstances[f]||(this.indexedSymbolInstances[f]=[]),this.indexedSymbolInstances[f].push({crossTileID:u.crossTileID,coord:this.getScaledCoordinates(u,n)})};cu.prototype.getScaledCoordinates=function(t,i){var f=i.canonical.z-this.tileID.canonical.z,r=fo/Math.pow(2,f),u=t.anchor;return{x:Math.floor((i.canonical.x*n.EXTENT+u.x)*r),y:Math.floor((i.canonical.y*n.EXTENT+u.y)*r)}};cu.prototype.findMatches=function(n,t,i){for(var u,e,r,s=this.tileID.canonical.z<t.canonical.z?1:Math.pow(2,this.tileID.canonical.z-t.canonical.z),f=0,h=n;f<h.length;f+=1)if(u=h[f],!u.crossTileID&&(e=this.indexedSymbolInstances[u.key],e))for(var c=this.getScaledCoordinates(u,t),o=0,l=e;o<l.length;o+=1)if(r=l[o],Math.abs(r.coord.x-c.x)<=s&&Math.abs(r.coord.y-c.y)<=s&&!i[r.crossTileID]){i[r.crossTileID]=!0;u.crossTileID=r.crossTileID;break}};hf=function(){this.maxCrossTileID=0};hf.prototype.generate=function(){return++this.maxCrossTileID};ii=function(){this.indexes={};this.usedCrossTileIDs={};this.lng=0};ii.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};ii.prototype.addBucket=function(n,t,i){var r,h,u,f,e,v,c,l,o,a,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,h=t.symbolInstances;r<h.length;r+=1)h[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(v in e)c=e[v],c.tileID.isChildOf(n)&&c.findMatches(t.symbolInstances,n,u);else l=e[n.scaledTo(Number(f)).key],l&&l.findMatches(t.symbolInstances,n,u);for(o=0,a=t.symbolInstances;o<a.length;o+=1)s=a[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 cu(n,t.symbolInstances,t.bucketInstanceId),!0};ii.prototype.removeBucketCrossTileIDs=function(n,t){var u,i,r,f;for(u in t.indexedSymbolInstances)for(i=0,r=t.indexedSymbolInstances[u];i<r.length;i+=1)f=r[i],delete this.usedCrossTileIDs[n][f.crossTileID]};ii.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};yi=function(){this.layerIndexes={};this.crossTileIDs=new hf;this.maxBucketInstanceId=0;this.bucketsInCurrentPlacement={}};yi.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 ii),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};yi.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 cf=function(t,i){return n.emitValidationErrors(t,i&&i.filter(function(n){return"source.canvas"!==n.identifier}))},kh=n.pick(r,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),dh=n.pick(r,["setCenter","setZoom","setBearing","setPitch"]),pi=function(t){function i(r,u){var f=this,e;void 0===u&&(u={});t.call(this);this.map=r;this.dispatcher=new gt((nf||(nf=new ht),nf),this);this.imageManager=new k;this.glyphManager=new et(r._transformRequest,u.localIdeographFontFamily);this.lineAtlas=new di(256,512);this.crossTileSymbolIndex=new yi;this._layers={};this._order=[];this.sourceCaches={};this.zoomHistory=new n.ZoomHistory;this._loaded=!1;this._resetUpdates();e=this;this._rtlTextPluginCallback=i.registerForPluginAvailability(function(n){for(var t in e.dispatcher.broadcast("loadRTLTextPlugin",n.pluginURL,n.completionCallback),e.sourceCaches)e.sourceCaches[t].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),i.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:!kt(t);t=function(n,t){if(!kt(n))return n;var i=vt(n);return i.path="/styles/v1"+i.path,bi(i,t)}(t,i.accessToken);f=this.map._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._load=function(t,i){var r=this,e,o,f,s,u;if(!i||!cf(this,n.validateStyle(t))){for(e in this._loaded=!0,this.stylesheet=t,t.sources)r.addSource(e,t.sources[e],{validate:!1});for(t.sprite?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,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}}r(null,i)}}var f,s,u,h=n.browser.devicePixelRatio>1?"@2x":"",e=n.getJSON(i(ne(t,h,".json"),n.ResourceType.SpriteJSON),function(n,t){e=null;u||(u=n,f=t,c())}),o=n.getImage(i(ne(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.sprite,this.map._transformRequest,function(t,i){if(r._spriteRequest=null,t)r.fire(new n.ErrorEvent(t));else if(i)for(var u in i)r.imageManager.addImage(u,i[u]);r.imageManager.setLoaded(!0);r.fire(new n.Event("data",{dataType:"style"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(t.glyphs),o=ye(this.stylesheet.layers),this._order=o.map(function(n){return n.id}),this._layers={},f=0,s=o;f<s.length;f+=1)u=s[f],(u=n.createStyleLayer(u)).setEventedParent(r,{layer:{id:u.id}}),r._layers[u.id]=u;this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order));this.light=new ys(this.stylesheet.light);this.fire(new n.Event("data",{dataType:"style"}));this.fire(new n.Event("style.load"))}},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){var t=this;return n.map(function(n){return t._layers[n].serialize()})},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 f,e,r,o,h,c,u,s,l,i;if(this._loaded){if(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(h in this._updatedPaintProps)this._layers[h].updateTransitions(t);this.light.updateTransitions(t);this._resetUpdates();this.fire(new n.Event("data",{dataType:"style"}))}for(c in this.sourceCaches)this.sourceCaches[c].used=!1;for(u=0,s=this._order;u<s.length;u+=1)l=s[u],i=this._layers[l],i.recalculate(t),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);this.light.recalculate(t);this.z=t.zoom}},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={}},i.prototype.setState=function(t){var u=this,i,r;if((this._checkLoaded(),cf(this,n.validateStyle(t)))||((t=n.clone(t)).layers=ye(t.layers),i=oh(this.serialize(),t).filter(function(n){return!(n.command in dh)}),0===i.length))return!1;if(r=i.filter(function(n){return!(n.command in kh)}),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.fire(new n.Event("data",{dataType:"style"}))},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.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(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 ti(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 u,f,e,o;this._checkLoaded();u=t.id;this.getLayer(u)?this.fire(new n.ErrorEvent(new Error('Layer with id "'+u+'" already exists on this map'))):("object"==typeof t.source&&(this.addSource(u,t.source),t=n.clone(t),t=n.extend(t,{source:u})),this._validate(n.validateStyle.layer,"layers."+u,t,{arrayIndex:-1},r))||(f=n.createStyleLayer(t),this._validateLayer(f),f.setEventedParent(this,{layer:{id:u}}),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,u),this._layerOrderChanged=!0,this._layers[u]=f,this._removedLayers[u]&&f.source)&&(o=this._removedLayers[u],delete this._removedLayers[u],o.type!==f.type?this._updatedSources[f.source]="clear":(this._updatedSources[f.source]="reload",this.sourceCaches[f.source].pause())),this._updateLayer(f)))},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._updatedLayers[t],delete this._updatedPaintProps[t]):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.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){this._checkLoaded();var r=this.getLayer(t);if(r){if(!n.deepEqual(r.filter,i))return null==i?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(n.validateStyle.filter,"layers."+r.id+".filter",i)||(r.filter=n.clone(i),this._updateLayer(r)))}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(this.getLayer(t).filter)},i.prototype.setLayoutProperty=function(t,i,r){this._checkLoaded();var u=this.getLayer(t);u?n.deepEqual(u.getLayoutProperty(i),r)||(u.setLayoutProperty(i,r),this._updateLayer(u)):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(n,t){return this.getLayer(n).getLayoutProperty(t)},i.prototype.setPaintProperty=function(t,i,r){this._checkLoaded();var u=this.getLayer(t);u?n.deepEqual(u.getPaintProperty(i),r)||(u.setPaintProperty(i,r)&&this._updateLayer(u),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 u=t.source,f=t.sourceLayer,r=this.sourceCaches[u];void 0!==r?"vector"!==r.getSource().type||f?null!=t.id&&""!==t.id?r.setFeatureState(f,t.id,i):this.fire(new n.ErrorEvent(new Error("The feature id parameter must be provided."))):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 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(){var t=this;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._order.map(function(n){return t._layers[n].serialize()})},function(n){return void 0!==n})},i.prototype._updateLayer=function(n){this._updatedLayers[n.id]=!0;n.source&&!this._updatedSources[n.source]&&(this._updatedSources[n.source]="reload",this.sourceCaches[n.source].pause());this._changed=!0},i.prototype._flattenRenderedFeatures=function(n){for(var f,i,e,s,r=[],t=this._order.length-1;t>=0;t--)for(var h=this._order[t],u=0,o=n;u<o.length;u+=1)if(f=o[u][h],f)for(i=0,e=f;i<e.length;i+=1)s=e[i],r.push(s);return r},i.prototype.queryRenderedFeatures=function(t,i,r){var e,u,o,s,h,f,l,c;if(i&&i.filter&&this._validate(n.validateStyle.filter,"queryRenderedFeatures.filter",i.filter),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=[];l=t.map(function(n){return r.pointCoordinate(n)});for(c in this.sourceCaches)i.layers&&!e[c]||f.push(nh(this.sourceCaches[c],this._layers,l,i,r));return this.placement&&f.push(function(n,t,i,r,u,f){for(var a,y,p,e={},c=u.queryRenderedSymbols(i),o=[],s=0,l=Object.keys(c).map(Number);s<l.length;s+=1)a=l[s],o.push(f[a]);o.sort(he);for(var w=function(){var t=v[h],s=t.featureIndex.lookupSymbolFeatures(c[t.bucketInstanceId],t.bucketIndex,t.sourceLayerIndex,r.filter,r.layers,n),i,l,f,u,o,a;for(i in s)for(l=e[i]=e[i]||[],f=s[i],f.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}),u=0,o=f;u<o.length;u+=1)a=o[u],l.push(a.feature)},h=0,v=o;h<v.length;h+=1)w();y=function(i){e[i].forEach(function(r){var u=n[i],f=t[u.source].getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source;r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]);r.state=f})};for(p in e)y(p);return e}(this._layers,this.sourceCaches,t,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenRenderedFeatures(f)},i.prototype.querySourceFeatures=function(t,i){i&&i.filter&&this._validate(n.validateStyle.filter,"querySourceFeatures.filter",i.filter);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){var u,i,r,f;this._checkLoaded();u=this.light.getLight();i=!1;for(r in t)if(!n.deepEqual(t[r],u[r])){i=!0;break}i&&(f={now:n.browser.now(),transition:n.extend({duration:300,delay:0},this.stylesheet.transition)},this.light.setLight(t),this.light.updateTransitions(f))},i.prototype._validate=function(t,i,r,u,f){return(!f||!1!==f.validate)&&cf(this,t.call(n.validateStyle,n.extend({key:i,style:this.serialize(),value:r,styleSpec:n.styleSpec},u)))},i.prototype._remove=function(){for(var t in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),n.evented.off("pluginAvailable",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[t].clearTiles();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){for(var w,f,l,b,a,s,v,k,h,o=!1,y=!1,e={},c=0,p=this._order;c<p.length;c+=1)w=p[c],f=this._layers[w],"symbol"===f.type&&(e[f.source]||(l=this.sourceCaches[f.source],e[f.source]=l.getRenderableIds(!0).map(function(n){return l.getTileByID(n)}).sort(function(n,t){return t.tileID.overscaledZ-n.tileID.overscaledZ||(n.tileID.isLessThan(t.tileID)?-1:1)})),b=this.crossTileSymbolIndex.addLayer(f,e[f.source],t.center.lng),o=o||b);if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),a=this._layerOrderChanged,(a||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.browser.now()))&&(this.pauseablePlacement=new vi(t,this._order,a,i,r,u),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,e),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,n.browser.now()),y=!0),o&&this.pauseablePlacement.placement.setStale()),y||o)for(s=0,v=this._order;s<v.length;s+=1)k=v[s],h=this._layers[k],"symbol"===h.type&&this.placement.updateLayerOpacities(h,e[h.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)},i.prototype.getGlyphs=function(n,t,i){this.glyphManager.getGlyphs(t.stacks,i)},i}(n.Evented);pi.getSourceType=function(n){return du[n]};pi.setSourceType=function(n,t){du[n]=t};pi.registerForPluginAvailability=n.registerForPluginAvailability;var lu=n.createLayout([{name:"a_pos",type:"Int16",components:2}]),lf={prelude:{fragmentSource:"#ifdef GL_ES\nprecision mediump float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n",vertexSource:"#ifdef GL_ES\nprecision highp float;\n#else\n\n#if !defined(lowp)\n#define lowp\n#endif\n\n#if !defined(mediump)\n#define mediump\n#endif\n\n#if !defined(highp)\n#define highp\n#endif\n\n#endif\n\n// Unpack a pair of values that have been packed into a single float.\n// The packed values are assumed to be 8-bit unsigned integers, and are\n// packed like so:\n// packedValue = floor(input[0]) * 256 + input[1],\nvec2 unpack_float(const float packedValue) {\n    int packedIntValue = int(packedValue);\n    int v0 = packedIntValue / 256;\n    return vec2(v0, packedIntValue - v0 * 256);\n}\n\nvec2 unpack_opacity(const float packedOpacity) {\n    int intOpacity = int(packedOpacity) / 2;\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\n}\n\n// To minimize the number of attributes needed, we encode a 4-component\n// color into a pair of floats (i.e. a vec2) as follows:\n// [ floor(color.r * 255) * 256 + color.g * 255,\n//   floor(color.b * 255) * 256 + color.g * 255 ]\nvec4 decode_color(const vec2 encodedColor) {\n    return vec4(\n        unpack_float(encodedColor[0]) / 255.0,\n        unpack_float(encodedColor[1]) / 255.0\n    );\n}\n\n// Unpack a pair of paint values and interpolate between them.\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\n    return mix(packedValue[0], packedValue[1], t);\n}\n\n// Unpack a pair of paint values and interpolate between them.\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\n    return mix(minColor, maxColor, t);\n}\n\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\n// vec2 offset = mod(pixel_coord, size)\n//\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\n//\n// The pixel_coord is passed in as two 16 bit values:\n// pixel_coord_upper = floor(pixel_coord / 2^16)\n// pixel_coord_lower = mod(pixel_coord, 2^16)\n//\n// The offset is calculated in a series of steps that should preserve this precision:\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\n\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\n}\n"},background:{fragmentSource:"uniform vec4 u_color;\nuniform float u_opacity;\n\nvoid main() {\n    gl_FragColor = u_color * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},backgroundPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\nuniform float u_opacity;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n    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);\n    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);\n}\n"},circle:{fragmentSource:"#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\n\nvarying vec3 v_data;\n\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\n\n    vec2 extrude = v_data.xy;\n    float extrude_length = length(extrude);\n\n    lowp float antialiasblur = v_data.z;\n    float antialiased_blur = -max(blur, antialiasblur);\n\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\n\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\n        antialiased_blur,\n        0.0,\n        extrude_length - radius / (radius + stroke_width)\n    );\n\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform bool u_scale_with_map;\nuniform bool u_pitch_with_map;\nuniform vec2 u_extrude_scale;\nuniform highp float u_camera_to_center_distance;\n\nattribute vec2 a_pos;\n\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\n\nvarying vec3 v_data;\n\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\n\n    // unencode the extrusion vector that we snuck into the a_pos vector\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n    // in extrusion data\n    vec2 circle_center = floor(a_pos * 0.5);\n    if (u_pitch_with_map) {\n        vec2 corner_position = circle_center;\n        if (u_scale_with_map) {\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\n        } else {\n            // Pitching the circle with the map effectively scales it with the map\n            // To counteract the effect for pitch-scale: viewport, we rescale the\n            // whole circle based on the pitch scaling effect at its central point\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\n        }\n\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\n    } else {\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\n\n        if (u_scale_with_map) {\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\n        } else {\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\n        }\n    }\n\n    // This is a minimum blur distance that serves as a faux-antialiasing for\n    // the circle. since blur is a ratio of the circle's size and the intent is\n    // to keep the blur at roughly 1px, the two are inversely related.\n    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\n\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\n}\n"},clippingMask:{fragmentSource:"void main() {\n    gl_FragColor = vec4(1.0);\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},heatmap:{fragmentSource:"#pragma mapbox: define highp float weight\n\nuniform highp float u_intensity;\nvarying vec2 v_extrude;\n\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\n#define GAUSS_COEF 0.3989422804014327\n\nvoid main() {\n    #pragma mapbox: initialize highp float weight\n\n    // Kernel density estimation with a Gaussian kernel of size 5x5\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\n\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\n\nuniform mat4 u_matrix;\nuniform float u_extrude_scale;\nuniform float u_opacity;\nuniform float u_intensity;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_extrude;\n\n// Effective \"0\" in the kernel density texture to adjust the kernel size to;\n// this empirically chosen number minimizes artifacts on overlapping kernels\n// for typical heatmap cases (assuming clustered source)\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\n\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\n#define GAUSS_COEF 0.3989422804014327\n\nvoid main(void) {\n    #pragma mapbox: initialize highp float weight\n    #pragma mapbox: initialize mediump float radius\n\n    // unencode the extrusion vector that we snuck into the a_pos vector\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\n\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\n    // it to produce the vertices of a square mesh framing the point feature\n    // we're adding to the kernel density texture.  We'll also pass it as\n    // a varying, so that the fragment shader can determine the distance of\n    // each fragment from the point feature.\n    // Before we do so, we need to scale it up sufficiently so that the\n    // kernel falls effectively to zero at the edge of the mesh.\n    // That is, we want to know S such that\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\n    // Which solves to:\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\n\n    // Pass the varying in units of radius\n    v_extrude = S * unscaled_extrude;\n\n    // Scale by radius and the zoom-based scale factor to produce actual\n    // mesh position\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\n\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\n    // in extrusion data\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\n\n    gl_Position = u_matrix * pos;\n}\n"},heatmapTexture:{fragmentSource:"uniform sampler2D u_image;\nuniform sampler2D u_color_ramp;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n    float t = texture2D(u_image, v_pos).r;\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\n    gl_FragColor = color * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n    v_pos.x = a_pos.x;\n    v_pos.y = 1.0 - a_pos.y;\n}\n"},collisionBox:{fragmentSource:"\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n\n    float alpha = 0.5;\n\n    // Red = collision, hide label\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n    // Blue = no collision, label is showing\n    if (v_placed > 0.5) {\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n    }\n\n    if (v_notUsed > 0.5) {\n        // This box not used, fade it out\n        gl_FragColor *= .1;\n    }\n}",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n    highp float camera_to_anchor_distance = projectedPoint.w;\n    highp float collision_perspective_ratio = clamp(\n        0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\n        0.0, // Prevents oversized near-field boxes in pitched/overzoomed tiles\n        4.0);\n\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\n\n    v_placed = a_placed.x;\n    v_notUsed = a_placed.y;\n}\n"},collisionCircle:{fragmentSource:"uniform float u_overscale_factor;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n    float alpha = 0.5;\n\n    // Red = collision, hide label\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n    // Blue = no collision, label is showing\n    if (v_placed > 0.5) {\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n    }\n\n    if (v_notUsed > 0.5) {\n        // This box not used, fade it out\n        color *= .2;\n    }\n\n    float extrude_scale_length = length(v_extrude_scale);\n    float extrude_length = length(v_extrude) * extrude_scale_length;\n    float stroke_width = 15.0 * extrude_scale_length / u_overscale_factor;\n    float radius = v_radius * extrude_scale_length;\n\n    float distance_to_edge = abs(extrude_length - radius);\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\n\n    gl_FragColor = opacity_t * color;\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\n\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n    highp float camera_to_anchor_distance = projectedPoint.w;\n    highp float collision_perspective_ratio = clamp(\n        0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\n        0.0, // Prevents oversized near-field circles in pitched/overzoomed tiles\n        4.0);\n\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\n\n    v_placed = a_placed.x;\n    v_notUsed = a_placed.y;\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\n\n    v_extrude = a_extrude * padding_factor;\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\n}\n"},debug:{fragmentSource:"uniform highp vec4 u_color;\n\nvoid main() {\n    gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize highp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize highp vec4 color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n    #pragma mapbox: initialize highp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n    gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize highp vec4 outline_color\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp float opacity\n\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    // find distance to outline for alpha interpolation\n\n    float dist = length(v_pos - gl_FragCoord.xy);\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n\n\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n    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);\n    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);\n\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp float opacity\n\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp float opacity\n\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n    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);\n    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);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n    #pragma mapbox: initialize lowp float base\n    #pragma mapbox: initialize lowp float height\n    #pragma mapbox: initialize highp vec4 color\n\n    gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n    #pragma mapbox: initialize lowp float base\n    #pragma mapbox: initialize lowp float height\n    #pragma mapbox: initialize highp vec4 color\n\n    vec3 normal = a_normal_ed.xyz;\n\n    base = max(0.0, base);\n    height = max(0.0, height);\n\n    float t = mod(normal.x, 2.0);\n\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n    // Relative luminance (how dark/bright is the surface color?)\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n    // Add slight ambient lighting so no extrusions are totally black\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n    color += ambientlight;\n\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n    // Adjust directional so that\n    // the range of values for highlight/shading is narrower\n    // with lower light intensity\n    // and with lighter/brighter surface colors\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n    // Add gradient along z axis of side surfaces\n    if (normal.y != 0.0) {\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n    }\n\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n    // with lower bounds adjusted to hue of light\n    // so that shading is tinted with the complementary (opposite) color to the light color\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n    #pragma mapbox: initialize lowp float base\n    #pragma mapbox: initialize lowp float height\n\n    vec2 imagecoord = mod(v_pos_a, 1.0);\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n    vec4 color1 = texture2D(u_image, pos);\n\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n    vec4 color2 = texture2D(u_image, pos2);\n\n    vec4 mixedColor = mix(color1, color2, u_mix);\n\n    gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n    #pragma mapbox: initialize lowp float base\n    #pragma mapbox: initialize lowp float height\n\n    vec3 normal = a_normal_ed.xyz;\n    float edgedistance = a_normal_ed.w;\n\n    base = max(0.0, base);\n    height = max(0.0, height);\n\n    float t = mod(normal.x, 2.0);\n    float z = t > 0.0 ? height : base;\n\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\n        ? a_pos // extrusion top\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\n\n    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, pos);\n    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, pos);\n\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n    if (normal.y != 0.0) {\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n    }\n\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n    v_pos.x = a_pos.x;\n    v_pos.y = 1.0 - a_pos.y;\n}\n"},hillshadePrepare:{fragmentSource:"#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D u_image;\nvarying vec2 v_pos;\nuniform vec2 u_dimension;\nuniform float u_zoom;\nuniform float u_maxzoom;\n\nfloat getElevation(vec2 coord, float bias) {\n    // Convert encoded elevation value to meters\n    vec4 data = texture2D(u_image, coord) * 255.0;\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\n}\n\nvoid main() {\n    vec2 epsilon = 1.0 / u_dimension;\n\n    // queried pixels:\n    // +-----------+\n    // |   |   |   |\n    // | a | b | c |\n    // |   |   |   |\n    // +-----------+\n    // |   |   |   |\n    // | d | e | f |\n    // |   |   |   |\n    // +-----------+\n    // |   |   |   |\n    // | g | h | i |\n    // |   |   |   |\n    // +-----------+\n\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\n    float e = getElevation(v_pos, 0.0);\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\n\n    // here we divide the x and y slopes by 8 * pixel size\n    // where pixel size (aka meters/pixel) is:\n    // circumference of the world / (pixels per tile * number of tiles)\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\n    // we want to vertically exaggerate the hillshading though, because otherwise\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\n    // scale factor pow(2, (u_zoom - u_maxzoom) * a) where a is an arbitrary value\n    // Here we use a=0.3 which works out to the expression below. see \n    // nickidlugash's awesome breakdown for more info\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\n\n    vec2 deriv = vec2(\n        (c + f + f + i) - (a + d + d + g),\n        (g + h + h + i) - (a + b + b + c)\n    ) /  pow(2.0, (u_zoom - u_maxzoom) * exaggeration + 19.2562 - u_zoom);\n\n    gl_FragColor = clamp(vec4(\n        deriv.x / 2.0 + 0.5,\n        deriv.y / 2.0 + 0.5,\n        1.0,\n        1.0), 0.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\n}\n"},hillshade:{fragmentSource:"uniform sampler2D u_image;\nvarying vec2 v_pos;\n\nuniform vec2 u_latrange;\nuniform vec2 u_light;\nuniform vec4 u_shadow;\nuniform vec4 u_highlight;\nuniform vec4 u_accent;\n\n#define PI 3.141592653589793\n\nvoid main() {\n    vec4 pixel = texture2D(u_image, v_pos);\n\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\n\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\n    // to account for mercator projection distortion. see #4807 for details\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\n    // We also multiply the slope by an arbitrary z-factor of 1.25\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\n\n    float intensity = u_light.x;\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\n    float azimuth = u_light.y + PI;\n\n    // We scale the slope exponentially based on intensity, using a calculation similar to\n    // the exponential interpolation function in the style spec:\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\n    // so that higher intensity values create more opaque hillshading.\n    float base = 1.875 - intensity * 1.75;\n    float maxValue = 0.5 * PI;\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\n\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\n    // so that the accent color's rate of change eases in while the shade color's eases out.\n    float accent = cos(scaledSlope);\n    // We multiply both the accent and shade color by a clamped intensity value\n    // so that intensities >= 0.5 do not additionally affect the color values\n    // while intensity values < 0.5 make the overall color more transparent.\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    v_pos = a_texture_pos / 8192.0;\n}\n"},line:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n    #pragma mapbox: initialize highp vec4 color\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_width2.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_width2.t) or when fading out\n    // (v_width2.s)\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n    gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\nvarying highp float v_linesofar;\n\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\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\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n    v_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0;\n\n    vec2 pos = a_pos_normal.xy;\n\n    // x is 1 if it's a round cap, 0 otherwise\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = a_pos_normal.zw;\n    v_normal = normal;\n\n    // these transformations used to be applied in the JS and native code bases.\n    // moved them into the shader for clarity and simplicity.\n    gapwidth = gapwidth / 2.0;\n    float halfwidth = width / 2.0;\n    offset = -1.0 * offset;\n\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + (halfwidth == 0.0 ? 0.0 : ANTIALIASING);\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n    // calculate how much the perspective view squishes or stretches the extrude\n    float extrude_length_without_perspective = length(dist);\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n    v_width2 = vec2(outset, inset);\n}\n"},lineGradient:{fragmentSource:"\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nuniform sampler2D u_image;\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\nvarying highp float v_lineprogress;\n\nvoid main() {\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_width2.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_width2.t) or when fading out\n    // (v_width2.s)\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n    // For gradient lines, v_lineprogress is the ratio along the entire line,\n    // scaled to [0, 2^15), and the gradient ramp is stored in a texture.\n    vec4 color = texture2D(u_image, vec2(v_lineprogress, 0.5));\n\n    gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n// the attribute conveying progress along a line is scaled to [0, 2^15)\n#define MAX_LINE_DISTANCE 32767.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\nvarying highp float v_lineprogress;\n\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\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\n\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n    v_lineprogress = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0 / MAX_LINE_DISTANCE;\n\n    vec2 pos = a_pos_normal.xy;\n\n    // x is 1 if it's a round cap, 0 otherwise\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = a_pos_normal.zw;\n    v_normal = normal;\n\n    // these transformations used to be applied in the JS and native code bases.\n    // moved them into the shader for clarity and simplicity.\n    gapwidth = gapwidth / 2.0;\n    float halfwidth = width / 2.0;\n    offset = -1.0 * offset;\n\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + (halfwidth == 0.0 ? 0.0 : ANTIALIASING);\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n    // calculate how much the perspective view squishes or stretches the extrude\n    float extrude_length_without_perspective = length(dist);\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n    v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n    #pragma mapbox: initialize lowp float blur\n    #pragma mapbox: initialize lowp float opacity\n\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_width2.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_width2.t) or when fading out\n    // (v_width2.s)\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n\n    // v_normal.y is 0 at the midpoint of the line, -1 at the lower edge, 1 at the upper edge\n    // we clamp the line width outset to be between 0 and half the pattern height plus padding (2.0)\n    // to ensure we don't sample outside the designated symbol on the sprite sheet.\n    // 0.5 is added to shift the component to be bounded between 0 and 1 for interpolation of\n    // the texture coordinate\n    float y_a = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_a.y + 2.0) / 2.0) / u_pattern_size_a.y);\n    float y_b = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_b.y + 2.0) / 2.0) / u_pattern_size_b.y);\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\n\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n    gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\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\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\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    vec2 pos = a_pos_normal.xy;\n\n    // x is 1 if it's a round cap, 0 otherwise\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = a_pos_normal.zw;\n    v_normal = normal;\n\n    // these transformations used to be applied in the JS and native code bases.\n    // moved them into the shader for clarity and simplicity.\n    gapwidth = gapwidth / 2.0;\n    float halfwidth = width / 2.0;\n    offset = -1.0 * offset;\n\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + (halfwidth == 0.0 ? 0.0 : ANTIALIASING);\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist = outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n    // calculate how much the perspective view squishes or stretches the extrude\n    float extrude_length_without_perspective = length(dist);\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n    v_linesofar = a_linesofar;\n    v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\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\n\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\n\n    // Calculate the distance of the pixel from the line in pixels.\n    float dist = length(v_normal) * v_width2.s;\n\n    // Calculate the antialiasing fade factor. This is either when fading in\n    // the line in case of an offset line (v_width2.t) or when fading out\n    // (v_width2.s)\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n    alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\n\n    gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\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\n\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\n\n    vec2 a_extrude = a_data.xy - 128.0;\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n    vec2 pos = a_pos_normal.xy;\n\n    // x is 1 if it's a round cap, 0 otherwise\n    // y is 1 if the normal points up, and -1 if it points down\n    mediump vec2 normal = a_pos_normal.zw;\n    v_normal = normal;\n\n    // these transformations used to be applied in the JS and native code bases.\n    // moved them into the shader for clarity and simplicity.\n    gapwidth = gapwidth / 2.0;\n    float halfwidth = width / 2.0;\n    offset = -1.0 * offset;\n\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + (halfwidth == 0.0 ? 0.0 : ANTIALIASING);\n\n    // Scale the extrusion vector down to a normal and then up by the line width\n    // of this vertex.\n    mediump vec2 dist =outset * a_extrude * scale;\n\n    // Calculate the offset when drawing a line that is to the side of the actual line.\n    // We do this by creating a vector that points towards the extrude, but rotate\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\n    // extrude vector points in another direction.\n    mediump float u = 0.5 * a_direction;\n    mediump float t = 1.0 - abs(u);\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n    // calculate how much the perspective view squishes or stretches the extrude\n    float extrude_length_without_perspective = length(dist);\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n    v_width2 = vec2(outset, inset);\n}\n"},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n    // read and cross-fade colors from the main and parent tiles\n    vec4 color0 = texture2D(u_image0, v_pos0);\n    vec4 color1 = texture2D(u_image1, v_pos1);\n    if (color0.a > 0.0) {\n        color0.rgb = color0.rgb / color0.a;\n    }\n    if (color1.a > 0.0) {\n        color1.rgb = color1.rgb / color1.a;\n    }\n    vec4 color = mix(color0, color1, u_fade_t);\n    color.a *= u_opacity;\n    vec3 rgb = color.rgb;\n\n    // spin\n    rgb = vec3(\n        dot(rgb, u_spin_weights.xyz),\n        dot(rgb, u_spin_weights.zxy),\n        dot(rgb, u_spin_weights.yzx));\n\n    // saturation\n    float average = (color.r + color.g + color.b) / 3.0;\n    rgb += (average - rgb) * u_saturation_factor;\n\n    // contrast\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n    // brightness\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\n    // We are using Int16 for texture position coordinates to give us enough precision for\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n    // as an arbitrarily high number to preserve adequate precision when rendering.\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n    // so math for modifying either is consistent.\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n    #pragma mapbox: initialize lowp float opacity\n\n    lowp float alpha = opacity * v_fade_opacity;\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform float u_fade_change;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n    #pragma mapbox: initialize lowp float opacity\n\n    vec2 a_pos = a_pos_offset.xy;\n    vec2 a_offset = a_pos_offset.zw;\n\n    vec2 a_tex = a_data.xy;\n    vec2 a_size = a_data.zw;\n\n    highp float segment_angle = -a_projected_pos[2];\n\n    float size;\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n        size = a_size[0] / 10.0;\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n        size = u_size;\n    } else {\n        size = u_size;\n    }\n\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n    highp float camera_to_anchor_distance = projectedPoint.w;\n    // See comments in symbol_sdf.vertex\n    highp float distance_ratio = u_pitch_with_map ?\n        camera_to_anchor_distance / u_camera_to_center_distance :\n        u_camera_to_center_distance / camera_to_anchor_distance;\n    highp float perspective_ratio = clamp(\n            0.5 + 0.5 * distance_ratio,\n            0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\n            4.0);\n\n    size *= perspective_ratio;\n\n    float fontScale = u_is_text ? size / 24.0 : size;\n\n    highp float symbol_rotation = 0.0;\n    if (u_rotate_symbol) {\n        // See comments in symbol_sdf.vertex\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n        vec2 a = projectedPoint.xy / projectedPoint.w;\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n    }\n\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\n\n    v_tex = a_tex / u_texsize;\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\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\n\nuniform sampler2D u_texture;\nuniform highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\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\n\n    vec2 tex = v_data0.xy;\n    float gamma_scale = v_data1.x;\n    float size = v_data1.y;\n    float fade_opacity = v_data1[2];\n\n    float fontScale = u_is_text ? size / 24.0 : size;\n\n    lowp vec4 color = fill_color;\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\n    lowp float buff = (256.0 - 64.0) / 256.0;\n    if (u_is_halo) {\n        color = halo_color;\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\n    }\n\n    lowp float dist = texture2D(u_texture, tex).a;\n    highp float gamma_scaled = gamma * gamma_scale;\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n    gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n//   text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\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\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform float u_fade_change;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\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\n\n    vec2 a_pos = a_pos_offset.xy;\n    vec2 a_offset = a_pos_offset.zw;\n\n    vec2 a_tex = a_data.xy;\n    vec2 a_size = a_data.zw;\n\n    highp float segment_angle = -a_projected_pos[2];\n    float size;\n\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n        size = a_size[0] / 10.0;\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n        size = u_size;\n    } else {\n        size = u_size;\n    }\n\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n    highp float camera_to_anchor_distance = projectedPoint.w;\n    // If the label is pitched with the map, layout is done in pitched space,\n    // which makes labels in the distance smaller relative to viewport space.\n    // We counteract part of that effect by multiplying by the perspective ratio.\n    // If the label isn't pitched with the map, we do layout in viewport space,\n    // which makes labels in the distance larger relative to the features around\n    // them. We counteract part of that effect by dividing by the perspective ratio.\n    highp float distance_ratio = u_pitch_with_map ?\n        camera_to_anchor_distance / u_camera_to_center_distance :\n        u_camera_to_center_distance / camera_to_anchor_distance;\n    highp float perspective_ratio = clamp(\n        0.5 + 0.5 * distance_ratio,\n        0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\n        4.0);\n\n    size *= perspective_ratio;\n\n    float fontScale = u_is_text ? size / 24.0 : size;\n\n    highp float symbol_rotation = 0.0;\n    if (u_rotate_symbol) {\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\n        // space, project it, and measure its angle in projected space.\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n        vec2 a = projectedPoint.xy / projectedPoint.w;\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n    }\n\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\n    float gamma_scale = gl_Position.w;\n\n    vec2 tex = a_tex / u_texsize;\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n\n    v_data0 = vec2(tex.x, tex.y);\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\n}\n"}},eo=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,gh=function(n){var t=lf[n],i={};t.fragmentSource=t.fragmentSource.replace(eo,function(n,t,r,u,f){return i[f]=!0,"define"===t?"\n#ifndef HAS_UNIFORM_u_"+f+"\nvarying "+r+" "+u+" "+f+";\n#else\nuniform "+r+" "+u+" u_"+f+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+f+"\n    "+r+" "+u+" "+f+" = u_"+f+";\n#endif\n"});t.vertexSource=t.vertexSource.replace(eo,function(n,t,r,u,f){var e="float"===u?"vec2":"vec4";return i[f]?"define"===t?"\n#ifndef HAS_UNIFORM_u_"+f+"\nuniform lowp float a_"+f+"_t;\nattribute "+r+" "+e+" a_"+f+";\nvarying "+r+" "+u+" "+f+";\n#else\nuniform "+r+" "+u+" u_"+f+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+f+"\n    "+f+" = unpack_mix_"+e+"(a_"+f+", a_"+f+"_t);\n#else\n    "+r+" "+u+" "+f+" = u_"+f+";\n#endif\n":"define"===t?"\n#ifndef HAS_UNIFORM_u_"+f+"\nuniform lowp float a_"+f+"_t;\nattribute "+r+" "+e+" a_"+f+";\n#else\nuniform "+r+" "+u+" u_"+f+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+f+"\n    "+r+" "+u+" "+f+" = unpack_mix_"+e+"(a_"+f+", a_"+f+"_t);\n#else\n    "+r+" "+u+" "+f+" = u_"+f+";\n#endif\n"})};for(oo in lf)gh(oo);au=lf;af=function(t,i,r,u){var f=t.gl,o,s,y,e,h,c,p,l,a;this.program=f.createProgram();o=r.defines().concat("#define DEVICE_PIXEL_RATIO "+n.browser.devicePixelRatio.toFixed(1));u&&o.push("#define OVERDRAW_INSPECTOR;");var w=o.concat(au.prelude.fragmentSource,i.fragmentSource).join("\n"),b=o.concat(au.prelude.vertexSource,i.vertexSource).join("\n"),v=f.createShader(f.FRAGMENT_SHADER);for(f.shaderSource(v,w),f.compileShader(v),f.attachShader(this.program,v),s=f.createShader(f.VERTEX_SHADER),f.shaderSource(s,b),f.compileShader(s),f.attachShader(this.program,s),y=r.layoutAttributes||[],e=0;e<y.length;e++)f.bindAttribLocation(this.program,e,y[e].name);for(f.linkProgram(this.program),this.numAttributes=f.getProgramParameter(this.program,f.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={},h=0;h<this.numAttributes;h++)c=f.getActiveAttrib(this.program,h),c&&(this.attributes[c.name]=f.getAttribLocation(this.program,c.name));for(p=f.getProgramParameter(this.program,f.ACTIVE_UNIFORMS),l=0;l<p;l++)a=f.getActiveUniform(this.program,l),a&&(this.uniforms[a.name]=f.getUniformLocation(this.program,a.name))};af.prototype.draw=function(n,t,i,r,u,f,e,o,s){for(var h,v,c,l=n.gl,y=(c={},c[l.LINES]=2,c[l.TRIANGLES]=3,c)[t],a=0,w=f.get();a<w.length;a+=1)h=w[a],v=h.vaos||(h.vaos={}),(v[i]||(v[i]=new p)).bind(n,this,r,e?e.getPaintVertexBuffers():[],u,h.vertexOffset,o,s),l.drawElements(t,h.primitiveLength*y,l.UNSIGNED_SHORT,h.primitiveOffset*y*2)};co=n.identity(new Float32Array(16));lo=n.properties.layout;var vf=function(n,t){if(!n)return!1;var i=t.imageManager.getPattern(n.from),r=t.imageManager.getPattern(n.to);return!i||!r},yf=function(n,t,i){var e=t.context,r=e.gl,u=t.imageManager.getPattern(n.from),f=t.imageManager.getPattern(n.to);r.uniform1i(i.uniforms.u_image,0);r.uniform2fv(i.uniforms.u_pattern_tl_a,u.tl);r.uniform2fv(i.uniforms.u_pattern_br_a,u.br);r.uniform2fv(i.uniforms.u_pattern_tl_b,f.tl);r.uniform2fv(i.uniforms.u_pattern_br_b,f.br);var o=t.imageManager.getPixelSize(),s=o.width,h=o.height;r.uniform2fv(i.uniforms.u_texsize,[s,h]);r.uniform1f(i.uniforms.u_mix,n.t);r.uniform2fv(i.uniforms.u_pattern_size_a,u.displaySize);r.uniform2fv(i.uniforms.u_pattern_size_b,f.displaySize);r.uniform1f(i.uniforms.u_scale_a,n.fromScale);r.uniform1f(i.uniforms.u_scale_b,n.toScale);e.activeTexture.set(r.TEXTURE0);t.imageManager.bind(t.context)},pf=function(n,t,i){var r=t.context.gl;r.uniform1f(i.uniforms.u_tile_units_to_pixels,1/nt(n,1,t.transform.tileZoom));var u=Math.pow(2,n.tileID.overscaledZ),f=n.tileSize*Math.pow(2,t.transform.tileZoom)/u,e=f*(n.tileID.canonical.x+n.tileID.wrap*u),o=f*n.tileID.canonical.y;r.uniform2f(i.uniforms.u_pixel_coord_upper,e>>16,o>>16);r.uniform2f(i.uniforms.u_pixel_coord_lower,65535&e,65535&o)};var lc={" ":[16,[]],"!":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'"':[16,[4,21,4,14,-1,-1,12,21,12,14]],"#":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],"%":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],"&":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],"'":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],"(":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],")":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],"*":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],"+":[26,[13,18,13,0,-1,-1,4,9,22,9]],",":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"-":[26,[4,9,22,9]],".":[10,[5,2,4,1,5,0,6,1,5,2]],"/":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],":":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],";":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"<":[24,[20,18,4,9,20,0]],"=":[26,[4,12,22,12,-1,-1,4,6,22,6]],">":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},wo={symbol:function(n,t,i,r){if("translucent"===n.renderPass){var u=n.context;u.setStencilMode(c.disabled);u.setColorMode(n.colorModeForRenderPass());0!==i.paint.get("icon-opacity").constantOr(1)&&ao(n,t,i,r,!1,i.paint.get("icon-translate"),i.paint.get("icon-translate-anchor"),i.layout.get("icon-rotation-alignment"),i.layout.get("icon-pitch-alignment"),i.layout.get("icon-keep-upright"));0!==i.paint.get("text-opacity").constantOr(1)&&ao(n,t,i,r,!0,i.paint.get("text-translate"),i.paint.get("text-translate-anchor"),i.layout.get("text-rotation-alignment"),i.layout.get("text-pitch-alignment"),i.layout.get("text-keep-upright"));t.map.showCollisionBoxes&&function(n,t,i,r){ho(n,t,i,r,!1);ho(n,t,i,r,!0)}(n,t,i,r)}},circle:function(n,t,i,r){var o,f,l,h,y;if("translucent"===n.renderPass){var w=i.paint.get("circle-opacity"),b=i.paint.get("circle-stroke-width"),k=i.paint.get("circle-stroke-opacity");if(0!==w.constantOr(1)||0!==b.constantOr(1)&&0!==k.constantOr(1))for(o=n.context,f=o.gl,o.setDepthMode(n.depthModeForSublayer(0,e.ReadOnly)),o.setStencilMode(c.disabled),o.setColorMode(n.colorModeForRenderPass()),l=!0,h=0;h<r.length;h++){var p=r[h],a=t.getTile(p),s=a.getBucket(i);if(s){var d=n.context.program.get(),v=s.programConfigurations.get(i.id),u=n.useProgram("circle",v);((l||u.program!==d)&&(v.setUniforms(o,u,i.paint,{zoom:n.transform.zoom}),l=!1),f.uniform1f(u.uniforms.u_camera_to_center_distance,n.transform.cameraToCenterDistance),f.uniform1i(u.uniforms.u_scale_with_map,"map"===i.paint.get("circle-pitch-scale")?1:0),"map"===i.paint.get("circle-pitch-alignment"))?(f.uniform1i(u.uniforms.u_pitch_with_map,1),y=nt(a,1,n.transform.zoom),f.uniform2f(u.uniforms.u_extrude_scale,y,y)):(f.uniform1i(u.uniforms.u_pitch_with_map,0),f.uniform2fv(u.uniforms.u_extrude_scale,n.transform.pixelsToGLUnits));f.uniformMatrix4fv(u.uniforms.u_matrix,!1,n.translatePosMatrix(p.posMatrix,a,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")));u.draw(o,f.TRIANGLES,i.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,v)}}}},heatmap:function(t,i,r,u){var f,o,y,a,v,p,s;if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){for(f=t.context,o=f.gl,f.setDepthMode(t.depthModeForSublayer(0,e.ReadOnly)),f.setStencilMode(c.disabled),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),function n(t,i,r,u){var f=t.gl;f.texImage2D(f.TEXTURE_2D,0,f.RGBA,i.width/4,i.height/4,0,f.RGBA,t.extTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:f.UNSIGNED_BYTE,null);u.colorAttachment.set(r);t.extTextureHalfFloat&&f.checkFramebufferStatus(f.FRAMEBUFFER)!==f.FRAMEBUFFER_COMPLETE&&(t.extTextureHalfFloat=null,u.colorAttachment.setDirty(),n(t,i,r,u))}(n,t,f,u))}(f,t,r),f.clear({color:n.Color.transparent}),f.setColorMode(new l([o.ONE,o.ONE],n.Color.transparent,[!0,!0,!0,!0])),y=!0,a=0;a<u.length;a++)if(v=u[a],!i.hasRenderableParent(v)&&(p=i.getTile(v),s=p.getBucket(r),s)){var k=t.context.program.get(),w=s.programConfigurations.get(r.id),h=t.useProgram("heatmap",w),b=t.transform.zoom;(y||h.program!==k)&&(w.setUniforms(t.context,h,r.paint,{zoom:b}),y=!1);o.uniform1f(h.uniforms.u_extrude_scale,nt(p,1,b));o.uniform1f(h.uniforms.u_intensity,r.paint.get("heatmap-intensity"));o.uniformMatrix4fv(h.uniforms.u_matrix,!1,v.posMatrix);h.draw(f,o.TRIANGLES,r.id,s.layoutVertexBuffer,s.indexBuffer,s.segments,w)}f.viewport.set([0,0,t.width,t.height])}else"translucent"===t.renderPass&&(t.context.setColorMode(t.colorModeForRenderPass()),function(t,i){var f=t.context,r=f.gl,h=i.heatmapFbo,o,u,l,s;h&&(f.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,h.colorAttachment.get()),f.activeTexture.set(r.TEXTURE1),o=i.colorRampTexture,o||(o=i.colorRampTexture=new n.Texture(f,i.colorRamp,r.RGBA)),o.bind(r.LINEAR,r.CLAMP_TO_EDGE),f.setDepthMode(e.disabled),f.setStencilMode(c.disabled),u=t.useProgram("heatmapTexture"),l=i.paint.get("heatmap-opacity"),r.uniform1f(u.uniforms.u_opacity,l),r.uniform1i(u.uniforms.u_image,0),r.uniform1i(u.uniforms.u_color_ramp,1),s=n.create(),n.ortho(s,0,t.width,t.height,0,0,1),r.uniformMatrix4fv(u.uniforms.u_matrix,!1,s),r.uniform2f(u.uniforms.u_world,r.drawingBufferWidth,r.drawingBufferHeight),t.viewportVAO.bind(t.context,u,t.viewportBuffer,[]),r.drawArrays(r.TRIANGLE_STRIP,0,4))}(t,r))},line:function(n,t,i,r){var l,a,f;if("translucent"===n.renderPass&&(l=i.paint.get("line-opacity"),a=i.paint.get("line-width"),0!==l.constantOr(1)&&0!==a.constantOr(1))){f=n.context;f.setDepthMode(n.depthModeForSublayer(0,e.ReadOnly));f.setColorMode(n.colorModeForRenderPass());for(var v,k=i.paint.get("line-dasharray")?"lineSDF":i.paint.get("line-pattern")?"linePattern":i.paint.get("line-gradient")?"lineGradient":"line",y=!0,o=0,p=r;o<p.length;o+=1){var w=p[o],u=t.getTile(w),s=u.getBucket(i);if(s){var h=s.programConfigurations.get(i.id),d=n.context.program.get(),c=n.useProgram(k,h),b=y||c.program!==d,g=v!==u.tileID.overscaledZ;b&&h.setUniforms(n.context,c,i.paint,{zoom:n.transform.zoom});rc(c,n,u,s,i,w,h,b,g);v=u.tileID.overscaledZ;y=!1}}}},fill:function(t,i,r,u){var h=r.paint.get("fill-color"),o=r.paint.get("fill-opacity"),f,s;0!==o.constantOr(1)&&(f=t.context,f.setColorMode(t.colorModeForRenderPass()),s=r.paint.get("fill-pattern")||1!==h.constantOr(n.Color.transparent).a||1!==o.constantOr(0)?"translucent":"opaque",t.renderPass===s&&(f.setDepthMode(t.depthModeForSublayer(1,"opaque"===t.renderPass?e.ReadWrite:e.ReadOnly)),yo(t,i,r,u,uc)),"translucent"===t.renderPass&&r.paint.get("fill-antialias")&&(f.setDepthMode(t.depthModeForSublayer(r.getPaintProperty("fill-outline-color")?2:0,e.ReadOnly)),yo(t,i,r,u,fc)))},"fill-extrusion":function(t,i,r,u){if(0!==r.paint.get("fill-extrusion-opacity"))if("offscreen"===t.renderPass){!function(t,i){var r=t.context,u=r.gl,f=i.viewportFrame,o;(t.depthRboNeedsClear&&t.setupOffscreenDepthRenderbuffer(),f)||(o=new n.Texture(r,{width:t.width,height:t.height,data:null},u.RGBA),o.bind(u.LINEAR,u.CLAMP_TO_EDGE),(f=i.viewportFrame=r.createFramebuffer(t.width,t.height)).colorAttachment.set(o.texture));r.bindFramebuffer.set(f.framebuffer);f.depthAttachment.set(t.depthRbo);t.depthRboNeedsClear&&(r.clear({depth:1}),t.depthRboNeedsClear=!1);r.clear({color:n.Color.transparent});r.setStencilMode(c.disabled);r.setDepthMode(new e(u.LEQUAL,e.ReadWrite,[0,1]));r.setColorMode(t.colorModeForRenderPass())}(t,r);for(var o=!0,f=0,s=u;f<s.length;f+=1){var h=s[f],l=i.getTile(h),a=l.getBucket(r);a&&(ec(t,0,r,l,h,a,o),o=!1)}}else"translucent"===t.renderPass&&function(t,i){var s=i.viewportFrame,o;if(s){var u=t.context,r=u.gl,f=t.useProgram("extrusionTexture");u.setStencilMode(c.disabled);u.setDepthMode(e.disabled);u.setColorMode(t.colorModeForRenderPass());u.activeTexture.set(r.TEXTURE0);r.bindTexture(r.TEXTURE_2D,s.colorAttachment.get());r.uniform1f(f.uniforms.u_opacity,i.paint.get("fill-extrusion-opacity"));r.uniform1i(f.uniforms.u_image,0);o=n.create();n.ortho(o,0,t.width,t.height,0,0,1);r.uniformMatrix4fv(f.uniforms.u_matrix,!1,o);r.uniform2f(f.uniforms.u_world,r.drawingBufferWidth,r.drawingBufferHeight);t.viewportVAO.bind(u,f,t.viewportBuffer,[]);r.drawArrays(r.TRIANGLE_STRIP,0,4)}}(t,r)},hillshade:function(n,t,i,r){var u,h,f,s,l,o;if("offscreen"===n.renderPass||"translucent"===n.renderPass){for(u=n.context,h=t.getSource().maxzoom,u.setDepthMode(n.depthModeForSublayer(0,e.ReadOnly)),u.setStencilMode(c.disabled),u.setColorMode(n.colorModeForRenderPass()),f=0,s=r;f<s.length;f+=1)l=s[f],o=t.getTile(l),o.needsHillshadePrepare&&"offscreen"===n.renderPass?sc(n,o,h):"translucent"===n.renderPass&&oc(n,o,i);u.viewport.set([0,0,n.width,n.height])}},raster:function(n,t,i,r){var h,o,nt,k,d;if("translucent"===n.renderPass&&0!==i.paint.get("raster-opacity")){var v,y,s=n.context,u=s.gl,p=t.getSource(),f=n.useProgram("raster");s.setStencilMode(c.disabled);s.setColorMode(n.colorModeForRenderPass());u.uniform1f(f.uniforms.u_brightness_low,i.paint.get("raster-brightness-min"));u.uniform1f(f.uniforms.u_brightness_high,i.paint.get("raster-brightness-max"));u.uniform1f(f.uniforms.u_saturation_factor,(v=i.paint.get("raster-saturation"))>0?1-1/(1.001-v):-v);u.uniform1f(f.uniforms.u_contrast_factor,(y=i.paint.get("raster-contrast"))>0?1/(1-y):1+y);u.uniform3fv(f.uniforms.u_spin_weights,function(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]}(i.paint.get("raster-hue-rotate")));u.uniform1f(f.uniforms.u_buffer_scale,1);u.uniform1i(f.uniforms.u_image0,0);u.uniform1i(f.uniforms.u_image1,1);for(var rt=r.length&&r[0].overscaledZ,w=0,g=r;w<g.length;w+=1){h=g[w];s.setDepthMode(n.depthModeForSublayer(h.overscaledZ-rt,1===i.paint.get("raster-opacity")?e.ReadWrite:e.ReadOnly,u.LESS));o=t.getTile(h);nt=n.transform.calculatePosMatrix(h.toUnwrapped(),!0);o.registerFadeDuration(i.paint.get("raster-fade-duration"));u.uniformMatrix4fv(f.uniforms.u_matrix,!1,nt);var l=t.findLoadedParent(h,0),tt=hc(o,l,t,i,n.transform),a=void 0,it=void 0,b="nearest"===i.paint.get("raster-resampling")?u.NEAREST:u.LINEAR;(s.activeTexture.set(u.TEXTURE0),o.texture.bind(b,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),s.activeTexture.set(u.TEXTURE1),l?(l.texture.bind(b,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),a=Math.pow(2,l.tileID.overscaledZ-o.tileID.overscaledZ),it=[o.tileID.canonical.x*a%1,o.tileID.canonical.y*a%1]):o.texture.bind(b,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),u.uniform2fv(f.uniforms.u_tl_parent,it||[0,0]),u.uniform1f(f.uniforms.u_scale_parent,a||1),u.uniform1f(f.uniforms.u_fade_t,tt.mix),u.uniform1f(f.uniforms.u_opacity,tt.opacity*i.paint.get("raster-opacity")),p instanceof gi)?(k=p.boundsBuffer,p.boundsVAO.bind(s,f,k,[]),u.drawArrays(u.TRIANGLE_STRIP,0,k.length)):o.maskedBoundsBuffer&&o.maskedIndexBuffer&&o.segments?f.draw(s,u.TRIANGLES,i.id,o.maskedBoundsBuffer,o.maskedIndexBuffer,o.segments):(d=n.rasterBoundsBuffer,n.rasterBoundsVAO.bind(s,f,d,[]),u.drawArrays(u.TRIANGLE_STRIP,0,d.length))}}},background:function(n,t,i){var f=i.paint.get("background-color"),l=i.paint.get("background-opacity"),r,h,a,v;if(0!==l){var u=n.context,o=u.gl,y=n.transform,p=y.tileSize,s=i.paint.get("background-pattern"),w=s||1!==f.a||1!==l?"translucent":"opaque";if(n.renderPass===w){if(u.setStencilMode(c.disabled),u.setDepthMode(n.depthModeForSublayer(0,"opaque"===w?e.ReadWrite:e.ReadOnly)),u.setColorMode(n.colorModeForRenderPass()),s){if(vf(s,n))return;r=n.useProgram("backgroundPattern");yf(s,n,r);n.tileExtentPatternVAO.bind(u,r,n.tileExtentBuffer,[])}else r=n.useProgram("background"),o.uniform4f(r.uniforms.u_color,f.r,f.g,f.b,f.a),n.tileExtentVAO.bind(u,r,n.tileExtentBuffer,[]);for(o.uniform1f(r.uniforms.u_opacity,l),h=0,a=y.coveringTiles({tileSize:p});h<a.length;h+=1)v=a[h],s&&pf({tileID:v,tileSize:p},n,r),o.uniformMatrix4fv(r.uniforms.u_matrix,!1,n.transform.calculatePosMatrix(v.toUnwrapped())),o.drawArrays(o.TRIANGLE_STRIP,0,n.tileExtentBuffer.length)}}},debug:function(n,t,i){for(var r=0;r<i.length;r++)cc(n,t,i[r])}},y=function(t,i){this.context=new rt(t);this.transform=i;this._tileTextures={};this.setup();this.numSublayers=ti.maxUnderzooming+ti.maxOverzooming+1;this.depthEpsilon=1/Math.pow(2,16);this.depthRboNeedsClear=!0;this.emptyProgramConfiguration=new n.ProgramConfiguration;this.crossTileSymbolIndex=new yi};y.prototype.resize=function(t,i){var e=this.context.gl,r,u,f;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(r=0,u=this.style._order;r<u.length;r+=1)f=u[r],this.style._layers[f].resize();this.depthRbo&&(e.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)};y.prototype.setup=function(){var f=this.context,u=new n.StructArrayLayout2i4,t,i,r;u.emplaceBack(0,0);u.emplaceBack(n.EXTENT,0);u.emplaceBack(0,n.EXTENT);u.emplaceBack(n.EXTENT,n.EXTENT);this.tileExtentBuffer=f.createVertexBuffer(u,lu.members);this.tileExtentVAO=new p;this.tileExtentPatternVAO=new p;t=new n.StructArrayLayout2i4;t.emplaceBack(0,0);t.emplaceBack(n.EXTENT,0);t.emplaceBack(n.EXTENT,n.EXTENT);t.emplaceBack(0,n.EXTENT);t.emplaceBack(0,0);this.debugBuffer=f.createVertexBuffer(t,lu.members);this.debugVAO=new p;i=new n.StructArrayLayout4i8;i.emplaceBack(0,0,0,0);i.emplaceBack(n.EXTENT,0,n.EXTENT,0);i.emplaceBack(0,n.EXTENT,0,n.EXTENT);i.emplaceBack(n.EXTENT,n.EXTENT,n.EXTENT,n.EXTENT);this.rasterBoundsBuffer=f.createVertexBuffer(i,n.rasterBoundsAttributes.members);this.rasterBoundsVAO=new p;r=new n.StructArrayLayout2i4;r.emplaceBack(0,0);r.emplaceBack(1,0);r.emplaceBack(0,1);r.emplaceBack(1,1);this.viewportBuffer=f.createVertexBuffer(r,lu.members);this.viewportVAO=new p};y.prototype.clearStencil=function(){var i=this.context,t=i.gl,r,u;i.setColorMode(l.disabled);i.setDepthMode(e.disabled);i.setStencilMode(new c({func:t.ALWAYS,mask:0},0,255,t.ZERO,t.ZERO,t.ZERO));r=n.create();n.ortho(r,0,this.width,this.height,0,0,1);n.scale(r,r,[t.drawingBufferWidth,t.drawingBufferHeight,0]);u=this.useProgram("clippingMask");t.uniformMatrix4fv(u.uniforms.u_matrix,!1,r);this.viewportVAO.bind(i,u,this.viewportBuffer,[]);t.drawArrays(t.TRIANGLE_STRIP,0,4)};y.prototype._renderTileClippingMasks=function(n){var i=this.context,t=i.gl,s,r,u,f,h,o;for(i.setColorMode(l.disabled),i.setDepthMode(e.disabled),s=1,this._tileClippingMaskIDs={},r=0,u=n;r<u.length;r+=1)f=u[r],h=this._tileClippingMaskIDs[f.key]=s++,i.setStencilMode(new c({func:t.ALWAYS,mask:0},h,255,t.KEEP,t.KEEP,t.REPLACE)),o=this.useProgram("clippingMask"),t.uniformMatrix4fv(o.uniforms.u_matrix,!1,f.posMatrix),this.tileExtentVAO.bind(this.context,o,this.tileExtentBuffer,[]),t.drawArrays(t.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)};y.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)};y.prototype.colorModeForRenderPass=function(){var t=this.context.gl;return this._showOverdrawInspector?new l([t.CONSTANT_COLOR,t.ONE],new n.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?l.unblended:l.alphaBlended};y.prototype.depthModeForSublayer=function(n,t,i){var r=1-((1+this.currentLayer)*this.numSublayers+n)*this.depthEpsilon,u=r-1+this.depthRange;return new e(i||this.context.gl.LEQUAL,t,[u,r])};y.prototype.render=function(t,i){var f,r,rt,a,o,y,p,w,b,ot,l,d,st,s,g,it;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());f=this.style._order;r=this.style.sourceCaches;for(rt in r)a=r[rt],a.used&&a.prepare(this.context);var h,e={},v={},ut={};for(o in r)y=r[o],e[o]=y.getVisibleCoordinates(),v[o]=e[o].slice().reverse(),ut[o]=y.getVisibleCoordinates(!0).reverse();for(p in r)if(w=r[p],b=w.getSource(),"raster"===b.type||"raster-dem"===b.type){for(var ft=[],k=0,et=e[p];k<et.length;k+=1)ot=et[k],ft.push(w.getTile(ot));nc(ft,this.context)}for(this.renderPass="offscreen",this.depthRboNeedsClear=!0,l=0,d=f;l<d.length;l+=1)st=d[l],s=this.style._layers[st],s.hasOffscreenPass()&&!s.isHidden(this.transform.zoom)&&(g=v[s.source],g.length&&this.renderLayer(this,r[s.source],s,g));for(this.context.bindFramebuffer.set(null),this.context.clear({color:i.showOverdrawInspector?n.Color.black:n.Color.transparent,depth:1}),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRange=(t._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass="opaque",this.currentLayer=f.length-1;this.currentLayer>=0;this.currentLayer--){var c=this.style._layers[f[this.currentLayer]],nt=r[c.source],ht=e[c.source];c.source!==h&&nt&&(this.clearStencil(),nt.getSource().isTileClipped&&this._renderTileClippingMasks(ht));this.renderLayer(this,nt,c,ht);h=c.source}for(this.renderPass="translucent",this.currentLayer=0,h=null;this.currentLayer<f.length;this.currentLayer++){var u=this.style._layers[f[this.currentLayer]],tt=r[u.source],ct=("symbol"===u.type?ut:v)[u.source];u.source!==h&&tt&&(this.clearStencil(),tt.getSource().isTileClipped&&this._renderTileClippingMasks(e[u.source]));this.renderLayer(this,tt,u,ct);h=u.source}if(this.options.showTileBoundaries)for(it in r){wo.debug(this,r[it],e[it]);break}};y.prototype.setupOffscreenDepthRenderbuffer=function(){var n=this.context;this.depthRbo||(this.depthRbo=n.createRenderbuffer(n.gl.DEPTH_COMPONENT16,this.width,this.height))};y.prototype.renderLayer=function(n,t,i,r){i.isHidden(this.transform.zoom)||("background"===i.type||r.length)&&(this.id=i.id,wo[i.type](n,t,i,r))};y.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]:nt(i,r[0],this.transform.zoom),f?r[1]:nt(i,r[1],this.transform.zoom),0],h=new Float32Array(16),n.translate(h,t,c),h)};y.prototype.saveTileTexture=function(n){var t=this._tileTextures[n.size[0]];t?t.push(n):this._tileTextures[n.size[0]]=[n]};y.prototype.getTileTexture=function(n){var t=this._tileTextures[n];return t&&t.length>0?t.pop():null};y.prototype._createProgramCached=function(n,t){this.cache=this.cache||{};var i=""+n+(t.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[i]||(this.cache[i]=new af(this.context,au[n],t,this._showOverdrawInspector)),this.cache[i]};y.prototype.useProgram=function(n,t){var i=this._createProgramCached(n,t||this.emptyProgramConfiguration);return this.context.program.set(i.program),i};u=function(n,t,r){this.tileSize=512;this.maxValidLatitude=85.051129;this._renderWorldCopies=void 0===r||r;this._minZoom=n||0;this._maxZoom=t||22;this.setMaxBounds();this.width=0;this.height=0;this._center=new i(0,0);this.zoom=0;this.angle=0;this._fov=.64350110879328437;this._pitch=0;this._unmodified=!0;this._posMatrixCache={};this._alignedPosMatrixCache={}};o={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},x:{configurable:!0},y:{configurable:!0},point:{configurable:!0}};u.prototype.clone=function(){var n=new u(this._minZoom,this._maxZoom,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._calcMatrices(),n};o.minZoom.get=function(){return this._minZoom};o.minZoom.set=function(n){this._minZoom!==n&&(this._minZoom=n,this.zoom=Math.max(this.zoom,n))};o.maxZoom.get=function(){return this._maxZoom};o.maxZoom.set=function(n){this._maxZoom!==n&&(this._maxZoom=n,this.zoom=Math.min(this.zoom,n))};o.renderWorldCopies.get=function(){return this._renderWorldCopies};o.renderWorldCopies.set=function(n){void 0===n?n=!0:null===n&&(n=!1);this._renderWorldCopies=n};o.worldSize.get=function(){return this.tileSize*this.scale};o.centerPoint.get=function(){return this.size._div(2)};o.size.get=function(){return new n.Point(this.width,this.height)};o.bearing.get=function(){return-this.angle/Math.PI*180};o.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$4(),n.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))};o.pitch.get=function(){return this._pitch/Math.PI*180};o.pitch.set=function(t){var i=n.clamp(t,0,60)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())};o.fov.get=function(){return this._fov/Math.PI*180};o.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())};o.zoom.get=function(){return this._zoom};o.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())};o.center.get=function(){return this._center};o.center.set=function(n){n.lat===this._center.lat&&n.lng===this._center.lng||(this._unmodified=!1,this._center=n,this._constrain(),this._calcMatrices())};u.prototype.coveringZoomLevel=function(n){return(n.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/n.tileSize))};u.prototype.getVisibleUnwrappedCoordinates=function(t){var u=this.pointCoordinate(new n.Point(0,0),0),f=this.pointCoordinate(new n.Point(this.width,0),0),e=Math.floor(u.column),o=Math.floor(f.column),r=[new n.UnwrappedTileID(0,t)],i;if(this._renderWorldCopies)for(i=e;i<=o;i++)0!==i&&r.push(new n.UnwrappedTileID(i,t));return r};u.prototype.coveringTiles=function(t){var i=this.coveringZoomLevel(t),f=i,r,u;return void 0!==t.minzoom&&i<t.minzoom?[]:(void 0!==t.maxzoom&&i>t.maxzoom&&(i=t.maxzoom),r=this.pointCoordinate(this.centerPoint,i),u=new n.Point(r.column-.5,r.row-.5),function(t,i,r,u){function o(i,o,s){var h,c,a,l;if(s>=0&&s<=f)for(h=i;h<o;h++)c=Math.floor(h/f),a=(h%f+f)%f,0!==c&&!0!==u||(l=new n.OverscaledTileID(r,c,t,a,s),e[l.key]=l)}void 0===u&&(u=!0);var f=1<<t,e={};return ko(i[0],i[1],i[2],0,f,o),ko(i[2],i[3],i[0],0,f,o),Object.keys(e).map(function(n){return e[n]})}(i,[this.pointCoordinate(new n.Point(0,0),i),this.pointCoordinate(new n.Point(this.width,0),i),this.pointCoordinate(new n.Point(this.width,this.height),i),this.pointCoordinate(new n.Point(0,this.height),i)],t.reparseOverscaled?f:i,this._renderWorldCopies).sort(function(n,t){return u.dist(n.canonical)-u.dist(t.canonical)}))};u.prototype.resize=function(n,t){this.width=n;this.height=t;this.pixelsToGLUnits=[2/n,-2/t];this._constrain();this._calcMatrices()};o.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){return new n.Point(this.lngX(t.lng),this.latY(t.lat))};u.prototype.unproject=function(n){return new i(this.xLng(n.x),this.yLat(n.y))};o.x.get=function(){return this.lngX(this.center.lng)};o.y.get=function(){return this.latY(this.center.lat)};o.point.get=function(){return new n.Point(this.x,this.y)};u.prototype.lngX=function(n){return(180+n)*this.worldSize/360};u.prototype.latY=function(t){return t=n.clamp(t,-this.maxValidLatitude,this.maxValidLatitude),(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360};u.prototype.xLng=function(n){return 360*n/this.worldSize-180};u.prototype.yLat=function(n){var t=180-360*n/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90};u.prototype.setLocationAtPoint=function(n,t){var i=this.pointCoordinate(t)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(n)._sub(i));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 new n.Coordinate(this.lngX(t.lng)/this.tileSize,this.latY(t.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)};u.prototype.coordinateLocation=function(n){var t=n.zoomTo(this.zoom);return new i(this.xLng(t.column*this.tileSize),this.yLat(t.row*this.tileSize))};u.prototype.pointCoordinate=function(t,i){var r,u;void 0===i&&(i=this.tileZoom);r=[t.x,t.y,0,1];u=[t.x,t.y,1,1];n.transformMat4(r,r,this.pixelMatrixInverse);n.transformMat4(u,u,this.pixelMatrixInverse);var f=r[3],e=u[3],c=r[0]/f,l=u[0]/e,a=r[1]/f,v=u[1]/e,o=r[2]/f,s=u[2]/e,h=o===s?0:(0-o)/(s-o);return new n.Coordinate(n.number(c,l,h)/this.tileSize,n.number(a,v,h)/this.tileSize,this.zoom)._zoomTo(i)};u.prototype.coordinatePoint=function(t){var r=t.zoomTo(this.zoom),i=[r.column*this.tileSize,r.row*this.tileSize,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 f).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 f([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._constrain=function(){var a,v,y,p,s,w,h;if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var c,l,u,f,t=-90,e=90,i=-180,o=180,r=this.size,b=this._unmodified;if(this.latRange&&(a=this.latRange,t=this.latY(a[1]),c=(e=this.latY(a[0]))-t<r.y?r.y/(e-t):0),this.lngRange&&(v=this.lngRange,i=this.lngX(v[0]),l=(o=this.lngX(v[1]))-i<r.x?r.x/(o-i):0),y=Math.max(l||0,c||0),y)return this.center=this.unproject(new n.Point(l?(o+i)/2:this.x,c?(e+t)/2:this.y)),this.zoom+=this.scaleZoom(y),this._unmodified=b,void(this._constraining=!1);this.latRange&&(p=this.y,s=r.y/2,p-s<t&&(f=t+s),p+s>e&&(f=e-s));this.lngRange&&(w=this.x,h=r.x/2,w-h<i&&(u=i+h),w+h>o&&(u=o-h));void 0===u&&void 0===f||(this.center=this.unproject(new n.Point(void 0!==u?u:this.x,void 0!==f?f:this.y)));this._unmodified=b;this._constraining=!1}};u.prototype._calcMatrices=function(){var s;if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var o=this._fov/2,v=Math.PI/2+this._pitch,y=Math.sin(o)*this.cameraToCenterDistance/Math.sin(Math.PI-v-o),i=this.x,r=this.y,p=1.01*(Math.cos(Math.PI/2-this._pitch)*y+this.cameraToCenterDistance),t=new Float64Array(16);n.perspective(t,this._fov,this.width/this.height,1,p);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,[-i,-r,0]);s=this.worldSize/(12756274*Math.PI*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));n.scale(t,t,[1,1,s,1]);this.projMatrix=t;var h=this.width%2/2,c=this.height%2/2,l=Math.cos(this.angle),a=Math.sin(this.angle),u=i-Math.round(i)+l*h+a*c,f=r-Math.round(r)+l*c+a*h,e=new Float64Array(t);if(n.translate(e,e,[u>.5?u-1:u,f>.5?f-1:f,0]),this.alignedProjMatrix=e,t=n.create(),n.scale(t,t,[this.width/2,-this.height/2,1]),n.translate(t,t,[1,-1,0]),this.pixelMatrix=n.multiply(new Float64Array(16),t,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)).zoomTo(this.zoom),i=[t.column*this.tileSize,t.row*this.tileSize,0,1];return n.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance};Object.defineProperties(u.prototype,o);bt=function(){var u,f,i,t,r;n.bindAll(["_onHashChange","_updateHash"],this);this._updateHash=(u=this._updateHashUnthrottled.bind(this),f=300,i=!1,t=0,r=function(){t=0;i&&(u(),t=setTimeout(r,f),i=!1)},function(){return i=!0,t||r(),t})};bt.prototype.addTo=function(t){return this._map=t,n.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this};bt.prototype.remove=function(){return n.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this};bt.prototype.getHashString=function(n){var f=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,h=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),t=Math.pow(10,h),e=Math.round(f.lng*t)/t,o=Math.round(f.lat*t)/t,s=this._map.getBearing(),u=this._map.getPitch(),i="";return i+=n?"#/"+e+"/"+o+"/"+r:"#"+r+"/"+o+"/"+e,(s||u)&&(i+="/"+Math.round(10*s)/10),u&&(i+="/"+Math.round(u)),i};bt.prototype._onHashChange=function(){var t=n.window.location.hash.replace("#","").split("/");return t.length>=3&&(this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:+(t[3]||0),pitch:+(t[4]||0)}),!0)};bt.prototype._updateHashUnthrottled=function(){var t=this.getHashString();n.window.history.replaceState(n.window.history.state,"",t)};var d=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);r.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),vu=function(i){function r(r,u,f){var e=t.touchPos(u.getCanvasContainer(),f),s=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)),h=u.unproject(o);i.call(this,r,{points:e,point:o,lngLats:s,lngLat:h,originalEvent:f});this._defaultPrevented=!1}i&&(r.__proto__=i);r.prototype=Object.create(i&&i.prototype);r.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),ac=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);t.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),ut=function(t){this._map=t;this._el=t.getCanvasContainer();this._delta=0;n.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};ut.prototype.isEnabled=function(){return!!this._enabled};ut.prototype.isActive=function(){return!!this._active};ut.prototype.enable=function(n){this.isEnabled()||(this._enabled=!0,this._aroundCenter=n&&"center"===n.around)};ut.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)};ut.prototype.onWheel=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.isActive()||this._start(t));t.preventDefault()}};ut.prototype._onTimeout=function(n){this._type="wheel";this._delta-=this._lastValue;this.isActive()||this._start(n)};ut.prototype._start=function(r){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null);this._active=!0;this._map.fire(new n.Event("movestart",{originalEvent:r}));this._map.fire(new n.Event("zoomstart",{originalEvent:r}));this._finishTimeout&&clearTimeout(this._finishTimeout);var u=t.mousePos(this._el,r);this._around=i.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(u));this._aroundPoint=this._map.transform.locationPoint(this._around);this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame))}};ut.prototype._onScrollFrame=function(){var i=this,t,e,r,o,f,l;if(this._frameId=null,this.isActive()){t=this._map.transform;0!==this._delta&&(e="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,r=2/(1+Math.exp(-Math.abs(this._delta*e))),this._delta<0&&0!==r&&(r=1/r),o="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale,this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(o*r))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0);var s="number"==typeof this._targetZoom?this._targetZoom:t.zoom,h=this._startZoom,c=this._easing,u=!1;"wheel"===this._type&&h&&c?(f=Math.min((n.browser.now()-this._lastWheelEventTime)/200,1),l=c(f),t.zoom=n.number(h,s,l),f<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):u=!0):(t.zoom=s,u=!0);t.setLocationAtPoint(this._around,this._aroundPoint);this._map.fire(new n.Event("move",{originalEvent:this._lastWheelEvent}));this._map.fire(new n.Event("zoom",{originalEvent:this._lastWheelEvent}));u&&(this._active=!1,this._finishTimeout=setTimeout(function(){i._map.fire(new n.Event("zoomend",{originalEvent:i._lastWheelEvent}));i._map.fire(new n.Event("moveend",{originalEvent:i._lastWheelEvent}));delete i._targetZoom},200))}};ut.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};g=function(t,i){this._map=t;this._el=t.getCanvasContainer();this._container=t.getContainer();this._clickTolerance=i.clickTolerance||1;n.bindAll(["_onMouseMove","_onMouseUp","_onKeyDown"],this)};g.prototype.isEnabled=function(){return!!this._enabled};g.prototype.isActive=function(){return!!this._active};g.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)};g.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)};g.prototype.onMouseDown=function(i){this.isEnabled()&&i.shiftKey&&0===i.button&&(n.window.document.addEventListener("mousemove",this._onMouseMove,!1),n.window.document.addEventListener("keydown",this._onKeyDown,!1),n.window.document.addEventListener("mouseup",this._onMouseUp,!1),t.disableDrag(),this._startPos=this._lastPos=t.mousePos(this._el,i),this._active=!0)};g.prototype._onMouseMove=function(n){var i=t.mousePos(this._el,n),r;if(!(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)<this._clickTolerance)){r=this._startPos;this._lastPos=i;this._box||(this._box=t.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",n));var u=Math.min(r.x,i.x),e=Math.max(r.x,i.x),f=Math.min(r.y,i.y),o=Math.max(r.y,i.y);t.setTransform(this._box,"translate("+u+"px,"+f+"px)");this._box.style.width=e-u+"px";this._box.style.height=o-f+"px"}};g.prototype._onMouseUp=function(i){if(0===i.button){var r=this._startPos,u=t.mousePos(this._el,i),e=(new f).extend(this._map.unproject(r)).extend(this._map.unproject(u));this._finish();t.suppressClick();r.x===u.x&&r.y===u.y?this._fireEvent("boxzoomcancel",i):this._map.fitBounds(e,{linear:!0}).fire(new n.Event("boxzoomend",{originalEvent:i,boxZoomBounds:e}))}};g.prototype._onKeyDown=function(n){27===n.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",n))};g.prototype._finish=function(){this._active=!1;n.window.document.removeEventListener("mousemove",this._onMouseMove,!1);n.window.document.removeEventListener("keydown",this._onKeyDown,!1);n.window.document.removeEventListener("mouseup",this._onMouseUp,!1);this._container.classList.remove("mapboxgl-crosshair");this._box&&(t.remove(this._box),this._box=null);t.enableDrag();delete this._startPos;delete this._lastPos};g.prototype._fireEvent=function(t,i){return this._map.fire(new n.Event(t,{originalEvent:i}))};go=n.bezier(0,0,.25,1);a=function(t,i){this._map=t;this._el=i.element||t.getCanvasContainer();this._state="disabled";this._button=i.button||"right";this._bearingSnap=i.bearingSnap||0;this._pitchWithRotate=!1!==i.pitchWithRotate;n.bindAll(["onMouseDown","_onMouseMove","_onMouseUp","_onBlur","_onDragFrame"],this)};a.prototype.isEnabled=function(){return"disabled"!==this._state};a.prototype.isActive=function(){return"active"===this._state};a.prototype.enable=function(){this.isEnabled()||(this._state="enabled")};a.prototype.disable=function(){if(this.isEnabled())switch(this._state){case"active":this._state="disabled";this._unbind();this._deactivate();this._fireEvent("rotateend");this._pitchWithRotate&&this._fireEvent("pitchend");this._fireEvent("moveend");break;case"pending":this._state="disabled";this._unbind();break;default:this._state="disabled"}};a.prototype.onMouseDown=function(i){if("enabled"===this._state){if("right"===this._button){if(this._eventButton=t.mouseButton(i),this._eventButton!==(i.ctrlKey?0:2))return}else{if(i.ctrlKey||0!==t.mouseButton(i))return;this._eventButton=0}t.disableDrag();n.window.document.addEventListener("mousemove",this._onMouseMove,{capture:!0});n.window.document.addEventListener("mouseup",this._onMouseUp);n.window.addEventListener("blur",this._onBlur);this._state="pending";this._inertia=[[n.browser.now(),this._map.getBearing()]];this._startPos=this._lastPos=t.mousePos(this._el,i);this._center=this._map.transform.centerPoint;i.preventDefault()}};a.prototype._onMouseMove=function(n){var i=t.mousePos(this._el,n);this._lastPos.equals(i)||(this._lastMoveEvent=n,this._lastPos=i,"pending"===this._state&&(this._state="active",this._fireEvent("rotatestart",n),this._fireEvent("movestart",n),this._pitchWithRotate&&this._fireEvent("pitchstart",n)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame)))};a.prototype._onDragFrame=function(){var t;if(this._frameId=null,t=this._lastMoveEvent,t){var i=this._map.transform,u=this._startPos,f=this._lastPos,o=.8*(u.x-f.x),s=-.5*(u.y-f.y),e=i.bearing-o,h=i.pitch-s,r=this._inertia,c=r[r.length-1];this._drainInertiaBuffer();r.push([n.browser.now(),this._map._normalizeBearing(e,c[1])]);i.bearing=e;this._pitchWithRotate&&(this._fireEvent("pitch",t),i.pitch=h);this._fireEvent("rotate",t);this._fireEvent("move",t);delete this._lastMoveEvent;this._startPos=this._lastPos}};a.prototype._onMouseUp=function(n){if(t.mouseButton(n)===this._eventButton)switch(this._state){case"active":this._state="enabled";t.suppressClick();this._unbind();this._deactivate();this._inertialRotate(n);break;case"pending":this._state="enabled";this._unbind()}};a.prototype._onBlur=function(n){switch(this._state){case"active":this._state="enabled";this._unbind();this._deactivate();this._fireEvent("rotateend",n);this._pitchWithRotate&&this._fireEvent("pitchend",n);this._fireEvent("moveend",n);break;case"pending":this._state="enabled";this._unbind()}};a.prototype._unbind=function(){n.window.document.removeEventListener("mousemove",this._onMouseMove,{capture:!0});n.window.document.removeEventListener("mouseup",this._onMouseUp);n.window.removeEventListener("blur",this._onBlur);t.enableDrag()};a.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null);delete this._lastMoveEvent;delete this._startPos;delete this._lastPos};a.prototype._inertialRotate=function(n){var f=this,u,o;this._fireEvent("rotateend",n);this._drainInertiaBuffer();var t=this._map,s=t.getBearing(),i=this._inertia,h=function(){Math.abs(s)<f._bearingSnap?t.resetNorth({noMoveStart:!0},{originalEvent:n}):f._fireEvent("moveend",n);f._pitchWithRotate&&f._fireEvent("pitchend",n)};if(i.length<2)h();else{var c=i[0],l=i[i.length-1],v=i[i.length-2],r=t._normalizeBearing(s,v[1]),e=l[1]-c[1],y=e<0?-1:1,a=(l[0]-c[0])/1e3;0!==e&&0!==a?(u=Math.abs(e*(.25/a)),u>180&&(u=180),o=u/180,r+=y*u*(o/2),Math.abs(t._normalizeBearing(r,0))<this._bearingSnap&&(r=t._normalizeBearing(0,r)),t.rotateTo(r,{duration:1e3*o,easing:go,noMoveStart:!0},{originalEvent:n})):h()}};a.prototype._fireEvent=function(t,i){return this._map.fire(new n.Event(t,i?{originalEvent:i}:{}))};a.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,i=n.browser.now();t.length>0&&i-t[0][0]>160;)t.shift()};ns=n.bezier(0,0,.3,1);h=function(t,i){this._map=t;this._el=t.getCanvasContainer();this._state="disabled";this._clickTolerance=i.clickTolerance||1;n.bindAll(["_onMove","_onMouseUp","_onTouchEnd","_onBlur","_onDragFrame"],this)};h.prototype.isEnabled=function(){return"disabled"!==this._state};h.prototype.isActive=function(){return"active"===this._state};h.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._state="enabled")};h.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._state){case"active":this._state="disabled";this._unbind();this._deactivate();this._fireEvent("dragend");this._fireEvent("moveend");break;case"pending":this._state="disabled";this._unbind();break;default:this._state="disabled"}};h.prototype.onMouseDown=function(i){"enabled"===this._state&&(i.ctrlKey||0!==t.mouseButton(i)||(t.addEventListener(n.window.document,"mousemove",this._onMove,{capture:!0}),t.addEventListener(n.window.document,"mouseup",this._onMouseUp),this._start(i)))};h.prototype.onTouchStart=function(i){"enabled"===this._state&&(i.touches.length>1||(t.addEventListener(n.window.document,"touchmove",this._onMove,{capture:!0,passive:!1}),t.addEventListener(n.window.document,"touchend",this._onTouchEnd),this._start(i)))};h.prototype._start=function(i){n.window.addEventListener("blur",this._onBlur);this._state="pending";this._startPos=this._mouseDownPos=this._lastPos=t.mousePos(this._el,i);this._inertia=[[n.browser.now(),this._startPos]]};h.prototype._onMove=function(i){i.preventDefault();var r=t.mousePos(this._el,i);this._lastPos.equals(r)||"pending"===this._state&&r.dist(this._mouseDownPos)<this._clickTolerance||(this._lastMoveEvent=i,this._lastPos=r,this._drainInertiaBuffer(),this._inertia.push([n.browser.now(),this._lastPos]),"pending"===this._state&&(this._state="active",this._fireEvent("dragstart",i),this._fireEvent("movestart",i)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame)))};h.prototype._onDragFrame=function(){var n,t;this._frameId=null;n=this._lastMoveEvent;n&&(t=this._map.transform,t.setLocationAtPoint(t.pointLocation(this._startPos),this._lastPos),this._fireEvent("drag",n),this._fireEvent("move",n),this._startPos=this._lastPos,delete this._lastMoveEvent)};h.prototype._onMouseUp=function(n){if(0===t.mouseButton(n))switch(this._state){case"active":this._state="enabled";t.suppressClick();this._unbind();this._deactivate();this._inertialPan(n);break;case"pending":this._state="enabled";this._unbind()}};h.prototype._onTouchEnd=function(n){switch(this._state){case"active":this._state="enabled";this._unbind();this._deactivate();this._inertialPan(n);break;case"pending":this._state="enabled";this._unbind()}};h.prototype._onBlur=function(n){switch(this._state){case"active":this._state="enabled";this._unbind();this._deactivate();this._fireEvent("dragend",n);this._fireEvent("moveend",n);break;case"pending":this._state="enabled";this._unbind()}};h.prototype._unbind=function(){t.removeEventListener(n.window.document,"touchmove",this._onMove,{capture:!0,passive:!1});t.removeEventListener(n.window.document,"touchend",this._onTouchEnd);t.removeEventListener(n.window.document,"mousemove",this._onMove,{capture:!0});t.removeEventListener(n.window.document,"mouseup",this._onMouseUp);t.removeEventListener(n.window,"blur",this._onBlur)};h.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null);delete this._lastMoveEvent;delete this._startPos;delete this._mouseDownPos;delete this._lastPos};h.prototype._inertialPan=function(n){var t,r,i,e,s;if(this._fireEvent("dragend",n),this._drainInertiaBuffer(),t=this._inertia,t.length<2)this._fireEvent("moveend",n);else{var u=t[t.length-1],f=t[0],h=u[1].sub(f[1]),o=(u[0]-f[0])/1e3;0===o||u[1].equals(f[1])?this._fireEvent("moveend",n):(r=h.mult(.3/o),i=r.mag(),i>1400&&(i=1400,r._unit()._mult(i)),e=i/750,s=r.mult(-e/2),this._map.panBy(s,{duration:1e3*e,easing:ns,noMoveStart:!0},{originalEvent:n}))}};h.prototype._fireEvent=function(t,i){return this._map.fire(new n.Event(t,i?{originalEvent:i}:{}))};h.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,i=n.browser.now();t.length>0&&i-t[0][0]>160;)t.shift()};ri=function(t){this._map=t;this._el=t.getCanvasContainer();n.bindAll(["_onKeyDown"],this)};ri.prototype.isEnabled=function(){return!!this._enabled};ri.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)};ri.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)};ri.prototype._onKeyDown=function(n){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:(e=1,n.preventDefault());break;default:return}var t=this._map,o=t.getZoom(),s={duration:300,delayEndEvents:500,easing:vc,zoom:i?Math.round(o)+i*(n.shiftKey?2:1):o,bearing:t.getBearing()+15*r,pitch:t.getPitch()+10*u,offset:[100*-f,100*-e],center:t.getCenter()};t.easeTo(s,{originalEvent:n})}};ft=function(t){this._map=t;n.bindAll(["_onDblClick","_onZoomEnd"],this)};ft.prototype.isEnabled=function(){return!!this._enabled};ft.prototype.isActive=function(){return!!this._active};ft.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)};ft.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)};ft.prototype.onTouchStart=function(n){var t=this;this.isEnabled()&&(n.points.length>1||(this._tapped?(clearTimeout(this._tapped),this._tapped=null,this._zoom(n)):this._tapped=setTimeout(function(){t._tapped=null},300)))};ft.prototype.onDblClick=function(n){this.isEnabled()&&(n.originalEvent.preventDefault(),this._zoom(n))};ft.prototype._zoom=function(n){this._active=!0;this._map.on("zoomend",this._onZoomEnd);this._map.zoomTo(this._map.getZoom()+(n.originalEvent.shiftKey?-1:1),{around:n.lngLat},n)};ft.prototype._onZoomEnd=function(){this._active=!1;this._map.off("zoomend",this._onZoomEnd)};ts=n.bezier(0,0,.15,1);b=function(t){this._map=t;this._el=t.getCanvasContainer();n.bindAll(["_onMove","_onEnd","_onTouchFrame"],this)};b.prototype.isEnabled=function(){return!!this._enabled};b.prototype.enable=function(n){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._enabled=!0,this._aroundCenter=!!n&&"center"===n.around)};b.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._enabled=!1)};b.prototype.disableRotation=function(){this._rotationDisabled=!0};b.prototype.enableRotation=function(){this._rotationDisabled=!1};b.prototype.onStart=function(i){if(this.isEnabled()&&2===i.touches.length){var r=t.mousePos(this._el,i.touches[0]),u=t.mousePos(this._el,i.touches[1]);this._startVec=r.sub(u);this._gestureIntent=void 0;this._inertia=[];t.addEventListener(n.window.document,"touchmove",this._onMove,{passive:!1});t.addEventListener(n.window.document,"touchend",this._onEnd)}};b.prototype._getTouchEventData=function(n){var r=t.mousePos(this._el,n.touches[0]),u=t.mousePos(this._el,n.touches[1]),i=r.sub(u);return{vec:i,center:r.add(u).div(2),scale:i.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*i.angleWith(this._startVec)/Math.PI}};b.prototype._onMove=function(t){var r;if(2===t.touches.length){var i=this._getTouchEventData(t),u=i.vec,f=i.scale,e=i.bearing;this._gestureIntent||(r=Math.abs(1-f)>.15,Math.abs(e)>10?this._gestureIntent="rotate":r&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._map.fire(new n.Event(this._gestureIntent+"start",{originalEvent:t})),this._map.fire(new n.Event("movestart",{originalEvent:t})),this._startVec=u));this._lastTouchEvent=t;this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame));t.preventDefault()}};b.prototype._onTouchFrame=function(){var i,t;if(this._frameId=null,i=this._gestureIntent,i){t=this._map.transform;this._startScale||(this._startScale=t.scale,this._startBearing=t.bearing);var r=this._getTouchEventData(this._lastTouchEvent),u=r.center,o=r.bearing,f=r.scale,e=t.pointLocation(u),s=t.locationPoint(e);"rotate"===i&&(t.bearing=this._startBearing+o);t.zoom=t.scaleZoom(this._startScale*f);t.setLocationAtPoint(e,s);this._map.fire(new n.Event(i,{originalEvent:this._lastTouchEvent}));this._map.fire(new n.Event("move",{originalEvent:this._lastTouchEvent}));this._drainInertiaBuffer();this._inertia.push([n.browser.now(),f,u])}};b.prototype._onEnd=function(i){var o,s,f,r,u,l,e;if(t.removeEventListener(n.window.document,"touchmove",this._onMove,{passive:!1}),t.removeEventListener(n.window.document,"touchend",this._onEnd),o=this._gestureIntent,s=this._startScale,this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,o)if(this._map.fire(new n.Event(o+"end",{originalEvent:i})),this._drainInertiaBuffer(),f=this._inertia,r=this._map,f.length<2)r.snapToNorth({},{originalEvent:i});else{var h=f[f.length-1],a=f[0],c=r.transform.scaleZoom(s*h[1]),v=r.transform.scaleZoom(s*a[1]),p=c-v,y=(h[0]-a[0])/1e3,w=h[2];0!==y&&c!==v?(u=.15*p/y,Math.abs(u)>2.5&&(u=u>0?2.5:-2.5),l=1e3*Math.abs(u/(12*.15)),e=c+u*l/2e3,e<0&&(e=0),r.easeTo({zoom:e,duration:l,easing:ts,around:this._aroundCenter?r.getCenter():r.unproject(w),noMoveStart:!0},{originalEvent:i})):r.snapToNorth({},{originalEvent:i})}};b.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,i=n.browser.now();t.length>2&&i-t[0][0]>160;)t.shift()};var is={scrollZoom:ut,boxZoom:g,dragRotate:a,dragPan:h,keyboard:ri,doubleClickZoom:ft,touchZoomRotate:b},yc=function(t){function r(i,r){t.call(this);this._moving=!1;this._zooming=!1;this.transform=i;this._bearingSnap=r.bearingSnap;n.bindAll(["_renderFrameCallback"],this)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return this.transform.center},r.prototype.setCenter=function(n,t){return this.jumpTo({center:n},t)},r.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)},r.prototype.panTo=function(t,i,r){return this.easeTo(n.extend({center:t},i),r)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(n,t){return this.jumpTo({zoom:n},t),this},r.prototype.zoomTo=function(t,i,r){return this.easeTo(n.extend({zoom:t},i),r)},r.prototype.zoomIn=function(n,t){return this.zoomTo(this.getZoom()+1,n,t),this},r.prototype.zoomOut=function(n,t){return this.zoomTo(this.getZoom()-1,n,t),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(n,t){return this.jumpTo({bearing:n},t),this},r.prototype.rotateTo=function(t,i,r){return this.easeTo(n.extend({bearing:t},i),r)},r.prototype.resetNorth=function(t,i){return this.rotateTo(0,n.extend({duration:1e3},t),i),this},r.prototype.snapToNorth=function(n,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(n,t):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(n,t){return this.jumpTo({pitch:n},t),this},r.prototype.cameraForBounds=function(t,i){var u;if("number"==typeof(i=n.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding&&(u=i.padding,i.padding={top:u,bottom:u,right:u,left:u}),n.deepEqual(Object.keys(i.padding).sort(function(n,t){return n<t?-1:n>t?1:0}),["bottom","left","right","top"])){t=f.convert(t);var e=[(i.padding.left-i.padding.right)/2,(i.padding.top-i.padding.bottom)/2],v=Math.min(i.padding.right,i.padding.left),y=Math.min(i.padding.top,i.padding.bottom);i.offset=[i.offset[0]+e[0],i.offset[1]+e[1]];var o=n.Point.convert(i.offset),r=this.transform,s=r.project(t.getNorthWest()),h=r.project(t.getSouthEast()),c=h.sub(s),l=(r.width-2*v-2*Math.abs(o.x))/c.x,a=(r.height-2*y-2*Math.abs(o.y))/c.y;if(!(a<0||l<0))return i.center=r.unproject(s.add(h).div(2)),i.zoom=Math.min(r.scaleZoom(r.scale*Math.min(l,a)),i.maxZoom),i.bearing=0,i;n.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}else n.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'")},r.prototype.fitBounds=function(t,i,r){var u=this.cameraForBounds(t,i);return u?(i=n.extend(u,i)).linear?this.easeTo(i,r):this.flyTo(i,r):this},r.prototype.jumpTo=function(t,r){this.stop();var u=this.transform,f=!1,e=!1,o=!1;return"zoom"in t&&u.zoom!==+t.zoom&&(f=!0,u.zoom=+t.zoom),void 0!==t.center&&(u.center=i.convert(t.center)),"bearing"in t&&u.bearing!==+t.bearing&&(e=!0,u.bearing=+t.bearing),"pitch"in t&&u.pitch!==+t.pitch&&(o=!0,u.pitch=+t.pitch),this.fire(new n.Event("movestart",r)).fire(new n.Event("move",r)),f&&this.fire(new n.Event("zoomstart",r)).fire(new n.Event("zoom",r)).fire(new n.Event("zoomend",r)),e&&this.fire(new n.Event("rotatestart",r)).fire(new n.Event("rotate",r)).fire(new n.Event("rotateend",r)),o&&this.fire(new n.Event("pitchstart",r)).fire(new n.Event("pitch",r)).fire(new n.Event("pitchend",r)),this.fire(new n.Event("moveend",r))},r.prototype.easeTo=function(t,r){var f=this;this.stop();!1===(t=n.extend({offset:[0,0],duration:500,easing:n.ease},t)).animate&&(t.duration=0);var u=this.transform,e=this.getZoom(),o=this.getBearing(),c=this.getPitch(),s="zoom"in t?+t.zoom:e,l="bearing"in t?this._normalizeBearing(t.bearing,o):o,a="pitch"in t?+t.pitch:c,v=u.centerPoint.add(n.Point.convert(t.offset)),y=u.pointLocation(v),p=i.convert(t.center||y);this._normalizeCenter(p);var h,w,b=u.project(y),d=u.project(p).sub(b),k=u.zoomScale(s-e);return t.around&&(h=i.convert(t.around),w=u.locationPoint(h)),this._zooming=s!==e,this._rotating=o!==l,this._pitching=a!==c,this._prepareEase(r,t.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(t){if(f._zooming&&(u.zoom=n.number(e,s,t)),f._rotating&&(u.bearing=n.number(o,l,t)),f._pitching&&(u.pitch=n.number(c,a,t)),h)u.setLocationAtPoint(h,w);else{var y=u.zoomScale(u.zoom-e),p=s>e?Math.min(2,k):Math.max(.5,k),g=Math.pow(p,1-t),i=u.unproject(b.add(d.mult(t*g)).mult(y));u.setLocationAtPoint(u.renderWorldCopies?i.wrap():i,v)}f._fireMoveEvents(r)},function(){t.delayEndEvents?f._easeEndTimeoutID=setTimeout(function(){return f._afterEase(r)},t.delayEndEvents):f._afterEase(r)},t),this},r.prototype._prepareEase=function(t,i){this._moving=!0;i||this.fire(new n.Event("movestart",t));this._zooming&&this.fire(new n.Event("zoomstart",t));this._rotating&&this.fire(new n.Event("rotatestart",t));this._pitching&&this.fire(new n.Event("pitchstart",t))},r.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))},r.prototype._afterEase=function(t){var i=this._zooming,r=this._rotating,u=this._pitching;this._moving=!1;this._zooming=!1;this._rotating=!1;this._pitching=!1;i&&this.fire(new n.Event("zoomend",t));r&&this.fire(new n.Event("rotateend",t));u&&this.fire(new n.Event("pitchend",t));this.fire(new n.Event("moveend",t))},r.prototype.flyTo=function(t,r){function et(n){var t=(o*o-e*e+(n?-1:1)*l*l*s*s)/(2*(n?o:e)*l*s);return Math.log(Math.sqrt(t*t+1)-t)}function ot(n){return(Math.exp(n)-Math.exp(-n))/2}function y(n){return(Math.exp(n)+Math.exp(-n))/2}var a=this,ut,ft,l,ct,lt;this.stop();t=n.extend({offset:[0,0],speed:1.2,curve:1.42,easing:n.ease},t);var u=this.transform,c=this.getZoom(),v=this.getBearing(),w=this.getPitch(),b="zoom"in t?n.clamp(+t.zoom,u.minZoom,u.maxZoom):c,k="bearing"in t?this._normalizeBearing(t.bearing,v):v,d="pitch"in t?+t.pitch:w,at=u.zoomScale(b-c),g=u.centerPoint.add(n.Point.convert(t.offset)),nt=u.pointLocation(g),tt=i.convert(t.center||nt);this._normalizeCenter(tt);var it=u.project(nt),rt=u.project(tt).sub(it),f=t.curve,e=Math.max(u.width,u.height),o=e/at,s=rt.mag();"minZoom"in t&&(ut=n.clamp(Math.min(t.minZoom,c,b),u.minZoom,u.maxZoom),ft=e/u.zoomScale(ut-c),f=Math.sqrt(ft/s*2));l=f*f;var h=et(0),st=function(n){return y(h)/y(h+f*n)},ht=function(n){return e*((y(h)*(ot(t=h+f*n)/y(t))-ot(h))/l)/s;var t},p=(et(1)-h)/f;if(Math.abs(s)<1e-6||!isFinite(p)){if(Math.abs(e-o)<1e-6)return this.easeTo(t,r);ct=o<e?-1:1;p=Math.abs(Math.log(o/e))/f;ht=function(){return 0};st=function(n){return Math.exp(ct*f*n)}}return"duration"in t?t.duration=+t.duration:(lt="screenSpeed"in t?+t.screenSpeed/f:+t.speed,t.duration=1e3*p/lt),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=v!==k,this._pitching=d!==w,this._prepareEase(r,!1),this._ease(function(t){var f=t*p,e=1/st(f),i;u.zoom=1===t?b:c+u.scaleZoom(e);a._rotating&&(u.bearing=n.number(v,k,t));a._pitching&&(u.pitch=n.number(w,d,t));i=u.unproject(it.add(rt.mult(ht(f))).mult(e));u.setLocationAtPoint(u.renderWorldCopies?i.wrap():i,g);a._fireMoveEvents(r)},function(){return a._afterEase(r)},t),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var n=this._onEaseEnd;delete this._onEaseEnd;n.call(this)}return this},r.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))},r.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()},r.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},r.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)},r}(n.Evented),ot=function(t){void 0===t&&(t={});this.options=t;n.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};ot.prototype.getDefaultPosition=function(){return"bottom-right"};ot.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"),i&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),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};ot.prototype.onRemove=function(){t.remove(this._container);this._map.off("sourcedata",this._updateData);this._map.off("moveend",this._updateEditLink);this._map.off("resize",this._updateCompact);this._map=void 0};ot.prototype._updateEditLink=function(){var n=this._editLink,t,i;n||(n=this._editLink=this._container.querySelector(".mapbox-improve-map"));t=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:v.ACCESS_TOKEN}];n&&(i=t.reduce(function(n,i,r){return i.value&&(n+=i.key+"="+i.value+(r<t.length-1?"&":"")),n},"?"),n.href="https://www.mapbox.com/feedback/"+i+(this._map._hash?this._map._hash.getHashString(!0):""))};ot.prototype._updateData=function(n){n&&"metadata"===n.sourceDataType&&(this._updateAttributions(),this._updateEditLink())};ot.prototype._updateAttributions=function(){var n,i,r,u,t;if(this._map.style){n=[];(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?n=n.concat(this.options.customAttribution):"string"==typeof this.options.customAttribution&&n.push(this.options.customAttribution)),this._map.style.stylesheet)&&(i=this._map.style.stylesheet,this.styleOwner=i.owner,this.styleId=i.id);r=this._map.style.sourceCaches;for(u in r)t=r[u].getSource(),t.attribution&&n.indexOf(t.attribution)<0&&n.push(t.attribution);n.sort(function(n,t){return n.length-t.length});(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})).length?(this._container.innerHTML=n.join(" | "),this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty");this._editLink=null}};ot.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};lt=function(){n.bindAll(["_updateLogo"],this);n.bindAll(["_updateCompact"],this)};lt.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.href="https://www.mapbox.com/",i.setAttribute("aria-label","Mapbox logo"),i.setAttribute("rel","noopener"),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};lt.prototype.onRemove=function(){t.remove(this._container);this._map.off("sourcedata",this._updateLogo);this._map.off("resize",this._updateCompact)};lt.prototype.getDefaultPosition=function(){return"bottom-left"};lt.prototype._updateLogo=function(n){n&&"metadata"!==n.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")};lt.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}};lt.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"))};ui=function(){this._queue=[];this._id=0;this._cleared=!1;this._currentlyRunning=!1};ui.prototype.add=function(n){var t=++this._id;return this._queue.push({callback:n,id:t,cancelled:!1}),t};ui.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)};ui.prototype.run=function(){var r=this._currentlyRunning=this._queue,n,t,i;for(this._queue=[],n=0,t=r;n<t.length;n+=1)if(i=t[n],!i.cancelled&&(i.callback(),this._cleared))break;this._cleared=!1;this._currentlyRunning=!1};ui.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0);this._queue=[]};var pc=n.window.HTMLImageElement,wc=n.window.HTMLElement,bc={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,clickTolerance:3,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300,crossSourceCollisions:!0},kc=function(r){function e(i){var f=this,o,e;if(null!=(i=n.extend({},bc,i)).minZoom&&null!=i.maxZoom&&i.minZoom>i.maxZoom)throw new Error("maxZoom must be greater than minZoom");if(o=new u(i.minZoom,i.maxZoom,i.renderWorldCopies),r.call(this,o,i),this._interactive=i.interactive,this._maxTileCacheSize=i.maxTileCacheSize,this._failIfMajorPerformanceCaveat=i.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=i.preserveDrawingBuffer,this._trackResize=i.trackResize,this._bearingSnap=i.bearingSnap,this._refreshExpiredTiles=i.refreshExpiredTiles,this._fadeDuration=i.fadeDuration,this._crossSourceCollisions=i.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=i.collectResourceTiming,this._renderTaskQueue=new ui,this._controls=[],e=i.transformRequest,this._transformRequest=e?function(n,t){return e(n,t)||{url:n}}:function(n){return{url:n}},"string"==typeof i.container){if(this._container=n.window.document.getElementById(i.container),!this._container)throw new Error("Container '"+i.container+"' not found.");}else{if(!(i.container instanceof wc))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=i.container}if(i.maxBounds&&this.setMaxBounds(i.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 f._update(!1)});this.on("zoom",function(){return f._update(!0)});void 0!==n.window&&(n.window.addEventListener("online",this._onWindowOnline,!1),n.window.addEventListener("resize",this._onWindowResize,!1)),function(n,i){var r=n.getCanvasContainer(),f=null,e=!1,o=null;for(var u in is)n[u]=new is[u](n,i),i.interactive&&i[u]&&n[u].enable(i[u]);t.addEventListener(r,"mouseout",function(t){n.fire(new d("mouseout",n,t))});t.addEventListener(r,"mousedown",function(u){e=!0;o=t.mousePos(r,u);var f=new d("mousedown",n,u);n.fire(f);f.defaultPrevented||(i.interactive&&!n.doubleClickZoom.isActive()&&n.stop(),n.boxZoom.onMouseDown(u),n.boxZoom.isActive()||n.dragPan.isActive()||n.dragRotate.onMouseDown(u),n.boxZoom.isActive()||n.dragRotate.isActive()||n.dragPan.onMouseDown(u))});t.addEventListener(r,"mouseup",function(t){var i=n.dragRotate.isActive();f&&!i&&n.fire(new d("contextmenu",n,f));f=null;e=!1;n.fire(new d("mouseup",n,t))});t.addEventListener(r,"mousemove",function(t){if(!n.dragPan.isActive()&&!n.dragRotate.isActive()){for(var i=t.target;i&&i!==r;)i=i.parentNode;i===r&&n.fire(new d("mousemove",n,t))}});t.addEventListener(r,"mouseover",function(t){for(var i=t.target;i&&i!==r;)i=i.parentNode;i===r&&n.fire(new d("mouseover",n,t))});t.addEventListener(r,"touchstart",function(t){var r=new vu("touchstart",n,t);n.fire(r);r.defaultPrevented||(i.interactive&&n.stop(),n.boxZoom.isActive()||n.dragRotate.isActive()||n.dragPan.onTouchStart(t),n.touchZoomRotate.onStart(t),n.doubleClickZoom.onTouchStart(r))},{passive:!1});t.addEventListener(r,"touchmove",function(t){n.fire(new vu("touchmove",n,t))},{passive:!1});t.addEventListener(r,"touchend",function(t){n.fire(new vu("touchend",n,t))});t.addEventListener(r,"touchcancel",function(t){n.fire(new vu("touchcancel",n,t))});t.addEventListener(r,"click",function(u){var f=t.mousePos(r,u);(f.equals(o)||f.dist(o)<i.clickTolerance)&&n.fire(new d("click",n,u))});t.addEventListener(r,"dblclick",function(t){var i=new d("dblclick",n,t);n.fire(i);i.defaultPrevented||n.doubleClickZoom.onDblClick(i)});t.addEventListener(r,"contextmenu",function(t){var i=n.dragRotate.isActive();e||i?e&&(f=t):n.fire(new d("contextmenu",n,t));t.preventDefault()});t.addEventListener(r,"wheel",function(t){i.interactive&&n.stop();var r=new ac("wheel",n,t);n.fire(r);r.defaultPrevented||n.scrollZoom.onWheel(t)},{passive:!1})}(this,i);this._hash=i.hash&&(new bt).addTo(this);this._hash&&this._hash._onHashChange()||this.jumpTo({center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch});this.resize();i.style&&this.setStyle(i.style,{localIdeographFontFamily:i.localIdeographFontFamily});i.attributionControl&&this.addControl(new ot({customAttribution:i.customAttribution}));this.addControl(new lt,i.logoPosition);this.on("style.load",function(){f.transform.unmodified&&f.jumpTo(f.style.stylesheet)});this.on("data",function(t){f._update("style"===t.dataType);f.fire(new n.Event(t.dataType+"data",t))});this.on("dataloading",function(t){f.fire(new n.Event(t.dataType+"dataloading",t))})}r&&(e.__proto__=r);e.prototype=Object.create(r&&r.prototype);e.prototype.constructor=e;var o={showTileBoundaries:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0}};return e.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)},e.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},e.prototype.resize=function(t){var u=this._containerDimensions(),i=u[0],r=u[1];return this._resizeCanvas(i,r),this.transform.resize(i,r),this.painter.resize(i,r),this.fire(new n.Event("movestart",t)).fire(new n.Event("move",t)).fire(new n.Event("resize",t)).fire(new n.Event("moveend",t)),this},e.prototype.getBounds=function(){return this.transform.getBounds()},e.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},e.prototype.setMaxBounds=function(n){return this.transform.setMaxBounds(f.convert(n)),this._update()},e.prototype.setMinZoom=function(n){if((n=null==n?0:n)>=0&&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 0 and the current maxZoom, inclusive");},e.prototype.getMinZoom=function(){return this.transform.minZoom},e.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");},e.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},e.prototype.setRenderWorldCopies=function(n){return this.transform.renderWorldCopies=n,this._update()},e.prototype.getMaxZoom=function(){return this.transform.maxZoom},e.prototype.project=function(n){return this.transform.locationPoint(i.convert(n))},e.prototype.unproject=function(t){return this.transform.pointLocation(n.Point.convert(t))},e.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},e.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isActive()},e.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},e.prototype.on=function(n,t,i){var e,u=this,f,o;if(void 0===i)return r.prototype.on.call(this,n,t);f=function(){var f,r;return"mouseenter"===n||"mouseover"===n?(f=!1,{layer:t,listener:i,delegates:{mousemove:function(r){var e=u.getLayer(t)?u.queryRenderedFeatures(r.point,{layers:[t]}):[];e.length?f||(f=!0,i.call(u,new d(n,u,r.originalEvent,{features:e}))):f=!1},mouseout:function(){f=!1}}}):"mouseleave"===n||"mouseout"===n?(r=!1,{layer:t,listener:i,delegates:{mousemove:function(f){(u.getLayer(t)?u.queryRenderedFeatures(f.point,{layers:[t]}):[]).length?r=!0:r&&(r=!1,i.call(u,new d(n,u,f.originalEvent)))},mouseout:function(t){r&&(r=!1,i.call(u,new d(n,u,t.originalEvent)))}}}):{layer:t,listener:i,delegates:(e={},e[n]=function(n){var r=u.getLayer(t)?u.queryRenderedFeatures(n.point,{layers:[t]}):[];r.length&&(n.features=r,i.call(u,n),delete n.features)},e)}}();for(o in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[n]=this._delegatedListeners[n]||[],this._delegatedListeners[n].push(f),f.delegates)u.on(o,f.delegates[o]);return this},e.prototype.off=function(n,t,i){var e,u,f,o;if(void 0===i)return r.prototype.off.call(this,n,t);if(this._delegatedListeners&&this._delegatedListeners[n])for(e=this._delegatedListeners[n],u=0;u<e.length;u++)if(f=e[u],f.layer===t&&f.listener===i){for(o in f.delegates)this.off(o,f.delegates[o]);return e.splice(u,1),this}return this},e.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)):[]},e.prototype.querySourceFeatures=function(n,t){return this.style.querySourceFeatures(n,t)},e.prototype.setStyle=function(t,i){if((!i||!1!==i.diff&&!i.localIdeographFontFamily)&&this.style&&t&&"object"==typeof t)try{return this.style.setState(t)&&this._update(!0),this}catch(t){n.warnOnce("Unable to perform style diff: "+(t.message||t.error||t)+".  Rebuilding the style from scratch.")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new pi(this,i||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},e.prototype.getStyle=function(){if(this.style)return this.style.serialize()},e.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():n.warnOnce("There is no style added to the map.")},e.prototype.addSource=function(n,t){return this.style.addSource(n,t),this._update(!0)},e.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+"'")))},e.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},e.prototype.addSourceType=function(n,t,i){return this.style.addSourceType(n,t,i)},e.prototype.removeSource=function(n){return this.style.removeSource(n),this._update(!0)},e.prototype.getSource=function(n){return this.style.getSource(n)},e.prototype.addImage=function(t,i,r){var u,f;if(void 0===r&&(r={}),u=r.pixelRatio,void 0===u&&(u=1),f=r.sdf,void 0===f&&(f=!1),i instanceof pc){var e=n.browser.getImageData(i),o=e.width,s=e.height,h=e.data;this.style.addImage(t,{data:new n.RGBAImage({width:o,height:s},h),pixelRatio:u,sdf:f})}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`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var c=i.width,l=i.height,a=i.data;this.style.addImage(t,{data:new n.RGBAImage({width:c,height:l},new Uint8Array(a)),pixelRatio:u,sdf:f})}},e.prototype.hasImage=function(t){return t?!!this.style.getImage(t):(this.fire(new n.ErrorEvent(new Error("Missing required image id"))),!1)},e.prototype.removeImage=function(n){this.style.removeImage(n)},e.prototype.loadImage=function(t,i){n.getImage(this._transformRequest(t,n.ResourceType.Image),i)},e.prototype.listImages=function(){return this.style.listImages()},e.prototype.addLayer=function(n,t){return this.style.addLayer(n,t),this._update(!0)},e.prototype.moveLayer=function(n,t){return this.style.moveLayer(n,t),this._update(!0)},e.prototype.removeLayer=function(n){return this.style.removeLayer(n),this._update(!0)},e.prototype.getLayer=function(n){return this.style.getLayer(n)},e.prototype.setFilter=function(n,t){return this.style.setFilter(n,t),this._update(!0)},e.prototype.setLayerZoomRange=function(n,t,i){return this.style.setLayerZoomRange(n,t,i),this._update(!0)},e.prototype.getFilter=function(n){return this.style.getFilter(n)},e.prototype.setPaintProperty=function(n,t,i){return this.style.setPaintProperty(n,t,i),this._update(!0)},e.prototype.getPaintProperty=function(n,t){return this.style.getPaintProperty(n,t)},e.prototype.setLayoutProperty=function(n,t,i){return this.style.setLayoutProperty(n,t,i),this._update(!0)},e.prototype.getLayoutProperty=function(n,t){return this.style.getLayoutProperty(n,t)},e.prototype.setLight=function(n){return this.style.setLight(n),this._update(!0)},e.prototype.getLight=function(){return this.style.getLight()},e.prototype.setFeatureState=function(n,t){return this.style.setFeatureState(n,t),this._update()},e.prototype.getFeatureState=function(n){return this.style.getFeatureState(n)},e.prototype.getContainer=function(){return this._container},e.prototype.getCanvasContainer=function(){return this._canvasContainer},e.prototype.getCanvas=function(){return this._canvas},e.prototype._containerDimensions=function(){var n=0,t=0;return this._container&&(n=this._container.offsetWidth||400,t=this._container.offsetHeight||300),[n,t]},e.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/.")},e.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.style.position="absolute";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)})},e.prototype._resizeCanvas=function(t,i){var r=n.window.devicePixelRatio||1;this._canvas.width=r*t;this._canvas.height=r*i;this._canvas.style.width=t+"px";this._canvas.style.height=i+"px"},e.prototype._setupPainter=function(){var t=n.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},wu.webGLContextAttributes),i=this._canvas.getContext("webgl",t)||this._canvas.getContext("experimental-webgl",t);i?this.painter=new y(i,this.transform):this.fire(new n.ErrorEvent(new Error("Failed to initialize WebGL")))},e.prototype._contextLost=function(t){t.preventDefault();this._frame&&(this._frame.cancel(),this._frame=null);this.fire(new n.Event("webglcontextlost",{originalEvent:t}))},e.prototype._contextRestored=function(t){this._setupPainter();this.resize();this._update();this.fire(new n.Event("webglcontextrestored",{originalEvent:t}))},e.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},e.prototype._update=function(n){return this.style?(this._styleDirty=this._styleDirty||n,this._sourcesDirty=!0,this._rerender(),this):this},e.prototype._requestRenderFrame=function(n){return this._update(),this._renderTaskQueue.add(n)},e.prototype._cancelRenderFrame=function(n){this._renderTaskQueue.remove(n)},e.prototype._render=function(){var i,r,u,f,t;return this._renderTaskQueue.run(),i=!1,this.style&&this._styleDirty&&(this._styleDirty=!1,r=this.transform.zoom,u=n.browser.now(),this.style.zoomHistory.update(r,u),f=new n.EvaluationParameters(r,{now:u,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),t=f.crossFadingFactor(),1===t&&t===this._crossFadingFactor||(i=!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(),fadeDuration:this._fadeDuration}),this.fire(new n.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new n.Event("load"))),this.style&&(this.style.hasTransitions()||i)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},e.prototype.remove=function(){var t,i,r;for(this._hash&&this._hash.remove(),this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.setStyle(null),void 0!==n.window&&(n.window.removeEventListener("resize",this._onWindowResize,!1),n.window.removeEventListener("online",this._onWindowOnline,!1)),t=0,i=this._controls;t<i.length;t+=1)i[t].onRemove(this);this._controls=[];r=this.painter.context.gl.getExtension("WEBGL_lose_context");r&&r.loseContext();bf(this._canvasContainer);bf(this._controlContainer);bf(this._missingCSSCanary);this._container.classList.remove("mapboxgl-map");this.fire(new n.Event("remove"))},e.prototype._rerender=function(){var t=this;this.style&&!this._frame&&(this._frame=n.browser.frame(function(){t._frame=null;t._render()}))},e.prototype._onWindowOnline=function(){this._update()},e.prototype._onWindowResize=function(){this._trackResize&&this.resize()._update()},o.showTileBoundaries.get=function(){return!!this._showTileBoundaries},o.showTileBoundaries.set=function(n){this._showTileBoundaries!==n&&(this._showTileBoundaries=n,this._update())},o.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},o.showCollisionBoxes.set=function(n){this._showCollisionBoxes!==n&&(this._showCollisionBoxes=n,n?this.style._generateCollisionBoxes():this._update())},o.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},o.showOverdrawInspector.set=function(n){this._showOverdrawInspector!==n&&(this._showOverdrawInspector=n,this._update())},o.repaint.get=function(){return!!this._repaint},o.repaint.set=function(n){this._repaint=n;this._update()},o.vertices.get=function(){return!!this._vertices},o.vertices.set=function(n){this._vertices=n;this._update()},Object.defineProperties(e.prototype,o),e}(yc);rs={showCompass:!0,showZoom:!0};fi=function(i){var r=this;this.options=n.extend({},rs,i);this._container=t.create("div","mapboxgl-ctrl mapboxgl-ctrl-group");this._container.addEventListener("contextmenu",function(n){return n.preventDefault()});this.options.showZoom&&(this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom In",function(){return r._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom Out",function(){return r._map.zoomOut()}));this.options.showCompass&&(n.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset North",function(){return r._map.resetNorth()}),this._compassArrow=t.create("span","mapboxgl-ctrl-compass-arrow",this._compass))};fi.prototype._rotateCompassArrow=function(){var n="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=n};fi.prototype.onAdd=function(n){return this._map=n,this.options.showCompass&&(this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new a(n,{button:"left",element:this._compass}),t.addEventListener(this._compass,"mousedown",this._handler.onMouseDown),this._handler.enable()),this._container};fi.prototype.onRemove=function(){t.remove(this._container);this.options.showCompass&&(this._map.off("rotate",this._rotateCompassArrow),t.removeEventListener(this._compass,"mousedown",this._handler.onMouseDown),this._handler.disable(),delete this._handler);delete this._map};fi.prototype._createButton=function(n,i,r){var u=t.create("button",n,this._container);return u.type="button",u.setAttribute("aria-label",i),u.addEventListener("click",r),u};yu={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 ei,es=function(r){function u(i){var o,h,u,c,v,w,b,f,y,k,l,d,p,a,e,s;if(r.call(this),(arguments[0]instanceof n.window.HTMLElement||2===arguments.length)&&(i=n.extend({element:i},arguments[1])),n.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick"],this),this._anchor=i&&i.anchor||"center",this._color=i&&i.color||"#3FB1CE",this._draggable=i&&i.draggable||!1,this._state="inactive",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"),o=t.createNS("http://www.w3.org/2000/svg","svg"),o.setAttributeNS(null,"height","41px"),o.setAttributeNS(null,"width","27px"),o.setAttributeNS(null,"viewBox","0 0 27 41"),h=t.createNS("http://www.w3.org/2000/svg","g"),h.setAttributeNS(null,"stroke","none"),h.setAttributeNS(null,"stroke-width","1"),h.setAttributeNS(null,"fill","none"),h.setAttributeNS(null,"fill-rule","evenodd"),u=t.createNS("http://www.w3.org/2000/svg","g"),u.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"),v=0,w=[{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"}];v<w.length;v+=1)b=w[v],f=t.createNS("http://www.w3.org/2000/svg","ellipse"),f.setAttributeNS(null,"opacity","0.04"),f.setAttributeNS(null,"cx","10.5"),f.setAttributeNS(null,"cy","5.80029008"),f.setAttributeNS(null,"rx",b.rx),f.setAttributeNS(null,"ry",b.ry),c.appendChild(f);y=t.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"fill",this._color);k=t.createNS("http://www.w3.org/2000/svg","path");k.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");y.appendChild(k);l=t.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"opacity","0.25");l.setAttributeNS(null,"fill","#000000");d=t.createNS("http://www.w3.org/2000/svg","path");d.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(d);p=t.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"transform","translate(6.0, 7.0)");p.setAttributeNS(null,"fill","#FFFFFF");a=t.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"transform","translate(8.0, 8.0)");e=t.createNS("http://www.w3.org/2000/svg","circle");e.setAttributeNS(null,"fill","#000000");e.setAttributeNS(null,"opacity","0.25");e.setAttributeNS(null,"cx","5.5");e.setAttributeNS(null,"cy","5.5");e.setAttributeNS(null,"r","5.4999962");s=t.createNS("http://www.w3.org/2000/svg","circle");s.setAttributeNS(null,"fill","#FFFFFF");s.setAttributeNS(null,"cx","5.5");s.setAttributeNS(null,"cy","5.5");s.setAttributeNS(null,"r","5.4999962");a.appendChild(e);a.appendChild(s);u.appendChild(c);u.appendChild(y);u.appendChild(l);u.appendChild(p);u.appendChild(a);o.appendChild(u);this._element.appendChild(o);this._offset=n.Point.convert(i&&i.offset||[0,-14])}this._element.classList.add("mapboxgl-marker");this._popup=null}return r&&(u.__proto__=r),u.prototype=Object.create(r&&r.prototype),u.prototype.constructor=u,u.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},u.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),delete this._map),t.remove(this._element),this._popup&&this._popup.remove(),this},u.prototype.getLngLat=function(){return this._lngLat},u.prototype.setLngLat=function(n){return this._lngLat=i.convert(n),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},u.prototype.getElement=function(){return this._element},u.prototype.setPopup=function(n){if(this._popup&&(this._popup.remove(),this._popup=null),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)}return this},u.prototype._onMapClick=function(n){var t=n.originalEvent.target,i=this._element;this._popup&&(t===i||i.contains(t))&&this.togglePopup()},u.prototype.getPopup=function(){return this._popup},u.prototype.togglePopup=function(){var n=this._popup;return n?(n.isOpen()?n.remove():n.addTo(this._map),this):this},u.prototype._update=function(n){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=us(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),n&&"moveend"!==n.type||(this._pos=this._pos.round()),t.setTransform(this._element,yu[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px)"),fs(this._element,this._anchor,"marker"))},u.prototype.getOffset=function(){return this._offset},u.prototype.setOffset=function(t){return this._offset=n.Point.convert(t),this._update(),this},u.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"))},u.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"},u.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))},u.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},u.prototype.isDraggable=function(){return this._draggable},u}(n.Evented),dc={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},gc=function(r){function u(t){r.call(this);this.options=n.extend({},dc,t);n.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return r&&(u.__proto__=r),u.prototype=Object.create(r&&r.prototype),u.prototype.constructor=u,u.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!==ei?r(ei):void 0!==n.window.navigator.permissions?n.window.navigator.permissions.query({name:"geolocation"}).then(function(n){ei="denied"!==n.state;r(ei)}):(ei=!!n.window.navigator.geolocation,r(ei)),this._container},u.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();t.remove(this._container);this._map=void 0},u.prototype._onSuccess=function(t){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()},u.prototype._updateCamera=function(n){var t=new i(n.coords.longitude,n.coords.latitude),r=n.coords.accuracy;this._map.fitBounds(t.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},u.prototype._updateMarker=function(n){n?this._userLocationDotMarker.setLngLat([n.coords.longitude,n.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},u.prototype._onError=function(t){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"),void 0!==this._geolocationWatchID&&this._clearWatch();else 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")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale");this.fire(new n.Event("error",t));this._finish()},u.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId);this._timeoutId=void 0},u.prototype._setupUI=function(i){var r=this;!1!==i?(this._container.addEventListener("contextmenu",function(n){return n.preventDefault()}),this._geolocateButton=t.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),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 es(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),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||(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")))})):n.warnOnce("Geolocation support is not available, the GeolocateControl will not be visible.")},u.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":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")}"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"),this._geolocationWatchID=n.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else n.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},u.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)},u}(n.Evented),nl={maxWidth:100,unit:"metric"},oi=function(t){this.options=n.extend({},nl,t);n.bindAll(["_onMove","setUnit"],this)};oi.prototype.getDefaultPosition=function(){return"bottom-left"};oi.prototype._onMove=function(){os(this._map,this._container,this.options)};oi.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};oi.prototype.onRemove=function(){t.remove(this._container);this._map.off("move",this._onMove);this._map=void 0};oi.prototype.setUnit=function(n){this.options.unit=n;os(this._map,this._container,this.options)};st=function(){this._fullscreen=!1;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");this._className="mapboxgl-ctrl"};st.prototype.onAdd=function(i){return this._map=i,this._mapContainer=this._map.getContainer(),this._container=t.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display="none",n.warnOnce("This device does not support fullscreen mode.")),this._container};st.prototype.onRemove=function(){t.remove(this._container);this._map=null;n.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)};st.prototype._checkFullscreenSupport=function(){return!!(n.window.document.fullscreenEnabled||n.window.document.mozFullScreenEnabled||n.window.document.msFullscreenEnabled||n.window.document.webkitFullscreenEnabled)};st.prototype._setupUI=function(){var i=this._fullscreenButton=t.create("button",this._className+"-icon "+this._className+"-fullscreen",this._container);i.setAttribute("aria-label","Toggle fullscreen");i.type="button";this._fullscreenButton.addEventListener("click",this._onClickFullscreen);n.window.document.addEventListener(this._fullscreenchange,this._changeIcon)};st.prototype._isFullscreen=function(){return this._fullscreen};st.prototype._changeIcon=function(){(n.window.document.fullscreenElement||n.window.document.mozFullScreenElement||n.window.document.webkitFullscreenElement||n.window.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"))};st.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._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()};var tl={closeButton:!0,closeOnClick:!0,className:""},il=function(r){function u(t){r.call(this);this.options=n.extend(Object.create(tl),t);n.bindAll(["_update","_onClickClose"],this)}return r&&(u.__proto__=r),u.prototype=Object.create(r&&r.prototype),u.prototype.constructor=u,u.prototype.addTo=function(t){return this._map=t,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this.fire(new n.Event("open")),this},u.prototype.isOpen=function(){return!!this._map},u.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("click",this._onClickClose),delete this._map),this.fire(new n.Event("close")),this},u.prototype.getLngLat=function(){return this._lngLat},u.prototype.setLngLat=function(n){return this._lngLat=i.convert(n),this._pos=null,this._update(),this},u.prototype.setText=function(t){return this.setDOMContent(n.window.document.createTextNode(t))},u.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)},u.prototype.setDOMContent=function(n){return this._createContent(),this._content.appendChild(n),this._update(),this},u.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._onClickClose))},u.prototype._update=function(){var s=this,u,f,e,o;if(this._map&&this._lngLat&&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 s._container.classList.add(n)}));this._map.transform.renderWorldCopies&&(this._lngLat=us(this._lngLat,this._pos,this._map.transform));var i=this._pos=this._map.project(this._lngLat),r=this.options.anchor,h=function s(t){var r,i;return t?"number"==typeof t?(r=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(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)}):t instanceof n.Point||Array.isArray(t)?(i=n.Point.convert(t),{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}):{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])}:s(new n.Point(0,0))}(this.options.offset);r||(f=this._container.offsetWidth,e=this._container.offsetHeight,u=i.y+h.bottom.y<e?["top"]:i.y>this._map.transform.height-e?["bottom"]:[],i.x<f/2?u.push("left"):i.x>this._map.transform.width-f/2&&u.push("right"),r=0===u.length?"bottom":u.join("-"));o=i.add(h[r]).round();t.setTransform(this._container,yu[r]+" translate("+o.x+"px,"+o.y+"px)");fs(this._container,r,"popup")}},u.prototype._onClickClose=function(){this.remove()},u}(n.Evented),ss={version:"0.48.0",supported:wu,setRTLTextPlugin:n.setRTLTextPlugin,Map:kc,NavigationControl:fi,GeolocateControl:gc,AttributionControl:ot,ScaleControl:oi,FullscreenControl:st,Popup:il,Marker:es,Style:pi,LngLat:i,LngLatBounds:f,Point:n.Point,Evented:n.Evented,config:v,get accessToken(){return v.ACCESS_TOKEN},set accessToken(n){v.ACCESS_TOKEN=n},get workerCount(){return ht.workerCount},set workerCount(n){ht.workerCount=n},workerUrl:""};return ss}),i});$(function(){ggzJS.init()});var ggzJS={init:function(){this.isIOS();this.plugins();this.events();this.enquireEvents();this.bgEvents();this.tvtMoreEvents()},plugins:function(){var t=this,n;$(".home-slider").slick({fade:!0,autoplay:!0,arrows:!1,pauseOnHover:!1,pauseOnFocus:!1,accessibility:!1});$(".ss-box .ssb-content").length>0&&$(".ss-box .ssb-content").each(function(n){t["ssScroll"+n]=new PerfectScrollbar(this,{wheelPropagation:!0})});$(".article-features > li").matchHeight();n=$(".article-pcs");n.lightGallery({selector:"a",share:!1,download:!1,thumbnail:!1,getCaptionFromTitleOrAlt:!1});n.on("onAfterOpen.lg",function(){$(".lg-fullscreen").attr("title","Puni ekran");$(".lg-autoplay-button ").attr("title","Autoplay");$(".lg-close ").attr("title","Zatvori");$("#lg-actual-size").attr("title","Stvarna veličina");$("#lg-zoom-out").attr("title","Smanji");$("#lg-zoom-in").attr("title","Povećaj");$("#lg-share").attr("title","Dijeli");$("#lg-download").attr("title","Preuzmi")})},events:function(){var n=this;$(".agi-title").on("click",function(){$(this).parent().toggleClass("active").siblings().removeClass("active").children(".agi-content:visible").slideUp();$(this).siblings().stop().slideToggle()});$(".mh-menu > li > a").on("click",function(n){$(this).attr("href")=="#"&&n.preventDefault()});$(".mh-search").on("click",function(){$("html").addClass("no-scroll");$(".overlay-search").addClass("active");$(".search-input").focus()});$(".overlay-close").on("click",function(){$("html").removeClass("no-scroll");$(this).closest(".overlay").removeClass("active")});$(document).on("keyup",function(n){n.keyCode===27&&($(".overlay-search.active").removeClass("active"),$("html.no-scroll").removeClass("no-scroll"))})},enquireEvents:function(){var n=this;enquire.register("only screen and (max-width: 991px)",{match:function(){$.each($("input[data-short-placeholder]"),function(){$(this).data("placeholder")===undefined&&$(this).data("placeholder",$(this).attr("placeholder"));$(this).attr("placeholder",$(this).data("short-placeholder"))})},unmatch:function(){$.each($("input[data-short-placeholder]"),function(){$(this).attr("placeholder",$(this).data("placeholder"))})},setup:function(){$('<div class="mob-sidebar" />').append($('<div class="mob-sidebar-header" />').append($(".lang-switcher").clone().attr("class","mob-sidebar-lang"),'<div class="mob-sidebar-close icon-close"><\/div>'),$(".mh-menu").clone().attr("class","mob-sidebar-menu")).appendTo("body");$(".mob-sidebar-menu .mh-submenu").attr("class","mob-sidebar-submenu");$("body").append('<div class="mob-sidebar-overlay"><\/div>');$(".mob-sidebar-menu > li > a").on("click",function(n){$(this).attr("href")=="#"&&n.preventDefault();$(this).siblings().slideToggle().parent().siblings().children(".mob-sidebar-submenu:visible").slideUp()});$(".mob-sidebar-btn").on("click",function(){$("html").addClass("mob-sidebar-active")});$(".mob-sidebar-overlay, .mob-sidebar-close").on("click",function(){$("html").removeClass("mob-sidebar-active")})},deferSetup:!0});enquire.register("only screen and (min-width: 768px)",{match:function(){$(".ns-container").on("init",function(){}).slick({speed:700,swipe:!1,variableWidth:!0,infinite:!0,pauseOnHover:!1,pauseOnFocus:!1,accessibility:!1,prevArrow:'<button type="button" class="slick-prev icon-chevron-right"><\/button>',nextArrow:'<button type="button" class="slick-next icon-chevron-right"><\/button>'});$(".ns-container .slick-arrow").unbind();$(".ns-container .slick-next").on("click",function(){$(".ns-container").slick("slickNext")});$(".ns-container .slick-prev").on("click",function(){$(".ns-container").slick("slickPrev")});$(".ss-container").slick({slidesToShow:2,slidesToScroll:2,swipe:!1,accessibility:!1,appendArrows:$(".ss-arrows"),prevArrow:'<button type="button" class="slick-prev icon-chevron-right"><\/button>',nextArrow:'<button type="button" class="slick-next icon-chevron-right"><\/button>',infinite:!1,responsive:[{breakpoint:992,settings:{slidesToShow:1,slidesToScroll:1}}]});$(".ss-box .ssb-content").each(function(t){n["ssScroll"+t].update()});$("body:not(.subpage) .tv-container").length==1&&n.tvScroll.update()},unmatch:function(){$(".ns-container").slick("unslick");$(".ss-container").slick("unslick");$(".ss-box .ssb-content").each(function(t){n["ssScroll"+t].update()});$("body:not(.subpage) .tv-container").length==1&&n.tvScroll.update()}});enquire.register("only screen and (max-width: 767px)",{match:function(){},unmatch:function(){},setup:function(){$(".side-box > .sb-menu").length==1&&$(".ac-col:first-child").prepend(n.createSelect($(".side-box > .sb-menu").eq(0)))},deferSetup:!0})},bgEvents:function(){var n="ontouchstart"in window?"touchend":"mousedown";$(document).on(n,function(n){var t=$(".search-wrap, .search-btn");t.is(n.target)||t.has(n.target).length!==0||$(".search-wrap:visible").slideUp("200")})},tvtMoreEvents:function(){var n=this;this.customScroller();$(".tvt-more").on("click",function(){$(this).toggleClass("active").siblings(".tvt-content").slideToggle(300,function(){$("body:not(.subpage) .tv-container").length==1&&n.tvScroll.update()})})},isIOS:function(){/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream&&$("html").addClass("ios-device")},createSelect:function(n){var t=$('<div class="mob-select" />'),i=$(n).clone().attr("class","ms-menu");t.append($('<div class="ms-active" />').append(i.find("li.active > a").text()),i).find("li.active").remove();t.find(".ms-active").on("click",function(){t.find(".ms-menu").stop().slideToggle(300).end().toggleClass("active")});return t},customScroller:function(){$("body:not(.subpage) .tv-container").length==1&&(this.tvScroll=new PerfectScrollbar(".tv-container",{wheelPropagation:!0,suppressScrollX:!0}))}},testMarkers={};$(document).ready(function(){function r(n,t,i){var r="";return t[1]||(t[1]=dansDatum),r=n+"?"+t[0]+"="+t[1],i[1]&&(r+="&"+i[0]+"="+i[1]),r}function f(n,t){return n+"?"+t[0]+"="+t[1]}var i,t,u,n;rqstAjdi==15&&(/iPhone|iPad|iPod/i.test(navigator.userAgent)&&setTimeout(function(){window.location.assign("https://www.axiomgis.com/Zagreb/TraziPok.html?IsMobile=True","_blank")},2e3),/Android/i.test(navigator.userAgent)&&setTimeout(function(){window.location.assign("https://www.axiomgis.com/Zagreb/TraziPok.html?IsMobile=True","_blank")},2e3));$(".mjesecBtnKlik").on("click",function(){console.log(1);$(".active").removeClass("active");$(this).addClass("active")});if($(".search-input").val(),i=["datum",getParameterByName("datum",window.location.href)],t=["grobljeNaziv",getParameterByName("grobljeNaziv",window.location.href)],$("#RasporedSprovodIspracaj").length>0)$("#RasporedSprovodIspracaj .filterSprovodi").on("click",function(){var u=$(this).attr("data-val"),n;i[1]=u;n=location.href;n=n.substring(0,n.indexOf("?"));n=r(n,i,t);window.location.href=n});if($(".bubble-menu").length>0){$(".bubble-menu .filterGroblja").on("click",function(){var u=$(this).attr("data-val"),n;t[1]=u;n=location.href;n=n.substring(0,n.indexOf("?"));n=r(n,i,t);window.location.href=n});$(".bubble-menu .nazivGroblja ").on("click",function(){var i=$(this).attr("data-val"),n;t[1]=i;n=location.href;n=n.substring(0,n.indexOf("?"));n=f(n,t);window.location.href=n+"#Raspored"})}if($("#ispisiVremeplov")&&(u=$("li.active.mjesecBtn").attr("data-kojiid"),$.ajax({type:"GET",url:prefix+"default.aspx?ajax=dohvatiVremeplov",data:"mjesec="+uzmiMjesecS+"&kojiID="+u,success:function(n){$("#ispisiVremeplov").empty();$("#ispisiVremeplov").html(n);ggzJS.tvtMoreEvents()}})),$("#mapa-mireo").length>0){n=new mapboxgl.Map({container:"mapa-mireo",style:prefix+"mapa/mireo-style.json",center:{lng:16.000851413745295,lat:45.813458941206022},zoom:8});n.on("load",function(){e()});function e(){$.ajax({url:prefix+"generirajPinoveNaKarti.aspx",dataType:"json",method:"POST",cache:!1}).done(function(t){var i,r;n.addSource("locations",{type:"geojson",data:t});i=[];t.features.map(function(n){i.push(n.geometry.coordinates)});r=i.reduce(function(n,t){return n.extend(t)},new mapboxgl.LngLatBounds(i[0],i[0]));n.fitBounds(r,{padding:20,maxZoom:13,duration:0});t.features.forEach(function(t){var i=document.createElement("div"),r,u;i.className="mireo-marker";var f=new mapboxgl.Marker(i).setLngLat(t.geometry.coordinates).addTo(n),e=t.geometry.coordinates[0].toString()+","+t.geometry.coordinates[1].toString();testMarkers[e]=f;r="";r=t.properties.url!=null&&t.properties.url!=undefined&&t.properties.url!=""?"<div><a href='"+t.properties.url+"'>Više<\/a><\/div>":"";u=["<span class='navsml'>","<strong style='font-size:13px;'>",t.properties.name,"<\/strong><br /><br />","<p>",t.properties.opis,"<\/p><br />",r,"<div style='height:7px;'><\/div>","<\/span>"];new mapboxgl.Marker(i).setLngLat(t.geometry.coordinates).setPopup(new mapboxgl.Popup({offset:25}).setHTML(u.join(""))).addTo(n)});$(".kartaKlik").click(function(){var t,i,u,r;$(".kartaKlik").removeClass("active");$(this).addClass("active");t=$(this).attr("data-val-x");i=$(this).attr("data-val-y");n.flyTo({center:[t,i],zoom:13,duration:0});u=testMarkers[t+","+i];for(r in testMarkers)testMarkers.hasOwnProperty(r)&&testMarkers[r]._element.classList.remove("active");u._element.classList.add("active")})}).fail(function(){$("#mapa-mireo").remove()})}}})