{"version":3,"file":"Map.DFhhCjo7.mjs","names":["Se","Ge","mt","Lt","Dt","p","Rt","Bt","Ft","Ot","u","c","$t","Ni","tr","Lr","Rr","Qr","an","bn","ln","pn","fn","mn","_n","wn","Tn","Sn","Oo","An","Pn","kn","eo","ao","Qo","ts","M","cs","hs","us","ds","ps","fs","gs","bs","Vs","_a","Ta","Ma","Z","Sa","ue","pe","s","ye","n","D","A","G","o","h","t","d","C","Aa","Ia","za","ka","Ba","Ua","ja","Wa","Ha","Qa","g","w","P","L","m","S","R","Map","useRef","useState","mapboxgl"],"sources":["https:/framerusercontent.com/modules/Yxs1c5tO4eQVafo0swLi/IhmQCimBFej4kBQTT1Ru/Empty.js","https:/framer.com/m/framer/empty.js@0.1.0","https:/ga.jspm.io/npm:mapbox-gl@2.15.0/dist/mapbox-gl.js","https:/framerusercontent.com/modules/ogfS476944GiIv6GTQEz/zx2dxcJOmtQZg7KbgCKP/Map.js"],"sourcesContent":["export default{};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Empty.map","/*\n * Empty (framer/empty@0.1.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/Yxs1c5tO4eQVafo0swLi/IhmQCimBFej4kBQTT1Ru/Empty.js\"\nexport { default } from \"https://framerusercontent.com/modules/Yxs1c5tO4eQVafo0swLi/IhmQCimBFej4kBQTT1Ru/Empty.js\"\n","import Se from\"process\";var Ge=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof self?self:global;var mt={};var Dt=Se;(function(Se,Ge){mt=Ge()})(0,(function(){var Se,mt,Lt;function define(Ge,Dt){if(Se)if(mt){var Rt=\"self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; (\"+Se+\")(sharedChunk); (\"+mt+\")(sharedChunk); self.onerror = null;\";var Bt={};Se(Bt);Lt=Dt(Bt);\"undefined\"!==typeof window&&window&&window.URL&&window.URL.createObjectURL&&(Lt.workerUrl=window.URL.createObjectURL(new Blob([Rt],{type:\"text/javascript\"})))}else mt=Dt;else Se=Dt}define([\"exports\"],(function(Se){var mt=\"undefined\"!=typeof self?self:{},Lt=\"2.15.0\";let Rt;const Bt={API_URL:\"https://api.mapbox.com\",get API_URL_REGEX(){if(null==Rt){const Se=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;try{Rt=null!=Dt.env.API_URL_REGEX?new RegExp(Dt.env.API_URL_REGEX):Se}catch(Ge){Rt=Se}}return Rt},get API_TILEJSON_REGEX(){return/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/v[0-9]*\\/.*\\.json.*$)/i},get API_SPRITE_REGEX(){return/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/styles\\/v[0-9]*\\/)(.*\\/sprite.*\\..*$)/i},get API_FONTS_REGEX(){return/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/fonts\\/v[0-9]*\\/)(.*\\.pbf.*$)/i},get API_STYLE_REGEX(){return/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/styles\\/v[0-9]*\\/)(.*$)/i},get API_CDN_URL_REGEX(){return/^((https?:)?\\/\\/)?api\\.mapbox\\.c(n|om)(\\/mapbox-gl-js\\/)(.*$)/i},get EVENTS_URL(){if(!Bt.API_URL)return null;try{const Se=new URL(Bt.API_URL);return\"api.mapbox.cn\"===Se.hostname?\"https://events.mapbox.cn/events/v2\":\"api.mapbox.com\"===Se.hostname?\"https://events.mapbox.com/events/v2\":null}catch(Se){return null}},SESSION_PATH:\"/map-sessions/v1\",FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",TILE_URL_VERSION:\"v4\",RASTER_URL_PREFIX:\"raster/v1\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},Ft={supported:!1,testSupport:function(Se){!Ni&&$t&&(tr?c(Se):Ot=Se)}};let Ot,$t,Ni=!1,tr=!1;function c(Se){const Ge=Se.createTexture();Se.bindTexture(Se.TEXTURE_2D,Ge);try{if(Se.texImage2D(Se.TEXTURE_2D,0,Se.RGBA,Se.RGBA,Se.UNSIGNED_BYTE,$t),Se.isContextLost())return;Ft.supported=!0}catch(Se){}Se.deleteTexture(Ge),Ni=!0}mt.document&&($t=mt.document.createElement(\"img\"),$t.onload=function(){Ot&&c(Ot),Ot=null,tr=!0},$t.onerror=function(){Ni=!0,Ot=null},$t.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");const Lr=\"01\";function p(Se){return Se&&Se.__esModule&&Object.prototype.hasOwnProperty.call(Se,\"default\")?Se.default:Se}var Rr=f;function f(Se,mt,Dt,Lt){(this||Ge).cx=3*Se,(this||Ge).bx=3*(Dt-Se)-(this||Ge).cx,(this||Ge).ax=1-(this||Ge).cx-(this||Ge).bx,(this||Ge).cy=3*mt,(this||Ge).by=3*(Lt-mt)-(this||Ge).cy,(this||Ge).ay=1-(this||Ge).cy-(this||Ge).by,(this||Ge).p1x=Se,(this||Ge).p1y=mt,(this||Ge).p2x=Dt,(this||Ge).p2y=Lt}f.prototype={sampleCurveX:function(Se){return(((this||Ge).ax*Se+(this||Ge).bx)*Se+(this||Ge).cx)*Se},sampleCurveY:function(Se){return(((this||Ge).ay*Se+(this||Ge).by)*Se+(this||Ge).cy)*Se},sampleCurveDerivativeX:function(Se){return(3*(this||Ge).ax*Se+2*(this||Ge).bx)*Se+(this||Ge).cx},solveCurveX:function(Se,Ge){if(void 0===Ge&&(Ge=1e-6),Se<0)return 0;if(Se>1)return 1;for(var mt=Se,Dt=0;Dt<8;Dt++){var Lt=this.sampleCurveX(mt)-Se;if(Math.abs(Lt)<Ge)return mt;var Rt=this.sampleCurveDerivativeX(mt);if(Math.abs(Rt)<1e-6)break;mt-=Lt/Rt}var Bt=0,Ft=1;for(mt=Se,Dt=0;Dt<20&&(Lt=this.sampleCurveX(mt),!(Math.abs(Lt-Se)<Ge));Dt++)Se>Lt?Bt=mt:Ft=mt,mt=.5*(Ft-Bt)+Bt;return mt},solve:function(Se,Ge){return this.sampleCurveY(this.solveCurveX(Se,Ge))}};var Qr=p(Rr),an=g;function g(Se,mt){(this||Ge).x=Se,(this||Ge).y=mt}g.prototype={clone:function(){return new g((this||Ge).x,(this||Ge).y)},add:function(Se){return this.clone()._add(Se)},sub:function(Se){return this.clone()._sub(Se)},multByPoint:function(Se){return this.clone()._multByPoint(Se)},divByPoint:function(Se){return this.clone()._divByPoint(Se)},mult:function(Se){return this.clone()._mult(Se)},div:function(Se){return this.clone()._div(Se)},rotate:function(Se){return this.clone()._rotate(Se)},rotateAround:function(Se,Ge){return this.clone()._rotateAround(Se,Ge)},matMult:function(Se){return this.clone()._matMult(Se)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt((this||Ge).x*(this||Ge).x+(this||Ge).y*(this||Ge).y)},equals:function(Se){return(this||Ge).x===Se.x&&(this||Ge).y===Se.y},dist:function(Se){return Math.sqrt(this.distSqr(Se))},distSqr:function(Se){var mt=Se.x-(this||Ge).x,Dt=Se.y-(this||Ge).y;return mt*mt+Dt*Dt},angle:function(){return Math.atan2((this||Ge).y,(this||Ge).x)},angleTo:function(Se){return Math.atan2((this||Ge).y-Se.y,(this||Ge).x-Se.x)},angleWith:function(Se){return this.angleWithSep(Se.x,Se.y)},angleWithSep:function(Se,mt){return Math.atan2((this||Ge).x*mt-(this||Ge).y*Se,(this||Ge).x*Se+(this||Ge).y*mt)},_matMult:function(Se){var mt=Se[2]*(this||Ge).x+Se[3]*(this||Ge).y;return(this||Ge).x=Se[0]*(this||Ge).x+Se[1]*(this||Ge).y,(this||Ge).y=mt,this||Ge},_add:function(Se){return(this||Ge).x+=Se.x,(this||Ge).y+=Se.y,this||Ge},_sub:function(Se){return(this||Ge).x-=Se.x,(this||Ge).y-=Se.y,this||Ge},_mult:function(Se){return(this||Ge).x*=Se,(this||Ge).y*=Se,this||Ge},_div:function(Se){return(this||Ge).x/=Se,(this||Ge).y/=Se,this||Ge},_multByPoint:function(Se){return(this||Ge).x*=Se.x,(this||Ge).y*=Se.y,this||Ge},_divByPoint:function(Se){return(this||Ge).x/=Se.x,(this||Ge).y/=Se.y,this||Ge},_unit:function(){return this._div(this.mag()),this||Ge},_perp:function(){var Se=(this||Ge).y;return(this||Ge).y=(this||Ge).x,(this||Ge).x=-Se,this||Ge},_rotate:function(Se){var mt=Math.cos(Se),Dt=Math.sin(Se),Lt=Dt*(this||Ge).x+mt*(this||Ge).y;return(this||Ge).x=mt*(this||Ge).x-Dt*(this||Ge).y,(this||Ge).y=Lt,this||Ge},_rotateAround:function(Se,mt){var Dt=Math.cos(Se),Lt=Math.sin(Se),Rt=mt.y+Lt*((this||Ge).x-mt.x)+Dt*((this||Ge).y-mt.y);return(this||Ge).x=mt.x+Dt*((this||Ge).x-mt.x)-Lt*((this||Ge).y-mt.y),(this||Ge).y=Rt,this||Ge},_round:function(){return(this||Ge).x=Math.round((this||Ge).x),(this||Ge).y=Math.round((this||Ge).y),this||Ge}},g.convert=function(Se){return Se instanceof g?Se:Array.isArray(Se)?new g(Se[0],Se[1]):Se};var ln=p(an);const pn=Math.PI/180,fn=180/Math.PI;function w(Se){return Se*pn}function _(Se){return Se*fn}const mn=[[0,0],[1,0],[1,1],[0,1]];function S(Se){if(Se<=0)return 0;if(Se>=1)return 1;const Ge=Se*Se,mt=Ge*Se;return 4*(Se<.5?mt:3*(Se-Ge)+mt-.75)}function k(Se,Ge,mt,Dt){const Lt=new Qr(Se,Ge,mt,Dt);return function(Se){return Lt.solve(Se)}}const _n=k(.25,.1,.25,1);function M(Se,Ge,mt){return Math.min(mt,Math.max(Ge,Se))}function T(Se,Ge,mt){return(mt=M((mt-Se)/(Ge-Se),0,1))*mt*(3-2*mt)}function z(Se,Ge,mt){const Dt=mt-Ge,Lt=((Se-Ge)%Dt+Dt)%Dt+Ge;return Lt===Ge?mt:Lt}function B(Se,Ge,mt){if(!Se.length)return mt(null,[]);let Dt=Se.length;const Lt=new Array(Se.length);let Rt=null;Se.forEach(((Se,Bt)=>{Ge(Se,((Se,Ge)=>{Se&&(Rt=Se),Lt[Bt]=Ge,0==--Dt&&mt(Rt,Lt)}))}))}function E(Se){const Ge=[];for(const mt in Se)Ge.push(Se[mt]);return Ge}function C(Se,...Ge){for(const mt of Ge)for(const Ge in mt)Se[Ge]=mt[Ge];return Se}let bn=1;function D(){return bn++}function V(){return function t(Se){return Se?(Se^Math.random()*(16>>Se/4)).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function L(Se){return Se<=1?1:Math.pow(2,Math.ceil(Math.log(Se)/Math.LN2))}function F(Se){return!!Se&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(Se)}function R(Se,Ge){Se.forEach((Se=>{Ge[Se]&&(Ge[Se]=Ge[Se].bind(Ge))}))}function U(Se,Ge){return-1!==Se.indexOf(Ge,Se.length-Ge.length)}function $(Se,mt,Dt){const Lt={};for(const Rt in Se)Lt[Rt]=mt.call(Dt||this||Ge,Se[Rt],Rt,Se);return Lt}function j(Se,mt,Dt){const Lt={};for(const Rt in Se)mt.call(Dt||this||Ge,Se[Rt],Rt,Se)&&(Lt[Rt]=Se[Rt]);return Lt}function O(Se){return Array.isArray(Se)?Se.map(O):\"object\"==typeof Se&&Se?$(Se,O):Se}const wn={};function N(Se){wn[Se]||(\"undefined\"!=typeof console&&console.warn(Se),wn[Se]=!0)}function G(Se,Ge,mt){return(mt.y-Se.y)*(Ge.x-Se.x)>(Ge.y-Se.y)*(mt.x-Se.x)}function Z(Se){let Ge=0;for(let mt,Dt,Lt=0,Rt=Se.length,Bt=Rt-1;Lt<Rt;Bt=Lt++)mt=Se[Lt],Dt=Se[Bt],Ge+=(Dt.x-mt.x)*(mt.y+Dt.y);return Ge}function K(){return\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope}function X(Se){const Ge={};if(Se.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((Se,mt,Dt,Lt)=>{const Rt=Dt||Lt;return Ge[mt]=!Rt||Rt.toLowerCase(),\"\"})),Ge[\"max-age\"]){const Se=parseInt(Ge[\"max-age\"],10);isNaN(Se)?delete Ge[\"max-age\"]:Ge[\"max-age\"]=Se}return Ge}let Tn=null;function H(Se){if(null==Tn){const Ge=Se.navigator?Se.navigator.userAgent:null;Tn=!!Se.safari||!(!Ge||!(/\\b(iPad|iPhone|iPod)\\b/.test(Ge)||Ge.match(\"Safari\")&&!Ge.match(\"Chrome\")))}return Tn}function Y(Se){try{const Ge=mt[Se];return Ge.setItem(\"_mapbox_test_\",1),Ge.removeItem(\"_mapbox_test_\"),!0}catch(Se){return!1}}function W(Se,Ge){return[Se[4*Ge],Se[4*Ge+1],Se[4*Ge+2],Se[4*Ge+3]]}const Sn=\"mapbox-tiles\";let An=500,Pn=50;let kn,eo;function it(){try{return mt.caches}catch(Se){}}function st(){it()&&!kn&&(kn=mt.caches.open(Sn))}function at(Se){const Ge=Se.indexOf(\"?\");if(Ge<0)return Se;const mt=function(Se){const Ge=Se.indexOf(\"?\");return Ge>0?Se.slice(Ge+1).split(\"&\"):[]}(Se),Dt=mt.filter((Se=>{const Ge=Se.split(\"=\");return\"language\"===Ge[0]||\"worldview\"===Ge[0]}));return Dt.length?`${Se.slice(0,Ge)}?${Dt.join(\"&\")}`:Se.slice(0,Ge)}let ao=1/0;const Oo={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(Oo);class ut extends Error{constructor(Se,Ge,mt){401===Ge&&bt(mt)&&(Se+=\": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes\"),super(Se),this.status=Ge,this.url=mt}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const Qo=K()?()=>self.worker&&self.worker.referrer:()=>(\"blob:\"===mt.location.protocol?mt.parent:mt).location.href;const ht=function(Se,Ge){if(!(/^file:/.test(Dt=Se.url)||/^file:/.test(Qo())&&!/^\\w+:/.test(Dt))){if(mt.fetch&&mt.Request&&mt.AbortController&&mt.Request.prototype.hasOwnProperty(\"signal\"))return function(Se,Ge){const Dt=new mt.AbortController,Lt=new mt.Request(Se.url,{method:Se.method||\"GET\",body:Se.body,credentials:Se.credentials,headers:Se.headers,referrer:Qo(),referrerPolicy:Se.referrerPolicy,signal:Dt.signal});let Rt=!1,Bt=!1;const Ft=(Ot=Lt.url).indexOf(\"sku=\")>0&&bt(Ot);var Ot;\"json\"===Se.type&&Lt.headers.set(\"Accept\",\"application/json\");const u=(Dt,Rt,Ot)=>{if(Bt)return;if(Dt&&\"SecurityError\"!==Dt.message&&N(Dt.toString()),Rt&&Ot)return c(Rt);const $t=Date.now();mt.fetch(Lt).then((mt=>{if(mt.ok){const Se=Ft?mt.clone():null;return c(mt,Se,$t)}return Ge(new ut(mt.statusText,mt.status,Se.url))})).catch((mt=>{\"AbortError\"!==mt.name&&Ge(new Error(`${mt.message} ${Se.url}`))}))},c=(Dt,Ft,Ot)=>{(\"arrayBuffer\"===Se.type?Dt.arrayBuffer():\"json\"===Se.type?Dt.json():Dt.text()).then((Se=>{Bt||(Ft&&Ot&&function(Se,Ge,Dt){if(st(),!kn)return;const Lt={status:Ge.status,statusText:Ge.statusText,headers:new mt.Headers};Ge.headers.forEach(((Se,Ge)=>Lt.headers.set(Ge,Se)));const Rt=X(Ge.headers.get(\"Cache-Control\")||\"\");if(Rt[\"no-store\"])return;Rt[\"max-age\"]&&Lt.headers.set(\"Expires\",new Date(Dt+1e3*Rt[\"max-age\"]).toUTCString());const Bt=Lt.headers.get(\"Expires\");Bt&&(new Date(Bt).getTime()-Dt<42e4||function(Se,Ge){if(void 0===eo)try{new Response(new ReadableStream),eo=!0}catch(Se){eo=!1}eo?Ge(Se.body):Se.blob().then(Ge)}(Ge,(Ge=>{const Dt=new mt.Response(Ge,Lt);st(),kn&&kn.then((Ge=>Ge.put(at(Se.url),Dt))).catch((Se=>N(Se.message)))})))}(Lt,Ft,Ot),Rt=!0,Ge(null,Se,Dt.headers.get(\"Cache-Control\"),Dt.headers.get(\"Expires\")))})).catch((Se=>{Bt||Ge(new Error(Se.message))}))};return Ft?function(Se,Ge){if(st(),!kn)return Ge(null);const mt=at(Se.url);kn.then((Se=>{Se.match(mt).then((Dt=>{const Lt=function(Se){if(!Se)return!1;const Ge=new Date(Se.headers.get(\"Expires\")||0),mt=X(Se.headers.get(\"Cache-Control\")||\"\");return Ge>Date.now()&&!mt[\"no-cache\"]}(Dt);Se.delete(mt),Lt&&Se.put(mt,Dt.clone()),Ge(null,Dt,Lt)})).catch(Ge)})).catch(Ge)}(Lt,u):u(null,null),{cancel:()=>{Bt=!0,Rt||Dt.abort()}}}(Se,Ge);if(K()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",Se,Ge,void 0,!0)}var Dt;return function(Se,Ge){const Dt=new mt.XMLHttpRequest;Dt.open(Se.method||\"GET\",Se.url,!0),\"arrayBuffer\"===Se.type&&(Dt.responseType=\"arraybuffer\");for(const Ge in Se.headers)Dt.setRequestHeader(Ge,Se.headers[Ge]);return\"json\"===Se.type&&(Dt.responseType=\"text\",Dt.setRequestHeader(\"Accept\",\"application/json\")),Dt.withCredentials=\"include\"===Se.credentials,Dt.onerror=()=>{Ge(new Error(Dt.statusText))},Dt.onload=()=>{if((Dt.status>=200&&Dt.status<300||0===Dt.status)&&null!==Dt.response){let mt=Dt.response;if(\"json\"===Se.type)try{mt=JSON.parse(Dt.response)}catch(Se){return Ge(Se)}Ge(null,mt,Dt.getResponseHeader(\"Cache-Control\"),Dt.getResponseHeader(\"Expires\"))}else Ge(new ut(Dt.statusText,Dt.status,Se.url))},Dt.send(Se.body),{cancel:()=>Dt.abort()}}(Se,Ge)},pt=function(Se,Ge){return ht(C(Se,{type:\"arrayBuffer\"}),Ge)};function dt(Se){const Ge=mt.document.createElement(\"a\");return Ge.href=Se,Ge.protocol===mt.document.location.protocol&&Ge.host===mt.document.location.host}const ts=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";let cs,hs;cs=[],hs=0;const gt=function(Se,Dt){if(Ft.supported&&(Se.headers||(Se.headers={}),Se.headers.accept=\"image/webp,*/*\"),hs>=Bt.MAX_PARALLEL_IMAGE_REQUESTS){const mt={requestParameters:Se,callback:Dt,cancelled:!1,cancel(){(this||Ge).cancelled=!0}};return cs.push(mt),mt}hs++;let Lt=!1;const a=()=>{if(!Lt)for(Lt=!0,hs--;cs.length&&hs<Bt.MAX_PARALLEL_IMAGE_REQUESTS;){const Se=cs.shift(),{requestParameters:Ge,callback:mt,cancelled:Dt}=Se;Dt||(Se.cancel=gt(Ge,mt).cancel)}},Rt=pt(Se,((Se,Ge,Lt,Rt)=>{a(),Se?Dt(Se):Ge&&(mt.createImageBitmap?function(Se,Ge){const Dt=new mt.Blob([new Uint8Array(Se)],{type:\"image/png\"});mt.createImageBitmap(Dt).then((Se=>{Ge(null,Se)})).catch((Se=>{Ge(new Error(`Could not load image because of ${Se.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(Ge,((Se,Ge)=>Dt(Se,Ge,Lt,Rt))):function(Se,Ge){const Dt=new mt.Image,Lt=mt.URL;Dt.onload=()=>{Ge(null,Dt),Lt.revokeObjectURL(Dt.src),Dt.onload=null,mt.requestAnimationFrame((()=>{Dt.src=ts}))},Dt.onerror=()=>Ge(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));const Rt=new mt.Blob([new Uint8Array(Se)],{type:\"image/png\"});Dt.src=Se.byteLength?Lt.createObjectURL(Rt):ts}(Ge,((Se,Ge)=>Dt(Se,Ge,Lt,Rt))))}));return{cancel:()=>{Rt.cancel(),a()}}},us=\"NO_ACCESS_TOKEN\";function vt(Se){return 0===Se.indexOf(\"mapbox:\")}function bt(Se){return Bt.API_URL_REGEX.test(Se)}function wt(Se){return Bt.API_CDN_URL_REGEX.test(Se)}function _t(Se){return Bt.API_STYLE_REGEX.test(Se)&&!At(Se)}function At(Se){return Bt.API_SPRITE_REGEX.test(Se)}const ds=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function kt(Se){const Ge=Se.match(ds);if(!Ge)throw new Error(\"Unable to parse URL object\");return{protocol:Ge[1],authority:Ge[2],path:Ge[3]||\"/\",params:Ge[4]?Ge[4].split(\"&\"):[]}}function It(Se){const Ge=Se.params.length?`?${Se.params.join(\"&\")}`:\"\";return`${Se.protocol}://${Se.authority}${Se.path}${Ge}`}const ps=\"mapbox.eventData\";function Tt(Se){if(!Se)return null;const Ge=Se.split(\".\");if(!Ge||3!==Ge.length)return null;try{return JSON.parse(decodeURIComponent(mt.atob(Ge[1]).split(\"\").map((Se=>\"%\"+(\"00\"+Se.charCodeAt(0).toString(16)).slice(-2))).join(\"\")))}catch(Se){return null}}class zt{constructor(Se){this.type=Se,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null}getStorageKey(Se){const Ge=Tt(Bt.ACCESS_TOKEN);let Dt=\"\";return Dt=Ge&&Ge.u?mt.btoa(encodeURIComponent(Ge.u).replace(/%([0-9A-F]{2})/g,((Se,Ge)=>String.fromCharCode(Number(\"0x\"+Ge))))):Bt.ACCESS_TOKEN||\"\",Se?`${ps}.${Se}:${Dt}`:`${ps}:${Dt}`}fetchEventData(){const Se=Y(\"localStorage\"),Ge=this.getStorageKey(),Dt=this.getStorageKey(\"uuid\");if(Se)try{const Se=mt.localStorage.getItem(Ge);Se&&(this.eventData=JSON.parse(Se));const Lt=mt.localStorage.getItem(Dt);Lt&&(this.anonId=Lt)}catch(Se){N(\"Unable to read from LocalStorage\")}}saveEventData(){const Se=Y(\"localStorage\"),Ge=this.getStorageKey(),Dt=this.getStorageKey(\"uuid\");if(Se)try{mt.localStorage.setItem(Dt,this.anonId),Object.keys(this.eventData).length>=1&&mt.localStorage.setItem(Ge,JSON.stringify(this.eventData))}catch(Se){N(\"Unable to write to LocalStorage\")}}processRequests(Se){}postEvent(Se,Ge,mt,Dt){if(!Bt.EVENTS_URL)return;const Lt=kt(Bt.EVENTS_URL);Lt.params.push(`access_token=${Dt||Bt.ACCESS_TOKEN||\"\"}`);const Rt={event:this.type,created:new Date(Se).toISOString()},Ft=Ge?C(Rt,Ge):Rt,Ot={url:It(Lt),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([Ft])};this.pendingRequest=function(Se,Ge){return ht(C(Se,{method:\"POST\"}),Ge)}(Ot,(Se=>{this.pendingRequest=null,mt(Se),this.saveEventData(),this.processRequests(Dt)}))}queueRequest(Se,Ge){this.queue.push(Se),this.processRequests(Ge)}}const fs=new class extends zt{constructor(Se){super(\"appUserTurnstile\"),this._customAccessToken=Se}postTurnstileEvent(Se,Ge){Bt.EVENTS_URL&&Bt.ACCESS_TOKEN&&Array.isArray(Se)&&Se.some((Se=>vt(Se)||bt(Se)))&&this.queueRequest(Date.now(),Ge)}processRequests(Se){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const Ge=Tt(Bt.ACCESS_TOKEN),mt=Ge?Ge.u:Bt.ACCESS_TOKEN;let Dt=mt!==this.eventData.tokenU;F(this.anonId)||(this.anonId=V(),Dt=!0);const Rt=this.queue.shift();if(this.eventData.lastSuccess){const Se=new Date(this.eventData.lastSuccess),Ge=new Date(Rt),mt=(Rt-this.eventData.lastSuccess)/864e5;Dt=Dt||mt>=1||mt<-1||Se.getDate()!==Ge.getDate()}else Dt=!0;Dt?this.postEvent(Rt,{sdkIdentifier:\"mapbox-gl-js\",sdkVersion:Lt,skuId:Lr,\"enabled.telemetry\":!1,userId:this.anonId},(Se=>{Se||(this.eventData.lastSuccess=Rt,this.eventData.tokenU=mt)}),Se):this.processRequests()}},gs=fs.postTurnstileEvent.bind(fs),bs=new class extends zt{constructor(){super(\"map.load\"),this.success={},this.skuToken=\"\"}postMapLoadEvent(Se,Ge,mt,Dt){this.skuToken=Ge,this.errorCb=Dt,Bt.EVENTS_URL&&(mt||Bt.ACCESS_TOKEN?this.queueRequest({id:Se,timestamp:Date.now()},mt):this.errorCb(new Error(us)))}processRequests(Se){if(this.pendingRequest||0===this.queue.length)return;const{id:Ge,timestamp:mt}=this.queue.shift();Ge&&this.success[Ge]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=V()),this.postEvent(mt,{sdkIdentifier:\"mapbox-gl-js\",sdkVersion:Lt,skuId:Lr,skuToken:this.skuToken,userId:this.anonId},(Se=>{Se?this.errorCb(Se):Ge&&(this.success[Ge]=!0)}),Se))}},Vs=bs.postMapLoadEvent.bind(bs),_a=new class extends zt{constructor(){super(\"gljs.performance\")}postPerformanceEvent(Se,Ge){Bt.EVENTS_URL&&(Se||Bt.ACCESS_TOKEN)&&this.queueRequest({timestamp:Date.now(),performanceData:Ge},Se)}processRequests(Se){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:Ge,performanceData:Dt}=this.queue.shift(),Rt=function(Se){const Ge=mt.performance.getEntriesByType(\"resource\"),Dt=mt.performance.getEntriesByType(\"mark\"),Rt=function(Se){const Ge={};if(Se)for(const mt in Se)if(\"other\"!==mt)for(const Dt of Se[mt]){const Se=`${mt}ResolveRangeMin`,Lt=`${mt}ResolveRangeMax`,Rt=`${mt}RequestCount`,Bt=`${mt}RequestCachedCount`;Ge[Se]=Math.min(Ge[Se]||1/0,Dt.startTime),Ge[Lt]=Math.max(Ge[Lt]||-1/0,Dt.responseEnd);const o=Se=>{void 0===Ge[Se]&&(Ge[Se]=0),++Ge[Se]};void 0!==Dt.transferSize&&0===Dt.transferSize&&o(Bt),o(Rt)}return Ge}(function(Se,Ge){const mt={};if(Se)for(const Dt of Se){const Se=Ge(Dt);void 0===mt[Se]&&(mt[Se]=[]),mt[Se].push(Dt)}return mt}(Ge,jt)),Bt=mt.devicePixelRatio,Ft=mt.navigator.connection||mt.navigator.mozConnection||mt.navigator.webkitConnection,Ot={counters:[],metadata:[],attributes:[]},u=(Se,Ge,mt)=>{null!=mt&&Se.push({name:Ge,value:mt.toString()})};for(const Se in Rt)u(Ot.counters,Se,Rt[Se]);if(Se.interactionRange[0]!==1/0&&Se.interactionRange[1]!==-1/0&&(u(Ot.counters,\"interactionRangeMin\",Se.interactionRange[0]),u(Ot.counters,\"interactionRangeMax\",Se.interactionRange[1])),Dt)for(const Se of Object.keys(Ia)){const Ge=Ia[Se],mt=Dt.find((Se=>Se.name===Ge));mt&&u(Ot.counters,Ge,mt.startTime)}return u(Ot.counters,\"visibilityHidden\",Se.visibilityHidden),u(Ot.attributes,\"style\",function(Se){if(Se)for(const Ge of Se){const Se=Ge.name.split(\"?\")[0];if(_t(Se)){const Ge=Se.split(\"/\").slice(-2);if(2===Ge.length)return`mapbox://styles/${Ge[0]}/${Ge[1]}`}}}(Ge)),u(Ot.attributes,\"terrainEnabled\",Se.terrainEnabled?\"true\":\"false\"),u(Ot.attributes,\"fogEnabled\",Se.fogEnabled?\"true\":\"false\"),u(Ot.attributes,\"projection\",Se.projection),u(Ot.attributes,\"zoom\",Se.zoom),u(Ot.metadata,\"devicePixelRatio\",Bt),u(Ot.metadata,\"connectionEffectiveType\",Ft?Ft.effectiveType:void 0),u(Ot.metadata,\"navigatorUserAgent\",mt.navigator.userAgent),u(Ot.metadata,\"screenWidth\",mt.screen.width),u(Ot.metadata,\"screenHeight\",mt.screen.height),u(Ot.metadata,\"windowWidth\",mt.innerWidth),u(Ot.metadata,\"windowHeight\",mt.innerHeight),u(Ot.metadata,\"mapWidth\",Se.width/Bt),u(Ot.metadata,\"mapHeight\",Se.height/Bt),u(Ot.metadata,\"webglRenderer\",Se.renderer),u(Ot.metadata,\"webglVendor\",Se.vendor),u(Ot.metadata,\"sdkVersion\",Lt),u(Ot.metadata,\"sdkIdentifier\",\"mapbox-gl-js\"),Ot}(Dt);for(const Se of Rt.metadata);for(const Se of Rt.counters);for(const Se of Rt.attributes);this.postEvent(Ge,Rt,(()=>{}),Se)}},Ta=_a.postPerformanceEvent.bind(_a),Ma=new class extends zt{constructor(){super(\"map.auth\"),this.success={},this.skuToken=\"\"}getSession(Se,Ge,mt,Dt){if(!Bt.API_URL||!Bt.SESSION_PATH)return;const Lt=kt(Bt.API_URL+Bt.SESSION_PATH);Lt.params.push(`sku=${Ge||\"\"}`),Lt.params.push(`access_token=${Dt||Bt.ACCESS_TOKEN||\"\"}`);const Rt={url:It(Lt),headers:{\"Content-Type\":\"text/plain\"}};this.pendingRequest=function(Se,Ge){return ht(C(Se,{method:\"GET\"}),Ge)}(Rt,(Se=>{this.pendingRequest=null,mt(Se),this.saveEventData(),this.processRequests(Dt)}))}getSessionAPI(Se,Ge,mt,Dt){this.skuToken=Ge,this.errorCb=Dt,Bt.SESSION_PATH&&Bt.API_URL&&(mt||Bt.ACCESS_TOKEN?this.queueRequest({id:Se,timestamp:Date.now()},mt):this.errorCb(new Error(us)))}processRequests(Se){if(this.pendingRequest||0===this.queue.length)return;const{id:Ge,timestamp:mt}=this.queue.shift();Ge&&this.success[Ge]||this.getSession(mt,this.skuToken,(Se=>{Se?this.errorCb(Se):Ge&&(this.success[Ge]=!0)}),Se)}},Sa=Ma.getSessionAPI.bind(Ma),Aa=new Set,Ia={create:\"create\",load:\"load\",fullLoad:\"fullLoad\"},za={mark(Se){mt.performance.mark(Se)},measure(Se,Ge,Dt){mt.performance.measure(Se,Ge,Dt)}};function jt(Se){const Ge=Se.name.split(\"?\")[0];return wt(Ge)&&Ge.includes(\"mapbox-gl.js\")?\"javascript\":wt(Ge)&&Ge.includes(\"mapbox-gl.css\")?\"css\":function(Se){return Bt.API_FONTS_REGEX.test(Se)}(Ge)?\"fontRange\":At(Ge)?\"sprite\":_t(Ge)?\"style\":function(Se){return Bt.API_TILEJSON_REGEX.test(Se)}(Ge)?\"tilejson\":\"other\"}const ka=mt.performance;function qt(Se){const Ge=Se?Se.url.toString():void 0;return ka.getEntriesByName(Ge)}let Ba,Ua,ja,$a;const Wa={now:()=>void 0!==ja?ja:mt.performance.now(),setNow(Se){ja=Se},restoreNow(){ja=void 0},frame(Se){const Ge=mt.requestAnimationFrame(Se);return{cancel:()=>mt.cancelAnimationFrame(Ge)}},getImageData(Se,Ge=0){const{width:Dt,height:Lt}=Se;$a||($a=mt.document.createElement(\"canvas\"));const Rt=$a.getContext(\"2d\",{willReadFrequently:!0});if(!Rt)throw new Error(\"failed to create canvas 2d context\");return(Dt>$a.width||Lt>$a.height)&&($a.width=Dt,$a.height=Lt),Rt.clearRect(-Ge,-Ge,Dt+2*Ge,Lt+2*Ge),Rt.drawImage(Se,0,0,Dt,Lt),Rt.getImageData(-Ge,-Ge,Dt+2*Ge,Lt+2*Ge)},resolveURL:Se=>(Ba||(Ba=mt.document.createElement(\"a\")),Ba.href=Se,Ba.href),get devicePixelRatio(){return mt.devicePixelRatio},get prefersReducedMotion(){return!!mt.matchMedia&&(null==Ua&&(Ua=mt.matchMedia(\"(prefers-reduced-motion: reduce)\")),Ua.matches)}};function Jt(Se,Ge,mt){mt[Se]&&-1!==mt[Se].indexOf(Ge)||(mt[Se]=mt[Se]||[],mt[Se].push(Ge))}function Ht(Se,Ge,mt){if(mt&&mt[Se]){const Dt=mt[Se].indexOf(Ge);-1!==Dt&&mt[Se].splice(Dt,1)}}class Yt{constructor(Se,Ge={}){C(this,Ge),this.type=Se}}class Wt extends Yt{constructor(Se,Ge={}){super(\"error\",C({error:Se},Ge))}}class Qt{on(Se,Ge){return this._listeners=this._listeners||{},Jt(Se,Ge,this._listeners),this}off(Se,Ge){return Ht(Se,Ge,this._listeners),Ht(Se,Ge,this._oneTimeListeners),this}once(Se,Ge){return Ge?(this._oneTimeListeners=this._oneTimeListeners||{},Jt(Se,Ge,this._oneTimeListeners),this):new Promise((Ge=>this.once(Se,Ge)))}fire(Se,Ge){\"string\"==typeof Se&&(Se=new Yt(Se,Ge||{}));const mt=Se.type;if(this.listens(mt)){Se.target=this;const Ge=this._listeners&&this._listeners[mt]?this._listeners[mt].slice():[];for(const mt of Ge)mt.call(this,Se);const Dt=this._oneTimeListeners&&this._oneTimeListeners[mt]?this._oneTimeListeners[mt].slice():[];for(const Ge of Dt)Ht(mt,Ge,this._oneTimeListeners),Ge.call(this,Se);const Lt=this._eventedParent;Lt&&(C(Se,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),Lt.fire(Se))}else Se instanceof Wt&&console.error(Se.error);return this}listens(Se){return!!(this._listeners&&this._listeners[Se]&&this._listeners[Se].length>0||this._oneTimeListeners&&this._oneTimeListeners[Se]&&this._oneTimeListeners[Se].length>0||this._eventedParent&&this._eventedParent.listens(Se))}setEventedParent(Se,Ge){return this._eventedParent=Se,this._eventedParentData=Ge,this}}var Ha=JSON.parse('{\"$version\":8,\"$root\":{\"version\":{\"required\":true,\"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\"},\"terrain\":{\"type\":\"terrain\"},\"fog\":{\"type\":\"fog\"},\"sources\":{\"required\":true,\"type\":\"sources\"},\"sprite\":{\"type\":\"string\"},\"glyphs\":{\"type\":\"string\"},\"transition\":{\"type\":\"transition\"},\"projection\":{\"type\":\"projection\"},\"layers\":{\"required\":true,\"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\":true,\"type\":\"enum\",\"values\":{\"vector\":{}}},\"url\":{\"type\":\"string\"},\"tiles\":{\"type\":\"array\",\"value\":\"string\"},\"bounds\":{\"type\":\"array\",\"value\":\"number\",\"length\":4,\"default\":[-180,-85.051129,180,85.051129]},\"scheme\":{\"type\":\"enum\",\"values\":{\"xyz\":{},\"tms\":{}},\"default\":\"xyz\"},\"minzoom\":{\"type\":\"number\",\"default\":0},\"maxzoom\":{\"type\":\"number\",\"default\":22},\"attribution\":{\"type\":\"string\"},\"promoteId\":{\"type\":\"promoteId\"},\"volatile\":{\"type\":\"boolean\",\"default\":false},\"*\":{\"type\":\"*\"}},\"source_raster\":{\"type\":{\"required\":true,\"type\":\"enum\",\"values\":{\"raster\":{}}},\"url\":{\"type\":\"string\"},\"tiles\":{\"type\":\"array\",\"value\":\"string\"},\"bounds\":{\"type\":\"array\",\"value\":\"number\",\"length\":4,\"default\":[-180,-85.051129,180,85.051129]},\"minzoom\":{\"type\":\"number\",\"default\":0},\"maxzoom\":{\"type\":\"number\",\"default\":22},\"tileSize\":{\"type\":\"number\",\"default\":512,\"units\":\"pixels\"},\"scheme\":{\"type\":\"enum\",\"values\":{\"xyz\":{},\"tms\":{}},\"default\":\"xyz\"},\"attribution\":{\"type\":\"string\"},\"volatile\":{\"type\":\"boolean\",\"default\":false},\"*\":{\"type\":\"*\"}},\"source_raster_dem\":{\"type\":{\"required\":true,\"type\":\"enum\",\"values\":{\"raster-dem\":{}}},\"url\":{\"type\":\"string\"},\"tiles\":{\"type\":\"array\",\"value\":\"string\"},\"bounds\":{\"type\":\"array\",\"value\":\"number\",\"length\":4,\"default\":[-180,-85.051129,180,85.051129]},\"minzoom\":{\"type\":\"number\",\"default\":0},\"maxzoom\":{\"type\":\"number\",\"default\":22},\"tileSize\":{\"type\":\"number\",\"default\":512,\"units\":\"pixels\"},\"attribution\":{\"type\":\"string\"},\"encoding\":{\"type\":\"enum\",\"values\":{\"terrarium\":{},\"mapbox\":{}},\"default\":\"mapbox\"},\"volatile\":{\"type\":\"boolean\",\"default\":false},\"*\":{\"type\":\"*\"}},\"source_geojson\":{\"type\":{\"required\":true,\"type\":\"enum\",\"values\":{\"geojson\":{}}},\"data\":{\"type\":\"*\"},\"maxzoom\":{\"type\":\"number\",\"default\":18},\"attribution\":{\"type\":\"string\"},\"buffer\":{\"type\":\"number\",\"default\":128,\"maximum\":512,\"minimum\":0},\"filter\":{\"type\":\"*\"},\"tolerance\":{\"type\":\"number\",\"default\":0.375},\"cluster\":{\"type\":\"boolean\",\"default\":false},\"clusterRadius\":{\"type\":\"number\",\"default\":50,\"minimum\":0},\"clusterMaxZoom\":{\"type\":\"number\"},\"clusterMinPoints\":{\"type\":\"number\"},\"clusterProperties\":{\"type\":\"*\"},\"lineMetrics\":{\"type\":\"boolean\",\"default\":false},\"generateId\":{\"type\":\"boolean\",\"default\":false},\"promoteId\":{\"type\":\"promoteId\"}},\"source_video\":{\"type\":{\"required\":true,\"type\":\"enum\",\"values\":{\"video\":{}}},\"urls\":{\"required\":true,\"type\":\"array\",\"value\":\"string\"},\"coordinates\":{\"required\":true,\"type\":\"array\",\"length\":4,\"value\":{\"type\":\"array\",\"length\":2,\"value\":\"number\"}}},\"source_image\":{\"type\":{\"required\":true,\"type\":\"enum\",\"values\":{\"image\":{}}},\"url\":{\"required\":true,\"type\":\"string\"},\"coordinates\":{\"required\":true,\"type\":\"array\",\"length\":4,\"value\":{\"type\":\"array\",\"length\":2,\"value\":\"number\"}}},\"layer\":{\"id\":{\"type\":\"string\",\"required\":true},\"type\":{\"type\":\"enum\",\"values\":{\"fill\":{},\"line\":{},\"symbol\":{},\"circle\":{},\"heatmap\":{},\"fill-extrusion\":{},\"raster\":{},\"hillshade\":{},\"background\":{},\"sky\":{}},\"required\":true},\"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_sky\"],\"layout_background\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_sky\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_fill\":{\"fill-sort-key\":{\"type\":\"number\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_circle\":{\"circle-sort-key\":{\"type\":\"number\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_heatmap\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"},\"fill-extrusion-edge-radius\":{\"type\":\"number\",\"private\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"property-type\":\"constant\"}},\"layout_line\":{\"line-cap\":{\"type\":\"enum\",\"values\":{\"butt\":{},\"round\":{},\"square\":{}},\"default\":\"butt\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-join\":{\"type\":\"enum\",\"values\":{\"bevel\":{},\"round\":{},\"miter\":{}},\"default\":\"miter\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{\"type\":\"number\",\"default\":2,\"requires\":[{\"line-join\":\"miter\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{\"type\":\"number\",\"default\":1.05,\"requires\":[{\"line-join\":\"round\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{\"type\":\"number\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"visibility\":{\"type\":\"enum\",\"values\":{\"visible\":{},\"none\":{}},\"default\":\"visible\",\"property-type\":\"constant\"}},\"layout_symbol\":{\"symbol-placement\":{\"type\":\"enum\",\"values\":{\"point\":{},\"line\":{},\"line-center\":{}},\"default\":\"point\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{\"type\":\"number\",\"default\":250,\"minimum\":1,\"units\":\"pixels\",\"requires\":[{\"symbol-placement\":\"line\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{\"type\":\"boolean\",\"default\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{\"type\":\"number\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{\"type\":\"enum\",\"values\":{\"auto\":{},\"viewport-y\":{},\"source\":{}},\"default\":\"auto\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"icon-image\",\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{},\"auto\":{}},\"default\":\"auto\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":false,\"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\":true,\"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\":false,\"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\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{\"type\":\"resolvedImage\",\"tokens\":true,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"units\":\"degrees\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{\"type\":\"number\",\"default\":2,\"minimum\":0,\"units\":\"pixels\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"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\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{},\"auto\":{}},\"default\":\"auto\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{},\"auto\":{}},\"default\":\"auto\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{},\"auto\":{}},\"default\":\"auto\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{\"type\":\"formatted\",\"default\":\"\",\"tokens\":true,\"expression\":{\"interpolated\":false,\"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\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{\"type\":\"number\",\"default\":16,\"minimum\":0,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{\"type\":\"number\",\"default\":10,\"minimum\":0,\"units\":\"ems\",\"requires\":[\"text-field\",{\"symbol-placement\":[\"point\"]}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{\"type\":\"number\",\"default\":1.2,\"units\":\"ems\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-letter-spacing\":{\"type\":\"number\",\"default\":0,\"units\":\"ems\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{\"type\":\"enum\",\"values\":{\"auto\":{},\"left\":{},\"center\":{},\"right\":{}},\"default\":\"center\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{\"type\":\"number\",\"units\":\"ems\",\"default\":0,\"requires\":[\"text-field\"],\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{\"type\":\"array\",\"value\":\"enum\",\"values\":{\"center\":{},\"left\":{},\"right\":{},\"top\":{},\"bottom\":{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},\"requires\":[\"text-field\",{\"symbol-placement\":[\"point\"]}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{\"type\":\"enum\",\"values\":{\"center\":{},\"left\":{},\"right\":{},\"top\":{},\"bottom\":{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},\"default\":\"center\",\"requires\":[\"text-field\",{\"!\":\"text-variable-anchor\"}],\"expression\":{\"interpolated\":false,\"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\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{\"type\":\"array\",\"value\":\"enum\",\"values\":{\"horizontal\":{},\"vertical\":{}},\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"units\":\"degrees\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{\"type\":\"number\",\"default\":2,\"minimum\":0,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{\"type\":\"boolean\",\"default\":true,\"requires\":[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{\"type\":\"enum\",\"values\":{\"none\":{},\"uppercase\":{},\"lowercase\":{}},\"default\":\"none\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{\"type\":\"array\",\"value\":\"number\",\"units\":\"ems\",\"length\":2,\"default\":[0,0],\"requires\":[\"text-field\",{\"!\":\"text-radial-offset\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{\"type\":\"boolean\",\"default\":false,\"requires\":[\"text-field\",\"icon-image\"],\"expression\":{\"interpolated\":false,\"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_symbol\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\",\"pitch\",\"distance-from-center\"]}},\"filter_fill\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_line\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_circle\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_fill-extrusion\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_heatmap\":{\"type\":\"boolean\",\"default\":false,\"transition\":false,\"property-type\":\"data-driven\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]}},\"filter_operator\":{\"type\":\"enum\",\"values\":{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},\"in\":{},\"!in\":{},\"all\":{},\"any\":{},\"none\":{},\"has\":{},\"!has\":{},\"within\":{}}},\"geometry_type\":{\"type\":\"enum\",\"values\":{\"Point\":{},\"LineString\":{},\"Polygon\":{}}},\"function\":{\"expression\":{\"type\":\"expression\"},\"stops\":{\"type\":\"array\",\"value\":\"function_stop\"},\"base\":{\"type\":\"number\",\"default\":1,\"minimum\":0},\"property\":{\"type\":\"string\",\"default\":\"$zoom\"},\"type\":{\"type\":\"enum\",\"values\":{\"identity\":{},\"exponential\":{},\"interval\":{},\"categorical\":{}},\"default\":\"exponential\"},\"colorSpace\":{\"type\":\"enum\",\"values\":{\"rgb\":{},\"lab\":{},\"hcl\":{}},\"default\":\"rgb\"},\"default\":{\"type\":\"*\",\"required\":false}},\"function_stop\":{\"type\":\"array\",\"minimum\":0,\"maximum\":24,\"value\":[\"number\",\"color\"],\"length\":2},\"expression\":{\"type\":\"array\",\"value\":\"*\",\"minimum\":1},\"fog\":{\"range\":{\"type\":\"array\",\"default\":[0.5,10],\"minimum\":-20,\"maximum\":20,\"length\":2,\"value\":\"number\",\"property-type\":\"data-constant\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]}},\"color\":{\"type\":\"color\",\"property-type\":\"data-constant\",\"default\":\"#ffffff\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"high-color\":{\"type\":\"color\",\"property-type\":\"data-constant\",\"default\":\"#245cdf\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"space-color\":{\"type\":\"color\",\"property-type\":\"data-constant\",\"default\":[\"interpolate\",[\"linear\"],[\"zoom\"],4,\"#010b19\",7,\"#367ab9\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"horizon-blend\":{\"type\":\"number\",\"property-type\":\"data-constant\",\"default\":[\"interpolate\",[\"linear\"],[\"zoom\"],4,0.2,7,0.1],\"minimum\":0,\"maximum\":1,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"star-intensity\":{\"type\":\"number\",\"property-type\":\"data-constant\",\"default\":[\"interpolate\",[\"linear\"],[\"zoom\"],5,0.35,6,0],\"minimum\":0,\"maximum\":1,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true}},\"light\":{\"anchor\":{\"type\":\"enum\",\"default\":\"viewport\",\"values\":{\"map\":{},\"viewport\":{}},\"property-type\":\"data-constant\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]}},\"position\":{\"type\":\"array\",\"default\":[1.15,210,30],\"length\":3,\"value\":\"number\",\"property-type\":\"data-constant\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]}},\"color\":{\"type\":\"color\",\"property-type\":\"data-constant\",\"default\":\"#ffffff\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"intensity\":{\"type\":\"number\",\"property-type\":\"data-constant\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true}},\"projection\":{\"name\":{\"type\":\"enum\",\"values\":{\"albers\":{},\"equalEarth\":{},\"equirectangular\":{},\"lambertConformalConic\":{},\"mercator\":{},\"naturalEarth\":{},\"winkelTripel\":{},\"globe\":{}},\"default\":\"mercator\",\"required\":true},\"center\":{\"type\":\"array\",\"length\":2,\"value\":\"number\",\"property-type\":\"data-constant\",\"minimum\":[-180,-90],\"maximum\":[180,90],\"transition\":false,\"requires\":[{\"name\":[\"albers\",\"lambertConformalConic\"]}]},\"parallels\":{\"type\":\"array\",\"length\":2,\"value\":\"number\",\"property-type\":\"data-constant\",\"minimum\":[-90,-90],\"maximum\":[90,90],\"transition\":false,\"requires\":[{\"name\":[\"albers\",\"lambertConformalConic\"]}]}},\"terrain\":{\"source\":{\"type\":\"string\",\"required\":true},\"exaggeration\":{\"type\":\"number\",\"property-type\":\"data-constant\",\"default\":1,\"minimum\":0,\"maximum\":1000,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true,\"requires\":[\"source\"]}},\"paint\":[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\",\"paint_sky\"],\"paint_fill\":{\"fill-antialias\":{\"type\":\"boolean\",\"default\":true,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{\"type\":\"color\",\"transition\":true,\"requires\":[{\"!\":\"fill-pattern\"},{\"fill-antialias\":true}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{\"type\":\"resolvedImage\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[{\"!\":\"fill-extrusion-pattern\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"fill-extrusion-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{\"type\":\"resolvedImage\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-height\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"meters\",\"transition\":true,\"requires\":[\"fill-extrusion-height\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{\"type\":\"boolean\",\"default\":true,\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-ambient-occlusion-intensity\":{\"property-type\":\"data-constant\",\"type\":\"number\",\"private\":true,\"default\":0,\"minimum\":0,\"maximum\":1,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true},\"fill-extrusion-ambient-occlusion-radius\":{\"property-type\":\"data-constant\",\"type\":\"number\",\"private\":true,\"default\":3,\"minimum\":0,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"transition\":true,\"requires\":[\"fill-extrusion-edge-radius\"]},\"fill-extrusion-rounded-roof\":{\"type\":\"boolean\",\"default\":true,\"requires\":[\"fill-extrusion-edge-radius\"],\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_line\":{\"line-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[{\"!\":\"line-pattern\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"line-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{\"type\":\"number\",\"default\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{\"type\":\"array\",\"value\":\"number\",\"minimum\":0,\"transition\":false,\"units\":\"line widths\",\"requires\":[{\"!\":\"line-pattern\"}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-pattern\":{\"type\":\"resolvedImage\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-gradient\":{\"type\":\"color\",\"transition\":false,\"requires\":[{\"!\":\"line-pattern\"},{\"source\":\"geojson\",\"has\":{\"lineMetrics\":true}}],\"expression\":{\"interpolated\":true,\"parameters\":[\"line-progress\"]},\"property-type\":\"color-ramp\"},\"line-trim-offset\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"minimum\":[0,0],\"maximum\":[1,1],\"transition\":false,\"requires\":[{\"source\":\"geojson\",\"has\":{\"lineMetrics\":true}}],\"property-type\":\"constant\"}},\"paint_circle\":{\"circle-radius\":{\"type\":\"number\",\"default\":5,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{\"type\":\"number\",\"default\":0,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"circle-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"viewport\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},\"paint_heatmap\":{\"heatmap-radius\":{\"type\":\"number\",\"default\":30,\"minimum\":1,\"transition\":true,\"units\":\"pixels\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"transition\":false,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{\"type\":\"color\",\"default\":[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",0.1,\"royalblue\",0.3,\"cyan\",0.5,\"lime\",0.7,\"yellow\",1,\"red\"],\"transition\":false,\"expression\":{\"interpolated\":true,\"parameters\":[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_symbol\":{\"icon-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"transition\":true,\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"requires\":[\"icon-image\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"icon-image\",\"icon-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"overridable\":true,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{\"type\":\"color\",\"default\":\"rgba(0, 0, 0, 0)\",\"transition\":true,\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"default\":[0,0],\"transition\":true,\"units\":\"pixels\",\"requires\":[\"text-field\"],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"map\",\"requires\":[\"text-field\",\"text-translate\"],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_raster\":{\"raster-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{\"type\":\"number\",\"default\":0,\"period\":360,\"transition\":true,\"units\":\"degrees\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{\"type\":\"number\",\"default\":0,\"minimum\":-1,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{\"type\":\"enum\",\"values\":{\"linear\":{},\"nearest\":{}},\"default\":\"linear\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"transition\":false,\"units\":\"milliseconds\",\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_hillshade\":{\"hillshade-illumination-direction\":{\"type\":\"number\",\"default\":335,\"minimum\":0,\"maximum\":359,\"transition\":false,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{\"type\":\"enum\",\"values\":{\"map\":{},\"viewport\":{}},\"default\":\"viewport\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{\"type\":\"number\",\"default\":0.5,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{\"type\":\"color\",\"default\":\"#FFFFFF\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_background\":{\"background-color\":{\"type\":\"color\",\"default\":\"#000000\",\"transition\":true,\"requires\":[{\"!\":\"background-pattern\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{\"type\":\"resolvedImage\",\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"paint_sky\":{\"sky-type\":{\"type\":\"enum\",\"values\":{\"gradient\":{},\"atmosphere\":{}},\"default\":\"atmosphere\",\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"sky-atmosphere-sun\":{\"type\":\"array\",\"value\":\"number\",\"length\":2,\"units\":\"degrees\",\"minimum\":[0,0],\"maximum\":[360,180],\"transition\":false,\"requires\":[{\"sky-type\":\"atmosphere\"}],\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"sky-atmosphere-sun-intensity\":{\"type\":\"number\",\"requires\":[{\"sky-type\":\"atmosphere\"}],\"default\":10,\"minimum\":0,\"maximum\":100,\"transition\":false,\"property-type\":\"data-constant\"},\"sky-gradient-center\":{\"type\":\"array\",\"requires\":[{\"sky-type\":\"gradient\"}],\"value\":\"number\",\"default\":[0,0],\"length\":2,\"units\":\"degrees\",\"minimum\":[0,0],\"maximum\":[360,180],\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"sky-gradient-radius\":{\"type\":\"number\",\"requires\":[{\"sky-type\":\"gradient\"}],\"default\":90,\"minimum\":0,\"maximum\":180,\"transition\":false,\"expression\":{\"interpolated\":false,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"},\"sky-gradient\":{\"type\":\"color\",\"default\":[\"interpolate\",[\"linear\"],[\"sky-radial-progress\"],0.8,\"#87ceeb\",1,\"white\"],\"transition\":false,\"requires\":[{\"sky-type\":\"gradient\"}],\"expression\":{\"interpolated\":true,\"parameters\":[\"sky-radial-progress\"]},\"property-type\":\"color-ramp\"},\"sky-atmosphere-halo-color\":{\"type\":\"color\",\"default\":\"white\",\"transition\":false,\"requires\":[{\"sky-type\":\"atmosphere\"}],\"property-type\":\"data-constant\"},\"sky-atmosphere-color\":{\"type\":\"color\",\"default\":\"white\",\"transition\":false,\"requires\":[{\"sky-type\":\"atmosphere\"}],\"property-type\":\"data-constant\"},\"sky-opacity\":{\"type\":\"number\",\"default\":1,\"minimum\":0,\"maximum\":1,\"transition\":true,\"expression\":{\"interpolated\":true,\"parameters\":[\"zoom\"]},\"property-type\":\"data-constant\"}},\"transition\":{\"duration\":{\"type\":\"number\",\"default\":300,\"minimum\":0,\"units\":\"milliseconds\"},\"delay\":{\"type\":\"number\",\"default\":0,\"minimum\":0,\"units\":\"milliseconds\"}},\"property-type\":{\"data-driven\":{\"type\":\"property-type\"},\"color-ramp\":{\"type\":\"property-type\"},\"data-constant\":{\"type\":\"property-type\"},\"constant\":{\"type\":\"property-type\"}},\"promoteId\":{\"*\":{\"type\":\"string\"}}}');function ee(Se,...Ge){for(const mt of Ge)for(const Ge in mt)Se[Ge]=mt[Ge];return Se}function re(Se){return Se instanceof Number||Se instanceof String||Se instanceof Boolean?Se.valueOf():Se}function ne(Se){if(Array.isArray(Se))return Se.map(ne);if(Se instanceof Object&&!(Se instanceof Number||Se instanceof String||Se instanceof Boolean)){const Ge={};for(const mt in Se)Ge[mt]=ne(Se[mt]);return Ge}return re(Se)}class ie extends Error{constructor(Se,Ge){super(Ge),this.message=Ge,this.key=Se}}var Qa=ie;class ae{constructor(Se,Ge=[]){this.parent=Se,this.bindings={};for(const[Se,mt]of Ge)this.bindings[Se]=mt}concat(Se){return new ae(this,Se)}get(Se){if(this.bindings[Se])return this.bindings[Se];if(this.parent)return this.parent.get(Se);throw new Error(`${Se} not found in scope.`)}has(Se){return!!this.bindings[Se]||!!this.parent&&this.parent.has(Se)}}var tl=ae;const ol={kind:\"null\"},sl={kind:\"number\"},al={kind:\"string\"},ll={kind:\"boolean\"},cl={kind:\"color\"},hl={kind:\"object\"},ul={kind:\"value\"},dl={kind:\"collator\"},pl={kind:\"formatted\"},zl={kind:\"resolvedImage\"};function xe(Se,Ge){return{kind:\"array\",itemType:Se,N:Ge}}function ve(Se){if(\"array\"===Se.kind){const Ge=ve(Se.itemType);return\"number\"==typeof Se.N?`array<${Ge}, ${Se.N}>`:\"value\"===Se.itemType.kind?\"array\":`array<${Ge}>`}return Se.kind}const Ll=[ol,sl,al,ll,cl,pl,hl,xe(ul),zl];function we(Se,Ge){if(\"error\"===Ge.kind)return null;if(\"array\"===Se.kind){if(\"array\"===Ge.kind&&(0===Ge.N&&\"value\"===Ge.itemType.kind||!we(Se.itemType,Ge.itemType))&&(\"number\"!=typeof Se.N||Se.N===Ge.N))return null}else{if(Se.kind===Ge.kind)return null;if(\"value\"===Se.kind)for(const Se of Ll)if(!we(Se,Ge))return null}return`Expected ${ve(Se)} but found ${ve(Ge)} instead.`}function _e(Se,Ge){return Ge.some((Ge=>Ge.kind===Se.kind))}function Ae(Se,Ge){return Ge.some((Ge=>\"null\"===Ge?null===Se:\"array\"===Ge?Array.isArray(Se):\"object\"===Ge?Se&&!Array.isArray(Se)&&\"object\"==typeof Se:Ge===typeof Se))}var Rl,Fl={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]};function Ie(Se){return(Se=Math.round(Se))<0?0:Se>255?255:Se}function Me(Se){return Ie(\"%\"===Se[Se.length-1]?parseFloat(Se)/100*255:parseInt(Se))}function Te(Se){return(Ge=\"%\"===Se[Se.length-1]?parseFloat(Se)/100:parseFloat(Se))<0?0:Ge>1?1:Ge;var Ge}function ze(Se,Ge,mt){return mt<0?mt+=1:mt>1&&(mt-=1),6*mt<1?Se+(Ge-Se)*mt*6:2*mt<1?Ge:3*mt<2?Se+(Ge-Se)*(2/3-mt)*6:Se}try{Rl={}.parseCSSColor=function(Se){var Ge,mt=Se.replace(/ /g,\"\").toLowerCase();if(mt in Fl)return Fl[mt].slice();if(\"#\"===mt[0])return 4===mt.length?(Ge=parseInt(mt.substr(1),16))>=0&&Ge<=4095?[(3840&Ge)>>4|(3840&Ge)>>8,240&Ge|(240&Ge)>>4,15&Ge|(15&Ge)<<4,1]:null:7===mt.length&&(Ge=parseInt(mt.substr(1),16))>=0&&Ge<=16777215?[(16711680&Ge)>>16,(65280&Ge)>>8,255&Ge,1]:null;var Dt=mt.indexOf(\"(\"),Lt=mt.indexOf(\")\");if(-1!==Dt&&Lt+1===mt.length){var Rt=mt.substr(0,Dt),Bt=mt.substr(Dt+1,Lt-(Dt+1)).split(\",\"),Ft=1;switch(Rt){case\"rgba\":if(4!==Bt.length)return null;Ft=Te(Bt.pop());case\"rgb\":return 3!==Bt.length?null:[Me(Bt[0]),Me(Bt[1]),Me(Bt[2]),Ft];case\"hsla\":if(4!==Bt.length)return null;Ft=Te(Bt.pop());case\"hsl\":if(3!==Bt.length)return null;var Ot=(parseFloat(Bt[0])%360+360)%360/360,$t=Te(Bt[1]),Ni=Te(Bt[2]),tr=Ni<=.5?Ni*($t+1):Ni+$t-Ni*$t,Lr=2*Ni-tr;return[Ie(255*ze(Lr,tr,Ot+1/3)),Ie(255*ze(Lr,tr,Ot)),Ie(255*ze(Lr,tr,Ot-1/3)),Ft];default:return null}}return null}}catch(Se){}class Be{constructor(Se,Ge,mt,Dt=1){this.r=Se,this.g=Ge,this.b=mt,this.a=Dt}static parse(Se){if(!Se)return;if(Se instanceof Be)return Se;if(\"string\"!=typeof Se)return;const Ge=Rl(Se);return Ge?new Be(Ge[0]/255*Ge[3],Ge[1]/255*Ge[3],Ge[2]/255*Ge[3],Ge[3]):void 0}toString(){const[Se,Ge,mt,Dt]=this.toArray();return`rgba(${Math.round(Se)},${Math.round(Ge)},${Math.round(mt)},${Dt})`}toArray(){const{r:Se,g:Ge,b:mt,a:Dt}=this;return 0===Dt?[0,0,0,0]:[255*Se/Dt,255*Ge/Dt,255*mt/Dt,Dt]}toArray01(){const{r:Se,g:Ge,b:mt,a:Dt}=this;return 0===Dt?[0,0,0,0]:[Se/Dt,Ge/Dt,mt/Dt,Dt]}toArray01PremultipliedAlpha(){const{r:Se,g:Ge,b:mt,a:Dt}=this;return[Se,Ge,mt,Dt]}}Be.black=new Be(0,0,0,1),Be.white=new Be(1,1,1,1),Be.transparent=new Be(0,0,0,0),Be.red=new Be(1,0,0,1),Be.blue=new Be(0,0,1,1);var Ol=Be;class Ce{constructor(Se,Ge,mt){this.sensitivity=Se?Ge?\"variant\":\"case\":Ge?\"accent\":\"base\",this.locale=mt,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(Se,Ge){return this.collator.compare(Se,Ge)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Pe{constructor(Se,Ge,mt,Dt,Lt){this.text=Se.normalize?Se.normalize():Se,this.image=Ge,this.scale=mt,this.fontStack=Dt,this.textColor=Lt}}class De{constructor(Se){this.sections=Se}static fromString(Se){return new De([new Pe(Se,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((Se=>0!==Se.text.length||Se.image&&0!==Se.image.name.length))}static factory(Se){return Se instanceof De?Se:De.fromString(Se)}toString(){return 0===this.sections.length?\"\":this.sections.map((Se=>Se.text)).join(\"\")}serialize(){const Se=[\"format\"];for(const Ge of this.sections){if(Ge.image){Se.push([\"image\",Ge.image.name]);continue}Se.push(Ge.text);const mt={};Ge.fontStack&&(mt[\"text-font\"]=[\"literal\",Ge.fontStack.split(\",\")]),Ge.scale&&(mt[\"font-scale\"]=Ge.scale),Ge.textColor&&(mt[\"text-color\"]=[\"rgba\"].concat(Ge.textColor.toArray())),Se.push(mt)}return Se}}class Ve{constructor(Se){this.name=Se.name,this.available=Se.available}toString(){return this.name}static fromString(Se){return Se?new Ve({name:Se,available:!1}):null}serialize(){return[\"image\",this.name]}}function Le(Se,Ge,mt,Dt){return\"number\"==typeof Se&&Se>=0&&Se<=255&&\"number\"==typeof Ge&&Ge>=0&&Ge<=255&&\"number\"==typeof mt&&mt>=0&&mt<=255?void 0===Dt||\"number\"==typeof Dt&&Dt>=0&&Dt<=1?null:`Invalid rgba value [${[Se,Ge,mt,Dt].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(\"number\"==typeof Dt?[Se,Ge,mt,Dt]:[Se,Ge,mt]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Fe(Se){if(null===Se)return!0;if(\"string\"==typeof Se)return!0;if(\"boolean\"==typeof Se)return!0;if(\"number\"==typeof Se)return!0;if(Se instanceof Ol)return!0;if(Se instanceof Ce)return!0;if(Se instanceof De)return!0;if(Se instanceof Ve)return!0;if(Array.isArray(Se)){for(const Ge of Se)if(!Fe(Ge))return!1;return!0}if(\"object\"==typeof Se){for(const Ge in Se)if(!Fe(Se[Ge]))return!1;return!0}return!1}function Re(Se){if(null===Se)return ol;if(\"string\"==typeof Se)return al;if(\"boolean\"==typeof Se)return ll;if(\"number\"==typeof Se)return sl;if(Se instanceof Ol)return cl;if(Se instanceof Ce)return dl;if(Se instanceof De)return pl;if(Se instanceof Ve)return zl;if(Array.isArray(Se)){const Ge=Se.length;let mt;for(const Ge of Se){const Se=Re(Ge);if(mt){if(mt===Se)continue;mt=ul;break}mt=Se}return xe(mt||ul,Ge)}return hl}function Ue(Se){const Ge=typeof Se;return null===Se?\"\":\"string\"===Ge||\"number\"===Ge||\"boolean\"===Ge?String(Se):Se instanceof Ol||Se instanceof De||Se instanceof Ve?Se.toString():JSON.stringify(Se)}class $e{constructor(Se,Ge){this.type=Se,this.value=Ge}static parse(Se,Ge){if(2!==Se.length)return Ge.error(`'literal' expression requires exactly one argument, but found ${Se.length-1} instead.`);if(!Fe(Se[1]))return Ge.error(\"invalid value\");const mt=Se[1];let Dt=Re(mt);const Lt=Ge.expectedType;return\"array\"!==Dt.kind||0!==Dt.N||!Lt||\"array\"!==Lt.kind||\"number\"==typeof Lt.N&&0!==Lt.N||(Dt=Lt),new $e(Dt,mt)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return\"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof Ol?[\"rgba\"].concat(this.value.toArray()):this.value instanceof De?this.value.serialize():this.value}}var Ul=$e,$l=class{constructor(Se){this.name=\"ExpressionEvaluationError\",this.message=Se}toJSON(){return this.message}};const Hl={string:al,number:sl,boolean:ll,object:hl};class Ne{constructor(Se,Ge){this.type=Se,this.args=Ge}static parse(Se,Ge){if(Se.length<2)return Ge.error(\"Expected at least one argument.\");let mt,Dt=1;const Lt=Se[0];if(\"array\"===Lt){let Lt,Rt;if(Se.length>2){const mt=Se[1];if(\"string\"!=typeof mt||!(mt in Hl)||\"object\"===mt)return Ge.error('The item type argument of \"array\" must be one of string, number, boolean',1);Lt=Hl[mt],Dt++}else Lt=ul;if(Se.length>3){if(null!==Se[2]&&(\"number\"!=typeof Se[2]||Se[2]<0||Se[2]!==Math.floor(Se[2])))return Ge.error('The length argument to \"array\" must be a positive integer literal',2);Rt=Se[2],Dt++}mt=xe(Lt,Rt)}else mt=Hl[Lt];const Rt=[];for(;Dt<Se.length;Dt++){const mt=Ge.parse(Se[Dt],Dt,ul);if(!mt)return null;Rt.push(mt)}return new Ne(mt,Rt)}evaluate(Se){for(let Ge=0;Ge<this.args.length;Ge++){const mt=this.args[Ge].evaluate(Se);if(!we(this.type,Re(mt)))return mt;if(Ge===this.args.length-1)throw new $l(`Expected value to be of type ${ve(this.type)}, but found ${ve(Re(mt))} instead.`)}return null}eachChild(Se){this.args.forEach(Se)}outputDefined(){return this.args.every((Se=>Se.outputDefined()))}serialize(){const Se=this.type,Ge=[Se.kind];if(\"array\"===Se.kind){const mt=Se.itemType;if(\"string\"===mt.kind||\"number\"===mt.kind||\"boolean\"===mt.kind){Ge.push(mt.kind);const Dt=Se.N;(\"number\"==typeof Dt||this.args.length>1)&&Ge.push(Dt)}}return Ge.concat(this.args.map((Se=>Se.serialize())))}}var xc=Ne;class Ze{constructor(Se){this.type=pl,this.sections=Se}static parse(Se,Ge){if(Se.length<2)return Ge.error(\"Expected at least one argument.\");const mt=Se[1];if(!Array.isArray(mt)&&\"object\"==typeof mt)return Ge.error(\"First argument must be an image or text section.\");const Dt=[];let Lt=!1;for(let mt=1;mt<=Se.length-1;++mt){const Rt=Se[mt];if(Lt&&\"object\"==typeof Rt&&!Array.isArray(Rt)){Lt=!1;let Se=null;if(Rt[\"font-scale\"]&&(Se=Ge.parse(Rt[\"font-scale\"],1,sl),!Se))return null;let mt=null;if(Rt[\"text-font\"]&&(mt=Ge.parse(Rt[\"text-font\"],1,xe(al)),!mt))return null;let Bt=null;if(Rt[\"text-color\"]&&(Bt=Ge.parse(Rt[\"text-color\"],1,cl),!Bt))return null;const Ft=Dt[Dt.length-1];Ft.scale=Se,Ft.font=mt,Ft.textColor=Bt}else{const Rt=Ge.parse(Se[mt],1,ul);if(!Rt)return null;const Bt=Rt.type.kind;if(\"string\"!==Bt&&\"value\"!==Bt&&\"null\"!==Bt&&\"resolvedImage\"!==Bt)return Ge.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");Lt=!0,Dt.push({content:Rt,scale:null,font:null,textColor:null})}}return new Ze(Dt)}evaluate(Se){return new De(this.sections.map((Ge=>{const mt=Ge.content.evaluate(Se);return Re(mt)===zl?new Pe(\"\",mt,null,null,null):new Pe(Ue(mt),null,Ge.scale?Ge.scale.evaluate(Se):null,Ge.font?Ge.font.evaluate(Se).join(\",\"):null,Ge.textColor?Ge.textColor.evaluate(Se):null)})))}eachChild(Se){for(const Ge of this.sections)Se(Ge.content),Ge.scale&&Se(Ge.scale),Ge.font&&Se(Ge.font),Ge.textColor&&Se(Ge.textColor)}outputDefined(){return!1}serialize(){const Se=[\"format\"];for(const Ge of this.sections){Se.push(Ge.content.serialize());const mt={};Ge.scale&&(mt[\"font-scale\"]=Ge.scale.serialize()),Ge.font&&(mt[\"text-font\"]=Ge.font.serialize()),Ge.textColor&&(mt[\"text-color\"]=Ge.textColor.serialize()),Se.push(mt)}return Se}}class Ke{constructor(Se){this.type=zl,this.input=Se}static parse(Se,Ge){if(2!==Se.length)return Ge.error(\"Expected two arguments.\");const mt=Ge.parse(Se[1],1,al);return mt?new Ke(mt):Ge.error(\"No image name provided.\")}evaluate(Se){const Ge=this.input.evaluate(Se),mt=Ve.fromString(Ge);return mt&&Se.availableImages&&(mt.available=Se.availableImages.indexOf(Ge)>-1),mt}eachChild(Se){Se(this.input)}outputDefined(){return!1}serialize(){return[\"image\",this.input.serialize()]}}const Tc={\"to-boolean\":ll,\"to-color\":cl,\"to-number\":sl,\"to-string\":al};class Je{constructor(Se,Ge){this.type=Se,this.args=Ge}static parse(Se,Ge){if(Se.length<2)return Ge.error(\"Expected at least one argument.\");const mt=Se[0];if((\"to-boolean\"===mt||\"to-string\"===mt)&&2!==Se.length)return Ge.error(\"Expected one argument.\");const Dt=Tc[mt],Lt=[];for(let mt=1;mt<Se.length;mt++){const Dt=Ge.parse(Se[mt],mt,ul);if(!Dt)return null;Lt.push(Dt)}return new Je(Dt,Lt)}evaluate(Se){if(\"boolean\"===this.type.kind)return Boolean(this.args[0].evaluate(Se));if(\"color\"===this.type.kind){let Ge,mt;for(const Dt of this.args){if(Ge=Dt.evaluate(Se),mt=null,Ge instanceof Ol)return Ge;if(\"string\"==typeof Ge){const mt=Se.parseColor(Ge);if(mt)return mt}else if(Array.isArray(Ge)&&(mt=Ge.length<3||Ge.length>4?`Invalid rbga value ${JSON.stringify(Ge)}: expected an array containing either three or four numeric values.`:Le(Ge[0],Ge[1],Ge[2],Ge[3]),!mt))return new Ol(Ge[0]/255,Ge[1]/255,Ge[2]/255,Ge[3])}throw new $l(mt||`Could not parse color from value '${\"string\"==typeof Ge?Ge:String(JSON.stringify(Ge))}'`)}if(\"number\"===this.type.kind){let Ge=null;for(const mt of this.args){if(Ge=mt.evaluate(Se),null===Ge)return 0;const Dt=Number(Ge);if(!isNaN(Dt))return Dt}throw new $l(`Could not convert ${JSON.stringify(Ge)} to number.`)}return\"formatted\"===this.type.kind?De.fromString(Ue(this.args[0].evaluate(Se))):\"resolvedImage\"===this.type.kind?Ve.fromString(Ue(this.args[0].evaluate(Se))):Ue(this.args[0].evaluate(Se))}eachChild(Se){this.args.forEach(Se)}outputDefined(){return this.args.every((Se=>Se.outputDefined()))}serialize(){if(\"formatted\"===this.type.kind)return new Ze([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(\"resolvedImage\"===this.type.kind)return new Ke(this.args[0]).serialize();const Se=[`to-${this.type.kind}`];return this.eachChild((Ge=>{Se.push(Ge.serialize())})),Se}}var Ec=Je;const Cc=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];var zc=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?\"number\"==typeof this.feature.type?Cc[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const Se=this.featureDistanceData.center,Ge=this.featureDistanceData.scale,{x:mt,y:Dt}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(mt*Ge-Se[0])+this.featureDistanceData.bearing[1]*(Dt*Ge-Se[1])}return 0}parseColor(Se){let Ge=this._parseColorCache[Se];return Ge||(Ge=this._parseColorCache[Se]=Ol.parse(Se)),Ge}};class Qe{constructor(Se,Ge,mt,Dt){this.name=Se,this.type=Ge,this._evaluate=mt,this.args=Dt}evaluate(Se){return this._evaluate(Se,this.args)}eachChild(Se){this.args.forEach(Se)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map((Se=>Se.serialize())))}static parse(Se,Ge){const mt=Se[0],Dt=Qe.definitions[mt];if(!Dt)return Ge.error(`Unknown expression \"${mt}\". If you wanted a literal array, use [\"literal\", [...]].`,0);const Lt=Array.isArray(Dt)?Dt[0]:Dt.type,Rt=Array.isArray(Dt)?[[Dt[1],Dt[2]]]:Dt.overloads,Bt=Rt.filter((([Ge])=>!Array.isArray(Ge)||Ge.length===Se.length-1));let Ft=null;for(const[Dt,Rt]of Bt){Ft=new Nc(Ge.registry,Ge.path,null,Ge.scope);const Bt=[];let Ot=!1;for(let Ge=1;Ge<Se.length;Ge++){const mt=Se[Ge],Lt=Array.isArray(Dt)?Dt[Ge-1]:Dt.type,Rt=Ft.parse(mt,1+Bt.length,Lt);if(!Rt){Ot=!0;break}Bt.push(Rt)}if(!Ot)if(Array.isArray(Dt)&&Dt.length!==Bt.length)Ft.error(`Expected ${Dt.length} arguments, but found ${Bt.length} instead.`);else{for(let Se=0;Se<Bt.length;Se++){const Ge=Array.isArray(Dt)?Dt[Se]:Dt.type,mt=Bt[Se];Ft.concat(Se+1).checkSubtype(Ge,mt.type)}if(0===Ft.errors.length)return new Qe(mt,Lt,Rt,Bt)}}if(1===Bt.length)Ge.errors.push(...Ft.errors);else{const mt=(Bt.length?Bt:Rt).map((([Se])=>{return Ge=Se,Array.isArray(Ge)?`(${Ge.map(ve).join(\", \")})`:`(${ve(Ge.type)}...)`;var Ge})).join(\" | \"),Dt=[];for(let mt=1;mt<Se.length;mt++){const Lt=Ge.parse(Se[mt],1+Dt.length);if(!Lt)return null;Dt.push(ve(Lt.type))}Ge.error(`Expected arguments of type ${mt}, but found (${Dt.join(\", \")}) instead.`)}return null}static register(Se,Ge){Qe.definitions=Ge;for(const mt in Ge)Se[mt]=Qe}}var Pc=Qe;class er{constructor(Se,Ge,mt){this.type=dl,this.locale=mt,this.caseSensitive=Se,this.diacriticSensitive=Ge}static parse(Se,Ge){if(2!==Se.length)return Ge.error(\"Expected one argument.\");const mt=Se[1];if(\"object\"!=typeof mt||Array.isArray(mt))return Ge.error(\"Collator options argument must be an object.\");const Dt=Ge.parse(void 0!==mt[\"case-sensitive\"]&&mt[\"case-sensitive\"],1,ll);if(!Dt)return null;const Lt=Ge.parse(void 0!==mt[\"diacritic-sensitive\"]&&mt[\"diacritic-sensitive\"],1,ll);if(!Lt)return null;let Rt=null;return mt.locale&&(Rt=Ge.parse(mt.locale,1,al),!Rt)?null:new er(Dt,Lt,Rt)}evaluate(Se){return new Ce(this.caseSensitive.evaluate(Se),this.diacriticSensitive.evaluate(Se),this.locale?this.locale.evaluate(Se):null)}eachChild(Se){Se(this.caseSensitive),Se(this.diacriticSensitive),this.locale&&Se(this.locale)}outputDefined(){return!1}serialize(){const Se={};return Se[\"case-sensitive\"]=this.caseSensitive.serialize(),Se[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(Se.locale=this.locale.serialize()),[\"collator\",Se]}}const Dc=8192;function nr(Se,Ge){Se[0]=Math.min(Se[0],Ge[0]),Se[1]=Math.min(Se[1],Ge[1]),Se[2]=Math.max(Se[2],Ge[0]),Se[3]=Math.max(Se[3],Ge[1])}function ir(Se,Ge){return!(Se[0]<=Ge[0]||Se[2]>=Ge[2]||Se[1]<=Ge[1]||Se[3]>=Ge[3])}function sr(Se,Ge){const mt=(180+Se[0])/360,Dt=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+Se[1]*Math.PI/360)))/360,Lt=Math.pow(2,Ge.z);return[Math.round(mt*Lt*Dc),Math.round(Dt*Lt*Dc)]}function ar(Se,Ge,mt){const Dt=Se[0]-Ge[0],Lt=Se[1]-Ge[1],Rt=Se[0]-mt[0],Bt=Se[1]-mt[1];return Dt*Bt-Rt*Lt==0&&Dt*Rt<=0&&Lt*Bt<=0}function or(Se,Ge){let mt=!1;for(let Bt=0,Ft=Ge.length;Bt<Ft;Bt++){const Ft=Ge[Bt];for(let Ge=0,Bt=Ft.length;Ge<Bt-1;Ge++){if(ar(Se,Ft[Ge],Ft[Ge+1]))return!1;(Lt=Ft[Ge])[1]>(Dt=Se)[1]!=(Rt=Ft[Ge+1])[1]>Dt[1]&&Dt[0]<(Rt[0]-Lt[0])*(Dt[1]-Lt[1])/(Rt[1]-Lt[1])+Lt[0]&&(mt=!mt)}}var Dt,Lt,Rt;return mt}function lr(Se,Ge){for(let mt=0;mt<Ge.length;mt++)if(or(Se,Ge[mt]))return!0;return!1}function ur(Se,Ge,mt,Dt){const Lt=Dt[0]-mt[0],Rt=Dt[1]-mt[1],Bt=(Se[0]-mt[0])*Rt-Lt*(Se[1]-mt[1]),Ft=(Ge[0]-mt[0])*Rt-Lt*(Ge[1]-mt[1]);return Bt>0&&Ft<0||Bt<0&&Ft>0}function cr(Se,Ge,mt){for(const $t of mt)for(let mt=0;mt<$t.length-1;++mt)if(0!=(Ft=[(Bt=$t[mt+1])[0]-(Rt=$t[mt])[0],Bt[1]-Rt[1]])[0]*(Ot=[(Lt=Ge)[0]-(Dt=Se)[0],Lt[1]-Dt[1]])[1]-Ft[1]*Ot[0]&&ur(Dt,Lt,Rt,Bt)&&ur(Rt,Bt,Dt,Lt))return!0;var Dt,Lt,Rt,Bt,Ft,Ot;return!1}function hr(Se,Ge){for(let mt=0;mt<Se.length;++mt)if(!or(Se[mt],Ge))return!1;for(let mt=0;mt<Se.length-1;++mt)if(cr(Se[mt],Se[mt+1],Ge))return!1;return!0}function pr(Se,Ge){for(let mt=0;mt<Ge.length;mt++)if(hr(Se,Ge[mt]))return!0;return!1}function dr(Se,Ge,mt){const Dt=[];for(let Lt=0;Lt<Se.length;Lt++){const Rt=[];for(let Dt=0;Dt<Se[Lt].length;Dt++){const Bt=sr(Se[Lt][Dt],mt);nr(Ge,Bt),Rt.push(Bt)}Dt.push(Rt)}return Dt}function fr(Se,Ge,mt){const Dt=[];for(let Lt=0;Lt<Se.length;Lt++){const Rt=dr(Se[Lt],Ge,mt);Dt.push(Rt)}return Dt}function yr(Se,Ge,mt,Dt){if(Se[0]<mt[0]||Se[0]>mt[2]){const Ge=.5*Dt;let Lt=Se[0]-mt[0]>Ge?-Dt:mt[0]-Se[0]>Ge?Dt:0;0===Lt&&(Lt=Se[0]-mt[2]>Ge?-Dt:mt[2]-Se[0]>Ge?Dt:0),Se[0]+=Lt}nr(Ge,Se)}function mr(Se,Ge,mt,Dt){const Lt=Math.pow(2,Dt.z)*Dc,Rt=[Dt.x*Dc,Dt.y*Dc],Bt=[];if(!Se)return Bt;for(const Dt of Se)for(const Se of Dt){const Dt=[Se.x+Rt[0],Se.y+Rt[1]];yr(Dt,Ge,mt,Lt),Bt.push(Dt)}return Bt}function gr(Se,Ge,mt,Dt){const Lt=Math.pow(2,Dt.z)*Dc,Rt=[Dt.x*Dc,Dt.y*Dc],Bt=[];if(!Se)return Bt;for(const mt of Se){const Se=[];for(const Dt of mt){const mt=[Dt.x+Rt[0],Dt.y+Rt[1]];nr(Ge,mt),Se.push(mt)}Bt.push(Se)}if(Ge[2]-Ge[0]<=Lt/2){(Ft=Ge)[0]=Ft[1]=1/0,Ft[2]=Ft[3]=-1/0;for(const Se of Bt)for(const Dt of Se)yr(Dt,Ge,mt,Lt)}var Ft;return Bt}class xr{constructor(Se,Ge){this.type=ll,this.geojson=Se,this.geometries=Ge}static parse(Se,Ge){if(2!==Se.length)return Ge.error(`'within' expression requires exactly one argument, but found ${Se.length-1} instead.`);if(Fe(Se[1])){const Ge=Se[1];if(\"FeatureCollection\"===Ge.type)for(let Se=0;Se<Ge.features.length;++Se){const mt=Ge.features[Se].geometry.type;if(\"Polygon\"===mt||\"MultiPolygon\"===mt)return new xr(Ge,Ge.features[Se].geometry)}else if(\"Feature\"===Ge.type){const Se=Ge.geometry.type;if(\"Polygon\"===Se||\"MultiPolygon\"===Se)return new xr(Ge,Ge.geometry)}else if(\"Polygon\"===Ge.type||\"MultiPolygon\"===Ge.type)return new xr(Ge,Ge)}return Ge.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(Se){if(null!=Se.geometry()&&null!=Se.canonicalID()){if(\"Point\"===Se.geometryType())return function(Se,Ge){const mt=[1/0,1/0,-1/0,-1/0],Dt=[1/0,1/0,-1/0,-1/0],Lt=Se.canonicalID();if(!Lt)return!1;if(\"Polygon\"===Ge.type){const Rt=dr(Ge.coordinates,Dt,Lt),Bt=mr(Se.geometry(),mt,Dt,Lt);if(!ir(mt,Dt))return!1;for(const Se of Bt)if(!or(Se,Rt))return!1}if(\"MultiPolygon\"===Ge.type){const Rt=fr(Ge.coordinates,Dt,Lt),Bt=mr(Se.geometry(),mt,Dt,Lt);if(!ir(mt,Dt))return!1;for(const Se of Bt)if(!lr(Se,Rt))return!1}return!0}(Se,this.geometries);if(\"LineString\"===Se.geometryType())return function(Se,Ge){const mt=[1/0,1/0,-1/0,-1/0],Dt=[1/0,1/0,-1/0,-1/0],Lt=Se.canonicalID();if(!Lt)return!1;if(\"Polygon\"===Ge.type){const Rt=dr(Ge.coordinates,Dt,Lt),Bt=gr(Se.geometry(),mt,Dt,Lt);if(!ir(mt,Dt))return!1;for(const Se of Bt)if(!hr(Se,Rt))return!1}if(\"MultiPolygon\"===Ge.type){const Rt=fr(Ge.coordinates,Dt,Lt),Bt=gr(Se.geometry(),mt,Dt,Lt);if(!ir(mt,Dt))return!1;for(const Se of Bt)if(!pr(Se,Rt))return!1}return!0}(Se,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}serialize(){return[\"within\",this.geojson]}}var Lc=xr;function br(Se){if(Se instanceof Pc){if(\"get\"===Se.name&&1===Se.args.length)return!1;if(\"feature-state\"===Se.name)return!1;if(\"has\"===Se.name&&1===Se.args.length)return!1;if(\"properties\"===Se.name||\"geometry-type\"===Se.name||\"id\"===Se.name)return!1;if(/^filter-/.test(Se.name))return!1}if(Se instanceof Lc)return!1;let Ge=!0;return Se.eachChild((Se=>{Ge&&!br(Se)&&(Ge=!1)})),Ge}function wr(Se){if(Se instanceof Pc&&\"feature-state\"===Se.name)return!1;let Ge=!0;return Se.eachChild((Se=>{Ge&&!wr(Se)&&(Ge=!1)})),Ge}function _r(Se,Ge){if(Se instanceof Pc&&Ge.indexOf(Se.name)>=0)return!1;let mt=!0;return Se.eachChild((Se=>{mt&&!_r(Se,Ge)&&(mt=!1)})),mt}class Ar{constructor(Se,Ge){this.type=Ge.type,this.name=Se,this.boundExpression=Ge}static parse(Se,Ge){if(2!==Se.length||\"string\"!=typeof Se[1])return Ge.error(\"'var' expression requires exactly one string literal argument.\");const mt=Se[1];return Ge.scope.has(mt)?new Ar(mt,Ge.scope.get(mt)):Ge.error(`Unknown variable \"${mt}\". Make sure \"${mt}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(Se){return this.boundExpression.evaluate(Se)}eachChild(){}outputDefined(){return!1}serialize(){return[\"var\",this.name]}}var Bc=Ar;class kr{constructor(Se,Ge=[],mt,Dt=new tl,Lt=[]){this.registry=Se,this.path=Ge,this.key=Ge.map((Se=>`[${Se}]`)).join(\"\"),this.scope=Dt,this.errors=Lt,this.expectedType=mt}parse(Se,Ge,mt,Dt,Lt={}){return Ge?this.concat(Ge,mt,Dt)._parse(Se,Lt):this._parse(Se,Lt)}_parse(Se,Ge){function r(Se,Ge,mt){return\"assert\"===mt?new xc(Ge,[Se]):\"coerce\"===mt?new Ec(Ge,[Se]):Se}if(null!==Se&&\"string\"!=typeof Se&&\"boolean\"!=typeof Se&&\"number\"!=typeof Se||(Se=[\"literal\",Se]),Array.isArray(Se)){if(0===Se.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');const mt=Se[0];if(\"string\"!=typeof mt)return this.error(`Expression name must be a string, but found ${typeof mt} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;const Dt=this.registry[mt];if(Dt){let mt=Dt.parse(Se,this);if(!mt)return null;if(this.expectedType){const Se=this.expectedType,Dt=mt.type;if(\"string\"!==Se.kind&&\"number\"!==Se.kind&&\"boolean\"!==Se.kind&&\"object\"!==Se.kind&&\"array\"!==Se.kind||\"value\"!==Dt.kind)if(\"color\"!==Se.kind&&\"formatted\"!==Se.kind&&\"resolvedImage\"!==Se.kind||\"value\"!==Dt.kind&&\"string\"!==Dt.kind){if(this.checkSubtype(Se,Dt))return null}else mt=r(mt,Se,Ge.typeAnnotation||\"coerce\");else mt=r(mt,Se,Ge.typeAnnotation||\"assert\")}if(!(mt instanceof Ul)&&\"resolvedImage\"!==mt.type.kind&&Mr(mt)){const Ge=new zc;try{mt=new Ul(mt.type,mt.evaluate(Ge))}catch(Se){return this.error(Se.message),null}}return mt}return this.error(`Unknown expression \"${mt}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(void 0===Se?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof Se?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof Se} instead.`)}concat(Se,Ge,mt){const Dt=\"number\"==typeof Se?this.path.concat(Se):this.path,Lt=mt?this.scope.concat(mt):this.scope;return new kr(this.registry,Dt,Ge||null,Lt,this.errors)}error(Se,...Ge){const mt=`${this.key}${Ge.map((Se=>`[${Se}]`)).join(\"\")}`;this.errors.push(new Qa(mt,Se))}checkSubtype(Se,Ge){const mt=we(Se,Ge);return mt&&this.error(mt),mt}}var Nc=kr;function Mr(Se){if(Se instanceof Bc)return Mr(Se.boundExpression);if(Se instanceof Pc&&\"error\"===Se.name)return!1;if(Se instanceof er)return!1;if(Se instanceof Lc)return!1;const Ge=Se instanceof Ec||Se instanceof xc;let mt=!0;return Se.eachChild((Se=>{mt=Ge?mt&&Mr(Se):mt&&Se instanceof Ul})),!!mt&&br(Se)&&_r(Se,[\"zoom\",\"heatmap-density\",\"line-progress\",\"sky-radial-progress\",\"accumulated\",\"is-supported-script\",\"pitch\",\"distance-from-center\"])}function Tr(Se,Ge){const mt=Se.length-1;let Dt,Lt,Rt=0,Bt=mt,Ft=0;for(;Rt<=Bt;)if(Ft=Math.floor((Rt+Bt)/2),Dt=Se[Ft],Lt=Se[Ft+1],Dt<=Ge){if(Ft===mt||Ge<Lt)return Ft;Rt=Ft+1}else{if(!(Dt>Ge))throw new $l(\"Input is not a number.\");Bt=Ft-1}return 0}class zr{constructor(Se,Ge,mt){this.type=Se,this.input=Ge,this.labels=[],this.outputs=[];for(const[Se,Ge]of mt)this.labels.push(Se),this.outputs.push(Ge)}static parse(Se,Ge){if(Se.length-1<4)return Ge.error(`Expected at least 4 arguments, but found only ${Se.length-1}.`);if((Se.length-1)%2!=0)return Ge.error(\"Expected an even number of arguments.\");const mt=Ge.parse(Se[1],1,sl);if(!mt)return null;const Dt=[];let Lt=null;Ge.expectedType&&\"value\"!==Ge.expectedType.kind&&(Lt=Ge.expectedType);for(let mt=1;mt<Se.length;mt+=2){const Rt=1===mt?-1/0:Se[mt],Bt=Se[mt+1],Ft=mt,Ot=mt+1;if(\"number\"!=typeof Rt)return Ge.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Ft);if(Dt.length&&Dt[Dt.length-1][0]>=Rt)return Ge.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',Ft);const $t=Ge.parse(Bt,Ot,Lt);if(!$t)return null;Lt=Lt||$t.type,Dt.push([Rt,$t])}return new zr(Lt,mt,Dt)}evaluate(Se){const Ge=this.labels,mt=this.outputs;if(1===Ge.length)return mt[0].evaluate(Se);const Dt=this.input.evaluate(Se);if(Dt<=Ge[0])return mt[0].evaluate(Se);const Lt=Ge.length;return Dt>=Ge[Lt-1]?mt[Lt-1].evaluate(Se):mt[Tr(Ge,Dt)].evaluate(Se)}eachChild(Se){Se(this.input);for(const Ge of this.outputs)Se(Ge)}outputDefined(){return this.outputs.every((Se=>Se.outputDefined()))}serialize(){const Se=[\"step\",this.input.serialize()];for(let Ge=0;Ge<this.labels.length;Ge++)Ge>0&&Se.push(this.labels[Ge]),Se.push(this.outputs[Ge].serialize());return Se}}var Vc=zr;function Er(Se,Ge,mt){return Se*(1-mt)+Ge*mt}var jc=Object.freeze({__proto__:null,array:function(Se,Ge,mt){return Se.map(((Se,Dt)=>Er(Se,Ge[Dt],mt)))},color:function(Se,Ge,mt){return new Ol(Er(Se.r,Ge.r,mt),Er(Se.g,Ge.g,mt),Er(Se.b,Ge.b,mt),Er(Se.a,Ge.a,mt))},number:Er});const Zc=.95047,$c=1.08883,Hc=4/29,Jc=6/29,Kc=3*Jc*Jc,ch=Jc*Jc*Jc,uh=Math.PI/180,_h=180/Math.PI;function jr(Se){return Se>ch?Math.pow(Se,1/3):Se/Kc+Hc}function Or(Se){return Se>Jc?Se*Se*Se:Kc*(Se-Hc)}function qr(Se){return 255*(Se<=.0031308?12.92*Se:1.055*Math.pow(Se,1/2.4)-.055)}function Nr(Se){return(Se/=255)<=.04045?Se/12.92:Math.pow((Se+.055)/1.055,2.4)}function Gr(Se){const Ge=Nr(Se.r),mt=Nr(Se.g),Dt=Nr(Se.b),Lt=jr((.4124564*Ge+.3575761*mt+.1804375*Dt)/Zc),Rt=jr((.2126729*Ge+.7151522*mt+.072175*Dt)/1);return{l:116*Rt-16,a:500*(Lt-Rt),b:200*(Rt-jr((.0193339*Ge+.119192*mt+.9503041*Dt)/$c)),alpha:Se.a}}function Zr(Se){let Ge=(Se.l+16)/116,mt=isNaN(Se.a)?Ge:Ge+Se.a/500,Dt=isNaN(Se.b)?Ge:Ge-Se.b/200;return Ge=1*Or(Ge),mt=Zc*Or(mt),Dt=$c*Or(Dt),new Ol(qr(3.2404542*mt-1.5371385*Ge-.4985314*Dt),qr(-.969266*mt+1.8760108*Ge+.041556*Dt),qr(.0556434*mt-.2040259*Ge+1.0572252*Dt),Se.alpha)}function Kr(Se,Ge,mt){const Dt=Ge-Se;return Se+mt*(Dt>180||Dt<-180?Dt-360*Math.round(Dt/360):Dt)}const bh={forward:Gr,reverse:Zr,interpolate:function(Se,Ge,mt){return{l:Er(Se.l,Ge.l,mt),a:Er(Se.a,Ge.a,mt),b:Er(Se.b,Ge.b,mt),alpha:Er(Se.alpha,Ge.alpha,mt)}}},wh={forward:function(Se){const{l:Ge,a:mt,b:Dt}=Gr(Se),Lt=Math.atan2(Dt,mt)*_h;return{h:Lt<0?Lt+360:Lt,c:Math.sqrt(mt*mt+Dt*Dt),l:Ge,alpha:Se.a}},reverse:function(Se){const Ge=Se.h*uh,mt=Se.c;return Zr({l:Se.l,a:Math.cos(Ge)*mt,b:Math.sin(Ge)*mt,alpha:Se.alpha})},interpolate:function(Se,Ge,mt){return{h:Kr(Se.h,Ge.h,mt),c:Er(Se.c,Ge.c,mt),l:Er(Se.l,Ge.l,mt),alpha:Er(Se.alpha,Ge.alpha,mt)}}};var Th=Object.freeze({__proto__:null,hcl:wh,lab:bh});class Yr{constructor(Se,Ge,mt,Dt,Lt){this.type=Se,this.operator=Ge,this.interpolation=mt,this.input=Dt,this.labels=[],this.outputs=[];for(const[Se,Ge]of Lt)this.labels.push(Se),this.outputs.push(Ge)}static interpolationFactor(Se,Ge,mt,Dt){let Lt=0;if(\"exponential\"===Se.name)Lt=Wr(Ge,Se.base,mt,Dt);else if(\"linear\"===Se.name)Lt=Wr(Ge,1,mt,Dt);else if(\"cubic-bezier\"===Se.name){const Rt=Se.controlPoints;Lt=new Qr(Rt[0],Rt[1],Rt[2],Rt[3]).solve(Wr(Ge,1,mt,Dt))}return Lt}static parse(Se,Ge){let[mt,Dt,Lt,...Rt]=Se;if(!Array.isArray(Dt)||0===Dt.length)return Ge.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===Dt[0])Dt={name:\"linear\"};else if(\"exponential\"===Dt[0]){const Se=Dt[1];if(\"number\"!=typeof Se)return Ge.error(\"Exponential interpolation requires a numeric base.\",1,1);Dt={name:\"exponential\",base:Se}}else{if(\"cubic-bezier\"!==Dt[0])return Ge.error(`Unknown interpolation type ${String(Dt[0])}`,1,0);{const Se=Dt.slice(1);if(4!==Se.length||Se.some((Se=>\"number\"!=typeof Se||Se<0||Se>1)))return Ge.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);Dt={name:\"cubic-bezier\",controlPoints:Se}}}if(Se.length-1<4)return Ge.error(`Expected at least 4 arguments, but found only ${Se.length-1}.`);if((Se.length-1)%2!=0)return Ge.error(\"Expected an even number of arguments.\");if(Lt=Ge.parse(Lt,2,sl),!Lt)return null;const Bt=[];let Ft=null;\"interpolate-hcl\"===mt||\"interpolate-lab\"===mt?Ft=cl:Ge.expectedType&&\"value\"!==Ge.expectedType.kind&&(Ft=Ge.expectedType);for(let Se=0;Se<Rt.length;Se+=2){const mt=Rt[Se],Dt=Rt[Se+1],Lt=Se+3,Ot=Se+4;if(\"number\"!=typeof mt)return Ge.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Lt);if(Bt.length&&Bt[Bt.length-1][0]>=mt)return Ge.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Lt);const $t=Ge.parse(Dt,Ot,Ft);if(!$t)return null;Ft=Ft||$t.type,Bt.push([mt,$t])}return\"number\"===Ft.kind||\"color\"===Ft.kind||\"array\"===Ft.kind&&\"number\"===Ft.itemType.kind&&\"number\"==typeof Ft.N?new Yr(Ft,mt,Dt,Lt,Bt):Ge.error(`Type ${ve(Ft)} is not interpolatable.`)}evaluate(Se){const Ge=this.labels,mt=this.outputs;if(1===Ge.length)return mt[0].evaluate(Se);const Dt=this.input.evaluate(Se);if(Dt<=Ge[0])return mt[0].evaluate(Se);const Lt=Ge.length;if(Dt>=Ge[Lt-1])return mt[Lt-1].evaluate(Se);const Rt=Tr(Ge,Dt),Bt=Yr.interpolationFactor(this.interpolation,Dt,Ge[Rt],Ge[Rt+1]),Ft=mt[Rt].evaluate(Se),Ot=mt[Rt+1].evaluate(Se);return\"interpolate\"===this.operator?jc[this.type.kind.toLowerCase()](Ft,Ot,Bt):\"interpolate-hcl\"===this.operator?wh.reverse(wh.interpolate(wh.forward(Ft),wh.forward(Ot),Bt)):bh.reverse(bh.interpolate(bh.forward(Ft),bh.forward(Ot),Bt))}eachChild(Se){Se(this.input);for(const Ge of this.outputs)Se(Ge)}outputDefined(){return this.outputs.every((Se=>Se.outputDefined()))}serialize(){let Se;Se=\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints);const Ge=[this.operator,Se,this.input.serialize()];for(let Se=0;Se<this.labels.length;Se++)Ge.push(this.labels[Se],this.outputs[Se].serialize());return Ge}}function Wr(Se,Ge,mt,Dt){const Lt=Dt-mt,Rt=Se-mt;return 0===Lt?0:1===Ge?Rt/Lt:(Math.pow(Ge,Rt)-1)/(Math.pow(Ge,Lt)-1)}var Eh=Yr;class tn{constructor(Se,Ge){this.type=Se,this.args=Ge}static parse(Se,Ge){if(Se.length<2)return Ge.error(\"Expectected at least one argument.\");let mt=null;const Dt=Ge.expectedType;Dt&&\"value\"!==Dt.kind&&(mt=Dt);const Lt=[];for(const Dt of Se.slice(1)){const Se=Ge.parse(Dt,1+Lt.length,mt,void 0,{typeAnnotation:\"omit\"});if(!Se)return null;mt=mt||Se.type,Lt.push(Se)}const Rt=Dt&&Lt.some((Se=>we(Dt,Se.type)));return new tn(Rt?ul:mt,Lt)}evaluate(Se){let Ge,mt=null,Dt=0;for(const Lt of this.args){if(Dt++,mt=Lt.evaluate(Se),mt&&mt instanceof Ve&&!mt.available&&(Ge||(Ge=mt),mt=null,Dt===this.args.length))return Ge;if(null!==mt)break}return mt}eachChild(Se){this.args.forEach(Se)}outputDefined(){return this.args.every((Se=>Se.outputDefined()))}serialize(){const Se=[\"coalesce\"];return this.eachChild((Ge=>{Se.push(Ge.serialize())})),Se}}var Mh=tn;class rn{constructor(Se,Ge){this.type=Ge.type,this.bindings=[].concat(Se),this.result=Ge}evaluate(Se){return this.result.evaluate(Se)}eachChild(Se){for(const Ge of this.bindings)Se(Ge[1]);Se(this.result)}static parse(Se,Ge){if(Se.length<4)return Ge.error(`Expected at least 3 arguments, but found ${Se.length-1} instead.`);const mt=[];for(let Dt=1;Dt<Se.length-1;Dt+=2){const Lt=Se[Dt];if(\"string\"!=typeof Lt)return Ge.error(`Expected string, but found ${typeof Lt} instead.`,Dt);if(/[^a-zA-Z0-9_]/.test(Lt))return Ge.error(\"Variable names must contain only alphanumeric characters or '_'.\",Dt);const Rt=Ge.parse(Se[Dt+1],Dt+1);if(!Rt)return null;mt.push([Lt,Rt])}const Dt=Ge.parse(Se[Se.length-1],Se.length-1,Ge.expectedType,mt);return Dt?new rn(mt,Dt):null}outputDefined(){return this.result.outputDefined()}serialize(){const Se=[\"let\"];for(const[Ge,mt]of this.bindings)Se.push(Ge,mt.serialize());return Se.push(this.result.serialize()),Se}}var Sh=rn;class sn{constructor(Se,Ge,mt){this.type=Se,this.index=Ge,this.input=mt}static parse(Se,Ge){if(3!==Se.length)return Ge.error(`Expected 2 arguments, but found ${Se.length-1} instead.`);const mt=Ge.parse(Se[1],1,sl),Dt=Ge.parse(Se[2],2,xe(Ge.expectedType||ul));return mt&&Dt?new sn(Dt.type.itemType,mt,Dt):null}evaluate(Se){const Ge=this.index.evaluate(Se),mt=this.input.evaluate(Se);if(Ge<0)throw new $l(`Array index out of bounds: ${Ge} < 0.`);if(Ge>=mt.length)throw new $l(`Array index out of bounds: ${Ge} > ${mt.length-1}.`);if(Ge!==Math.floor(Ge))throw new $l(`Array index must be an integer, but found ${Ge} instead.`);return mt[Ge]}eachChild(Se){Se(this.index),Se(this.input)}outputDefined(){return!1}serialize(){return[\"at\",this.index.serialize(),this.input.serialize()]}}var Ah=sn;class on{constructor(Se,Ge){this.type=ll,this.needle=Se,this.haystack=Ge}static parse(Se,Ge){if(3!==Se.length)return Ge.error(`Expected 2 arguments, but found ${Se.length-1} instead.`);const mt=Ge.parse(Se[1],1,ul),Dt=Ge.parse(Se[2],2,ul);return mt&&Dt?_e(mt.type,[ll,al,sl,ol,ul])?new on(mt,Dt):Ge.error(`Expected first argument to be of type boolean, string, number or null, but found ${ve(mt.type)} instead`):null}evaluate(Se){const Ge=this.needle.evaluate(Se),mt=this.haystack.evaluate(Se);if(null==mt)return!1;if(!Ae(Ge,[\"boolean\",\"string\",\"number\",\"null\"]))throw new $l(`Expected first argument to be of type boolean, string, number or null, but found ${ve(Re(Ge))} instead.`);if(!Ae(mt,[\"string\",\"array\"]))throw new $l(`Expected second argument to be of type array or string, but found ${ve(Re(mt))} instead.`);return mt.indexOf(Ge)>=0}eachChild(Se){Se(this.needle),Se(this.haystack)}outputDefined(){return!0}serialize(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]}}var Ch=on;class un{constructor(Se,Ge,mt){this.type=sl,this.needle=Se,this.haystack=Ge,this.fromIndex=mt}static parse(Se,Ge){if(Se.length<=2||Se.length>=5)return Ge.error(`Expected 3 or 4 arguments, but found ${Se.length-1} instead.`);const mt=Ge.parse(Se[1],1,ul),Dt=Ge.parse(Se[2],2,ul);if(!mt||!Dt)return null;if(!_e(mt.type,[ll,al,sl,ol,ul]))return Ge.error(`Expected first argument to be of type boolean, string, number or null, but found ${ve(mt.type)} instead`);if(4===Se.length){const Lt=Ge.parse(Se[3],3,sl);return Lt?new un(mt,Dt,Lt):null}return new un(mt,Dt)}evaluate(Se){const Ge=this.needle.evaluate(Se),mt=this.haystack.evaluate(Se);if(!Ae(Ge,[\"boolean\",\"string\",\"number\",\"null\"]))throw new $l(`Expected first argument to be of type boolean, string, number or null, but found ${ve(Re(Ge))} instead.`);if(!Ae(mt,[\"string\",\"array\"]))throw new $l(`Expected second argument to be of type array or string, but found ${ve(Re(mt))} instead.`);if(this.fromIndex){const Dt=this.fromIndex.evaluate(Se);return mt.indexOf(Ge,Dt)}return mt.indexOf(Ge)}eachChild(Se){Se(this.needle),Se(this.haystack),this.fromIndex&&Se(this.fromIndex)}outputDefined(){return!1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const Se=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),Se]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]}}var zh=un;class hn{constructor(Se,Ge,mt,Dt,Lt,Rt){this.inputType=Se,this.type=Ge,this.input=mt,this.cases=Dt,this.outputs=Lt,this.otherwise=Rt}static parse(Se,Ge){if(Se.length<5)return Ge.error(`Expected at least 4 arguments, but found only ${Se.length-1}.`);if(Se.length%2!=1)return Ge.error(\"Expected an even number of arguments.\");let mt,Dt;Ge.expectedType&&\"value\"!==Ge.expectedType.kind&&(Dt=Ge.expectedType);const Lt={},Rt=[];for(let Bt=2;Bt<Se.length-1;Bt+=2){let Ft=Se[Bt];const Ot=Se[Bt+1];Array.isArray(Ft)||(Ft=[Ft]);const $t=Ge.concat(Bt);if(0===Ft.length)return $t.error(\"Expected at least one branch label.\");for(const Se of Ft){if(\"number\"!=typeof Se&&\"string\"!=typeof Se)return $t.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof Se&&Math.abs(Se)>Number.MAX_SAFE_INTEGER)return $t.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof Se&&Math.floor(Se)!==Se)return $t.error(\"Numeric branch labels must be integer values.\");if(mt){if($t.checkSubtype(mt,Re(Se)))return null}else mt=Re(Se);if(void 0!==Lt[String(Se)])return $t.error(\"Branch labels must be unique.\");Lt[String(Se)]=Rt.length}const Ni=Ge.parse(Ot,Bt,Dt);if(!Ni)return null;Dt=Dt||Ni.type,Rt.push(Ni)}const Bt=Ge.parse(Se[1],1,ul);if(!Bt)return null;const Ft=Ge.parse(Se[Se.length-1],Se.length-1,Dt);return Ft?\"value\"!==Bt.type.kind&&Ge.concat(1).checkSubtype(mt,Bt.type)?null:new hn(mt,Dt,Bt,Lt,Rt,Ft):null}evaluate(Se){const Ge=this.input.evaluate(Se);return(Re(Ge)===this.inputType&&this.outputs[this.cases[Ge]]||this.otherwise).evaluate(Se)}eachChild(Se){Se(this.input),this.outputs.forEach(Se),Se(this.otherwise)}outputDefined(){return this.outputs.every((Se=>Se.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const Se=[\"match\",this.input.serialize()],Ge=Object.keys(this.cases).sort(),mt=[],Dt={};for(const Se of Ge){const Ge=Dt[this.cases[Se]];void 0===Ge?(Dt[this.cases[Se]]=mt.length,mt.push([this.cases[Se],[Se]])):mt[Ge][1].push(Se)}const i=Se=>\"number\"===this.inputType.kind?Number(Se):Se;for(const[Ge,Dt]of mt)Se.push(1===Dt.length?i(Dt[0]):Dt.map(i)),Se.push(this.outputs[Ge].serialize());return Se.push(this.otherwise.serialize()),Se}}var Ph=hn;class dn{constructor(Se,Ge,mt){this.type=Se,this.branches=Ge,this.otherwise=mt}static parse(Se,Ge){if(Se.length<4)return Ge.error(`Expected at least 3 arguments, but found only ${Se.length-1}.`);if(Se.length%2!=0)return Ge.error(\"Expected an odd number of arguments.\");let mt;Ge.expectedType&&\"value\"!==Ge.expectedType.kind&&(mt=Ge.expectedType);const Dt=[];for(let Lt=1;Lt<Se.length-1;Lt+=2){const Rt=Ge.parse(Se[Lt],Lt,ll);if(!Rt)return null;const Bt=Ge.parse(Se[Lt+1],Lt+1,mt);if(!Bt)return null;Dt.push([Rt,Bt]),mt=mt||Bt.type}const Lt=Ge.parse(Se[Se.length-1],Se.length-1,mt);return Lt?new dn(mt,Dt,Lt):null}evaluate(Se){for(const[Ge,mt]of this.branches)if(Ge.evaluate(Se))return mt.evaluate(Se);return this.otherwise.evaluate(Se)}eachChild(Se){for(const[Ge,mt]of this.branches)Se(Ge),Se(mt);Se(this.otherwise)}outputDefined(){return this.branches.every((([Se,Ge])=>Ge.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const Se=[\"case\"];return this.eachChild((Ge=>{Se.push(Ge.serialize())})),Se}}var Dh=dn;class yn{constructor(Se,Ge,mt,Dt){this.type=Se,this.input=Ge,this.beginIndex=mt,this.endIndex=Dt}static parse(Se,Ge){if(Se.length<=2||Se.length>=5)return Ge.error(`Expected 3 or 4 arguments, but found ${Se.length-1} instead.`);const mt=Ge.parse(Se[1],1,ul),Dt=Ge.parse(Se[2],2,sl);if(!mt||!Dt)return null;if(!_e(mt.type,[xe(ul),al,ul]))return Ge.error(`Expected first argument to be of type array or string, but found ${ve(mt.type)} instead`);if(4===Se.length){const Lt=Ge.parse(Se[3],3,sl);return Lt?new yn(mt.type,mt,Dt,Lt):null}return new yn(mt.type,mt,Dt)}evaluate(Se){const Ge=this.input.evaluate(Se),mt=this.beginIndex.evaluate(Se);if(!Ae(Ge,[\"string\",\"array\"]))throw new $l(`Expected first argument to be of type array or string, but found ${ve(Re(Ge))} instead.`);if(this.endIndex){const Dt=this.endIndex.evaluate(Se);return Ge.slice(mt,Dt)}return Ge.slice(mt)}eachChild(Se){Se(this.input),Se(this.beginIndex),this.endIndex&&Se(this.endIndex)}outputDefined(){return!1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const Se=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),Se]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]}}var kh=yn;function gn(Se,Ge){return\"==\"===Se||\"!=\"===Se?\"boolean\"===Ge.kind||\"string\"===Ge.kind||\"number\"===Ge.kind||\"null\"===Ge.kind||\"value\"===Ge.kind:\"string\"===Ge.kind||\"number\"===Ge.kind||\"value\"===Ge.kind}function xn(Se,Ge,mt,Dt){return 0===Dt.compare(Ge,mt)}function vn(Se,Ge,mt){const Dt=\"==\"!==Se&&\"!=\"!==Se;return class i{constructor(Se,Ge,mt){this.type=ll,this.lhs=Se,this.rhs=Ge,this.collator=mt,this.hasUntypedArgument=\"value\"===Se.type.kind||\"value\"===Ge.type.kind}static parse(Se,Ge){if(3!==Se.length&&4!==Se.length)return Ge.error(\"Expected two or three arguments.\");const mt=Se[0];let Lt=Ge.parse(Se[1],1,ul);if(!Lt)return null;if(!gn(mt,Lt.type))return Ge.concat(1).error(`\"${mt}\" comparisons are not supported for type '${ve(Lt.type)}'.`);let Rt=Ge.parse(Se[2],2,ul);if(!Rt)return null;if(!gn(mt,Rt.type))return Ge.concat(2).error(`\"${mt}\" comparisons are not supported for type '${ve(Rt.type)}'.`);if(Lt.type.kind!==Rt.type.kind&&\"value\"!==Lt.type.kind&&\"value\"!==Rt.type.kind)return Ge.error(`Cannot compare types '${ve(Lt.type)}' and '${ve(Rt.type)}'.`);Dt&&(\"value\"===Lt.type.kind&&\"value\"!==Rt.type.kind?Lt=new xc(Rt.type,[Lt]):\"value\"!==Lt.type.kind&&\"value\"===Rt.type.kind&&(Rt=new xc(Lt.type,[Rt])));let Bt=null;if(4===Se.length){if(\"string\"!==Lt.type.kind&&\"string\"!==Rt.type.kind&&\"value\"!==Lt.type.kind&&\"value\"!==Rt.type.kind)return Ge.error(\"Cannot use collator to compare non-string types.\");if(Bt=Ge.parse(Se[3],3,dl),!Bt)return null}return new i(Lt,Rt,Bt)}evaluate(Lt){const Rt=this.lhs.evaluate(Lt),Bt=this.rhs.evaluate(Lt);if(Dt&&this.hasUntypedArgument){const Ge=Re(Rt),mt=Re(Bt);if(Ge.kind!==mt.kind||\"string\"!==Ge.kind&&\"number\"!==Ge.kind)throw new $l(`Expected arguments for \"${Se}\" to be (string, string) or (number, number), but found (${Ge.kind}, ${mt.kind}) instead.`)}if(this.collator&&!Dt&&this.hasUntypedArgument){const Se=Re(Rt),mt=Re(Bt);if(\"string\"!==Se.kind||\"string\"!==mt.kind)return Ge(Lt,Rt,Bt)}return this.collator?mt(Lt,Rt,Bt,this.collator.evaluate(Lt)):Ge(Lt,Rt,Bt)}eachChild(Se){Se(this.lhs),Se(this.rhs),this.collator&&Se(this.collator)}outputDefined(){return!0}serialize(){const Ge=[Se];return this.eachChild((Se=>{Ge.push(Se.serialize())})),Ge}}}const Lh=vn(\"==\",(function(Se,Ge,mt){return Ge===mt}),xn),Rh=vn(\"!=\",(function(Se,Ge,mt){return Ge!==mt}),(function(Se,Ge,mt,Dt){return!xn(0,Ge,mt,Dt)})),Fh=vn(\"<\",(function(Se,Ge,mt){return Ge<mt}),(function(Se,Ge,mt,Dt){return Dt.compare(Ge,mt)<0})),Uh=vn(\">\",(function(Se,Ge,mt){return Ge>mt}),(function(Se,Ge,mt,Dt){return Dt.compare(Ge,mt)>0})),Vh=vn(\"<=\",(function(Se,Ge,mt){return Ge<=mt}),(function(Se,Ge,mt,Dt){return Dt.compare(Ge,mt)<=0})),Gh=vn(\">=\",(function(Se,Ge,mt){return Ge>=mt}),(function(Se,Ge,mt,Dt){return Dt.compare(Ge,mt)>=0}));class In{constructor(Se,Ge,mt,Dt,Lt,Rt){this.type=al,this.number=Se,this.locale=Ge,this.currency=mt,this.unit=Dt,this.minFractionDigits=Lt,this.maxFractionDigits=Rt}static parse(Se,Ge){if(3!==Se.length)return Ge.error(\"Expected two arguments.\");const mt=Ge.parse(Se[1],1,sl);if(!mt)return null;const Dt=Se[2];if(\"object\"!=typeof Dt||Array.isArray(Dt))return Ge.error(\"NumberFormat options argument must be an object.\");let Lt=null;if(Dt.locale&&(Lt=Ge.parse(Dt.locale,1,al),!Lt))return null;let Rt=null;if(Dt.currency&&(Rt=Ge.parse(Dt.currency,1,al),!Rt))return null;let Bt=null;if(Dt.unit&&(Bt=Ge.parse(Dt.unit,1,al),!Bt))return null;let Ft=null;if(Dt[\"min-fraction-digits\"]&&(Ft=Ge.parse(Dt[\"min-fraction-digits\"],1,sl),!Ft))return null;let Ot=null;return Dt[\"max-fraction-digits\"]&&(Ot=Ge.parse(Dt[\"max-fraction-digits\"],1,sl),!Ot)?null:new In(mt,Lt,Rt,Bt,Ft,Ot)}evaluate(Se){return new Intl.NumberFormat(this.locale?this.locale.evaluate(Se):[],{style:(this.currency?\"currency\":this.unit&&\"unit\")||\"decimal\",currency:this.currency?this.currency.evaluate(Se):void 0,unit:this.unit?this.unit.evaluate(Se):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(Se):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(Se):void 0}).format(this.number.evaluate(Se))}eachChild(Se){Se(this.number),this.locale&&Se(this.locale),this.currency&&Se(this.currency),this.unit&&Se(this.unit),this.minFractionDigits&&Se(this.minFractionDigits),this.maxFractionDigits&&Se(this.maxFractionDigits)}outputDefined(){return!1}serialize(){const Se={};return this.locale&&(Se.locale=this.locale.serialize()),this.currency&&(Se.currency=this.currency.serialize()),this.unit&&(Se.unit=this.unit.serialize()),this.minFractionDigits&&(Se[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(Se[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),Se]}}class Mn{constructor(Se){this.type=sl,this.input=Se}static parse(Se,Ge){if(2!==Se.length)return Ge.error(`Expected 1 argument, but found ${Se.length-1} instead.`);const mt=Ge.parse(Se[1],1);return mt?\"array\"!==mt.type.kind&&\"string\"!==mt.type.kind&&\"value\"!==mt.type.kind?Ge.error(`Expected argument of type string or array, but found ${ve(mt.type)} instead.`):new Mn(mt):null}evaluate(Se){const Ge=this.input.evaluate(Se);if(\"string\"==typeof Ge)return Ge.length;if(Array.isArray(Ge))return Ge.length;throw new $l(`Expected value to be of type string or array, but found ${ve(Re(Ge))} instead.`)}eachChild(Se){Se(this.input)}outputDefined(){return!1}serialize(){const Se=[\"length\"];return this.eachChild((Ge=>{Se.push(Ge.serialize())})),Se}}const qh={\"==\":Lh,\"!=\":Rh,\">\":Uh,\"<\":Fh,\">=\":Gh,\"<=\":Vh,array:xc,at:Ah,boolean:xc,case:Dh,coalesce:Mh,collator:er,format:Ze,image:Ke,in:Ch,\"index-of\":zh,interpolate:Eh,\"interpolate-hcl\":Eh,\"interpolate-lab\":Eh,length:Mn,let:Sh,literal:Ul,match:Ph,number:xc,\"number-format\":In,object:xc,slice:kh,step:Vc,string:xc,\"to-boolean\":Ec,\"to-color\":Ec,\"to-number\":Ec,\"to-string\":Ec,var:Bc,within:Lc};function zn(Se,[Ge,mt,Dt,Lt]){Ge=Ge.evaluate(Se),mt=mt.evaluate(Se),Dt=Dt.evaluate(Se);const Rt=Lt?Lt.evaluate(Se):1,Bt=Le(Ge,mt,Dt,Rt);if(Bt)throw new $l(Bt);return new Ol(Ge/255*Rt,mt/255*Rt,Dt/255*Rt,Rt)}function Bn(Se,Ge){return Se in Ge}function En(Se,Ge){const mt=Ge[Se];return void 0===mt?null:mt}function Cn(Se){return{type:Se}}Pc.register(qh,{error:[{kind:\"error\"},[al],(Se,[Ge])=>{throw new $l(Ge.evaluate(Se))}],typeof:[al,[ul],(Se,[Ge])=>ve(Re(Ge.evaluate(Se)))],\"to-rgba\":[xe(sl,4),[cl],(Se,[Ge])=>Ge.evaluate(Se).toArray()],rgb:[cl,[sl,sl,sl],zn],rgba:[cl,[sl,sl,sl,sl],zn],has:{type:ll,overloads:[[[al],(Se,[Ge])=>Bn(Ge.evaluate(Se),Se.properties())],[[al,hl],(Se,[Ge,mt])=>Bn(Ge.evaluate(Se),mt.evaluate(Se))]]},get:{type:ul,overloads:[[[al],(Se,[Ge])=>En(Ge.evaluate(Se),Se.properties())],[[al,hl],(Se,[Ge,mt])=>En(Ge.evaluate(Se),mt.evaluate(Se))]]},\"feature-state\":[ul,[al],(Se,[Ge])=>En(Ge.evaluate(Se),Se.featureState||{})],properties:[hl,[],Se=>Se.properties()],\"geometry-type\":[al,[],Se=>Se.geometryType()],id:[ul,[],Se=>Se.id()],zoom:[sl,[],Se=>Se.globals.zoom],pitch:[sl,[],Se=>Se.globals.pitch||0],\"distance-from-center\":[sl,[],Se=>Se.distanceFromCenter()],\"heatmap-density\":[sl,[],Se=>Se.globals.heatmapDensity||0],\"line-progress\":[sl,[],Se=>Se.globals.lineProgress||0],\"sky-radial-progress\":[sl,[],Se=>Se.globals.skyRadialProgress||0],accumulated:[ul,[],Se=>void 0===Se.globals.accumulated?null:Se.globals.accumulated],\"+\":[sl,Cn(sl),(Se,Ge)=>{let mt=0;for(const Dt of Ge)mt+=Dt.evaluate(Se);return mt}],\"*\":[sl,Cn(sl),(Se,Ge)=>{let mt=1;for(const Dt of Ge)mt*=Dt.evaluate(Se);return mt}],\"-\":{type:sl,overloads:[[[sl,sl],(Se,[Ge,mt])=>Ge.evaluate(Se)-mt.evaluate(Se)],[[sl],(Se,[Ge])=>-Ge.evaluate(Se)]]},\"/\":[sl,[sl,sl],(Se,[Ge,mt])=>Ge.evaluate(Se)/mt.evaluate(Se)],\"%\":[sl,[sl,sl],(Se,[Ge,mt])=>Ge.evaluate(Se)%mt.evaluate(Se)],ln2:[sl,[],()=>Math.LN2],pi:[sl,[],()=>Math.PI],e:[sl,[],()=>Math.E],\"^\":[sl,[sl,sl],(Se,[Ge,mt])=>Math.pow(Ge.evaluate(Se),mt.evaluate(Se))],sqrt:[sl,[sl],(Se,[Ge])=>Math.sqrt(Ge.evaluate(Se))],log10:[sl,[sl],(Se,[Ge])=>Math.log(Ge.evaluate(Se))/Math.LN10],ln:[sl,[sl],(Se,[Ge])=>Math.log(Ge.evaluate(Se))],log2:[sl,[sl],(Se,[Ge])=>Math.log(Ge.evaluate(Se))/Math.LN2],sin:[sl,[sl],(Se,[Ge])=>Math.sin(Ge.evaluate(Se))],cos:[sl,[sl],(Se,[Ge])=>Math.cos(Ge.evaluate(Se))],tan:[sl,[sl],(Se,[Ge])=>Math.tan(Ge.evaluate(Se))],asin:[sl,[sl],(Se,[Ge])=>Math.asin(Ge.evaluate(Se))],acos:[sl,[sl],(Se,[Ge])=>Math.acos(Ge.evaluate(Se))],atan:[sl,[sl],(Se,[Ge])=>Math.atan(Ge.evaluate(Se))],min:[sl,Cn(sl),(Se,Ge)=>Math.min(...Ge.map((Ge=>Ge.evaluate(Se))))],max:[sl,Cn(sl),(Se,Ge)=>Math.max(...Ge.map((Ge=>Ge.evaluate(Se))))],abs:[sl,[sl],(Se,[Ge])=>Math.abs(Ge.evaluate(Se))],round:[sl,[sl],(Se,[Ge])=>{const mt=Ge.evaluate(Se);return mt<0?-Math.round(-mt):Math.round(mt)}],floor:[sl,[sl],(Se,[Ge])=>Math.floor(Ge.evaluate(Se))],ceil:[sl,[sl],(Se,[Ge])=>Math.ceil(Ge.evaluate(Se))],\"filter-==\":[ll,[al,ul],(Se,[Ge,mt])=>Se.properties()[Ge.value]===mt.value],\"filter-id-==\":[ll,[ul],(Se,[Ge])=>Se.id()===Ge.value],\"filter-type-==\":[ll,[al],(Se,[Ge])=>Se.geometryType()===Ge.value],\"filter-<\":[ll,[al,ul],(Se,[Ge,mt])=>{const Dt=Se.properties()[Ge.value],Lt=mt.value;return typeof Dt==typeof Lt&&Dt<Lt}],\"filter-id-<\":[ll,[ul],(Se,[Ge])=>{const mt=Se.id(),Dt=Ge.value;return typeof mt==typeof Dt&&mt<Dt}],\"filter->\":[ll,[al,ul],(Se,[Ge,mt])=>{const Dt=Se.properties()[Ge.value],Lt=mt.value;return typeof Dt==typeof Lt&&Dt>Lt}],\"filter-id->\":[ll,[ul],(Se,[Ge])=>{const mt=Se.id(),Dt=Ge.value;return typeof mt==typeof Dt&&mt>Dt}],\"filter-<=\":[ll,[al,ul],(Se,[Ge,mt])=>{const Dt=Se.properties()[Ge.value],Lt=mt.value;return typeof Dt==typeof Lt&&Dt<=Lt}],\"filter-id-<=\":[ll,[ul],(Se,[Ge])=>{const mt=Se.id(),Dt=Ge.value;return typeof mt==typeof Dt&&mt<=Dt}],\"filter->=\":[ll,[al,ul],(Se,[Ge,mt])=>{const Dt=Se.properties()[Ge.value],Lt=mt.value;return typeof Dt==typeof Lt&&Dt>=Lt}],\"filter-id->=\":[ll,[ul],(Se,[Ge])=>{const mt=Se.id(),Dt=Ge.value;return typeof mt==typeof Dt&&mt>=Dt}],\"filter-has\":[ll,[ul],(Se,[Ge])=>Ge.value in Se.properties()],\"filter-has-id\":[ll,[],Se=>null!==Se.id()&&void 0!==Se.id()],\"filter-type-in\":[ll,[xe(al)],(Se,[Ge])=>Ge.value.indexOf(Se.geometryType())>=0],\"filter-id-in\":[ll,[xe(ul)],(Se,[Ge])=>Ge.value.indexOf(Se.id())>=0],\"filter-in-small\":[ll,[al,xe(ul)],(Se,[Ge,mt])=>mt.value.indexOf(Se.properties()[Ge.value])>=0],\"filter-in-large\":[ll,[al,xe(ul)],(Se,[Ge,mt])=>function(Se,Ge,mt,Dt){for(;mt<=Dt;){const Lt=mt+Dt>>1;if(Ge[Lt]===Se)return!0;Ge[Lt]>Se?Dt=Lt-1:mt=Lt+1}return!1}(Se.properties()[Ge.value],mt.value,0,mt.value.length-1)],all:{type:ll,overloads:[[[ll,ll],(Se,[Ge,mt])=>Ge.evaluate(Se)&&mt.evaluate(Se)],[Cn(ll),(Se,Ge)=>{for(const mt of Ge)if(!mt.evaluate(Se))return!1;return!0}]]},any:{type:ll,overloads:[[[ll,ll],(Se,[Ge,mt])=>Ge.evaluate(Se)||mt.evaluate(Se)],[Cn(ll),(Se,Ge)=>{for(const mt of Ge)if(mt.evaluate(Se))return!0;return!1}]]},\"!\":[ll,[ll],(Se,[Ge])=>!Ge.evaluate(Se)],\"is-supported-script\":[ll,[al],(Se,[Ge])=>{const mt=Se.globals&&Se.globals.isSupportedScript;return!mt||mt(Ge.evaluate(Se))}],upcase:[al,[al],(Se,[Ge])=>Ge.evaluate(Se).toUpperCase()],downcase:[al,[al],(Se,[Ge])=>Ge.evaluate(Se).toLowerCase()],concat:[al,Cn(ul),(Se,Ge)=>Ge.map((Ge=>Ue(Ge.evaluate(Se)))).join(\"\")],\"resolved-locale\":[al,[dl],(Se,[Ge])=>Ge.evaluate(Se).resolvedLocale()]});var Xh=qh;function Dn(Se){return{result:\"success\",value:Se}}function Vn(Se){return{result:\"error\",value:Se}}function Ln(Se){return\"data-driven\"===Se[\"property-type\"]}function Fn(Se){return!!Se.expression&&Se.expression.parameters.indexOf(\"zoom\")>-1}function Rn(Se){return!!Se.expression&&Se.expression.interpolated}function Un(Se){return Se instanceof Number?\"number\":Se instanceof String?\"string\":Se instanceof Boolean?\"boolean\":Array.isArray(Se)?\"array\":null===Se?\"null\":typeof Se}function $n(Se){return\"object\"==typeof Se&&null!==Se&&!Array.isArray(Se)}function jn(Se){return Se}function On(Se,Ge){const mt=\"color\"===Ge.type,Dt=Se.stops&&\"object\"==typeof Se.stops[0][0],Lt=Dt||!(Dt||void 0!==Se.property),Rt=Se.type||(Rn(Ge)?\"exponential\":\"interval\");if(mt&&((Se=ee({},Se)).stops&&(Se.stops=Se.stops.map((Se=>[Se[0],Ol.parse(Se[1])]))),Se.default=Ol.parse(Se.default?Se.default:Ge.default)),Se.colorSpace&&\"rgb\"!==Se.colorSpace&&!Th[Se.colorSpace])throw new Error(`Unknown color space: ${Se.colorSpace}`);let Bt,Ft,Ot;if(\"exponential\"===Rt)Bt=Zn;else if(\"interval\"===Rt)Bt=Gn;else if(\"categorical\"===Rt){Bt=Nn,Ft=Object.create(null);for(const Ge of Se.stops)Ft[Ge[0]]=Ge[1];Ot=typeof Se.stops[0][0]}else{if(\"identity\"!==Rt)throw new Error(`Unknown function type \"${Rt}\"`);Bt=Kn}if(Dt){const mt={},Dt=[];for(let Ge=0;Ge<Se.stops.length;Ge++){const Lt=Se.stops[Ge],Rt=Lt[0].zoom;void 0===mt[Rt]&&(mt[Rt]={zoom:Rt,type:Se.type,property:Se.property,default:Se.default,stops:[]},Dt.push(Rt)),mt[Rt].stops.push([Lt[0].value,Lt[1]])}const Lt=[];for(const Se of Dt)Lt.push([mt[Se].zoom,On(mt[Se],Ge)]);const Rt={name:\"linear\"};return{kind:\"composite\",interpolationType:Rt,interpolationFactor:Eh.interpolationFactor.bind(void 0,Rt),zoomStops:Lt.map((Se=>Se[0])),evaluate:({zoom:mt},Dt)=>Zn({stops:Lt,base:Se.base},Ge,mt).evaluate(mt,Dt)}}if(Lt){const mt=\"exponential\"===Rt?{name:\"exponential\",base:void 0!==Se.base?Se.base:1}:null;return{kind:\"camera\",interpolationType:mt,interpolationFactor:Eh.interpolationFactor.bind(void 0,mt),zoomStops:Se.stops.map((Se=>Se[0])),evaluate:({zoom:mt})=>Bt(Se,Ge,mt,Ft,Ot)}}return{kind:\"source\",evaluate(mt,Dt){const Lt=Dt&&Dt.properties?Dt.properties[Se.property]:void 0;return void 0===Lt?qn(Se.default,Ge.default):Bt(Se,Ge,Lt,Ft,Ot)}}}function qn(Se,Ge,mt){return void 0!==Se?Se:void 0!==Ge?Ge:void 0!==mt?mt:void 0}function Nn(Se,Ge,mt,Dt,Lt){return qn(typeof mt===Lt?Dt[mt]:void 0,Se.default,Ge.default)}function Gn(Se,Ge,mt){if(\"number\"!==Un(mt))return qn(Se.default,Ge.default);const Dt=Se.stops.length;if(1===Dt)return Se.stops[0][1];if(mt<=Se.stops[0][0])return Se.stops[0][1];if(mt>=Se.stops[Dt-1][0])return Se.stops[Dt-1][1];const Lt=Tr(Se.stops.map((Se=>Se[0])),mt);return Se.stops[Lt][1]}function Zn(Se,Ge,mt){const Dt=void 0!==Se.base?Se.base:1;if(\"number\"!==Un(mt))return qn(Se.default,Ge.default);const Lt=Se.stops.length;if(1===Lt)return Se.stops[0][1];if(mt<=Se.stops[0][0])return Se.stops[0][1];if(mt>=Se.stops[Lt-1][0])return Se.stops[Lt-1][1];const Rt=Tr(Se.stops.map((Se=>Se[0])),mt),Bt=function(Se,Ge,mt,Dt){const Lt=Dt-mt,Rt=Se-mt;return 0===Lt?0:1===Ge?Rt/Lt:(Math.pow(Ge,Rt)-1)/(Math.pow(Ge,Lt)-1)}(mt,Dt,Se.stops[Rt][0],Se.stops[Rt+1][0]),Ft=Se.stops[Rt][1],Ot=Se.stops[Rt+1][1];let $t=jc[Ge.type]||jn;if(Se.colorSpace&&\"rgb\"!==Se.colorSpace){const Ge=Th[Se.colorSpace];$t=(Se,mt)=>Ge.reverse(Ge.interpolate(Ge.forward(Se),Ge.forward(mt),Bt))}return\"function\"==typeof Ft.evaluate?{evaluate(...Se){const Ge=Ft.evaluate.apply(void 0,Se),mt=Ot.evaluate.apply(void 0,Se);if(void 0!==Ge&&void 0!==mt)return $t(Ge,mt,Bt)}}:$t(Ft,Ot,Bt)}function Kn(Se,Ge,mt){return\"color\"===Ge.type?mt=Ol.parse(mt):\"formatted\"===Ge.type?mt=De.fromString(mt.toString()):\"resolvedImage\"===Ge.type?mt=Ve.fromString(mt.toString()):Un(mt)===Ge.type||\"enum\"===Ge.type&&Ge.values[mt]||(mt=void 0),qn(mt,Se.default,Ge.default)}class Xn{constructor(Se,Ge){this.expression=Se,this._warningHistory={},this._evaluator=new zc,this._defaultValue=Ge?function(Se){return\"color\"===Se.type&&($n(Se.default)||Array.isArray(Se.default))?new Ol(0,0,0,0):\"color\"===Se.type?Ol.parse(Se.default)||null:void 0===Se.default?null:Se.default}(Ge):null,this._enumValues=Ge&&\"enum\"===Ge.type?Ge.values:null}evaluateWithoutErrorHandling(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){return this._evaluator.globals=Se,this._evaluator.feature=Ge,this._evaluator.featureState=mt,this._evaluator.canonical=Dt||null,this._evaluator.availableImages=Lt||null,this._evaluator.formattedSection=Rt,this._evaluator.featureTileCoord=Bt||null,this._evaluator.featureDistanceData=Ft||null,this.expression.evaluate(this._evaluator)}evaluate(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){this._evaluator.globals=Se,this._evaluator.feature=Ge||null,this._evaluator.featureState=mt||null,this._evaluator.canonical=Dt||null,this._evaluator.availableImages=Lt||null,this._evaluator.formattedSection=Rt||null,this._evaluator.featureTileCoord=Bt||null,this._evaluator.featureDistanceData=Ft||null;try{const Se=this.expression.evaluate(this._evaluator);if(null==Se||\"number\"==typeof Se&&Se!=Se)return this._defaultValue;if(this._enumValues&&!(Se in this._enumValues))throw new $l(`Expected value to be one of ${Object.keys(this._enumValues).map((Se=>JSON.stringify(Se))).join(\", \")}, but found ${JSON.stringify(Se)} instead.`);return Se}catch(Se){return this._warningHistory[Se.message]||(this._warningHistory[Se.message]=!0,\"undefined\"!=typeof console&&console.warn(Se.message)),this._defaultValue}}}function Jn(Se){return Array.isArray(Se)&&Se.length>0&&\"string\"==typeof Se[0]&&Se[0]in Xh}function Hn(Se,Ge){const mt=new Nc(Xh,[],Ge?function(Se){const Ge={color:cl,string:al,number:sl,enum:al,boolean:ll,formatted:pl,resolvedImage:zl};return\"array\"===Se.type?xe(Ge[Se.value]||ul,Se.length):Ge[Se.type]}(Ge):void 0),Dt=mt.parse(Se,void 0,void 0,void 0,Ge&&\"string\"===Ge.type?{typeAnnotation:\"coerce\"}:void 0);return Dt?Dn(new Xn(Dt,Ge)):Vn(mt.errors)}class Yn{constructor(Se,Ge){this.kind=Se,this._styleExpression=Ge,this.isStateDependent=\"constant\"!==Se&&!wr(Ge.expression)}evaluateWithoutErrorHandling(Se,Ge,mt,Dt,Lt,Rt){return this._styleExpression.evaluateWithoutErrorHandling(Se,Ge,mt,Dt,Lt,Rt)}evaluate(Se,Ge,mt,Dt,Lt,Rt){return this._styleExpression.evaluate(Se,Ge,mt,Dt,Lt,Rt)}}class Wn{constructor(Se,Ge,mt,Dt){this.kind=Se,this.zoomStops=mt,this._styleExpression=Ge,this.isStateDependent=\"camera\"!==Se&&!wr(Ge.expression),this.interpolationType=Dt}evaluateWithoutErrorHandling(Se,Ge,mt,Dt,Lt,Rt){return this._styleExpression.evaluateWithoutErrorHandling(Se,Ge,mt,Dt,Lt,Rt)}evaluate(Se,Ge,mt,Dt,Lt,Rt){return this._styleExpression.evaluate(Se,Ge,mt,Dt,Lt,Rt)}interpolationFactor(Se,Ge,mt){return this.interpolationType?Eh.interpolationFactor(this.interpolationType,Se,Ge,mt):0}}function Qn(Se,Ge){if(\"error\"===(Se=Hn(Se,Ge)).result)return Se;const mt=Se.value.expression,Dt=br(mt);if(!Dt&&!Ln(Ge))return Vn([new Qa(\"\",\"data expressions not supported\")]);const Lt=_r(mt,[\"zoom\",\"pitch\",\"distance-from-center\"]);if(!Lt&&!Fn(Ge))return Vn([new Qa(\"\",\"zoom expressions not supported\")]);const Rt=ei(mt);return Rt||Lt?Rt instanceof Qa?Vn([Rt]):Rt instanceof Eh&&!Rn(Ge)?Vn([new Qa(\"\",'\"interpolate\" expressions cannot be used with this property')]):Dn(Rt?new Wn(Dt?\"camera\":\"composite\",Se.value,Rt.labels,Rt instanceof Eh?Rt.interpolation:void 0):new Yn(Dt?\"constant\":\"source\",Se.value)):Vn([new Qa(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class ti{constructor(Se,Ge){this._parameters=Se,this._specification=Ge,ee(this,On(this._parameters,this._specification))}static deserialize(Se){return new ti(Se._parameters,Se._specification)}static serialize(Se){return{_parameters:Se._parameters,_specification:Se._specification}}}function ei(Se){let Ge=null;if(Se instanceof Sh)Ge=ei(Se.result);else if(Se instanceof Mh){for(const mt of Se.args)if(Ge=ei(mt),Ge)break}else(Se instanceof Vc||Se instanceof Eh)&&Se.input instanceof Pc&&\"zoom\"===Se.input.name&&(Ge=Se);return Ge instanceof Qa||Se.eachChild((Se=>{const mt=ei(Se);mt instanceof Qa?Ge=mt:!Ge&&mt?Ge=new Qa(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):Ge&&mt&&Ge!==mt&&(Ge=new Qa(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))})),Ge}class ri{constructor(Se,Ge,mt,Dt){this.message=(Se?`${Se}: `:\"\")+mt,Dt&&(this.identifier=Dt),null!=Ge&&Ge.__line__&&(this.line=Ge.__line__)}}function ni(Se){const Ge=Se.key,mt=Se.value,Dt=Se.valueSpec||{},Lt=Se.objectElementValidators||{},Rt=Se.style,Bt=Se.styleSpec;let Ft=[];const Ot=Un(mt);if(\"object\"!==Ot)return[new ri(Ge,mt,`object expected, ${Ot} found`)];for(const Se in mt){const Ot=Se.split(\".\")[0];let $t;Lt[Ot]?$t=Lt[Ot]:Dt[Ot]?$t=Fi:Lt[\"*\"]?$t=Lt[\"*\"]:Dt[\"*\"]&&($t=Fi),$t?Ft=Ft.concat($t({key:(Ge?`${Ge}.`:Ge)+Se,value:mt[Se],valueSpec:Dt[Ot]||Dt[\"*\"],style:Rt,styleSpec:Bt,object:mt,objectKey:Se},mt)):Ft.push(new ri(Ge,mt[Se],`unknown property \"${Se}\"`))}for(const Se in Dt)Lt[Se]||Dt[Se].required&&void 0===Dt[Se].default&&void 0===mt[Se]&&Ft.push(new ri(Ge,mt,`missing required property \"${Se}\"`));return Ft}function ii(Se){const Ge=Se.value,mt=Se.valueSpec,Dt=Se.style,Lt=Se.styleSpec,Rt=Se.key,Bt=Se.arrayElementValidator||Fi;if(\"array\"!==Un(Ge))return[new ri(Rt,Ge,`array expected, ${Un(Ge)} found`)];if(mt.length&&Ge.length!==mt.length)return[new ri(Rt,Ge,`array length ${mt.length} expected, length ${Ge.length} found`)];if(mt[\"min-length\"]&&Ge.length<mt[\"min-length\"])return[new ri(Rt,Ge,`array length at least ${mt[\"min-length\"]} expected, length ${Ge.length} found`)];let Ft={type:mt.value,values:mt.values,minimum:mt.minimum,maximum:mt.maximum,function:void 0};Lt.$version<7&&(Ft.function=mt.function),\"object\"===Un(mt.value)&&(Ft=mt.value);let Ot=[];for(let Se=0;Se<Ge.length;Se++)Ot=Ot.concat(Bt({array:Ge,arrayIndex:Se,value:Ge[Se],valueSpec:Ft,style:Dt,styleSpec:Lt,key:`${Rt}[${Se}]`}));return Ot}function si(Se){const Ge=Se.key,mt=Se.value,Dt=Se.valueSpec;let Lt=Un(mt);if(\"number\"===Lt&&mt!=mt&&(Lt=\"NaN\"),\"number\"!==Lt)return[new ri(Ge,mt,`number expected, ${Lt} found`)];if(\"minimum\"in Dt){let Lt=Dt.minimum;if(\"array\"===Un(Dt.minimum)&&(Lt=Dt.minimum[Se.arrayIndex]),mt<Lt)return[new ri(Ge,mt,`${mt} is less than the minimum value ${Lt}`)]}if(\"maximum\"in Dt){let Lt=Dt.maximum;if(\"array\"===Un(Dt.maximum)&&(Lt=Dt.maximum[Se.arrayIndex]),mt>Lt)return[new ri(Ge,mt,`${mt} is greater than the maximum value ${Lt}`)]}return[]}function ai(Se){const Ge=Se.valueSpec,mt=re(Se.value.type);let Dt,Lt,Rt,Bt={};const Ft=\"categorical\"!==mt&&void 0===Se.value.property,Ot=!Ft,$t=\"array\"===Un(Se.value.stops)&&\"array\"===Un(Se.value.stops[0])&&\"object\"===Un(Se.value.stops[0][0]),Ni=ni({key:Se.key,value:Se.value,valueSpec:Se.styleSpec.function,style:Se.style,styleSpec:Se.styleSpec,objectElementValidators:{stops:function(Se){if(\"identity\"===mt)return[new ri(Se.key,Se.value,'identity function may not have a \"stops\" property')];let Ge=[];const Dt=Se.value;return Ge=Ge.concat(ii({key:Se.key,value:Dt,valueSpec:Se.valueSpec,style:Se.style,styleSpec:Se.styleSpec,arrayElementValidator:h})),\"array\"===Un(Dt)&&0===Dt.length&&Ge.push(new ri(Se.key,Dt,\"array must have at least one stop\")),Ge},default:function(Se){return Fi({key:Se.key,value:Se.value,valueSpec:Ge,style:Se.style,styleSpec:Se.styleSpec})}}});return\"identity\"===mt&&Ft&&Ni.push(new ri(Se.key,Se.value,'missing required property \"property\"')),\"identity\"===mt||Se.value.stops||Ni.push(new ri(Se.key,Se.value,'missing required property \"stops\"')),\"exponential\"===mt&&Se.valueSpec.expression&&!Rn(Se.valueSpec)&&Ni.push(new ri(Se.key,Se.value,\"exponential functions not supported\")),Se.styleSpec.$version>=8&&(Ot&&!Ln(Se.valueSpec)?Ni.push(new ri(Se.key,Se.value,\"property functions not supported\")):Ft&&!Fn(Se.valueSpec)&&Ni.push(new ri(Se.key,Se.value,\"zoom functions not supported\"))),\"categorical\"!==mt&&!$t||void 0!==Se.value.property||Ni.push(new ri(Se.key,Se.value,'\"property\" property is required')),Ni;function h(Se){let mt=[];const Dt=Se.value,Ft=Se.key;if(\"array\"!==Un(Dt))return[new ri(Ft,Dt,`array expected, ${Un(Dt)} found`)];if(2!==Dt.length)return[new ri(Ft,Dt,`array length 2 expected, length ${Dt.length} found`)];if($t){if(\"object\"!==Un(Dt[0]))return[new ri(Ft,Dt,`object expected, ${Un(Dt[0])} found`)];if(void 0===Dt[0].zoom)return[new ri(Ft,Dt,\"object stop key must have zoom\")];if(void 0===Dt[0].value)return[new ri(Ft,Dt,\"object stop key must have value\")];const Ge=re(Dt[0].zoom);if(\"number\"!=typeof Ge)return[new ri(Ft,Dt[0].zoom,\"stop zoom values must be numbers\")];if(Rt&&Rt>Ge)return[new ri(Ft,Dt[0].zoom,\"stop zoom values must appear in ascending order\")];Ge!==Rt&&(Rt=Ge,Lt=void 0,Bt={}),mt=mt.concat(ni({key:`${Ft}[0]`,value:Dt[0],valueSpec:{zoom:{}},style:Se.style,styleSpec:Se.styleSpec,objectElementValidators:{zoom:si,value:p}}))}else mt=mt.concat(p({key:`${Ft}[0]`,value:Dt[0],valueSpec:{},style:Se.style,styleSpec:Se.styleSpec},Dt));return Jn(ne(Dt[1]))?mt.concat([new ri(`${Ft}[1]`,Dt[1],\"expressions are not allowed in function stops.\")]):mt.concat(Fi({key:`${Ft}[1]`,value:Dt[1],valueSpec:Ge,style:Se.style,styleSpec:Se.styleSpec}))}function p(Se,Rt){const Ft=Un(Se.value),Ot=re(Se.value),$t=null!==Se.value?Se.value:Rt;if(Dt){if(Ft!==Dt)return[new ri(Se.key,$t,`${Ft} stop domain type must match previous stop domain type ${Dt}`)]}else Dt=Ft;if(\"number\"!==Ft&&\"string\"!==Ft&&\"boolean\"!==Ft&&\"number\"!=typeof Ot&&\"string\"!=typeof Ot&&\"boolean\"!=typeof Ot)return[new ri(Se.key,$t,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==Ft&&\"categorical\"!==mt){let Dt=`number expected, ${Ft} found`;return Ln(Ge)&&void 0===mt&&(Dt+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ri(Se.key,$t,Dt)]}return\"categorical\"!==mt||\"number\"!==Ft||\"number\"==typeof Ot&&isFinite(Ot)&&Math.floor(Ot)===Ot?\"categorical\"!==mt&&\"number\"===Ft&&\"number\"==typeof Ot&&\"number\"==typeof Lt&&void 0!==Lt&&Ot<Lt?[new ri(Se.key,$t,\"stop domain values must appear in ascending order\")]:(Lt=Ot,\"categorical\"===mt&&Ot in Bt?[new ri(Se.key,$t,\"stop domain values must be unique\")]:(Bt[Ot]=!0,[])):[new ri(Se.key,$t,`integer expected, found ${String(Ot)}`)]}}function oi(Se){const Ge=(\"property\"===Se.expressionContext?Qn:Hn)(ne(Se.value),Se.valueSpec);if(\"error\"===Ge.result)return Ge.value.map((Ge=>new ri(`${Se.key}${Ge.key}`,Se.value,Ge.message)));const mt=Ge.value.expression||Ge.value._styleExpression.expression;if(\"property\"===Se.expressionContext&&\"text-font\"===Se.propertyKey&&!mt.outputDefined())return[new ri(Se.key,Se.value,`Invalid data expression for \"${Se.propertyKey}\". Output values must be contained as literals within the expression.`)];if(\"property\"===Se.expressionContext&&\"layout\"===Se.propertyType&&!wr(mt))return[new ri(Se.key,Se.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===Se.expressionContext)return li(mt,Se);if(Se.expressionContext&&0===Se.expressionContext.indexOf(\"cluster\")){if(!_r(mt,[\"zoom\",\"feature-state\"]))return[new ri(Se.key,Se.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===Se.expressionContext&&!br(mt))return[new ri(Se.key,Se.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function li(Se,Ge){const mt=new Set([\"zoom\",\"feature-state\",\"pitch\",\"distance-from-center\"]);if(Ge.valueSpec&&Ge.valueSpec.expression)for(const Se of Ge.valueSpec.expression.parameters)mt.delete(Se);if(0===mt.size)return[];const Dt=[];return Se instanceof Pc&&mt.has(Se.name)?[new ri(Ge.key,Ge.value,`[\"${Se.name}\"] expression is not supported in a filter for a ${Ge.object.type} layer with id: ${Ge.object.id}`)]:(Se.eachChild((Se=>{Dt.push(...li(Se,Ge))})),Dt)}function ui(Se){const Ge=Se.key,mt=Se.value,Dt=Se.valueSpec,Lt=[];return Array.isArray(Dt.values)?-1===Dt.values.indexOf(re(mt))&&Lt.push(new ri(Ge,mt,`expected one of [${Dt.values.join(\", \")}], ${JSON.stringify(mt)} found`)):-1===Object.keys(Dt.values).indexOf(re(mt))&&Lt.push(new ri(Ge,mt,`expected one of [${Object.keys(Dt.values).join(\", \")}], ${JSON.stringify(mt)} found`)),Lt}function ci(Se){if(!0===Se||!1===Se)return!0;if(!Array.isArray(Se)||0===Se.length)return!1;switch(Se[0]){case\"has\":return Se.length>=2&&\"$id\"!==Se[1]&&\"$type\"!==Se[1];case\"in\":return Se.length>=3&&(\"string\"!=typeof Se[1]||Array.isArray(Se[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==Se.length||Array.isArray(Se[1])||Array.isArray(Se[2]);case\"any\":case\"all\":for(const Ge of Se.slice(1))if(!ci(Ge)&&\"boolean\"!=typeof Ge)return!1;return!0;default:return!0}}function hi(Se,Ge=\"fill\"){if(null==Se)return{filter:()=>!0,needGeometry:!1,needFeature:!1};ci(Se)||(Se=xi(Se));const mt=Se;let Dt=!0;try{Dt=function(Se){if(!fi(Se))return Se;let Ge=ne(Se);return di(Ge),Ge=pi(Ge),Ge}(mt)}catch(Se){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\\nand paste the contents of this message in the report.\\nThank you!\\nFilter Expression:\\n${JSON.stringify(mt,null,2)}\\n        `)}const Lt=Ha[`filter_${Ge}`],Rt=Hn(Dt,Lt);let Bt=null;if(\"error\"===Rt.result)throw new Error(Rt.value.map((Se=>`${Se.key}: ${Se.message}`)).join(\", \"));Bt=(Se,Ge,mt)=>Rt.value.evaluate(Se,Ge,{},mt);let Ft=null,Ot=null;if(Dt!==mt){const Se=Hn(mt,Lt);if(\"error\"===Se.result)throw new Error(Se.value.map((Se=>`${Se.key}: ${Se.message}`)).join(\", \"));Ft=(Ge,mt,Dt,Lt,Rt)=>Se.value.evaluate(Ge,mt,{},Dt,void 0,void 0,Lt,Rt),Ot=!br(Se.value.expression)}return{filter:Bt,dynamicFilter:Ft||void 0,needGeometry:gi(Dt),needFeature:!!Ot}}function pi(Se){if(!Array.isArray(Se))return Se;const Ge=function(Se){if(Wh.has(Se[0]))for(let Ge=1;Ge<Se.length;Ge++)if(fi(Se[Ge]))return!0;return Se}(Se);return!0===Ge?Ge:Ge.map((Se=>pi(Se)))}function di(Se){let Ge=!1;const mt=[];if(\"case\"===Se[0]){for(let Dt=1;Dt<Se.length-1;Dt+=2)Ge=Ge||fi(Se[Dt]),mt.push(Se[Dt+1]);mt.push(Se[Se.length-1])}else if(\"match\"===Se[0]){Ge=Ge||fi(Se[1]);for(let Ge=2;Ge<Se.length-1;Ge+=2)mt.push(Se[Ge+1]);mt.push(Se[Se.length-1])}else if(\"step\"===Se[0]){Ge=Ge||fi(Se[1]);for(let Ge=1;Ge<Se.length-1;Ge+=2)mt.push(Se[Ge+1])}Ge&&(Se.length=0,Se.push(\"any\",...mt));for(let Ge=1;Ge<Se.length;Ge++)di(Se[Ge])}function fi(Se){if(!Array.isArray(Se))return!1;if(\"pitch\"===(Ge=Se[0])||\"distance-from-center\"===Ge)return!0;var Ge;for(let Ge=1;Ge<Se.length;Ge++)if(fi(Se[Ge]))return!0;return!1}const Wh=new Set([\"in\",\"==\",\"!=\",\">\",\">=\",\"<\",\"<=\",\"to-boolean\"]);function mi(Se,Ge){return Se<Ge?-1:Se>Ge?1:0}function gi(Se){if(!Array.isArray(Se))return!1;if(\"within\"===Se[0])return!0;for(let Ge=1;Ge<Se.length;Ge++)if(gi(Se[Ge]))return!0;return!1}function xi(Se){if(!Se)return!0;const Ge=Se[0];return Se.length<=1?\"any\"!==Ge:\"==\"===Ge?vi(Se[1],Se[2],\"==\"):\"!=\"===Ge?_i(vi(Se[1],Se[2],\"==\")):\"<\"===Ge||\">\"===Ge||\"<=\"===Ge||\">=\"===Ge?vi(Se[1],Se[2],Ge):\"any\"===Ge?(mt=Se.slice(1),[\"any\"].concat(mt.map(xi))):\"all\"===Ge?[\"all\"].concat(Se.slice(1).map(xi)):\"none\"===Ge?[\"all\"].concat(Se.slice(1).map(xi).map(_i)):\"in\"===Ge?bi(Se[1],Se.slice(2)):\"!in\"===Ge?_i(bi(Se[1],Se.slice(2))):\"has\"===Ge?wi(Se[1]):\"!has\"===Ge?_i(wi(Se[1])):\"within\"!==Ge||Se;var mt}function vi(Se,Ge,mt){switch(Se){case\"$type\":return[`filter-type-${mt}`,Ge];case\"$id\":return[`filter-id-${mt}`,Ge];default:return[`filter-${mt}`,Se,Ge]}}function bi(Se,Ge){if(0===Ge.length)return!1;switch(Se){case\"$type\":return[\"filter-type-in\",[\"literal\",Ge]];case\"$id\":return[\"filter-id-in\",[\"literal\",Ge]];default:return Ge.length>200&&!Ge.some((Se=>typeof Se!=typeof Ge[0]))?[\"filter-in-large\",Se,[\"literal\",Ge.sort(mi)]]:[\"filter-in-small\",Se,[\"literal\",Ge]]}}function wi(Se){switch(Se){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",Se]}}function _i(Se){return[\"!\",Se]}function Ai(Se){return ci(ne(Se.value))?oi(ee({},Se,{expressionContext:\"filter\",valueSpec:Se.styleSpec[`filter_${Se.layerType||\"fill\"}`]})):Si(Se)}function Si(Se){const Ge=Se.value,mt=Se.key;if(\"array\"!==Un(Ge))return[new ri(mt,Ge,`array expected, ${Un(Ge)} found`)];const Dt=Se.styleSpec;let Lt,Rt=[];if(Ge.length<1)return[new ri(mt,Ge,\"filter array must have at least 1 element\")];switch(Rt=Rt.concat(ui({key:`${mt}[0]`,value:Ge[0],valueSpec:Dt.filter_operator,style:Se.style,styleSpec:Se.styleSpec})),re(Ge[0])){case\"<\":case\"<=\":case\">\":case\">=\":Ge.length>=2&&\"$type\"===re(Ge[1])&&Rt.push(new ri(mt,Ge,`\"$type\" cannot be use with operator \"${Ge[0]}\"`));case\"==\":case\"!=\":3!==Ge.length&&Rt.push(new ri(mt,Ge,`filter array for operator \"${Ge[0]}\" must have 3 elements`));case\"in\":case\"!in\":Ge.length>=2&&(Lt=Un(Ge[1]),\"string\"!==Lt&&Rt.push(new ri(`${mt}[1]`,Ge[1],`string expected, ${Lt} found`)));for(let Bt=2;Bt<Ge.length;Bt++)Lt=Un(Ge[Bt]),\"$type\"===re(Ge[1])?Rt=Rt.concat(ui({key:`${mt}[${Bt}]`,value:Ge[Bt],valueSpec:Dt.geometry_type,style:Se.style,styleSpec:Se.styleSpec})):\"string\"!==Lt&&\"number\"!==Lt&&\"boolean\"!==Lt&&Rt.push(new ri(`${mt}[${Bt}]`,Ge[Bt],`string, number, or boolean expected, ${Lt} found`));break;case\"any\":case\"all\":case\"none\":for(let Dt=1;Dt<Ge.length;Dt++)Rt=Rt.concat(Si({key:`${mt}[${Dt}]`,value:Ge[Dt],style:Se.style,styleSpec:Se.styleSpec}));break;case\"has\":case\"!has\":Lt=Un(Ge[1]),2!==Ge.length?Rt.push(new ri(mt,Ge,`filter array for \"${Ge[0]}\" operator must have 2 elements`)):\"string\"!==Lt&&Rt.push(new ri(`${mt}[1]`,Ge[1],`string expected, ${Lt} found`));break;case\"within\":Lt=Un(Ge[1]),2!==Ge.length?Rt.push(new ri(mt,Ge,`filter array for \"${Ge[0]}\" operator must have 2 elements`)):\"object\"!==Lt&&Rt.push(new ri(`${mt}[1]`,Ge[1],`object expected, ${Lt} found`))}return Rt}function ki(Se,Ge){const mt=Se.key,Dt=Se.style,Lt=Se.styleSpec,Rt=Se.value,Bt=Se.objectKey,Ft=Lt[`${Ge}_${Se.layerType}`];if(!Ft)return[];const Ot=Bt.match(/^(.*)-transition$/);if(\"paint\"===Ge&&Ot&&Ft[Ot[1]]&&Ft[Ot[1]].transition)return Fi({key:mt,value:Rt,valueSpec:Lt.transition,style:Dt,styleSpec:Lt});const $t=Se.valueSpec||Ft[Bt];if(!$t)return[new ri(mt,Rt,`unknown property \"${Bt}\"`)];let Ni;if(\"string\"===Un(Rt)&&Ln($t)&&!$t.tokens&&(Ni=/^{([^}]+)}$/.exec(Rt))){const Se=`\\`{ \"type\": \"identity\", \"property\": ${Ni?JSON.stringify(Ni[1]):'\"_\"'} }\\``;return[new ri(mt,Rt,`\"${Bt}\" does not support interpolation syntax\\nUse an identity property function instead: ${Se}.`)]}const tr=[];return\"symbol\"===Se.layerType&&(\"text-field\"===Bt&&Dt&&!Dt.glyphs&&tr.push(new ri(mt,Rt,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===Bt&&$n(ne(Rt))&&\"identity\"===re(Rt.type)&&tr.push(new ri(mt,Rt,'\"text-font\" does not support identity functions'))),tr.concat(Fi({key:Se.key,value:Rt,valueSpec:$t,style:Dt,styleSpec:Lt,expressionContext:\"property\",propertyType:Ge,propertyKey:Bt}))}function Ii(Se){return ki(Se,\"paint\")}function Mi(Se){return ki(Se,\"layout\")}function Ti(Se){let Ge=[];const mt=Se.value,Dt=Se.key,Lt=Se.style,Rt=Se.styleSpec;mt.type||mt.ref||Ge.push(new ri(Dt,mt,'either \"type\" or \"ref\" is required'));let Bt=re(mt.type);const Ft=re(mt.ref);if(mt.id){const Rt=re(mt.id);for(let Bt=0;Bt<Se.arrayIndex;Bt++){const Se=Lt.layers[Bt];re(Se.id)===Rt&&Ge.push(new ri(Dt,mt.id,`duplicate layer id \"${mt.id}\", previously used at line ${Se.id.__line__}`))}}if(\"ref\"in mt){let Se;[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach((Se=>{Se in mt&&Ge.push(new ri(Dt,mt[Se],`\"${Se}\" is prohibited for ref layers`))})),Lt.layers.forEach((Ge=>{re(Ge.id)===Ft&&(Se=Ge)})),Se?Se.ref?Ge.push(new ri(Dt,mt.ref,\"ref cannot reference another ref layer\")):Bt=re(Se.type):\"string\"==typeof Ft&&Ge.push(new ri(Dt,mt.ref,`ref layer \"${Ft}\" not found`))}else if(\"background\"!==Bt&&\"sky\"!==Bt)if(mt.source){const Se=Lt.sources&&Lt.sources[mt.source],Rt=Se&&re(Se.type);Se?\"vector\"===Rt&&\"raster\"===Bt?Ge.push(new ri(Dt,mt.source,`layer \"${mt.id}\" requires a raster source`)):\"raster\"===Rt&&\"raster\"!==Bt?Ge.push(new ri(Dt,mt.source,`layer \"${mt.id}\" requires a vector source`)):\"vector\"!==Rt||mt[\"source-layer\"]?\"raster-dem\"===Rt&&\"hillshade\"!==Bt?Ge.push(new ri(Dt,mt.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==Bt||!mt.paint||!mt.paint[\"line-gradient\"]&&!mt.paint[\"line-trim-offset\"]||\"geojson\"===Rt&&Se.lineMetrics||Ge.push(new ri(Dt,mt,`layer \"${mt.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):Ge.push(new ri(Dt,mt,`layer \"${mt.id}\" must specify a \"source-layer\"`)):Ge.push(new ri(Dt,mt.source,`source \"${mt.source}\" not found`))}else Ge.push(new ri(Dt,mt,'missing required property \"source\"'));return Ge=Ge.concat(ni({key:Dt,value:mt,valueSpec:Rt.layer,style:Se.style,styleSpec:Se.styleSpec,objectElementValidators:{\"*\":()=>[],type:()=>Fi({key:`${Dt}.type`,value:mt.type,valueSpec:Rt.layer.type,style:Se.style,styleSpec:Se.styleSpec,object:mt,objectKey:\"type\"}),filter:Se=>Ai(ee({layerType:Bt},Se)),layout:Se=>ni({layer:mt,key:Se.key,value:Se.value,valueSpec:{},style:Se.style,styleSpec:Se.styleSpec,objectElementValidators:{\"*\":Se=>Mi(ee({layerType:Bt},Se))}}),paint:Se=>ni({layer:mt,key:Se.key,value:Se.value,valueSpec:{},style:Se.style,styleSpec:Se.styleSpec,objectElementValidators:{\"*\":Se=>Ii(ee({layerType:Bt},Se))}})}})),Ge}function zi(Se){const Ge=Se.value,mt=Se.key,Dt=Un(Ge);return\"string\"!==Dt?[new ri(mt,Ge,`string expected, ${Dt} found`)]:[]}const Qh={promoteId:function({key:Se,value:Ge}){if(\"string\"===Un(Ge))return zi({key:Se,value:Ge});{const mt=[];for(const Dt in Ge)mt.push(...zi({key:`${Se}.${Dt}`,value:Ge[Dt]}));return mt}}};function Ei(Se){const Ge=Se.value,mt=Se.key,Dt=Se.styleSpec,Lt=Se.style;if(!Ge.type)return[new ri(mt,Ge,'\"type\" is required')];const Rt=re(Ge.type);let Bt;switch(Rt){case\"vector\":case\"raster\":case\"raster-dem\":return Bt=ni({key:mt,value:Ge,valueSpec:Dt[`source_${Rt.replace(\"-\",\"_\")}`],style:Se.style,styleSpec:Dt,objectElementValidators:Qh}),Bt;case\"geojson\":if(Bt=ni({key:mt,value:Ge,valueSpec:Dt.source_geojson,style:Lt,styleSpec:Dt,objectElementValidators:Qh}),Ge.cluster)for(const Se in Ge.clusterProperties){const[Dt,Lt]=Ge.clusterProperties[Se],Rt=\"string\"==typeof Dt?[Dt,[\"accumulated\"],[\"get\",Se]]:Dt;Bt.push(...oi({key:`${mt}.${Se}.map`,value:Lt,expressionContext:\"cluster-map\"})),Bt.push(...oi({key:`${mt}.${Se}.reduce`,value:Rt,expressionContext:\"cluster-reduce\"}))}return Bt;case\"video\":return ni({key:mt,value:Ge,valueSpec:Dt.source_video,style:Lt,styleSpec:Dt});case\"image\":return ni({key:mt,value:Ge,valueSpec:Dt.source_image,style:Lt,styleSpec:Dt});case\"canvas\":return[new ri(mt,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return ui({key:`${mt}.type`,value:Ge.type,valueSpec:{values:Ci(Dt)},style:Lt,styleSpec:Dt})}}function Ci(Se){return Se.source.reduce(((Ge,mt)=>{const Dt=Se[mt];return\"enum\"===Dt.type.type&&(Ge=Ge.concat(Object.keys(Dt.type.values))),Ge}),[])}function Pi(Se){const Ge=Se.value,mt=Se.styleSpec,Dt=mt.light,Lt=Se.style;let Rt=[];const Bt=Un(Ge);if(void 0===Ge)return Rt;if(\"object\"!==Bt)return Rt=Rt.concat([new ri(\"light\",Ge,`object expected, ${Bt} found`)]),Rt;for(const Se in Ge){const Bt=Se.match(/^(.*)-transition$/);Rt=Rt.concat(Bt&&Dt[Bt[1]]&&Dt[Bt[1]].transition?Fi({key:Se,value:Ge[Se],valueSpec:mt.transition,style:Lt,styleSpec:mt}):Dt[Se]?Fi({key:Se,value:Ge[Se],valueSpec:Dt[Se],style:Lt,styleSpec:mt}):[new ri(Se,Ge[Se],`unknown property \"${Se}\"`)])}return Rt}function Di(Se){const Ge=Se.value,mt=Se.key,Dt=Se.style,Lt=Se.styleSpec,Rt=Lt.terrain;let Bt=[];const Ft=Un(Ge);if(void 0===Ge)return Bt;if(\"object\"!==Ft)return Bt=Bt.concat([new ri(\"terrain\",Ge,`object expected, ${Ft} found`)]),Bt;for(const Se in Ge){const mt=Se.match(/^(.*)-transition$/);Bt=Bt.concat(mt&&Rt[mt[1]]&&Rt[mt[1]].transition?Fi({key:Se,value:Ge[Se],valueSpec:Lt.transition,style:Dt,styleSpec:Lt}):Rt[Se]?Fi({key:Se,value:Ge[Se],valueSpec:Rt[Se],style:Dt,styleSpec:Lt}):[new ri(Se,Ge[Se],`unknown property \"${Se}\"`)])}if(Ge.source){const Se=Dt.sources&&Dt.sources[Ge.source],Lt=Se&&re(Se.type);Se?\"raster-dem\"!==Lt&&Bt.push(new ri(mt,Ge.source,`terrain cannot be used with a source of type ${String(Lt)}, it only be used with a \"raster-dem\" source type`)):Bt.push(new ri(mt,Ge.source,`source \"${Ge.source}\" not found`))}else Bt.push(new ri(mt,Ge,'terrain is missing required property \"source\"'));return Bt}function Vi(Se){const Ge=Se.value,mt=Se.style,Dt=Se.styleSpec,Lt=Dt.fog;let Rt=[];const Bt=Un(Ge);if(void 0===Ge)return Rt;if(\"object\"!==Bt)return Rt=Rt.concat([new ri(\"fog\",Ge,`object expected, ${Bt} found`)]),Rt;for(const Se in Ge){const Bt=Se.match(/^(.*)-transition$/);Rt=Rt.concat(Bt&&Lt[Bt[1]]&&Lt[Bt[1]].transition?Fi({key:Se,value:Ge[Se],valueSpec:Dt.transition,style:mt,styleSpec:Dt}):Lt[Se]?Fi({key:Se,value:Ge[Se],valueSpec:Lt[Se],style:mt,styleSpec:Dt}):[new ri(Se,Ge[Se],`unknown property \"${Se}\"`)])}return Rt}const iu={\"*\":()=>[],array:ii,boolean:function(Se){const Ge=Se.value,mt=Se.key,Dt=Un(Ge);return\"boolean\"!==Dt?[new ri(mt,Ge,`boolean expected, ${Dt} found`)]:[]},number:si,color:function(Se){const Ge=Se.key,mt=Se.value,Dt=Un(mt);return\"string\"!==Dt?[new ri(Ge,mt,`color expected, ${Dt} found`)]:null===Rl(mt)?[new ri(Ge,mt,`color expected, \"${mt}\" found`)]:[]},enum:ui,filter:Ai,function:ai,layer:Ti,object:ni,source:Ei,light:Pi,terrain:Di,fog:Vi,string:zi,formatted:function(Se){return 0===zi(Se).length?[]:oi(Se)},resolvedImage:function(Se){return 0===zi(Se).length?[]:oi(Se)},projection:function(Se){const Ge=Se.value,mt=Se.styleSpec,Dt=mt.projection,Lt=Se.style;let Rt=[];const Bt=Un(Ge);if(\"object\"===Bt)for(const Se in Ge)Rt=Rt.concat(Fi({key:Se,value:Ge[Se],valueSpec:Dt[Se],style:Lt,styleSpec:mt}));else\"string\"!==Bt&&(Rt=Rt.concat([new ri(\"projection\",Ge,`object or string expected, ${Bt} found`)]));return Rt}};function Fi(Se){const Ge=Se.value,mt=Se.valueSpec,Dt=Se.styleSpec;return mt.expression&&$n(re(Ge))?ai(Se):mt.expression&&Jn(ne(Ge))?oi(Se):mt.type&&iu[mt.type]?iu[mt.type](Se):ni(ee({},Se,{valueSpec:mt.type?Dt[mt.type]:mt}))}function Ri(Se){const Ge=Se.value,mt=Se.key,Dt=zi(Se);return Dt.length||(-1===Ge.indexOf(\"{fontstack}\")&&Dt.push(new ri(mt,Ge,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===Ge.indexOf(\"{range}\")&&Dt.push(new ri(mt,Ge,'\"glyphs\" url must include a \"{range}\" token'))),Dt}function Ui(Se,Ge=Ha){return Oi(Fi({key:\"\",value:Se,valueSpec:Ge.$root,styleSpec:Ge,style:Se,objectElementValidators:{glyphs:Ri,\"*\":()=>[]}}))}const $i=Se=>Oi(Ii(Se)),ji=Se=>Oi(Mi(Se));function Oi(Se){return Se.slice().sort(((Se,Ge)=>Se.line&&Ge.line?Se.line-Ge.line:0))}function qi(Se,Ge){let mt=!1;if(Ge&&Ge.length)for(const Dt of Ge)Se.fire(new Wt(new Error(Dt.message))),mt=!0;return mt}var nu=Zi,Tu=3;function Zi(Se,mt,Dt){var Lt=(this||Ge).cells=[];if(Se instanceof ArrayBuffer){(this||Ge).arrayBuffer=Se;var Rt=new Int32Array((this||Ge).arrayBuffer);Se=Rt[0],(this||Ge).d=(mt=Rt[1])+2*(Dt=Rt[2]);for(var Bt=0;Bt<(this||Ge).d*(this||Ge).d;Bt++){var Ft=Rt[Tu+Bt],Ot=Rt[Tu+Bt+1];Lt.push(Ft===Ot?null:Rt.subarray(Ft,Ot))}var $t=Rt[Tu+Lt.length+1];(this||Ge).keys=Rt.subarray(Rt[Tu+Lt.length],$t),(this||Ge).bboxes=Rt.subarray($t),(this||Ge).insert=(this||Ge)._insertReadonly}else{(this||Ge).d=mt+2*Dt;for(var Ni=0;Ni<(this||Ge).d*(this||Ge).d;Ni++)Lt.push([]);(this||Ge).keys=[],(this||Ge).bboxes=[]}(this||Ge).n=mt,(this||Ge).extent=Se,(this||Ge).padding=Dt,(this||Ge).scale=mt/Se,(this||Ge).uid=0;var tr=Dt/mt*Se;(this||Ge).min=-tr,(this||Ge).max=Se+tr}Zi.prototype.insert=function(Se,mt,Dt,Lt,Rt){this._forEachCell(mt,Dt,Lt,Rt,(this||Ge)._insertCell,(this||Ge).uid++),(this||Ge).keys.push(Se),(this||Ge).bboxes.push(mt),(this||Ge).bboxes.push(Dt),(this||Ge).bboxes.push(Lt),(this||Ge).bboxes.push(Rt)},Zi.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},Zi.prototype._insertCell=function(Se,mt,Dt,Lt,Rt,Bt){(this||Ge).cells[Rt].push(Bt)},Zi.prototype.query=function(Se,mt,Dt,Lt,Rt){var Bt=(this||Ge).min,Ft=(this||Ge).max;if(Se<=Bt&&mt<=Bt&&Ft<=Dt&&Ft<=Lt&&!Rt)return Array.prototype.slice.call((this||Ge).keys);var Ot=[];return this._forEachCell(Se,mt,Dt,Lt,(this||Ge)._queryCell,Ot,{},Rt),Ot},Zi.prototype._queryCell=function(Se,mt,Dt,Lt,Rt,Bt,Ft,Ot){var $t=(this||Ge).cells[Rt];if(null!==$t)for(var Ni=(this||Ge).keys,tr=(this||Ge).bboxes,Lr=0;Lr<$t.length;Lr++){var Rr=$t[Lr];if(void 0===Ft[Rr]){var Qr=4*Rr;(Ot?Ot(tr[Qr+0],tr[Qr+1],tr[Qr+2],tr[Qr+3]):Se<=tr[Qr+2]&&mt<=tr[Qr+3]&&Dt>=tr[Qr+0]&&Lt>=tr[Qr+1])?(Ft[Rr]=!0,Bt.push(Ni[Rr])):Ft[Rr]=!1}}},Zi.prototype._forEachCell=function(Se,mt,Dt,Lt,Rt,Bt,Ft,Ot){for(var $t=this._convertToCellCoord(Se),Ni=this._convertToCellCoord(mt),tr=this._convertToCellCoord(Dt),Lr=this._convertToCellCoord(Lt),Rr=$t;Rr<=tr;Rr++)for(var Qr=Ni;Qr<=Lr;Qr++){var an=(this||Ge).d*Qr+Rr;if((!Ot||Ot(this._convertFromCellCoord(Rr),this._convertFromCellCoord(Qr),this._convertFromCellCoord(Rr+1),this._convertFromCellCoord(Qr+1)))&&Rt.call(this||Ge,Se,mt,Dt,Lt,an,Bt,Ft,Ot))return}},Zi.prototype._convertFromCellCoord=function(Se){return(Se-(this||Ge).padding)/(this||Ge).scale},Zi.prototype._convertToCellCoord=function(Se){return Math.max(0,Math.min((this||Ge).d-1,Math.floor(Se*(this||Ge).scale)+(this||Ge).padding))},Zi.prototype.toArrayBuffer=function(){if((this||Ge).arrayBuffer)return(this||Ge).arrayBuffer;for(var Se=(this||Ge).cells,mt=Tu+(this||Ge).cells.length+1+1,Dt=0,Lt=0;Lt<(this||Ge).cells.length;Lt++)Dt+=(this||Ge).cells[Lt].length;var Rt=new Int32Array(mt+Dt+(this||Ge).keys.length+(this||Ge).bboxes.length);Rt[0]=(this||Ge).extent,Rt[1]=(this||Ge).n,Rt[2]=(this||Ge).padding;for(var Bt=mt,Ft=0;Ft<Se.length;Ft++){var Ot=Se[Ft];Rt[Tu+Ft]=Bt,Rt.set(Ot,Bt),Bt+=Ot.length}return Rt[Tu+Se.length]=Bt,Rt.set((this||Ge).keys,Bt),Rt[Tu+Se.length+1]=Bt+=(this||Ge).keys.length,Rt.set((this||Ge).bboxes,Bt),Bt+=(this||Ge).bboxes.length,Rt.buffer};var Eu=p(nu);const Mu={};function Ji(Se,Ge,mt={}){Object.defineProperty(Se,\"_classRegistryKey\",{value:Ge,writeable:!1}),Mu[Ge]={klass:Se,omit:mt.omit||[]}}Ji(Object,\"Object\"),Eu.serialize=function(Se,Ge){const mt=Se.toArrayBuffer();return Ge&&Ge.push(mt),{buffer:mt}},Eu.deserialize=function(Se){return new Eu(Se.buffer)},Object.defineProperty(Eu,\"name\",{value:\"Grid\"}),Ji(Eu,\"Grid\"),Ji(Ol,\"Color\"),Ji(Error,\"Error\"),Ji(ut,\"AJAXError\"),Ji(Ve,\"ResolvedImage\"),Ji(ti,\"StylePropertyFunction\"),Ji(Xn,\"StyleExpression\",{omit:[\"_evaluator\"]}),Ji(Wn,\"ZoomDependentExpression\"),Ji(Yn,\"ZoomConstantExpression\"),Ji(Pc,\"CompoundExpression\",{omit:[\"_evaluate\"]});for(const Se in Xh)Mu[Xh[Se]._classRegistryKey]||Ji(Xh[Se],`Expression${Se}`);function Hi(Se){return Se&&\"undefined\"!=typeof ArrayBuffer&&(Se instanceof ArrayBuffer||Se.constructor&&\"ArrayBuffer\"===Se.constructor.name)}function Yi(Se){return mt.ImageBitmap&&Se instanceof mt.ImageBitmap}function Wi(Se,Ge){if(null==Se||\"boolean\"==typeof Se||\"number\"==typeof Se||\"string\"==typeof Se||Se instanceof Boolean||Se instanceof Number||Se instanceof String||Se instanceof Date||Se instanceof RegExp)return Se;if(Hi(Se)||Yi(Se))return Ge&&Ge.push(Se),Se;if(ArrayBuffer.isView(Se)){const mt=Se;return Ge&&Ge.push(mt.buffer),mt}if(Se instanceof mt.ImageData)return Ge&&Ge.push(Se.data.buffer),Se;if(Array.isArray(Se)){const mt=[];for(const Dt of Se)mt.push(Wi(Dt,Ge));return mt}if(\"object\"==typeof Se){const mt=Se.constructor,Dt=mt._classRegistryKey;if(!Dt)throw new Error(`can't serialize object of unregistered class ${Dt}`);const Lt=mt.serialize?mt.serialize(Se,Ge):{};if(!mt.serialize){for(const mt in Se)Se.hasOwnProperty(mt)&&(Mu[Dt].omit.indexOf(mt)>=0||(Lt[mt]=Wi(Se[mt],Ge)));Se instanceof Error&&(Lt.message=Se.message)}if(Lt.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return\"Object\"!==Dt&&(Lt.$name=Dt),Lt}throw new Error(\"can't serialize object of type \"+typeof Se)}function Qi(Se){if(null==Se||\"boolean\"==typeof Se||\"number\"==typeof Se||\"string\"==typeof Se||Se instanceof Boolean||Se instanceof Number||Se instanceof String||Se instanceof Date||Se instanceof RegExp||Hi(Se)||Yi(Se)||ArrayBuffer.isView(Se)||Se instanceof mt.ImageData)return Se;if(Array.isArray(Se))return Se.map(Qi);if(\"object\"==typeof Se){const Ge=Se.$name||\"Object\",{klass:mt}=Mu[Ge];if(!mt)throw new Error(`can't deserialize unregistered class ${Ge}`);if(mt.deserialize)return mt.deserialize(Se);const Dt=Object.create(mt.prototype);for(const Ge of Object.keys(Se))\"$name\"!==Ge&&(Dt[Ge]=Qi(Se[Ge]));return Dt}throw new Error(\"can't deserialize object of type \"+typeof Se)}const Cu={\"Latin-1 Supplement\":Se=>Se>=128&&Se<=255,Arabic:Se=>Se>=1536&&Se<=1791,\"Arabic Supplement\":Se=>Se>=1872&&Se<=1919,\"Arabic Extended-A\":Se=>Se>=2208&&Se<=2303,\"Hangul Jamo\":Se=>Se>=4352&&Se<=4607,\"Unified Canadian Aboriginal Syllabics\":Se=>Se>=5120&&Se<=5759,Khmer:Se=>Se>=6016&&Se<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":Se=>Se>=6320&&Se<=6399,\"General Punctuation\":Se=>Se>=8192&&Se<=8303,\"Letterlike Symbols\":Se=>Se>=8448&&Se<=8527,\"Number Forms\":Se=>Se>=8528&&Se<=8591,\"Miscellaneous Technical\":Se=>Se>=8960&&Se<=9215,\"Control Pictures\":Se=>Se>=9216&&Se<=9279,\"Optical Character Recognition\":Se=>Se>=9280&&Se<=9311,\"Enclosed Alphanumerics\":Se=>Se>=9312&&Se<=9471,\"Geometric Shapes\":Se=>Se>=9632&&Se<=9727,\"Miscellaneous Symbols\":Se=>Se>=9728&&Se<=9983,\"Miscellaneous Symbols and Arrows\":Se=>Se>=11008&&Se<=11263,\"CJK Radicals Supplement\":Se=>Se>=11904&&Se<=12031,\"Kangxi Radicals\":Se=>Se>=12032&&Se<=12255,\"Ideographic Description Characters\":Se=>Se>=12272&&Se<=12287,\"CJK Symbols and Punctuation\":Se=>Se>=12288&&Se<=12351,Hiragana:Se=>Se>=12352&&Se<=12447,Katakana:Se=>Se>=12448&&Se<=12543,Bopomofo:Se=>Se>=12544&&Se<=12591,\"Hangul Compatibility Jamo\":Se=>Se>=12592&&Se<=12687,Kanbun:Se=>Se>=12688&&Se<=12703,\"Bopomofo Extended\":Se=>Se>=12704&&Se<=12735,\"CJK Strokes\":Se=>Se>=12736&&Se<=12783,\"Katakana Phonetic Extensions\":Se=>Se>=12784&&Se<=12799,\"Enclosed CJK Letters and Months\":Se=>Se>=12800&&Se<=13055,\"CJK Compatibility\":Se=>Se>=13056&&Se<=13311,\"CJK Unified Ideographs Extension A\":Se=>Se>=13312&&Se<=19903,\"Yijing Hexagram Symbols\":Se=>Se>=19904&&Se<=19967,\"CJK Unified Ideographs\":Se=>Se>=19968&&Se<=40959,\"Yi Syllables\":Se=>Se>=40960&&Se<=42127,\"Yi Radicals\":Se=>Se>=42128&&Se<=42191,\"Hangul Jamo Extended-A\":Se=>Se>=43360&&Se<=43391,\"Hangul Syllables\":Se=>Se>=44032&&Se<=55215,\"Hangul Jamo Extended-B\":Se=>Se>=55216&&Se<=55295,\"Private Use Area\":Se=>Se>=57344&&Se<=63743,\"CJK Compatibility Ideographs\":Se=>Se>=63744&&Se<=64255,\"Arabic Presentation Forms-A\":Se=>Se>=64336&&Se<=65023,\"Vertical Forms\":Se=>Se>=65040&&Se<=65055,\"CJK Compatibility Forms\":Se=>Se>=65072&&Se<=65103,\"Small Form Variants\":Se=>Se>=65104&&Se<=65135,\"Arabic Presentation Forms-B\":Se=>Se>=65136&&Se<=65279,\"Halfwidth and Fullwidth Forms\":Se=>Se>=65280&&Se<=65519};function es(Se){for(const Ge of Se)if(is(Ge.charCodeAt(0)))return!0;return!1}function rs(Se){for(const Ge of Se)if(!ns(Ge.charCodeAt(0)))return!1;return!0}function ns(Se){return!(Cu.Arabic(Se)||Cu[\"Arabic Supplement\"](Se)||Cu[\"Arabic Extended-A\"](Se)||Cu[\"Arabic Presentation Forms-A\"](Se)||Cu[\"Arabic Presentation Forms-B\"](Se))}function is(Se){return!(746!==Se&&747!==Se&&(Se<4352||!(Cu[\"Bopomofo Extended\"](Se)||Cu.Bopomofo(Se)||Cu[\"CJK Compatibility Forms\"](Se)&&!(Se>=65097&&Se<=65103)||Cu[\"CJK Compatibility Ideographs\"](Se)||Cu[\"CJK Compatibility\"](Se)||Cu[\"CJK Radicals Supplement\"](Se)||Cu[\"CJK Strokes\"](Se)||!(!Cu[\"CJK Symbols and Punctuation\"](Se)||Se>=12296&&Se<=12305||Se>=12308&&Se<=12319||12336===Se)||Cu[\"CJK Unified Ideographs Extension A\"](Se)||Cu[\"CJK Unified Ideographs\"](Se)||Cu[\"Enclosed CJK Letters and Months\"](Se)||Cu[\"Hangul Compatibility Jamo\"](Se)||Cu[\"Hangul Jamo Extended-A\"](Se)||Cu[\"Hangul Jamo Extended-B\"](Se)||Cu[\"Hangul Jamo\"](Se)||Cu[\"Hangul Syllables\"](Se)||Cu.Hiragana(Se)||Cu[\"Ideographic Description Characters\"](Se)||Cu.Kanbun(Se)||Cu[\"Kangxi Radicals\"](Se)||Cu[\"Katakana Phonetic Extensions\"](Se)||Cu.Katakana(Se)&&12540!==Se||!(!Cu[\"Halfwidth and Fullwidth Forms\"](Se)||65288===Se||65289===Se||65293===Se||Se>=65306&&Se<=65310||65339===Se||65341===Se||65343===Se||Se>=65371&&Se<=65503||65507===Se||Se>=65512&&Se<=65519)||!(!Cu[\"Small Form Variants\"](Se)||Se>=65112&&Se<=65118||Se>=65123&&Se<=65126)||Cu[\"Unified Canadian Aboriginal Syllabics\"](Se)||Cu[\"Unified Canadian Aboriginal Syllabics Extended\"](Se)||Cu[\"Vertical Forms\"](Se)||Cu[\"Yijing Hexagram Symbols\"](Se)||Cu[\"Yi Syllables\"](Se)||Cu[\"Yi Radicals\"](Se))))}function ss(Se){return!(is(Se)||function(Se){return!!(Cu[\"Latin-1 Supplement\"](Se)&&(167===Se||169===Se||174===Se||177===Se||188===Se||189===Se||190===Se||215===Se||247===Se)||Cu[\"General Punctuation\"](Se)&&(8214===Se||8224===Se||8225===Se||8240===Se||8241===Se||8251===Se||8252===Se||8258===Se||8263===Se||8264===Se||8265===Se||8273===Se)||Cu[\"Letterlike Symbols\"](Se)||Cu[\"Number Forms\"](Se)||Cu[\"Miscellaneous Technical\"](Se)&&(Se>=8960&&Se<=8967||Se>=8972&&Se<=8991||Se>=8996&&Se<=9e3||9003===Se||Se>=9085&&Se<=9114||Se>=9150&&Se<=9165||9167===Se||Se>=9169&&Se<=9179||Se>=9186&&Se<=9215)||Cu[\"Control Pictures\"](Se)&&9251!==Se||Cu[\"Optical Character Recognition\"](Se)||Cu[\"Enclosed Alphanumerics\"](Se)||Cu[\"Geometric Shapes\"](Se)||Cu[\"Miscellaneous Symbols\"](Se)&&!(Se>=9754&&Se<=9759)||Cu[\"Miscellaneous Symbols and Arrows\"](Se)&&(Se>=11026&&Se<=11055||Se>=11088&&Se<=11097||Se>=11192&&Se<=11243)||Cu[\"CJK Symbols and Punctuation\"](Se)||Cu.Katakana(Se)||Cu[\"Private Use Area\"](Se)||Cu[\"CJK Compatibility Forms\"](Se)||Cu[\"Small Form Variants\"](Se)||Cu[\"Halfwidth and Fullwidth Forms\"](Se)||8734===Se||8756===Se||8757===Se||Se>=9984&&Se<=10087||Se>=10102&&Se<=10131||65532===Se||65533===Se)}(Se))}function as(Se){return Se>=1424&&Se<=2303||Cu[\"Arabic Presentation Forms-A\"](Se)||Cu[\"Arabic Presentation Forms-B\"](Se)}function os(Se,Ge){return!(!Ge&&as(Se)||Se>=2304&&Se<=3583||Se>=3840&&Se<=4255||Cu.Khmer(Se))}function ls(Se){for(const Ge of Se)if(as(Ge.charCodeAt(0)))return!0;return!1}const Ou=\"deferred\",Nu=\"loading\",Gu=\"loaded\";let $u=null,qu=\"unavailable\",ed=null;const ys=function(Se){Se&&\"string\"==typeof Se&&Se.indexOf(\"NetworkError\")>-1&&(qu=\"error\"),$u&&$u(Se)};function ms(){td.fire(new Yt(\"pluginStateChange\",{pluginStatus:qu,pluginURL:ed}))}const td=new Qt,xs=function(){return qu},vs=function(){if(qu!==Ou||!ed)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");qu=Nu,ms(),ed&&pt({url:ed},(Se=>{Se?ys(Se):(qu=Gu,ms())}))},nd={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>qu===Gu||null!=nd.applyArabicShaping,isLoading:()=>qu===Nu,setState(Se){qu=Se.pluginStatus,ed=Se.pluginURL},isParsed:()=>null!=nd.applyArabicShaping&&null!=nd.processBidirectionalText&&null!=nd.processStyledBidirectionalText,getPluginURL:()=>ed};class ws{constructor(Se,Ge){this.zoom=Se,Ge?(this.now=Ge.now,this.fadeDuration=Ge.fadeDuration,this.transition=Ge.transition,this.pitch=Ge.pitch):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0)}isSupportedScript(Se){return function(Se,Ge){for(const mt of Se)if(!os(mt.charCodeAt(0),Ge))return!1;return!0}(Se,nd.isLoaded())}}class _s{constructor(Se,Ge){this.property=Se,this.value=Ge,this.expression=function(Se,Ge){if($n(Se))return new ti(Se,Ge);if(Jn(Se)){const mt=Qn(Se,Ge);if(\"error\"===mt.result)throw new Error(mt.value.map((Se=>`${Se.key}: ${Se.message}`)).join(\", \"));return mt.value}{let mt=Se;return\"string\"==typeof Se&&\"color\"===Ge.type&&(mt=Ol.parse(Se)),{kind:\"constant\",evaluate:()=>mt}}}(void 0===Ge?Se.specification.default:Ge,Se.specification)}isDataDriven(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind}possiblyEvaluate(Se,Ge,mt){return this.property.possiblyEvaluate(this,Se,Ge,mt)}}class As{constructor(Se){this.property=Se,this.value=new _s(Se,void 0)}transitioned(Se,Ge){return new ks(this.property,this.value,Ge,C({},Se.transition,this.transition),Se.now)}untransitioned(){return new ks(this.property,this.value,null,{},0)}}class Ss{constructor(Se){this._properties=Se,this._values=Object.create(Se.defaultTransitionablePropertyValues)}getValue(Se){return O(this._values[Se].value.value)}setValue(Se,Ge){this._values.hasOwnProperty(Se)||(this._values[Se]=new As(this._values[Se].property)),this._values[Se].value=new _s(this._values[Se].property,null===Ge?void 0:O(Ge))}getTransition(Se){return O(this._values[Se].transition)}setTransition(Se,Ge){this._values.hasOwnProperty(Se)||(this._values[Se]=new As(this._values[Se].property)),this._values[Se].transition=O(Ge)||void 0}serialize(){const Se={};for(const Ge of Object.keys(this._values)){const mt=this.getValue(Ge);void 0!==mt&&(Se[Ge]=mt);const Dt=this.getTransition(Ge);void 0!==Dt&&(Se[`${Ge}-transition`]=Dt)}return Se}transitioned(Se,Ge){const mt=new Is(this._properties);for(const Dt of Object.keys(this._values))mt._values[Dt]=this._values[Dt].transitioned(Se,Ge._values[Dt]);return mt}untransitioned(){const Se=new Is(this._properties);for(const Ge of Object.keys(this._values))Se._values[Ge]=this._values[Ge].untransitioned();return Se}}class ks{constructor(Se,Ge,mt,Dt,Lt){const Rt=Dt.delay||0,Bt=Dt.duration||0;Lt=Lt||0,this.property=Se,this.value=Ge,this.begin=Lt+Rt,this.end=this.begin+Bt,Se.specification.transition&&(Dt.delay||Dt.duration)&&(this.prior=mt)}possiblyEvaluate(Se,Ge,mt){const Dt=Se.now||0,Lt=this.value.possiblyEvaluate(Se,Ge,mt),Rt=this.prior;if(Rt){if(Dt>this.end)return this.prior=null,Lt;if(this.value.isDataDriven())return this.prior=null,Lt;if(Dt<this.begin)return Rt.possiblyEvaluate(Se,Ge,mt);{const Bt=(Dt-this.begin)/(this.end-this.begin);return this.property.interpolate(Rt.possiblyEvaluate(Se,Ge,mt),Lt,S(Bt))}}return Lt}}class Is{constructor(Se){this._properties=Se,this._values=Object.create(Se.defaultTransitioningPropertyValues)}possiblyEvaluate(Se,Ge,mt){const Dt=new zs(this._properties);for(const Lt of Object.keys(this._values))Dt._values[Lt]=this._values[Lt].possiblyEvaluate(Se,Ge,mt);return Dt}hasTransition(){for(const Se of Object.keys(this._values))if(this._values[Se].prior)return!0;return!1}}class Ms{constructor(Se){this._properties=Se,this._values=Object.create(Se.defaultPropertyValues)}getValue(Se){return O(this._values[Se].value)}setValue(Se,Ge){this._values[Se]=new _s(this._values[Se].property,null===Ge?void 0:O(Ge))}serialize(){const Se={};for(const Ge of Object.keys(this._values)){const mt=this.getValue(Ge);void 0!==mt&&(Se[Ge]=mt)}return Se}possiblyEvaluate(Se,Ge,mt){const Dt=new zs(this._properties);for(const Lt of Object.keys(this._values))Dt._values[Lt]=this._values[Lt].possiblyEvaluate(Se,Ge,mt);return Dt}}class Ts{constructor(Se,Ge,mt){this.property=Se,this.value=Ge,this.parameters=mt}isConstant(){return\"constant\"===this.value.kind}constantOr(Se){return\"constant\"===this.value.kind?this.value.value:Se}evaluate(Se,Ge,mt,Dt){return this.property.evaluate(this.value,this.parameters,Se,Ge,mt,Dt)}}class zs{constructor(Se){this._properties=Se,this._values=Object.create(Se.defaultPossiblyEvaluatedValues)}get(Se){return this._values[Se]}}class Bs{constructor(Se){this.specification=Se}possiblyEvaluate(Se,Ge){return Se.expression.evaluate(Ge)}interpolate(Se,Ge,mt){const Dt=jc[this.specification.type];return Dt?Dt(Se,Ge,mt):Se}}class Es{constructor(Se,Ge){this.specification=Se,this.overrides=Ge}possiblyEvaluate(Se,Ge,mt,Dt){return new Ts(this,\"constant\"===Se.expression.kind||\"camera\"===Se.expression.kind?{kind:\"constant\",value:Se.expression.evaluate(Ge,null,{},mt,Dt)}:Se.expression,Ge)}interpolate(Se,Ge,mt){if(\"constant\"!==Se.value.kind||\"constant\"!==Ge.value.kind)return Se;if(void 0===Se.value.value||void 0===Ge.value.value)return new Ts(this,{kind:\"constant\",value:void 0},Se.parameters);const Dt=jc[this.specification.type];return Dt?new Ts(this,{kind:\"constant\",value:Dt(Se.value.value,Ge.value.value,mt)},Se.parameters):Se}evaluate(Se,Ge,mt,Dt,Lt,Rt){return\"constant\"===Se.kind?Se.value:Se.evaluate(Ge,mt,Dt,Lt,Rt)}}class Cs{constructor(Se){this.specification=Se}possiblyEvaluate(Se,Ge,mt,Dt){return!!Se.expression.evaluate(Ge,null,{},mt,Dt)}interpolate(){return!1}}class Ps{constructor(Se){this.properties=Se,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];const Ge=new ws(0,{});for(const mt in Se){const Dt=Se[mt];Dt.specification.overridable&&this.overridableProperties.push(mt);const Lt=this.defaultPropertyValues[mt]=new _s(Dt,void 0),Rt=this.defaultTransitionablePropertyValues[mt]=new As(Dt);this.defaultTransitioningPropertyValues[mt]=Rt.untransitioned(),this.defaultPossiblyEvaluatedValues[mt]=Lt.possiblyEvaluate(Ge)}}}function Ds(Se,Ge){return 256*(Se=M(Math.floor(Se),0,255))+M(Math.floor(Ge),0,255)}Ji(Es,\"DataDrivenProperty\"),Ji(Bs,\"DataConstantProperty\"),Ji(Cs,\"ColorRampProperty\");const md={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class Ls{constructor(Se,Ge){this._structArray=Se,this._pos1=Ge*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class Fs{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(Se,Ge){return Se._trim(),Ge&&(Se.isTransferred=!0,Ge.push(Se.arrayBuffer)),{length:Se.length,arrayBuffer:Se.arrayBuffer}}static deserialize(Se){const Ge=Object.create(this.prototype);return Ge.arrayBuffer=Se.arrayBuffer,Ge.length=Se.length,Ge.capacity=Se.arrayBuffer.byteLength/Ge.bytesPerElement,Ge._refreshViews(),Ge}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(Se){this.reserve(Se),this.length=Se}reserve(Se){if(Se>this.capacity){this.capacity=Math.max(Se,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const Ge=this.uint8;this._refreshViews(),Ge&&this.uint8.set(Ge)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}destroy(){this.int8=this.uint8=this.int16=this.uint16=this.int32=this.uint32=this.float32=null,this.arrayBuffer=null}}function Rs(Se,Ge=1){let mt=0,Dt=0;return{members:Se.map((Se=>{const Lt=md[Se.type].BYTES_PER_ELEMENT,Rt=mt=Us(mt,Math.max(Ge,Lt)),Bt=Se.components||1;return Dt=Math.max(Dt,Lt),mt+=Lt*Bt,{name:Se.name,type:Se.type,components:Bt,offset:Rt}})),size:Us(mt,Math.max(Dt,Ge)),alignment:Ge}}function Us(Se,Ge){return Math.ceil(Se/Ge)*Ge}class $s extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(Se,Ge){const mt=this.length;return this.resize(mt+1),this.emplace(mt,Se,Ge)}emplace(Se,Ge,mt){const Dt=2*Se;return this.int16[Dt+0]=Ge,this.int16[Dt+1]=mt,Se}}$s.prototype.bytesPerElement=4,Ji($s,\"StructArrayLayout2i4\");class js extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt){const Dt=this.length;return this.resize(Dt+1),this.emplace(Dt,Se,Ge,mt)}emplace(Se,Ge,mt,Dt){const Lt=3*Se;return this.int16[Lt+0]=Ge,this.int16[Lt+1]=mt,this.int16[Lt+2]=Dt,Se}}js.prototype.bytesPerElement=6,Ji(js,\"StructArrayLayout3i6\");class Os extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt){const Lt=this.length;return this.resize(Lt+1),this.emplace(Lt,Se,Ge,mt,Dt)}emplace(Se,Ge,mt,Dt,Lt){const Rt=4*Se;return this.int16[Rt+0]=Ge,this.int16[Rt+1]=mt,this.int16[Rt+2]=Dt,this.int16[Rt+3]=Lt,Se}}Os.prototype.bytesPerElement=8,Ji(Os,\"StructArrayLayout4i8\");class qs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,Se,Ge,mt,Dt,Lt,Rt,Bt)}emplace(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=6*Se,$t=12*Se,Ni=3*Se;return this.int16[Ot+0]=Ge,this.int16[Ot+1]=mt,this.uint8[$t+4]=Dt,this.uint8[$t+5]=Lt,this.uint8[$t+6]=Rt,this.uint8[$t+7]=Bt,this.float32[Ni+2]=Ft,Se}}qs.prototype.bytesPerElement=12,Ji(qs,\"StructArrayLayout2i4ub1f12\");class Ns extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt){const Lt=this.length;return this.resize(Lt+1),this.emplace(Lt,Se,Ge,mt,Dt)}emplace(Se,Ge,mt,Dt,Lt){const Rt=4*Se;return this.float32[Rt+0]=Ge,this.float32[Rt+1]=mt,this.float32[Rt+2]=Dt,this.float32[Rt+3]=Lt,Se}}Ns.prototype.bytesPerElement=16,Ji(Ns,\"StructArrayLayout4f16\");class Gs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt){const Rt=this.length;return this.resize(Rt+1),this.emplace(Rt,Se,Ge,mt,Dt,Lt)}emplace(Se,Ge,mt,Dt,Lt,Rt){const Bt=6*Se,Ft=3*Se;return this.uint16[Bt+0]=Ge,this.uint16[Bt+1]=mt,this.uint16[Bt+2]=Dt,this.uint16[Bt+3]=Lt,this.float32[Ft+2]=Rt,Se}}Gs.prototype.bytesPerElement=12,Ji(Gs,\"StructArrayLayout4ui1f12\");class Zs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt){const Lt=this.length;return this.resize(Lt+1),this.emplace(Lt,Se,Ge,mt,Dt)}emplace(Se,Ge,mt,Dt,Lt){const Rt=4*Se;return this.uint16[Rt+0]=Ge,this.uint16[Rt+1]=mt,this.uint16[Rt+2]=Dt,this.uint16[Rt+3]=Lt,Se}}Zs.prototype.bytesPerElement=8,Ji(Zs,\"StructArrayLayout4ui8\");class Ks extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt,Rt){const Bt=this.length;return this.resize(Bt+1),this.emplace(Bt,Se,Ge,mt,Dt,Lt,Rt)}emplace(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft=6*Se;return this.int16[Ft+0]=Ge,this.int16[Ft+1]=mt,this.int16[Ft+2]=Dt,this.int16[Ft+3]=Lt,this.int16[Ft+4]=Rt,this.int16[Ft+5]=Bt,Se}}Ks.prototype.bytesPerElement=12,Ji(Ks,\"StructArrayLayout6i12\");class Xs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr){const Lr=this.length;return this.resize(Lr+1),this.emplace(Lr,Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr)}emplace(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr){const Rr=12*Se;return this.int16[Rr+0]=Ge,this.int16[Rr+1]=mt,this.int16[Rr+2]=Dt,this.int16[Rr+3]=Lt,this.uint16[Rr+4]=Rt,this.uint16[Rr+5]=Bt,this.uint16[Rr+6]=Ft,this.uint16[Rr+7]=Ot,this.int16[Rr+8]=$t,this.int16[Rr+9]=Ni,this.int16[Rr+10]=tr,this.int16[Rr+11]=Lr,Se}}Xs.prototype.bytesPerElement=24,Ji(Xs,\"StructArrayLayout4i4ui4i24\");class Js extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt,Rt){const Bt=this.length;return this.resize(Bt+1),this.emplace(Bt,Se,Ge,mt,Dt,Lt,Rt)}emplace(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft=10*Se,Ot=5*Se;return this.int16[Ft+0]=Ge,this.int16[Ft+1]=mt,this.int16[Ft+2]=Dt,this.float32[Ot+2]=Lt,this.float32[Ot+3]=Rt,this.float32[Ot+4]=Bt,Se}}Js.prototype.bytesPerElement=20,Ji(Js,\"StructArrayLayout3i3f20\");class Hs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(Se){const Ge=this.length;return this.resize(Ge+1),this.emplace(Ge,Se)}emplace(Se,Ge){return this.uint32[1*Se+0]=Ge,Se}}Hs.prototype.bytesPerElement=4,Ji(Hs,\"StructArrayLayout1ul4\");class Ys extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr){const Rr=this.length;return this.resize(Rr+1),this.emplace(Rr,Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr)}emplace(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr){const Qr=20*Se,an=10*Se;return this.int16[Qr+0]=Ge,this.int16[Qr+1]=mt,this.int16[Qr+2]=Dt,this.int16[Qr+3]=Lt,this.int16[Qr+4]=Rt,this.float32[an+3]=Bt,this.float32[an+4]=Ft,this.float32[an+5]=Ot,this.float32[an+6]=$t,this.int16[Qr+14]=Ni,this.uint32[an+8]=tr,this.uint16[Qr+18]=Lr,this.uint16[Qr+19]=Rr,Se}}Ys.prototype.bytesPerElement=40,Ji(Ys,\"StructArrayLayout5i4f1i1ul2ui40\");class Ws extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,Se,Ge,mt,Dt,Lt,Rt,Bt)}emplace(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=8*Se;return this.int16[Ot+0]=Ge,this.int16[Ot+1]=mt,this.int16[Ot+2]=Dt,this.int16[Ot+4]=Lt,this.int16[Ot+5]=Rt,this.int16[Ot+6]=Bt,this.int16[Ot+7]=Ft,Se}}Ws.prototype.bytesPerElement=16,Ji(Ws,\"StructArrayLayout3i2i2i16\");class Qs extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt){const Rt=this.length;return this.resize(Rt+1),this.emplace(Rt,Se,Ge,mt,Dt,Lt)}emplace(Se,Ge,mt,Dt,Lt,Rt){const Bt=4*Se,Ft=8*Se;return this.float32[Bt+0]=Ge,this.float32[Bt+1]=mt,this.float32[Bt+2]=Dt,this.int16[Ft+6]=Lt,this.int16[Ft+7]=Rt,Se}}Qs.prototype.bytesPerElement=16,Ji(Qs,\"StructArrayLayout2f1f2i16\");class ta extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt){const Lt=this.length;return this.resize(Lt+1),this.emplace(Lt,Se,Ge,mt,Dt)}emplace(Se,Ge,mt,Dt,Lt){const Rt=12*Se,Bt=3*Se;return this.uint8[Rt+0]=Ge,this.uint8[Rt+1]=mt,this.float32[Bt+1]=Dt,this.float32[Bt+2]=Lt,Se}}ta.prototype.bytesPerElement=12,Ji(ta,\"StructArrayLayout2ub2f12\");class ea extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt){const Dt=this.length;return this.resize(Dt+1),this.emplace(Dt,Se,Ge,mt)}emplace(Se,Ge,mt,Dt){const Lt=3*Se;return this.float32[Lt+0]=Ge,this.float32[Lt+1]=mt,this.float32[Lt+2]=Dt,Se}}ea.prototype.bytesPerElement=12,Ji(ea,\"StructArrayLayout3f12\");class ra extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt){const Dt=this.length;return this.resize(Dt+1),this.emplace(Dt,Se,Ge,mt)}emplace(Se,Ge,mt,Dt){const Lt=3*Se;return this.uint16[Lt+0]=Ge,this.uint16[Lt+1]=mt,this.uint16[Lt+2]=Dt,Se}}ra.prototype.bytesPerElement=6,Ji(ra,\"StructArrayLayout3ui6\");class na extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn,fn,mn,_n){const bn=this.length;return this.resize(bn+1),this.emplace(bn,Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn,fn,mn,_n)}emplace(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn,fn,mn,_n,bn){const wn=30*Se,Tn=15*Se,Sn=60*Se;return this.int16[wn+0]=Ge,this.int16[wn+1]=mt,this.int16[wn+2]=Dt,this.float32[Tn+2]=Lt,this.float32[Tn+3]=Rt,this.uint16[wn+8]=Bt,this.uint16[wn+9]=Ft,this.uint32[Tn+5]=Ot,this.uint32[Tn+6]=$t,this.uint32[Tn+7]=Ni,this.uint16[wn+16]=tr,this.uint16[wn+17]=Lr,this.uint16[wn+18]=Rr,this.float32[Tn+10]=Qr,this.float32[Tn+11]=an,this.uint8[Sn+48]=ln,this.uint8[Sn+49]=pn,this.uint8[Sn+50]=fn,this.uint32[Tn+13]=mn,this.int16[wn+28]=_n,this.uint8[Sn+58]=bn,Se}}na.prototype.bytesPerElement=60,Ji(na,\"StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60\");class ia extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn,fn,mn,_n,bn,wn,Tn,Sn,An,Pn,kn,eo,ao){const Oo=this.length;return this.resize(Oo+1),this.emplace(Oo,Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn,fn,mn,_n,bn,wn,Tn,Sn,An,Pn,kn,eo,ao)}emplace(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn,fn,mn,_n,bn,wn,Tn,Sn,An,Pn,kn,eo,ao,Oo){const Qo=38*Se,ts=19*Se;return this.int16[Qo+0]=Ge,this.int16[Qo+1]=mt,this.int16[Qo+2]=Dt,this.float32[ts+2]=Lt,this.float32[ts+3]=Rt,this.int16[Qo+8]=Bt,this.int16[Qo+9]=Ft,this.int16[Qo+10]=Ot,this.int16[Qo+11]=$t,this.int16[Qo+12]=Ni,this.int16[Qo+13]=tr,this.uint16[Qo+14]=Lr,this.uint16[Qo+15]=Rr,this.uint16[Qo+16]=Qr,this.uint16[Qo+17]=an,this.uint16[Qo+18]=ln,this.uint16[Qo+19]=pn,this.uint16[Qo+20]=fn,this.uint16[Qo+21]=mn,this.uint16[Qo+22]=_n,this.uint16[Qo+23]=bn,this.uint16[Qo+24]=wn,this.uint16[Qo+25]=Tn,this.uint16[Qo+26]=Sn,this.uint16[Qo+27]=An,this.uint16[Qo+28]=Pn,this.uint32[ts+15]=kn,this.float32[ts+16]=eo,this.float32[ts+17]=ao,this.float32[ts+18]=Oo,Se}}ia.prototype.bytesPerElement=76,Ji(ia,\"StructArrayLayout3i2f6i15ui1ul3f76\");class sa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se){const Ge=this.length;return this.resize(Ge+1),this.emplace(Ge,Se)}emplace(Se,Ge){return this.float32[1*Se+0]=Ge,Se}}sa.prototype.bytesPerElement=4,Ji(sa,\"StructArrayLayout1f4\");class aa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt,Lt){const Rt=this.length;return this.resize(Rt+1),this.emplace(Rt,Se,Ge,mt,Dt,Lt)}emplace(Se,Ge,mt,Dt,Lt,Rt){const Bt=5*Se;return this.float32[Bt+0]=Ge,this.float32[Bt+1]=mt,this.float32[Bt+2]=Dt,this.float32[Bt+3]=Lt,this.float32[Bt+4]=Rt,Se}}aa.prototype.bytesPerElement=20,Ji(aa,\"StructArrayLayout5f20\");class oa extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(Se,Ge,mt,Dt){const Lt=this.length;return this.resize(Lt+1),this.emplace(Lt,Se,Ge,mt,Dt)}emplace(Se,Ge,mt,Dt,Lt){const Rt=6*Se;return this.uint32[3*Se+0]=Ge,this.uint16[Rt+2]=mt,this.uint16[Rt+3]=Dt,this.uint16[Rt+4]=Lt,Se}}oa.prototype.bytesPerElement=12,Ji(oa,\"StructArrayLayout1ul3ui12\");class la extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(Se,Ge){const mt=this.length;return this.resize(mt+1),this.emplace(mt,Se,Ge)}emplace(Se,Ge,mt){const Dt=2*Se;return this.uint16[Dt+0]=Ge,this.uint16[Dt+1]=mt,Se}}la.prototype.bytesPerElement=4,Ji(la,\"StructArrayLayout2ui4\");class ua extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(Se){const Ge=this.length;return this.resize(Ge+1),this.emplace(Ge,Se)}emplace(Se,Ge){return this.uint16[1*Se+0]=Ge,Se}}ua.prototype.bytesPerElement=2,Ji(ua,\"StructArrayLayout1ui2\");class ca extends Fs{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(Se,Ge){const mt=this.length;return this.resize(mt+1),this.emplace(mt,Se,Ge)}emplace(Se,Ge,mt){const Dt=2*Se;return this.float32[Dt+0]=Ge,this.float32[Dt+1]=mt,Se}}ca.prototype.bytesPerElement=8,Ji(ca,\"StructArrayLayout2f8\");class ha extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}ha.prototype.size=40;class pa extends Ys{get(Se){return new ha(this,Se)}}Ji(pa,\"CollisionBoxArray\");class da extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(Se){this._structArray.uint8[this._pos1+49]=Se}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(Se){this._structArray.uint8[this._pos1+50]=Se}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(Se){this._structArray.uint32[this._pos4+13]=Se}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(Se){this._structArray.uint8[this._pos1+58]=Se}}da.prototype.size=60;class fa extends na{get(Se){return new da(this,Se)}}Ji(fa,\"PlacedSymbolArray\");class ya extends Ls{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+11]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+13]}get key(){return this._structArray.uint16[this._pos2+14]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+17]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+19]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+21]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+22]}get featureIndex(){return this._structArray.uint16[this._pos2+23]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+25]}get numIconVertices(){return this._structArray.uint16[this._pos2+26]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+27]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+28]}get crossTileID(){return this._structArray.uint32[this._pos4+15]}set crossTileID(Se){this._structArray.uint32[this._pos4+15]=Se}get textOffset0(){return this._structArray.float32[this._pos4+16]}get textOffset1(){return this._structArray.float32[this._pos4+17]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+18]}}ya.prototype.size=76;class ma extends ia{get(Se){return new ya(this,Se)}}Ji(ma,\"SymbolInstanceArray\");class ga extends sa{getoffsetX(Se){return this.float32[1*Se+0]}}Ji(ga,\"GlyphOffsetArray\");class xa extends $s{getx(Se){return this.int16[2*Se+0]}gety(Se){return this.int16[2*Se+1]}}Ji(xa,\"SymbolLineVertexArray\");class va extends Ls{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}va.prototype.size=12;class ba extends oa{get(Se){return new va(this,Se)}}Ji(ba,\"FeatureIndexArray\");class wa extends la{geta_centroid_pos0(Se){return this.uint16[2*Se+0]}geta_centroid_pos1(Se){return this.uint16[2*Se+1]}}Ji(wa,\"FillExtrusionCentroidArray\");const _d=Rs([{name:\"a_pattern\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio\",components:1,type:\"Float32\"}]),gd=Rs([{name:\"a_dash\",components:4,type:\"Uint16\"}]);var yd={exports:{}},Ed={exports:{}};Ed.exports=function(Se,Ge){var mt,Dt,Lt,Rt,Bt,Ft,Ot,$t;for(Dt=Se.length-(mt=3&Se.length),Lt=Ge,Bt=3432918353,Ft=461845907,$t=0;$t<Dt;)Ot=255&Se.charCodeAt($t)|(255&Se.charCodeAt(++$t))<<8|(255&Se.charCodeAt(++$t))<<16|(255&Se.charCodeAt(++$t))<<24,++$t,Lt=27492+(65535&(Rt=5*(65535&(Lt=(Lt^=Ot=(65535&(Ot=(Ot=(65535&Ot)*Bt+(((Ot>>>16)*Bt&65535)<<16)&4294967295)<<15|Ot>>>17))*Ft+(((Ot>>>16)*Ft&65535)<<16)&4294967295)<<13|Lt>>>19))+((5*(Lt>>>16)&65535)<<16)&4294967295))+((58964+(Rt>>>16)&65535)<<16);switch(Ot=0,mt){case 3:Ot^=(255&Se.charCodeAt($t+2))<<16;case 2:Ot^=(255&Se.charCodeAt($t+1))<<8;case 1:Lt^=Ot=(65535&(Ot=(Ot=(65535&(Ot^=255&Se.charCodeAt($t)))*Bt+(((Ot>>>16)*Bt&65535)<<16)&4294967295)<<15|Ot>>>17))*Ft+(((Ot>>>16)*Ft&65535)<<16)&4294967295}return Lt^=Se.length,Lt=2246822507*(65535&(Lt^=Lt>>>16))+((2246822507*(Lt>>>16)&65535)<<16)&4294967295,Lt=3266489909*(65535&(Lt^=Lt>>>13))+((3266489909*(Lt>>>16)&65535)<<16)&4294967295,(Lt^=Lt>>>16)>>>0};var Ad=Ed.exports,Dd={exports:{}};Dd.exports=function(Se,Ge){for(var mt,Dt=Se.length,Lt=Ge^Dt,Rt=0;Dt>=4;)mt=1540483477*(65535&(mt=255&Se.charCodeAt(Rt)|(255&Se.charCodeAt(++Rt))<<8|(255&Se.charCodeAt(++Rt))<<16|(255&Se.charCodeAt(++Rt))<<24))+((1540483477*(mt>>>16)&65535)<<16),Lt=1540483477*(65535&Lt)+((1540483477*(Lt>>>16)&65535)<<16)^(mt=1540483477*(65535&(mt^=mt>>>24))+((1540483477*(mt>>>16)&65535)<<16)),Dt-=4,++Rt;switch(Dt){case 3:Lt^=(255&Se.charCodeAt(Rt+2))<<16;case 2:Lt^=(255&Se.charCodeAt(Rt+1))<<8;case 1:Lt=1540483477*(65535&(Lt^=255&Se.charCodeAt(Rt)))+((1540483477*(Lt>>>16)&65535)<<16)}return Lt=1540483477*(65535&(Lt^=Lt>>>13))+((1540483477*(Lt>>>16)&65535)<<16),(Lt^=Lt>>>15)>>>0};var Ld=Ad,Rd=Dd.exports;yd.exports=Ld,yd.exports.murmur3=Ld,yd.exports.murmur2=Rd;var Fd=p(yd.exports);class Ea{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(Se,Ge,mt,Dt){this.ids.push(Ca(Se)),this.positions.push(Ge,mt,Dt)}getPositions(Se){const Ge=Ca(Se);let mt=0,Dt=this.ids.length-1;for(;mt<Dt;){const Se=mt+Dt>>1;this.ids[Se]>=Ge?Dt=Se:mt=Se+1}const Lt=[];for(;this.ids[mt]===Ge;)Lt.push({index:this.positions[3*mt],start:this.positions[3*mt+1],end:this.positions[3*mt+2]}),mt++;return Lt}static serialize(Se,Ge){const mt=new Float64Array(Se.ids),Dt=new Uint32Array(Se.positions);return Pa(mt,Dt,0,mt.length-1),Ge&&Ge.push(mt.buffer,Dt.buffer),{ids:mt,positions:Dt}}static deserialize(Se){const Ge=new Ea;return Ge.ids=Se.ids,Ge.positions=Se.positions,Ge.indexed=!0,Ge}}function Ca(Se){const Ge=+Se;return!isNaN(Ge)&&Number.MIN_SAFE_INTEGER<=Ge&&Ge<=Number.MAX_SAFE_INTEGER?Ge:Fd(String(Se))}function Pa(Se,Ge,mt,Dt){for(;mt<Dt;){const Lt=Se[mt+Dt>>1];let Rt=mt-1,Bt=Dt+1;for(;;){do{Rt++}while(Se[Rt]<Lt);do{Bt--}while(Se[Bt]>Lt);if(Rt>=Bt)break;Da(Se,Rt,Bt),Da(Ge,3*Rt,3*Bt),Da(Ge,3*Rt+1,3*Bt+1),Da(Ge,3*Rt+2,3*Bt+2)}Bt-mt<Dt-Bt?(Pa(Se,Ge,mt,Bt),mt=Bt+1):(Pa(Se,Ge,Bt+1,Dt),Dt=Bt)}}function Da(Se,Ge,mt){const Dt=Se[Ge];Se[Ge]=Se[mt],Se[mt]=Dt}Ji(Ea,\"FeaturePositionMap\");class Va{constructor(Se){this.gl=Se.gl,this.initialized=!1}fetchUniformLocation(Se,Ge){return this.location||this.initialized||(this.location=this.gl.getUniformLocation(Se,Ge),this.initialized=!0),!!this.location}}class La extends Va{constructor(Se){super(Se),this.current=0}set(Se,Ge,mt){this.fetchUniformLocation(Se,Ge)&&this.current!==mt&&(this.current=mt,this.gl.uniform1f(this.location,mt))}}class Fa extends Va{constructor(Se){super(Se),this.current=[0,0,0,0]}set(Se,Ge,mt){this.fetchUniformLocation(Se,Ge)&&(mt[0]===this.current[0]&&mt[1]===this.current[1]&&mt[2]===this.current[2]&&mt[3]===this.current[3]||(this.current=mt,this.gl.uniform4f(this.location,mt[0],mt[1],mt[2],mt[3])))}}class Ra extends Va{constructor(Se){super(Se),this.current=Ol.transparent}set(Se,Ge,mt){this.fetchUniformLocation(Se,Ge)&&(mt.r===this.current.r&&mt.g===this.current.g&&mt.b===this.current.b&&mt.a===this.current.a||(this.current=mt,this.gl.uniform4f(this.location,mt.r,mt.g,mt.b,mt.a)))}}const Vd=new Float32Array(16),jd=new Float32Array(9),Gd=new Float32Array(4);function Oa(Se){return[Ds(255*Se.r,255*Se.g),Ds(255*Se.b,255*Se.a)]}class qa{constructor(Se,Ge,mt){this.value=Se,this.uniformNames=Ge.map((Se=>`u_${Se}`)),this.type=mt}setUniform(Se,Ge,mt,Dt,Lt){Ge.set(Se,Lt,Dt.constantOr(this.value))}getBinding(Se,Ge){return\"color\"===this.type?new Ra(Se):new La(Se)}}class Na{constructor(Se,Ge){this.uniformNames=Ge.map((Se=>`u_${Se}`)),this.pattern=null,this.pixelRatio=1}setConstantPatternPositions(Se){this.pixelRatio=Se.pixelRatio||1,this.pattern=Se.tl.concat(Se.br)}setUniform(Se,Ge,mt,Dt,Lt){const Rt=\"u_pattern\"===Lt||\"u_dash\"===Lt?this.pattern:\"u_pixel_ratio\"===Lt?this.pixelRatio:null;Rt&&Ge.set(Se,Lt,Rt)}getBinding(Se,Ge){return\"u_pattern\"===Ge||\"u_dash\"===Ge?new Fa(Se):new La(Se)}}class Ga{constructor(Se,Ge,mt,Dt){this.expression=Se,this.type=mt,this.maxValue=0,this.paintVertexAttributes=Ge.map((Se=>({name:`a_${Se}`,type:\"Float32\",components:\"color\"===mt?2:1,offset:0}))),this.paintVertexArray=new Dt}populatePaintArray(Se,Ge,mt,Dt,Lt,Rt){const Bt=this.paintVertexArray.length,Ft=this.expression.evaluate(new ws(0),Ge,{},Lt,Dt,Rt);this.paintVertexArray.resize(Se),this._setPaintValue(Bt,Se,Ft)}updatePaintArray(Se,Ge,mt,Dt,Lt){const Rt=this.expression.evaluate({zoom:0},mt,Dt,void 0,Lt);this._setPaintValue(Se,Ge,Rt)}_setPaintValue(Se,Ge,mt){if(\"color\"===this.type){const Dt=Oa(mt);for(let mt=Se;mt<Ge;mt++)this.paintVertexArray.emplace(mt,Dt[0],Dt[1])}else{for(let Dt=Se;Dt<Ge;Dt++)this.paintVertexArray.emplace(Dt,mt);this.maxValue=Math.max(this.maxValue,Math.abs(mt))}}upload(Se){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=Se.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class Za{constructor(Se,Ge,mt,Dt,Lt,Rt){this.expression=Se,this.uniformNames=Ge.map((Se=>`u_${Se}_t`)),this.type=mt,this.useIntegerZoom=Dt,this.zoom=Lt,this.maxValue=0,this.paintVertexAttributes=Ge.map((Se=>({name:`a_${Se}`,type:\"Float32\",components:\"color\"===mt?4:2,offset:0}))),this.paintVertexArray=new Rt}populatePaintArray(Se,Ge,mt,Dt,Lt,Rt){const Bt=this.expression.evaluate(new ws(this.zoom),Ge,{},Lt,Dt,Rt),Ft=this.expression.evaluate(new ws(this.zoom+1),Ge,{},Lt,Dt,Rt),Ot=this.paintVertexArray.length;this.paintVertexArray.resize(Se),this._setPaintValue(Ot,Se,Bt,Ft)}updatePaintArray(Se,Ge,mt,Dt,Lt){const Rt=this.expression.evaluate({zoom:this.zoom},mt,Dt,void 0,Lt),Bt=this.expression.evaluate({zoom:this.zoom+1},mt,Dt,void 0,Lt);this._setPaintValue(Se,Ge,Rt,Bt)}_setPaintValue(Se,Ge,mt,Dt){if(\"color\"===this.type){const Lt=Oa(mt),Rt=Oa(Dt);for(let mt=Se;mt<Ge;mt++)this.paintVertexArray.emplace(mt,Lt[0],Lt[1],Rt[0],Rt[1])}else{for(let Lt=Se;Lt<Ge;Lt++)this.paintVertexArray.emplace(Lt,mt,Dt);this.maxValue=Math.max(this.maxValue,Math.abs(mt),Math.abs(Dt))}}upload(Se){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=Se.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(Se,Ge,mt,Dt,Lt){const Rt=this.useIntegerZoom?Math.floor(mt.zoom):mt.zoom,Bt=M(this.expression.interpolationFactor(Rt,this.zoom,this.zoom+1),0,1);Ge.set(Se,Lt,Bt)}getBinding(Se,Ge){return new La(Se)}}class Ka{constructor(Se,Ge,mt,Dt,Lt){this.expression=Se,this.layerId=Lt,this.paintVertexAttributes=(\"array\"===mt?gd:_d).members;for(let Se=0;Se<Ge.length;++Se);this.paintVertexArray=new Dt}populatePaintArray(Se,Ge,mt){const Dt=this.paintVertexArray.length;this.paintVertexArray.resize(Se),this._setPaintValues(Dt,Se,Ge.patterns&&Ge.patterns[this.layerId],mt)}updatePaintArray(Se,Ge,mt,Dt,Lt,Rt){this._setPaintValues(Se,Ge,mt.patterns&&mt.patterns[this.layerId],Rt)}_setPaintValues(Se,Ge,mt,Dt){if(!Dt||!mt)return;const Lt=Dt[mt];if(!Lt)return;const{tl:Rt,br:Bt,pixelRatio:Ft}=Lt;for(let mt=Se;mt<Ge;mt++)this.paintVertexArray.emplace(mt,Rt[0],Rt[1],Bt[0],Bt[1],Ft)}upload(Se){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer=Se.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class Xa{constructor(Se,Ge,mt=(()=>!0)){this.binders={},this._buffers=[];const Dt=[];for(const Lt in Se.paint._values){if(!mt(Lt))continue;const Rt=Se.paint.get(Lt);if(!(Rt instanceof Ts&&Ln(Rt.property.specification)))continue;const Bt=Ya(Lt,Se.type),Ft=Rt.value,Ot=Rt.property.specification.type,$t=!!Rt.property.useIntegerZoom,Ni=\"line-dasharray\"===Lt||Lt.endsWith(\"pattern\"),tr=\"line-dasharray\"===Lt&&\"constant\"!==Se.layout.get(\"line-cap\").value.kind;if(\"constant\"!==Ft.kind||tr)if(\"source\"===Ft.kind||tr||Ni){const Ge=to(Lt,Ot,\"source\");this.binders[Lt]=Ni?new Ka(Ft,Bt,Ot,Ge,Se.id):new Ga(Ft,Bt,Ot,Ge),Dt.push(`/a_${Lt}`)}else{const Se=to(Lt,Ot,\"composite\");this.binders[Lt]=new Za(Ft,Bt,Ot,$t,Ge,Se),Dt.push(`/z_${Lt}`)}else this.binders[Lt]=Ni?new Na(Ft.value,Bt):new qa(Ft.value,Bt,Ot),Dt.push(`/u_${Lt}`)}this.cacheKey=Dt.sort().join(\"\")}getMaxValue(Se){const Ge=this.binders[Se];return Ge instanceof Ga||Ge instanceof Za?Ge.maxValue:0}populatePaintArrays(Se,Ge,mt,Dt,Lt,Rt){for(const Bt in this.binders){const Ft=this.binders[Bt];(Ft instanceof Ga||Ft instanceof Za||Ft instanceof Ka)&&Ft.populatePaintArray(Se,Ge,mt,Dt,Lt,Rt)}}setConstantPatternPositions(Se){for(const Ge in this.binders){const mt=this.binders[Ge];mt instanceof Na&&mt.setConstantPatternPositions(Se)}}updatePaintArrays(Se,Ge,mt,Dt,Lt,Rt){let Bt=!1;for(const Ft in Se){const Ot=Ge.getPositions(Ft);for(const Ge of Ot){const Ot=mt.feature(Ge.index);for(const mt in this.binders){const $t=this.binders[mt];if(($t instanceof Ga||$t instanceof Za||$t instanceof Ka)&&!0===$t.expression.isStateDependent){const Ni=Dt.paint.get(mt);$t.expression=Ni.value,$t.updatePaintArray(Ge.start,Ge.end,Ot,Se[Ft],Lt,Rt),Bt=!0}}}}return Bt}defines(){const Se=[];for(const Ge in this.binders){const mt=this.binders[Ge];(mt instanceof qa||mt instanceof Na)&&Se.push(...mt.uniformNames.map((Se=>`#define HAS_UNIFORM_${Se}`)))}return Se}getBinderAttributes(){const Se=[];for(const Ge in this.binders){const mt=this.binders[Ge];if(mt instanceof Ga||mt instanceof Za||mt instanceof Ka)for(let Ge=0;Ge<mt.paintVertexAttributes.length;Ge++)Se.push(mt.paintVertexAttributes[Ge].name)}return Se}getBinderUniforms(){const Se=[];for(const Ge in this.binders){const mt=this.binders[Ge];if(mt instanceof qa||mt instanceof Na||mt instanceof Za)for(const Ge of mt.uniformNames)Se.push(Ge)}return Se}getPaintVertexBuffers(){return this._buffers}getUniforms(Se){const Ge=[];for(const mt in this.binders){const Dt=this.binders[mt];if(Dt instanceof qa||Dt instanceof Na||Dt instanceof Za)for(const Lt of Dt.uniformNames)Ge.push({name:Lt,property:mt,binding:Dt.getBinding(Se,Lt)})}return Ge}setUniforms(Se,Ge,mt,Dt,Lt){for(const{name:Ge,property:Rt,binding:Bt}of mt)this.binders[Rt].setUniform(Se,Bt,Lt,Dt.get(Rt),Ge)}updatePaintBuffers(){this._buffers=[];for(const Se in this.binders){const Ge=this.binders[Se];(Ge instanceof Ga||Ge instanceof Za||Ge instanceof Ka)&&Ge.paintVertexBuffer&&this._buffers.push(Ge.paintVertexBuffer)}}upload(Se){for(const Ge in this.binders){const mt=this.binders[Ge];(mt instanceof Ga||mt instanceof Za||mt instanceof Ka)&&mt.upload(Se)}this.updatePaintBuffers()}destroy(){for(const Se in this.binders){const Ge=this.binders[Se];(Ge instanceof Ga||Ge instanceof Za||Ge instanceof Ka)&&Ge.destroy()}}}class Ja{constructor(Se,Ge,mt=(()=>!0)){this.programConfigurations={};for(const Dt of Se)this.programConfigurations[Dt.id]=new Xa(Dt,Ge,mt);this.needsUpload=!1,this._featureMap=new Ea,this._bufferOffset=0}populatePaintArrays(Se,Ge,mt,Dt,Lt,Rt,Bt){for(const mt in this.programConfigurations)this.programConfigurations[mt].populatePaintArrays(Se,Ge,Dt,Lt,Rt,Bt);void 0!==Ge.id&&this._featureMap.add(Ge.id,mt,this._bufferOffset,Se),this._bufferOffset=Se,this.needsUpload=!0}updatePaintArrays(Se,Ge,mt,Dt,Lt){for(const Rt of mt)this.needsUpload=this.programConfigurations[Rt.id].updatePaintArrays(Se,this._featureMap,Ge,Rt,Dt,Lt)||this.needsUpload}get(Se){return this.programConfigurations[Se]}upload(Se){if(this.needsUpload){for(const Ge in this.programConfigurations)this.programConfigurations[Ge].upload(Se);this.needsUpload=!1}}destroy(){for(const Se in this.programConfigurations)this.programConfigurations[Se].destroy()}}const Wd={\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern\",\"pixel_ratio\"],\"fill-pattern\":[\"pattern\",\"pixel_ratio\"],\"fill-extrusion-pattern\":[\"pattern\",\"pixel_ratio\"],\"line-dasharray\":[\"dash\"]};function Ya(Se,Ge){return Wd[Se]||[Se.replace(`${Ge}-`,\"\").replace(/-/g,\"_\")]}const Kd={\"line-pattern\":{source:Gs,composite:Gs},\"fill-pattern\":{source:Gs,composite:Gs},\"fill-extrusion-pattern\":{source:Gs,composite:Gs},\"line-dasharray\":{source:Zs,composite:Zs}},Qd={color:{source:ca,composite:Ns},number:{source:sa,composite:ca}};function to(Se,Ge,mt){const Dt=Kd[Se];return Dt&&Dt[mt]||Qd[Ge][mt]}Ji(qa,\"ConstantBinder\"),Ji(Na,\"PatternConstantBinder\"),Ji(Ga,\"SourceExpressionBinder\"),Ji(Ka,\"PatternCompositeBinder\"),Ji(Za,\"CompositeExpressionBinder\"),Ji(Xa,\"ProgramConfiguration\",{omit:[\"_buffers\"]}),Ji(Ja,\"ProgramConfigurationSet\");const tp=\"-transition\";class ro extends Qt{constructor(Se,Ge){if(super(),this.id=Se.id,this.type=Se.type,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,\"custom\"!==Se.type&&(this.metadata=Se.metadata,this.minzoom=Se.minzoom,this.maxzoom=Se.maxzoom,\"background\"!==Se.type&&\"sky\"!==Se.type&&(this.source=Se.source,this.sourceLayer=Se[\"source-layer\"],this.filter=Se.filter),Ge.layout&&(this._unevaluatedLayout=new Ms(Ge.layout)),Ge.paint)){this._transitionablePaint=new Ss(Ge.paint);for(const Ge in Se.paint)this.setPaintProperty(Ge,Se.paint[Ge],{validate:!1});for(const Ge in Se.layout)this.setLayoutProperty(Ge,Se.layout[Ge],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new zs(Ge.paint)}}getLayoutProperty(Se){return\"visibility\"===Se?this.visibility:this._unevaluatedLayout.getValue(Se)}setLayoutProperty(Se,Ge,mt={}){null!=Ge&&this._validate(ji,`layers.${this.id}.layout.${Se}`,Se,Ge,mt)||(\"visibility\"!==Se?this._unevaluatedLayout.setValue(Se,Ge):this.visibility=Ge)}getPaintProperty(Se){return U(Se,tp)?this._transitionablePaint.getTransition(Se.slice(0,-11)):this._transitionablePaint.getValue(Se)}setPaintProperty(Se,Ge,mt={}){if(null!=Ge&&this._validate($i,`layers.${this.id}.paint.${Se}`,Se,Ge,mt))return!1;if(U(Se,tp))return this._transitionablePaint.setTransition(Se.slice(0,-11),Ge||void 0),!1;{const mt=this._transitionablePaint._values[Se],Dt=mt.value.isDataDriven(),Lt=mt.value;this._transitionablePaint.setValue(Se,Ge),this._handleSpecialPaintPropertyUpdate(Se);const Rt=this._transitionablePaint._values[Se].value,Bt=Rt.isDataDriven(),Ft=U(Se,\"pattern\")||\"line-dasharray\"===Se;return Bt||Dt||Ft||this._handleOverridablePaintPropertyUpdate(Se,Lt,Rt)}}_handleSpecialPaintPropertyUpdate(Se){}getProgramIds(){return null}getProgramConfiguration(Se){return null}_handleOverridablePaintPropertyUpdate(Se,Ge,mt){return!1}isHidden(Se){return!!(this.minzoom&&Se<this.minzoom)||!!(this.maxzoom&&Se>=this.maxzoom)||\"none\"===this.visibility}updateTransitions(Se){this._transitioningPaint=this._transitionablePaint.transitioned(Se,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(Se,Ge){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(Se,void 0,Ge)),this.paint=this._transitioningPaint.possiblyEvaluate(Se,void 0,Ge)}serialize(){const Se={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(Se.layout=Se.layout||{},Se.layout.visibility=this.visibility),j(Se,((Se,Ge)=>!(void 0===Se||\"layout\"===Ge&&!Object.keys(Se).length||\"paint\"===Ge&&!Object.keys(Se).length)))}_validate(Se,Ge,mt,Dt,Lt={}){return(!Lt||!1!==Lt.validate)&&qi(this,Se.call(Ui,{key:Ge,layerType:this.type,objectKey:mt,value:Dt,styleSpec:Ha,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isSky(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const Se in this.paint._values){const Ge=this.paint.get(Se);if(Ge instanceof Ts&&Ln(Ge.property.specification)&&(\"source\"===Ge.value.kind||\"composite\"===Ge.value.kind)&&Ge.value.isStateDependent)return!0}return!1}compileFilter(){this._filterCompiled||(this._featureFilter=hi(this.filter),this._filterCompiled=!0)}invalidateCompiledFilter(){this._filterCompiled=!1}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}}const mp=Rs([{name:\"a_pos\",components:2,type:\"Int16\"}],4),gp=Rs([{name:\"a_pos_3\",components:3,type:\"Int16\"},{name:\"a_pos_normal_3\",components:3,type:\"Int16\"}]);class so{constructor(Se=[]){this.segments=Se}prepareSegment(Se,Ge,mt,Dt){let Lt=this.segments[this.segments.length-1];return Se>so.MAX_VERTEX_ARRAY_LENGTH&&N(`Max vertices per segment is ${so.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${Se}`),(!Lt||Lt.vertexLength+Se>so.MAX_VERTEX_ARRAY_LENGTH||Lt.sortKey!==Dt)&&(Lt={vertexOffset:Ge.length,primitiveOffset:mt.length,vertexLength:0,primitiveLength:0},void 0!==Dt&&(Lt.sortKey=Dt),this.segments.push(Lt)),Lt}get(){return this.segments}destroy(){for(const Se of this.segments)for(const Ge in Se.vaos)Se.vaos[Ge].destroy()}static simpleSegment(Se,Ge,mt,Dt){return new so([{vertexOffset:Se,primitiveOffset:Ge,vertexLength:mt,primitiveLength:Dt,vaos:{},sortKey:0}])}}so.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ji(so,\"SegmentVector\");var wp=8192;class oo{constructor(Se,Ge){Se&&(Ge?this.setSouthWest(Se).setNorthEast(Ge):4===Se.length?this.setSouthWest([Se[0],Se[1]]).setNorthEast([Se[2],Se[3]]):this.setSouthWest(Se[0]).setNorthEast(Se[1]))}setNorthEast(Se){return this._ne=Se instanceof im?new im(Se.lng,Se.lat):im.convert(Se),this}setSouthWest(Se){return this._sw=Se instanceof im?new im(Se.lng,Se.lat):im.convert(Se),this}extend(Se){const Ge=this._sw,mt=this._ne;let Dt,Lt;if(Se instanceof im)Dt=Se,Lt=Se;else{if(!(Se instanceof oo))return Array.isArray(Se)?4===Se.length||Se.every(Array.isArray)?this.extend(oo.convert(Se)):this.extend(im.convert(Se)):\"object\"==typeof Se&&null!==Se&&Se.hasOwnProperty(\"lat\")&&(Se.hasOwnProperty(\"lon\")||Se.hasOwnProperty(\"lng\"))?this.extend(im.convert(Se)):this;if(Dt=Se._sw,Lt=Se._ne,!Dt||!Lt)return this}return Ge||mt?(Ge.lng=Math.min(Dt.lng,Ge.lng),Ge.lat=Math.min(Dt.lat,Ge.lat),mt.lng=Math.max(Lt.lng,mt.lng),mt.lat=Math.max(Lt.lat,mt.lat)):(this._sw=new im(Dt.lng,Dt.lat),this._ne=new im(Lt.lng,Lt.lat)),this}getCenter(){return new im((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new im(this.getWest(),this.getNorth())}getSouthEast(){return new im(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(Se){const{lng:Ge,lat:mt}=im.convert(Se);let Dt=this._sw.lng<=Ge&&Ge<=this._ne.lng;return this._sw.lng>this._ne.lng&&(Dt=this._sw.lng>=Ge&&Ge>=this._ne.lng),this._sw.lat<=mt&&mt<=this._ne.lat&&Dt}static convert(Se){return!Se||Se instanceof oo?Se:new oo(Se)}}var Ep=1e-6,Mp=\"undefined\"!=typeof Float32Array?Float32Array:Array;function co(){var Se=new Mp(9);return Mp!=Float32Array&&(Se[1]=0,Se[2]=0,Se[3]=0,Se[5]=0,Se[6]=0,Se[7]=0),Se[0]=1,Se[4]=1,Se[8]=1,Se}function ho(Se,Ge,mt){var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=Ge[3],Ft=Ge[4],Ot=Ge[5],$t=Ge[6],Ni=Ge[7],tr=Ge[8],Lr=mt[0],Rr=mt[1],Qr=mt[2],an=mt[3],ln=mt[4],pn=mt[5],fn=mt[6],mn=mt[7],_n=mt[8];return Se[0]=Lr*Dt+Rr*Bt+Qr*$t,Se[1]=Lr*Lt+Rr*Ft+Qr*Ni,Se[2]=Lr*Rt+Rr*Ot+Qr*tr,Se[3]=an*Dt+ln*Bt+pn*$t,Se[4]=an*Lt+ln*Ft+pn*Ni,Se[5]=an*Rt+ln*Ot+pn*tr,Se[6]=fn*Dt+mn*Bt+_n*$t,Se[7]=fn*Lt+mn*Ft+_n*Ni,Se[8]=fn*Rt+mn*Ot+_n*tr,Se}function po(Se){return Se[0]=1,Se[1]=0,Se[2]=0,Se[3]=0,Se[4]=0,Se[5]=1,Se[6]=0,Se[7]=0,Se[8]=0,Se[9]=0,Se[10]=1,Se[11]=0,Se[12]=0,Se[13]=0,Se[14]=0,Se[15]=1,Se}function fo(Se,Ge){var mt=Ge[0],Dt=Ge[1],Lt=Ge[2],Rt=Ge[3],Bt=Ge[4],Ft=Ge[5],Ot=Ge[6],$t=Ge[7],Ni=Ge[8],tr=Ge[9],Lr=Ge[10],Rr=Ge[11],Qr=Ge[12],an=Ge[13],ln=Ge[14],pn=Ge[15],fn=mt*Ft-Dt*Bt,mn=mt*Ot-Lt*Bt,_n=mt*$t-Rt*Bt,bn=Dt*Ot-Lt*Ft,wn=Dt*$t-Rt*Ft,Tn=Lt*$t-Rt*Ot,Sn=Ni*an-tr*Qr,An=Ni*ln-Lr*Qr,Pn=Ni*pn-Rr*Qr,kn=tr*ln-Lr*an,eo=tr*pn-Rr*an,ao=Lr*pn-Rr*ln,Oo=fn*ao-mn*eo+_n*kn+bn*Pn-wn*An+Tn*Sn;return Oo?(Se[0]=(Ft*ao-Ot*eo+$t*kn)*(Oo=1/Oo),Se[1]=(Lt*eo-Dt*ao-Rt*kn)*Oo,Se[2]=(an*Tn-ln*wn+pn*bn)*Oo,Se[3]=(Lr*wn-tr*Tn-Rr*bn)*Oo,Se[4]=(Ot*Pn-Bt*ao-$t*An)*Oo,Se[5]=(mt*ao-Lt*Pn+Rt*An)*Oo,Se[6]=(ln*_n-Qr*Tn-pn*mn)*Oo,Se[7]=(Ni*Tn-Lr*_n+Rr*mn)*Oo,Se[8]=(Bt*eo-Ft*Pn+$t*Sn)*Oo,Se[9]=(Dt*Pn-mt*eo-Rt*Sn)*Oo,Se[10]=(Qr*wn-an*_n+pn*fn)*Oo,Se[11]=(tr*_n-Ni*wn-Rr*fn)*Oo,Se[12]=(Ft*An-Bt*kn-Ot*Sn)*Oo,Se[13]=(mt*kn-Dt*An+Lt*Sn)*Oo,Se[14]=(an*mn-Qr*bn-ln*fn)*Oo,Se[15]=(Ni*bn-tr*mn+Lr*fn)*Oo,Se):null}function yo(Se,Ge,mt){var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=Ge[3],Ft=Ge[4],Ot=Ge[5],$t=Ge[6],Ni=Ge[7],tr=Ge[8],Lr=Ge[9],Rr=Ge[10],Qr=Ge[11],an=Ge[12],ln=Ge[13],pn=Ge[14],fn=Ge[15],mn=mt[0],_n=mt[1],bn=mt[2],wn=mt[3];return Se[0]=mn*Dt+_n*Ft+bn*tr+wn*an,Se[1]=mn*Lt+_n*Ot+bn*Lr+wn*ln,Se[2]=mn*Rt+_n*$t+bn*Rr+wn*pn,Se[3]=mn*Bt+_n*Ni+bn*Qr+wn*fn,Se[4]=(mn=mt[4])*Dt+(_n=mt[5])*Ft+(bn=mt[6])*tr+(wn=mt[7])*an,Se[5]=mn*Lt+_n*Ot+bn*Lr+wn*ln,Se[6]=mn*Rt+_n*$t+bn*Rr+wn*pn,Se[7]=mn*Bt+_n*Ni+bn*Qr+wn*fn,Se[8]=(mn=mt[8])*Dt+(_n=mt[9])*Ft+(bn=mt[10])*tr+(wn=mt[11])*an,Se[9]=mn*Lt+_n*Ot+bn*Lr+wn*ln,Se[10]=mn*Rt+_n*$t+bn*Rr+wn*pn,Se[11]=mn*Bt+_n*Ni+bn*Qr+wn*fn,Se[12]=(mn=mt[12])*Dt+(_n=mt[13])*Ft+(bn=mt[14])*tr+(wn=mt[15])*an,Se[13]=mn*Lt+_n*Ot+bn*Lr+wn*ln,Se[14]=mn*Rt+_n*$t+bn*Rr+wn*pn,Se[15]=mn*Bt+_n*Ni+bn*Qr+wn*fn,Se}function mo(Se,Ge,mt){var Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an=mt[0],ln=mt[1],pn=mt[2];return Ge===Se?(Se[12]=Ge[0]*an+Ge[4]*ln+Ge[8]*pn+Ge[12],Se[13]=Ge[1]*an+Ge[5]*ln+Ge[9]*pn+Ge[13],Se[14]=Ge[2]*an+Ge[6]*ln+Ge[10]*pn+Ge[14],Se[15]=Ge[3]*an+Ge[7]*ln+Ge[11]*pn+Ge[15]):(Lt=Ge[1],Rt=Ge[2],Bt=Ge[3],Ft=Ge[4],Ot=Ge[5],$t=Ge[6],Ni=Ge[7],tr=Ge[8],Lr=Ge[9],Rr=Ge[10],Qr=Ge[11],Se[0]=Dt=Ge[0],Se[1]=Lt,Se[2]=Rt,Se[3]=Bt,Se[4]=Ft,Se[5]=Ot,Se[6]=$t,Se[7]=Ni,Se[8]=tr,Se[9]=Lr,Se[10]=Rr,Se[11]=Qr,Se[12]=Dt*an+Ft*ln+tr*pn+Ge[12],Se[13]=Lt*an+Ot*ln+Lr*pn+Ge[13],Se[14]=Rt*an+$t*ln+Rr*pn+Ge[14],Se[15]=Bt*an+Ni*ln+Qr*pn+Ge[15]),Se}function go(Se,Ge,mt){var Dt=mt[0],Lt=mt[1],Rt=mt[2];return Se[0]=Ge[0]*Dt,Se[1]=Ge[1]*Dt,Se[2]=Ge[2]*Dt,Se[3]=Ge[3]*Dt,Se[4]=Ge[4]*Lt,Se[5]=Ge[5]*Lt,Se[6]=Ge[6]*Lt,Se[7]=Ge[7]*Lt,Se[8]=Ge[8]*Rt,Se[9]=Ge[9]*Rt,Se[10]=Ge[10]*Rt,Se[11]=Ge[11]*Rt,Se[12]=Ge[12],Se[13]=Ge[13],Se[14]=Ge[14],Se[15]=Ge[15],Se}function xo(Se,Ge,mt){var Dt=Math.sin(mt),Lt=Math.cos(mt),Rt=Ge[4],Bt=Ge[5],Ft=Ge[6],Ot=Ge[7],$t=Ge[8],Ni=Ge[9],tr=Ge[10],Lr=Ge[11];return Ge!==Se&&(Se[0]=Ge[0],Se[1]=Ge[1],Se[2]=Ge[2],Se[3]=Ge[3],Se[12]=Ge[12],Se[13]=Ge[13],Se[14]=Ge[14],Se[15]=Ge[15]),Se[4]=Rt*Lt+$t*Dt,Se[5]=Bt*Lt+Ni*Dt,Se[6]=Ft*Lt+tr*Dt,Se[7]=Ot*Lt+Lr*Dt,Se[8]=$t*Lt-Rt*Dt,Se[9]=Ni*Lt-Bt*Dt,Se[10]=tr*Lt-Ft*Dt,Se[11]=Lr*Lt-Ot*Dt,Se}function vo(Se,Ge,mt){var Dt=Math.sin(mt),Lt=Math.cos(mt),Rt=Ge[0],Bt=Ge[1],Ft=Ge[2],Ot=Ge[3],$t=Ge[8],Ni=Ge[9],tr=Ge[10],Lr=Ge[11];return Ge!==Se&&(Se[4]=Ge[4],Se[5]=Ge[5],Se[6]=Ge[6],Se[7]=Ge[7],Se[12]=Ge[12],Se[13]=Ge[13],Se[14]=Ge[14],Se[15]=Ge[15]),Se[0]=Rt*Lt-$t*Dt,Se[1]=Bt*Lt-Ni*Dt,Se[2]=Ft*Lt-tr*Dt,Se[3]=Ot*Lt-Lr*Dt,Se[8]=Rt*Dt+$t*Lt,Se[9]=Bt*Dt+Ni*Lt,Se[10]=Ft*Dt+tr*Lt,Se[11]=Ot*Dt+Lr*Lt,Se}function bo(Se,Ge){return Se[0]=Ge[0],Se[1]=0,Se[2]=0,Se[3]=0,Se[4]=0,Se[5]=Ge[1],Se[6]=0,Se[7]=0,Se[8]=0,Se[9]=0,Se[10]=Ge[2],Se[11]=0,Se[12]=0,Se[13]=0,Se[14]=0,Se[15]=1,Se}function wo(Se,Ge,mt){var Dt,Lt,Rt,Bt=mt[0],Ft=mt[1],Ot=mt[2],$t=Math.hypot(Bt,Ft,Ot);return $t<Ep?null:(Bt*=$t=1/$t,Ft*=$t,Ot*=$t,Dt=Math.sin(Ge),Lt=Math.cos(Ge),Se[0]=Bt*Bt*(Rt=1-Lt)+Lt,Se[1]=Ft*Bt*Rt+Ot*Dt,Se[2]=Ot*Bt*Rt-Ft*Dt,Se[3]=0,Se[4]=Bt*Ft*Rt-Ot*Dt,Se[5]=Ft*Ft*Rt+Lt,Se[6]=Ot*Ft*Rt+Bt*Dt,Se[7]=0,Se[8]=Bt*Ot*Rt+Ft*Dt,Se[9]=Ft*Ot*Rt-Bt*Dt,Se[10]=Ot*Ot*Rt+Lt,Se[11]=0,Se[12]=0,Se[13]=0,Se[14]=0,Se[15]=1,Se)}Math.hypot||(Math.hypot=function(){for(var Se=0,Ge=arguments.length;Ge--;)Se+=arguments[Ge]*arguments[Ge];return Math.sqrt(Se)});var Ap=yo;function Ao(){var Se=new Mp(3);return Mp!=Float32Array&&(Se[0]=0,Se[1]=0,Se[2]=0),Se}function So(Se){var Ge=new Mp(3);return Ge[0]=Se[0],Ge[1]=Se[1],Ge[2]=Se[2],Ge}function ko(Se){return Math.hypot(Se[0],Se[1],Se[2])}function Io(Se,Ge,mt){var Dt=new Mp(3);return Dt[0]=Se,Dt[1]=Ge,Dt[2]=mt,Dt}function Mo(Se,Ge,mt){return Se[0]=Ge[0]+mt[0],Se[1]=Ge[1]+mt[1],Se[2]=Ge[2]+mt[2],Se}function To(Se,Ge,mt){return Se[0]=Ge[0]-mt[0],Se[1]=Ge[1]-mt[1],Se[2]=Ge[2]-mt[2],Se}function zo(Se,Ge,mt){return Se[0]=Ge[0]*mt[0],Se[1]=Ge[1]*mt[1],Se[2]=Ge[2]*mt[2],Se}function Bo(Se,Ge,mt){return Se[0]=Math.min(Ge[0],mt[0]),Se[1]=Math.min(Ge[1],mt[1]),Se[2]=Math.min(Ge[2],mt[2]),Se}function Eo(Se,Ge,mt){return Se[0]=Math.max(Ge[0],mt[0]),Se[1]=Math.max(Ge[1],mt[1]),Se[2]=Math.max(Ge[2],mt[2]),Se}function Co(Se,Ge,mt){return Se[0]=Ge[0]*mt,Se[1]=Ge[1]*mt,Se[2]=Ge[2]*mt,Se}function Po(Se,Ge,mt,Dt){return Se[0]=Ge[0]+mt[0]*Dt,Se[1]=Ge[1]+mt[1]*Dt,Se[2]=Ge[2]+mt[2]*Dt,Se}function Do(Se,Ge){var mt=Ge[0],Dt=Ge[1],Lt=Ge[2],Rt=mt*mt+Dt*Dt+Lt*Lt;return Rt>0&&(Rt=1/Math.sqrt(Rt)),Se[0]=Ge[0]*Rt,Se[1]=Ge[1]*Rt,Se[2]=Ge[2]*Rt,Se}function Vo(Se,Ge){return Se[0]*Ge[0]+Se[1]*Ge[1]+Se[2]*Ge[2]}function Lo(Se,Ge,mt){var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=mt[0],Ft=mt[1],Ot=mt[2];return Se[0]=Lt*Ot-Rt*Ft,Se[1]=Rt*Bt-Dt*Ot,Se[2]=Dt*Ft-Lt*Bt,Se}function Fo(Se,Ge,mt){var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=mt[3]*Dt+mt[7]*Lt+mt[11]*Rt+mt[15];return Se[0]=(mt[0]*Dt+mt[4]*Lt+mt[8]*Rt+mt[12])/(Bt=Bt||1),Se[1]=(mt[1]*Dt+mt[5]*Lt+mt[9]*Rt+mt[13])/Bt,Se[2]=(mt[2]*Dt+mt[6]*Lt+mt[10]*Rt+mt[14])/Bt,Se}function Ro(Se,Ge,mt){var Dt=mt[0],Lt=mt[1],Rt=mt[2],Bt=Ge[0],Ft=Ge[1],Ot=Ge[2],$t=Lt*Ot-Rt*Ft,Ni=Rt*Bt-Dt*Ot,tr=Dt*Ft-Lt*Bt,Lr=Lt*tr-Rt*Ni,Rr=Rt*$t-Dt*tr,Qr=Dt*Ni-Lt*$t,an=2*mt[3];return Ni*=an,tr*=an,Rr*=2,Qr*=2,Se[0]=Bt+($t*=an)+(Lr*=2),Se[1]=Ft+Ni+Rr,Se[2]=Ot+tr+Qr,Se}var Ip,Cp=To,Yp=zo,lf=ko;function qo(Se,Ge,mt){return Se[0]=Ge[0]*mt,Se[1]=Ge[1]*mt,Se[2]=Ge[2]*mt,Se[3]=Ge[3]*mt,Se}function No(Se,Ge){var mt=Ge[0],Dt=Ge[1],Lt=Ge[2],Rt=Ge[3],Bt=mt*mt+Dt*Dt+Lt*Lt+Rt*Rt;return Bt>0&&(Bt=1/Math.sqrt(Bt)),Se[0]=mt*Bt,Se[1]=Dt*Bt,Se[2]=Lt*Bt,Se[3]=Rt*Bt,Se}function Go(Se,Ge,mt){var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=Ge[3];return Se[0]=mt[0]*Dt+mt[4]*Lt+mt[8]*Rt+mt[12]*Bt,Se[1]=mt[1]*Dt+mt[5]*Lt+mt[9]*Rt+mt[13]*Bt,Se[2]=mt[2]*Dt+mt[6]*Lt+mt[10]*Rt+mt[14]*Bt,Se[3]=mt[3]*Dt+mt[7]*Lt+mt[11]*Rt+mt[15]*Bt,Se}function Zo(){var Se=new Mp(4);return Mp!=Float32Array&&(Se[0]=0,Se[1]=0,Se[2]=0),Se[3]=1,Se}function Ko(Se){return Se[0]=0,Se[1]=0,Se[2]=0,Se[3]=1,Se}function Xo(Se,Ge,mt){mt*=.5;var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=Ge[3],Ft=Math.sin(mt),Ot=Math.cos(mt);return Se[0]=Dt*Ot+Bt*Ft,Se[1]=Lt*Ot+Rt*Ft,Se[2]=Rt*Ot-Lt*Ft,Se[3]=Bt*Ot-Dt*Ft,Se}function Jo(Se,Ge,mt){mt*=.5;var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=Ge[3],Ft=Math.sin(mt),Ot=Math.cos(mt);return Se[0]=Dt*Ot-Rt*Ft,Se[1]=Lt*Ot+Bt*Ft,Se[2]=Rt*Ot+Dt*Ft,Se[3]=Bt*Ot-Lt*Ft,Se}Ao(),Ip=new Mp(4),Mp!=Float32Array&&(Ip[0]=0,Ip[1]=0,Ip[2]=0,Ip[3]=0);var uf=No;Ao(),Io(1,0,0),Io(0,1,0),Zo(),Zo(),co();const df=Rs([{type:\"Float32\",name:\"a_globe_pos\",components:3},{type:\"Float32\",name:\"a_uv\",components:2}]),{members:pf}=df,_f=Rs([{name:\"a_pos_3\",components:3,type:\"Int16\"}]);var gf=Rs([{name:\"a_pos\",type:\"Int16\",components:2}]);class el{constructor(Se,Ge){this.pos=Se,this.dir=Ge}intersectsPlane(Se,Ge,mt){const Dt=Vo(Ge,this.dir);if(Math.abs(Dt)<1e-6)return!1;const Lt=((Se[0]-this.pos[0])*Ge[0]+(Se[1]-this.pos[1])*Ge[1]+(Se[2]-this.pos[2])*Ge[2])/Dt;return mt[0]=this.pos[0]+this.dir[0]*Lt,mt[1]=this.pos[1]+this.dir[1]*Lt,mt[2]=this.pos[2]+this.dir[2]*Lt,!0}closestPointOnSphere(Se,Ge,mt){if(function(Se,Ge){var mt=Se[0],Dt=Se[1],Lt=Se[2],Rt=Ge[0],Bt=Ge[1],Ft=Ge[2];return Math.abs(mt-Rt)<=Ep*Math.max(1,Math.abs(mt),Math.abs(Rt))&&Math.abs(Dt-Bt)<=Ep*Math.max(1,Math.abs(Dt),Math.abs(Bt))&&Math.abs(Lt-Ft)<=Ep*Math.max(1,Math.abs(Lt),Math.abs(Ft))}(this.pos,Se)||0===Ge)return mt[0]=mt[1]=mt[2]=0,!1;const[Dt,Lt,Rt]=this.dir,Bt=this.pos[0]-Se[0],Ft=this.pos[1]-Se[1],Ot=this.pos[2]-Se[2],$t=Dt*Dt+Lt*Lt+Rt*Rt,Ni=2*(Bt*Dt+Ft*Lt+Ot*Rt),tr=Ni*Ni-4*$t*(Bt*Bt+Ft*Ft+Ot*Ot-Ge*Ge);if(tr<0){const Se=Math.max(-Ni/2,0),$t=Bt+Dt*Se,tr=Ft+Lt*Se,Lr=Ot+Rt*Se,Rr=Math.hypot($t,tr,Lr);return mt[0]=$t*Ge/Rr,mt[1]=tr*Ge/Rr,mt[2]=Lr*Ge/Rr,!1}{const Se=(-Ni-Math.sqrt(tr))/(2*$t);if(Se<0){const Se=Math.hypot(Bt,Ft,Ot);return mt[0]=Bt*Ge/Se,mt[1]=Ft*Ge/Se,mt[2]=Ot*Ge/Se,!1}return mt[0]=Bt+Dt*Se,mt[1]=Ft+Lt*Se,mt[2]=Ot+Rt*Se,!0}}}class rl{constructor(Se,Ge,mt,Dt,Lt){this.TL=Se,this.TR=Ge,this.BR=mt,this.BL=Dt,this.horizon=Lt}static fromInvProjectionMatrix(Se,Ge,mt){const Dt=[-1,1,1],Lt=[1,1,1],Rt=[1,-1,1],Bt=[-1,-1,1],Ft=Fo(Dt,Dt,Se),Ot=Fo(Lt,Lt,Se),$t=Fo(Rt,Rt,Se),Ni=Fo(Bt,Bt,Se);return new rl(Ft,Ot,$t,Ni,Ge/mt)}}class nl{constructor(Se,Ge){this.points=Se,this.planes=Ge}static fromInvProjectionMatrix(Se,Ge,mt,Dt){const Lt=Math.pow(2,mt),Rt=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((mt=>{const Rt=Go([],mt,Se),Bt=1/Rt[3]/Ge*Lt;return function(Se,Ge,mt){return Se[0]=Ge[0]*mt[0],Se[1]=Ge[1]*mt[1],Se[2]=Ge[2]*mt[2],Se[3]=Ge[3]*mt[3],Se}(Rt,Rt,[Bt,Bt,Dt?1/Rt[3]:Bt,Bt])})),Bt=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((Se=>{const Ge=Do([],Lo([],Cp([],Rt[Se[0]],Rt[Se[1]]),Cp([],Rt[Se[2]],Rt[Se[1]]))),mt=-Vo(Ge,Rt[Se[1]]);return Ge.concat(mt)}));return new nl(Rt,Bt)}}class il{static fromPoints(Se){const Ge=[1/0,1/0,1/0],mt=[-1/0,-1/0,-1/0];for(const Dt of Se)Bo(Ge,Ge,Dt),Eo(mt,mt,Dt);return new il(Ge,mt)}static applyTransform(Se,Ge){const mt=Se.getCorners();for(let Se=0;Se<mt.length;++Se)Fo(mt[Se],mt[Se],Ge);return il.fromPoints(mt)}constructor(Se,Ge){this.min=Se,this.max=Ge,this.center=Co([],Mo([],this.min,this.max),.5)}quadrant(Se){const Ge=[Se%2==0,Se<2],mt=So(this.min),Dt=So(this.max);for(let Se=0;Se<Ge.length;Se++)mt[Se]=Ge[Se]?this.min[Se]:this.center[Se],Dt[Se]=Ge[Se]?this.center[Se]:this.max[Se];return Dt[2]=this.max[2],new il(mt,Dt)}distanceX(Se){return Math.max(Math.min(this.max[0],Se[0]),this.min[0])-Se[0]}distanceY(Se){return Math.max(Math.min(this.max[1],Se[1]),this.min[1])-Se[1]}distanceZ(Se){return Math.max(Math.min(this.max[2],Se[2]),this.min[2])-Se[2]}getCorners(){const Se=this.min,Ge=this.max;return[[Se[0],Se[1],Se[2]],[Ge[0],Se[1],Se[2]],[Ge[0],Ge[1],Se[2]],[Se[0],Ge[1],Se[2]],[Se[0],Se[1],Ge[2]],[Ge[0],Se[1],Ge[2]],[Ge[0],Ge[1],Ge[2]],[Se[0],Ge[1],Ge[2]]]}intersects(Se){const Ge=this.getCorners();let mt=!0;for(let Dt=0;Dt<Se.planes.length;Dt++){const Lt=Se.planes[Dt];let Rt=0;for(let Se=0;Se<Ge.length;Se++)Rt+=Vo(Lt,Ge[Se])+Lt[3]>=0;if(0===Rt)return 0;Rt!==Ge.length&&(mt=!1)}if(mt)return 2;for(let Ge=0;Ge<3;Ge++){let mt=Number.MAX_VALUE,Dt=-Number.MAX_VALUE;for(let Lt=0;Lt<Se.points.length;Lt++){const Rt=Se.points[Lt][Ge]-this.min[Ge];mt=Math.min(mt,Rt),Dt=Math.max(Dt,Rt)}if(Dt<0||mt>this.max[Ge]-this.min[Ge])return 0}return 1}}const yf=5,Tf=6,Ef=wp/Math.PI/2,Mf=16383,Sf=64,If=[Sf,32,16],Cf=-Ef,zf=Ef,kf=[new il([Cf,Cf,Cf],[zf,zf,zf]),new il([Cf,Cf,Cf],[0,0,zf]),new il([0,Cf,Cf],[zf,0,zf]),new il([Cf,0,Cf],[0,zf,zf]),new il([0,0,Cf],[zf,zf,zf])];function fl(Se){return Se*Ef/em}function yl(Se,Ge,mt,Dt=!0){const Lt=Co([],Se._camera.position,Se.worldSize),Rt=[Ge,mt,1,1];Go(Rt,Rt,Se.pixelMatrixInverse),qo(Rt,Rt,1/Rt[3]);const Bt=Do([],Cp([],Rt,Lt)),Ft=Se.globeMatrix,Ot=[Ft[12],Ft[13],Ft[14]],$t=Cp([],Ot,Lt),Ni=ko($t),tr=Do([],$t),Lr=Se.worldSize/(2*Math.PI),Rr=Vo(tr,Bt),Qr=Math.asin(Lr/Ni);if(Qr<Math.acos(Rr)){if(!Dt)return null;const Se=[],Ge=[];Co(Se,Bt,Ni/Rr),Do(Ge,Cp(Ge,Se,$t)),Do(Bt,Mo(Bt,$t,Co(Bt,Ge,Math.tan(Qr)*Ni)))}const an=[];new el(Lt,Bt).closestPointOnSphere(Ot,Lr,an);const ln=Do([],W(Ft,0)),pn=Do([],W(Ft,1)),fn=Do([],W(Ft,2)),mn=Vo(ln,an),_n=Vo(pn,an),bn=Vo(fn,an),wn=_(Math.asin(-_n/Lr));let Tn=_(Math.atan2(mn,bn));Tn=Se.center.lng+function(Se,Ge){const mt=(Ge-Se+180)%360-180;return mt<-180?mt+360:mt}(Se.center.lng,Tn);const Sn=Nl(Tn),An=M(Gl(wn),0,1);return new Wl(Sn,An)}class ml{constructor(Se,Ge,mt){this.a=Cp([],Se,mt),this.b=Cp([],Ge,mt),this.center=mt;const Dt=Do([],this.a),Lt=Do([],this.b);this.angle=Math.acos(Vo(Dt,Lt))}}function gl(Se,Ge){if(0===Se.angle)return null;let mt;return mt=0===Se.a[Ge]?1/Se.angle*.5*Math.PI:1/Se.angle*Math.atan(Se.b[Ge]/Se.a[Ge]/Math.sin(Se.angle)-1/Math.tan(Se.angle)),mt<0||mt>1?null:function(Se,Ge,mt,Dt){const Lt=Math.sin(mt);return Se*(Math.sin((1-Dt)*mt)/Lt)+Ge*(Math.sin(Dt*mt)/Lt)}(Se.a[Ge],Se.b[Ge],Se.angle,M(mt,0,1))+Se.center[Ge]}function xl(Se){if(Se.z<=1)return kf[Se.z+2*Se.y+Se.x];const Ge=Sl(Al(Se));return il.fromPoints(Ge)}function vl(Se,Ge,mt){return Co(Se,Se,1-mt),Po(Se,Se,Ge,mt)}function bl(Se,Ge){const mt=Pl(Ge.zoom);if(0===mt)return xl(Se);const Dt=Al(Se),Lt=Sl(Dt),Rt=Nl(Dt.getWest())*Ge.worldSize,Bt=Nl(Dt.getEast())*Ge.worldSize,Ft=Gl(Dt.getNorth())*Ge.worldSize,Ot=Gl(Dt.getSouth())*Ge.worldSize,$t=[Rt,Ft,0],Ni=[Bt,Ft,0],tr=[Rt,Ot,0],Lr=[Bt,Ot,0],Rr=fo([],Ge.globeMatrix);return Fo($t,$t,Rr),Fo(Ni,Ni,Rr),Fo(tr,tr,Rr),Fo(Lr,Lr,Rr),Lt[0]=vl(Lt[0],tr,mt),Lt[1]=vl(Lt[1],Lr,mt),Lt[2]=vl(Lt[2],Ni,mt),Lt[3]=vl(Lt[3],$t,mt),il.fromPoints(Lt)}function wl(Se,Ge,mt){for(const Dt of Se)Fo(Dt,Dt,Ge),Co(Dt,Dt,mt)}function _l(Se,Ge,mt){const Dt=Ge/Se.worldSize,Lt=Se.globeMatrix;if(mt.z<=1){const Se=xl(mt).getCorners();return wl(Se,Lt,Dt),il.fromPoints(Se)}const Rt=Al(mt),Bt=Sl(Rt);wl(Bt,Lt,Dt);const Ft=Number.MAX_VALUE,Ot=[-Ft,-Ft,-Ft],$t=[Ft,Ft,Ft];if(Rt.contains(Se.center)){for(const Se of Bt)Bo($t,$t,Se),Eo(Ot,Ot,Se);Ot[2]=0;const Ge=Se.point,mt=[Ge.x*Dt,Ge.y*Dt,0];return Bo($t,$t,mt),Eo(Ot,Ot,mt),new il($t,Ot)}const Ni=[Lt[12]*Dt,Lt[13]*Dt,Lt[14]*Dt],tr=Rt.getCenter(),Lr=M(Se.center.lat,-rm,rm),Rr=M(tr.lat,-rm,rm),Qr=Nl(Se.center.lng),an=Gl(Lr);let ln=Qr-Nl(tr.lng);const pn=an-Gl(Rr);ln>.5?ln-=1:ln<-.5&&(ln+=1);let fn=0;Math.abs(ln)>Math.abs(pn)?fn=ln>=0?1:3:(fn=pn>=0?0:2,Po(Ni,Ni,[Lt[4]*Dt,Lt[5]*Dt,Lt[6]*Dt],-Math.sin(w(pn>=0?Rt.getSouth():Rt.getNorth()))*Ef));const mn=Bt[fn],_n=Bt[(fn+1)%4],bn=new ml(mn,_n,Ni),wn=[gl(bn,0)||mn[0],gl(bn,1)||mn[1],gl(bn,2)||mn[2]],Tn=Pl(Se.zoom);if(Tn>0){const Dt=function({x:Se,y:Ge,z:mt},Dt,Lt,Rt,Bt){const Ft=1/(1<<mt);let Ot=Se*Ft,$t=Ot+Ft,Ni=Ge*Ft,tr=Ni+Ft,Lr=0;const Rr=(Ot+$t)/2-Rt;return Rr>.5?Lr=-1:Rr<-.5&&(Lr=1),Ot=((Ot+Lr)*Dt-(Rt*=Dt))*Lt+Rt,$t=(($t+Lr)*Dt-Rt)*Lt+Rt,Ni=(Ni*Dt-(Bt*=Dt))*Lt+Bt,tr=(tr*Dt-Bt)*Lt+Bt,[[Ot,tr,0],[$t,tr,0],[$t,Ni,0],[Ot,Ni,0]]}(mt,Ge,Se._pixelsPerMercatorPixel,Qr,an);for(let Se=0;Se<Bt.length;Se++)vl(Bt[Se],Dt[Se],Tn);const Lt=Mo([],Dt[fn],Dt[(fn+1)%4]);Co(Lt,Lt,.5),vl(wn,Lt,Tn)}for(const Se of Bt)Bo($t,$t,Se),Eo(Ot,Ot,Se);return $t[2]=Math.min(mn[2],_n[2]),Bo($t,$t,wn),Eo(Ot,Ot,wn),new il($t,Ot)}function Al({x:Se,y:Ge,z:mt}){const Dt=1/(1<<mt),Lt=new im(Kl(Se*Dt),Xl((Ge+1)*Dt)),Rt=new im(Kl((Se+1)*Dt),Xl(Ge*Dt));return new oo(Lt,Rt)}function Sl(Se){const Ge=w(Se.getNorth()),mt=w(Se.getSouth()),Dt=Math.cos(Ge),Lt=Math.cos(mt),Rt=Math.sin(Ge),Bt=Math.sin(mt),Ft=Se.getWest(),Ot=Se.getEast();return[kl(Lt,Bt,Ft),kl(Lt,Bt,Ot),kl(Dt,Rt,Ot),kl(Dt,Rt,Ft)]}function kl(Se,Ge,mt,Dt=Ef){return mt=w(mt),[Se*Math.sin(mt)*Dt,-Ge*Dt,Se*Math.cos(mt)*Dt]}function Il(Se,Ge,mt){return kl(Math.cos(w(Se)),Math.sin(w(Se)),Ge,mt)}function Ml(Se,Ge,mt,Dt){const Lt=1<<mt.z,Rt=(Se/wp+mt.x)/Lt;return Il(Xl((Ge/wp+mt.y)/Lt),Kl(Rt),Dt)}function Tl({min:Se,max:Ge}){return Mf/Math.max(Ge[0]-Se[0],Ge[1]-Se[1],Ge[2]-Se[2])}const qf=new Float64Array(16);function Bl(Se){const Ge=Tl(Se),mt=bo(qf,[Ge,Ge,Ge]);return mo(mt,mt,((Dt=[])[0]=-(Lt=Se.min)[0],Dt[1]=-Lt[1],Dt[2]=-Lt[2],Dt));var Dt,Lt}function El(Se){const Ge=(Dt=Se.min,(mt=qf)[0]=1,mt[1]=0,mt[2]=0,mt[3]=0,mt[4]=0,mt[5]=1,mt[6]=0,mt[7]=0,mt[8]=0,mt[9]=0,mt[10]=1,mt[11]=0,mt[12]=Dt[0],mt[13]=Dt[1],mt[14]=Dt[2],mt[15]=1,mt);var mt,Dt;const Lt=1/Tl(Se);return go(Ge,Ge,[Lt,Lt,Lt])}function Cl(Se,Ge,mt,Dt,Lt){const Rt=function(Se){const Ge=wp/(2*Math.PI);return Se/(2*Math.PI)/Ge}(mt),Bt=[Se,Ge,-mt/(2*Math.PI)],Ft=po(new Float64Array(16));return mo(Ft,Ft,Bt),go(Ft,Ft,[Rt,Rt,Rt]),xo(Ft,Ft,w(-Lt)),vo(Ft,Ft,w(-Dt)),Ft}function Pl(Se){return T(yf,Tf,Se)}function Dl(Se,Ge){const mt=Il(Ge.lat,Ge.lng),Dt=function(Se){const Ge=Il(Se._center.lat,Se._center.lng);let mt=Lo([],Io(0,1,0),Ge);const Dt=wo([],-Se.angle,Ge);mt=Fo(mt,mt,Dt),wo(Dt,-Se._pitch,mt);const Lt=Do([],Ge);return Co(Lt,Lt,fl(Se.cameraToCenterDistance/Se.pixelsPerMeter)),Fo(Lt,Lt,Dt),Mo([],Ge,Lt)}(Se);return Bt=(Lt=To([],Dt,mt))[0],Ft=Lt[1],Ot=Lt[2],$t=(Rt=mt)[0],Ni=Rt[1],tr=Rt[2],Rr=(Lr=Math.sqrt(Bt*Bt+Ft*Ft+Ot*Ot)*Math.sqrt($t*$t+Ni*Ni+tr*tr))&&Vo(Lt,Rt)/Lr,Math.acos(Math.min(Math.max(Rr,-1),1));var Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr}function Vl(Se,Ge){return Dl(Se,Ge)>Math.PI/2*1.01}const Wf=w(85),Jf=Math.cos(Wf),Qf=Math.sin(Wf),em=6371008.8,tm=2*Math.PI*em;class jl{constructor(Se,Ge){if(isNaN(Se)||isNaN(Ge))throw new Error(`Invalid LngLat object: (${Se}, ${Ge})`);if(this.lng=+Se,this.lat=+Ge,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new jl(z(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(Se){const Ge=Math.PI/180,mt=this.lat*Ge,Dt=Se.lat*Ge,Lt=Math.sin(mt)*Math.sin(Dt)+Math.cos(mt)*Math.cos(Dt)*Math.cos((Se.lng-this.lng)*Ge);return em*Math.acos(Math.min(Lt,1))}toBounds(Se=0){const Ge=360*Se/40075017,mt=Ge/Math.cos(Math.PI/180*this.lat);return new oo(new jl(this.lng-mt,this.lat-Ge),new jl(this.lng+mt,this.lat+Ge))}toEcef(Se){const Ge=fl(Se);return Il(this.lat,this.lng,Ef+Ge)}static convert(Se){if(Se instanceof jl)return Se;if(Array.isArray(Se)&&(2===Se.length||3===Se.length))return new jl(Number(Se[0]),Number(Se[1]));if(!Array.isArray(Se)&&\"object\"==typeof Se&&null!==Se)return new jl(Number(\"lng\"in Se?Se.lng:Se.lon),Number(Se.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")}}var im=jl;function ql(Se){return tm*Math.cos(Se*Math.PI/180)}function Nl(Se){return(180+Se)/360}function Gl(Se){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+Se*Math.PI/360)))/360}function Zl(Se,Ge){return Se/ql(Ge)}function Kl(Se){return 360*Se-180}function Xl(Se){return 360/Math.PI*Math.atan(Math.exp((180-360*Se)*Math.PI/180))-90}function Jl(Se,Ge){return Se*ql(Xl(Ge))}const rm=85.051129;function Yl(Se){return 1/Math.cos(Se*Math.PI/180)}class Wl{constructor(Se,Ge,mt=0){this.x=+Se,this.y=+Ge,this.z=+mt}static fromLngLat(Se,Ge=0){const mt=im.convert(Se);return new Wl(Nl(mt.lng),Gl(mt.lat),Zl(Ge,mt.lat))}toLngLat(){return new im(Kl(this.x),Xl(this.y))}toAltitude(){return Jl(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/tm*Yl(Xl(this.y))}}function Ql(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t=(Ge+Dt)/2,Ni=(mt+Lt)/2,tr=new ln($t,Ni);Ft(tr),function(Se,Ge,mt,Dt,Lt,Rt){const Bt=mt-Lt,Ft=Dt-Rt;return Math.abs((Dt-Ge)*Bt-(mt-Se)*Ft)/Math.hypot(Bt,Ft)}(tr.x,tr.y,Rt.x,Rt.y,Bt.x,Bt.y)>=Ot?(Ql(Se,Ge,mt,$t,Ni,Rt,tr,Ft,Ot),Ql(Se,$t,Ni,Dt,Lt,tr,Bt,Ft,Ot)):Se.push(Bt)}function tu(Se,Ge,mt){let Dt=Se[0],Lt=Dt.x,Rt=Dt.y;Ge(Dt);const Bt=[Dt];for(let Ft=1;Ft<Se.length;Ft++){const Ot=Se[Ft],{x:$t,y:Ni}=Ot;Ge(Ot),Ql(Bt,Lt,Rt,$t,Ni,Dt,Ot,Ge,mt),Lt=$t,Rt=Ni,Dt=Ot}return Bt}function eu(Se,Ge,mt,Dt){if(Dt(Ge,mt)){const Lt=Ge.add(mt)._mult(.5);eu(Se,Ge,Lt,Dt),eu(Se,Lt,mt,Dt)}else Se.push(mt)}function ru(Se,Ge){let mt=Se[0];const Dt=[mt];for(let Lt=1;Lt<Se.length;Lt++){const Rt=Se[Lt];eu(Dt,mt,Rt,Ge),mt=Rt}return Dt}const nm=Math.pow(2,14)-1,om=-nm-1;function su(Se,Ge){const mt=Math.round(Se.x*Ge),Dt=Math.round(Se.y*Ge);return Se.x=M(mt,om,nm),Se.y=M(Dt,om,nm),(mt<Se.x||mt>Se.x+1||Dt<Se.y||Dt>Se.y+1)&&N(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\"),Se}function au(Se,Ge,mt){const Dt=Se.loadGeometry(),Lt=Se.extent,Rt=wp/Lt;if(Ge&&mt&&mt.projection.isReprojectedInTileSpace){const Rt=1<<Ge.z,{scale:Bt,x:Ft,y:Ot,projection:$t}=mt,c=Se=>{const mt=Kl((Ge.x+Se.x/Lt)/Rt),Dt=Xl((Ge.y+Se.y/Lt)/Rt),Ni=$t.project(mt,Dt);Se.x=(Ni.x*Bt-Ft)*Lt,Se.y=(Ni.y*Bt-Ot)*Lt};for(let Ge=0;Ge<Dt.length;Ge++)if(1!==Se.type)Dt[Ge]=tu(Dt[Ge],c,1);else{const Se=[];for(const mt of Dt[Ge])mt.x<0||mt.x>=Lt||mt.y<0||mt.y>=Lt||(c(mt),Se.push(mt));Dt[Ge]=Se}}for(const Se of Dt)for(const Ge of Se)su(Ge,Rt);return Dt}function ou(Se,Ge){return{type:Se.type,id:Se.id,properties:Se.properties,geometry:Ge?au(Se):[]}}function lu(Se,Ge,mt,Dt,Lt){Se.emplaceBack(2*Ge+(Dt+1)/2,2*mt+(Lt+1)/2)}function uu(Se,Ge,mt){const Dt=16384;Se.emplaceBack(Ge.x,Ge.y,Ge.z,mt[0]*Dt,mt[1]*Dt,mt[2]*Dt)}class cu{constructor(Se){this.zoom=Se.zoom,this.overscaling=Se.overscaling,this.layers=Se.layers,this.layerIds=this.layers.map((Se=>Se.id)),this.index=Se.index,this.hasPattern=!1,this.projection=Se.projection,this.layoutVertexArray=new $s,this.indexArray=new ra,this.segments=new so,this.programConfigurations=new Ja(Se.layers,Se.zoom),this.stateDependentLayerIds=this.layers.filter((Se=>Se.isStateDependent())).map((Se=>Se.id))}populate(Se,Ge,mt,Dt){const Lt=this.layers[0],Rt=[];let Bt=null;\"circle\"===Lt.type&&(Bt=Lt.layout.get(\"circle-sort-key\"));for(const{feature:Ge,id:Lt,index:Ft,sourceLayerIndex:Ot}of Se){const Se=this.layers[0]._featureFilter.needGeometry,$t=ou(Ge,Se);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),$t,mt))continue;const Ni=Bt?Bt.evaluate($t,{},mt):void 0,tr={id:Lt,properties:Ge.properties,type:Ge.type,sourceLayerIndex:Ot,index:Ft,geometry:Se?$t.geometry:au(Ge,mt,Dt),patterns:{},sortKey:Ni};Rt.push(tr)}Bt&&Rt.sort(((Se,Ge)=>Se.sortKey-Ge.sortKey));let Ft=null;\"globe\"===Dt.projection.name&&(this.globeExtVertexArray=new Ks,Ft=Dt.projection);for(const Dt of Rt){const{geometry:Lt,index:Rt,sourceLayerIndex:Bt}=Dt,Ot=Se[Rt].feature;this.addFeature(Dt,Lt,Rt,Ge.availableImages,mt,Ft),Ge.featureIndex.insert(Ot,Lt,Rt,Bt,this.index)}}update(Se,Ge,mt,Dt){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(Se,Ge,this.stateDependentLayers,mt,Dt)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(Se){this.uploaded||(this.layoutVertexBuffer=Se.createVertexBuffer(this.layoutVertexArray,mp.members),this.indexBuffer=Se.createIndexBuffer(this.indexArray),this.globeExtVertexArray&&(this.globeExtVertexBuffer=Se.createVertexBuffer(this.globeExtVertexArray,gp.members))),this.programConfigurations.upload(Se),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}addFeature(Se,Ge,mt,Dt,Lt,Rt){for(const mt of Ge)for(const Ge of mt){const mt=Ge.x,Dt=Ge.y;if(mt<0||mt>=wp||Dt<0||Dt>=wp)continue;if(Rt){const Se=Rt.projectTilePoint(mt,Dt,Lt),Ge=Rt.upVector(Lt,mt,Dt),Bt=this.globeExtVertexArray;uu(Bt,Se,Ge),uu(Bt,Se,Ge),uu(Bt,Se,Ge),uu(Bt,Se,Ge)}const Bt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,Se.sortKey),Ft=Bt.vertexLength;lu(this.layoutVertexArray,mt,Dt,-1,-1),lu(this.layoutVertexArray,mt,Dt,1,-1),lu(this.layoutVertexArray,mt,Dt,1,1),lu(this.layoutVertexArray,mt,Dt,-1,1),this.indexArray.emplaceBack(Ft,Ft+1,Ft+2),this.indexArray.emplaceBack(Ft,Ft+2,Ft+3),Bt.vertexLength+=4,Bt.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,Se,mt,{},Dt,Lt)}}function hu(Se,Ge){for(let mt=0;mt<Se.length;mt++)if(bu(Ge,Se[mt]))return!0;for(let mt=0;mt<Ge.length;mt++)if(bu(Se,Ge[mt]))return!0;return!!yu(Se,Ge)}function pu(Se,Ge,mt){return!!bu(Se,Ge)||!!gu(Ge,Se,mt)}function du(Se,Ge){if(1===Se.length)return vu(Ge,Se[0]);for(let mt=0;mt<Ge.length;mt++){const Dt=Ge[mt];for(let Ge=0;Ge<Dt.length;Ge++)if(bu(Se,Dt[Ge]))return!0}for(let mt=0;mt<Se.length;mt++)if(vu(Ge,Se[mt]))return!0;for(let mt=0;mt<Ge.length;mt++)if(yu(Se,Ge[mt]))return!0;return!1}function fu(Se,Ge,mt){if(Se.length>1){if(yu(Se,Ge))return!0;for(let Dt=0;Dt<Ge.length;Dt++)if(gu(Ge[Dt],Se,mt))return!0}for(let Dt=0;Dt<Se.length;Dt++)if(gu(Se[Dt],Ge,mt))return!0;return!1}function yu(Se,Ge){if(0===Se.length||0===Ge.length)return!1;for(let mt=0;mt<Se.length-1;mt++){const Dt=Se[mt],Lt=Se[mt+1];for(let Se=0;Se<Ge.length-1;Se++)if(mu(Dt,Lt,Ge[Se],Ge[Se+1]))return!0}return!1}function mu(Se,Ge,mt,Dt){return G(Se,mt,Dt)!==G(Ge,mt,Dt)&&G(Se,Ge,mt)!==G(Se,Ge,Dt)}function gu(Se,Ge,mt){const Dt=mt*mt;if(1===Ge.length)return Se.distSqr(Ge[0])<Dt;for(let mt=1;mt<Ge.length;mt++)if(xu(Se,Ge[mt-1],Ge[mt])<Dt)return!0;return!1}function xu(Se,Ge,mt){const Dt=Ge.distSqr(mt);if(0===Dt)return Se.distSqr(Ge);const Lt=((Se.x-Ge.x)*(mt.x-Ge.x)+(Se.y-Ge.y)*(mt.y-Ge.y))/Dt;return Se.distSqr(Lt<0?Ge:Lt>1?mt:mt.sub(Ge)._mult(Lt)._add(Ge))}function vu(Se,Ge){let mt,Dt,Lt,Rt=!1;for(let Bt=0;Bt<Se.length;Bt++){mt=Se[Bt];for(let Se=0,Bt=mt.length-1;Se<mt.length;Bt=Se++)Dt=mt[Se],Lt=mt[Bt],Dt.y>Ge.y!=Lt.y>Ge.y&&Ge.x<(Lt.x-Dt.x)*(Ge.y-Dt.y)/(Lt.y-Dt.y)+Dt.x&&(Rt=!Rt)}return Rt}function bu(Se,Ge){let mt=!1;for(let Dt=0,Lt=Se.length-1;Dt<Se.length;Lt=Dt++){const Rt=Se[Dt],Bt=Se[Lt];Rt.y>Ge.y!=Bt.y>Ge.y&&Ge.x<(Bt.x-Rt.x)*(Ge.y-Rt.y)/(Bt.y-Rt.y)+Rt.x&&(mt=!mt)}return mt}function wu(Se,Ge,mt,Dt,Lt){for(const Rt of Se)if(Ge<=Rt.x&&mt<=Rt.y&&Dt>=Rt.x&&Lt>=Rt.y)return!0;const Rt=[new ln(Ge,mt),new ln(Ge,Lt),new ln(Dt,Lt),new ln(Dt,mt)];if(Se.length>2)for(const Ge of Rt)if(bu(Se,Ge))return!0;for(let Ge=0;Ge<Se.length-1;Ge++)if(_u(Se[Ge],Se[Ge+1],Rt))return!0;return!1}function _u(Se,Ge,mt){const Dt=mt[0],Lt=mt[2];if(Se.x<Dt.x&&Ge.x<Dt.x||Se.x>Lt.x&&Ge.x>Lt.x||Se.y<Dt.y&&Ge.y<Dt.y||Se.y>Lt.y&&Ge.y>Lt.y)return!1;const Rt=G(Se,Ge,mt[0]);return Rt!==G(Se,Ge,mt[1])||Rt!==G(Se,Ge,mt[2])||Rt!==G(Se,Ge,mt[3])}function Au(Se,Ge,mt){const Dt=Ge.paint.get(Se).value;return\"constant\"===Dt.kind?Dt.value:mt.programConfigurations.get(Ge.id).getMaxValue(Se)}function Su(Se){return Math.sqrt(Se[0]*Se[0]+Se[1]*Se[1])}function ku(Se,Ge,mt,Dt,Lt){if(!Ge[0]&&!Ge[1])return Se;const Rt=ln.convert(Ge)._mult(Lt);\"viewport\"===mt&&Rt._rotate(-Dt);const Bt=[];for(let Ge=0;Ge<Se.length;Ge++)Bt.push(Se[Ge].sub(Rt));return Bt}function Iu(Se,Ge,mt,Dt){const Lt=ln.convert(Se)._mult(Dt);return\"viewport\"===Ge&&Lt._rotate(-mt),Lt}Ji(cu,\"CircleBucket\",{omit:[\"layers\"]});const sm=new Ps({\"circle-sort-key\":new Es(Ha.layout_circle[\"circle-sort-key\"])});var am={paint:new Ps({\"circle-radius\":new Es(Ha.paint_circle[\"circle-radius\"]),\"circle-color\":new Es(Ha.paint_circle[\"circle-color\"]),\"circle-blur\":new Es(Ha.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Es(Ha.paint_circle[\"circle-opacity\"]),\"circle-translate\":new Bs(Ha.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new Bs(Ha.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new Bs(Ha.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new Bs(Ha.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Es(Ha.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Es(Ha.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Es(Ha.paint_circle[\"circle-stroke-opacity\"])}),layout:sm};function zu(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){if(Rt&&Se.queryGeometry.isAboveHorizon)return!1;Rt&&(Ot*=Se.pixelToTileUnitsFactor);const $t=Se.tileID.canonical,Ni=mt.projection.upVectorScale($t,mt.center.lat,mt.worldSize).metersToTile;for(const tr of Ge)for(const Ge of tr){const tr=Ge.add(Ft),Lr=Lt&&mt.elevation?mt.elevation.exaggeration()*Lt.getElevationAt(tr.x,tr.y,!0):0,Rr=mt.projection.projectTilePoint(tr.x,tr.y,$t);if(Lr>0){const Se=mt.projection.upVector($t,tr.x,tr.y);Rr.x+=Se[0]*Ni*Lr,Rr.y+=Se[1]*Ni*Lr,Rr.z+=Se[2]*Ni*Lr}const Qr=Rt?tr:Bu(Rr.x,Rr.y,Rr.z,Dt),an=Rt?Se.tilespaceRays.map((Se=>Pu(Se,Lr))):Se.queryGeometry.screenGeometry,ln=Go([],[Rr.x,Rr.y,Rr.z,1],Dt);if(!Bt&&Rt?Ot*=ln[3]/mt.cameraToCenterDistance:Bt&&!Rt&&(Ot*=mt.cameraToCenterDistance/ln[3]),Rt){const Se=Xl((Ge.y/wp+$t.y)/(1<<$t.z));Ot/=mt.projection.pixelsPerMeter(Se,1)/Zl(1,Se)}if(pu(an,Qr,Ot))return!0}return!1}function Bu(Se,Ge,mt,Dt){const Lt=Go([],[Se,Ge,mt,1],Dt);return new ln(Lt[0]/Lt[3],Lt[1]/Lt[3])}const lm=Io(0,0,0),cm=Io(0,0,1);function Pu(Se,Ge){const mt=Ao();return lm[2]=Ge,Se.intersectsPlane(lm,cm,mt),new ln(mt[0],mt[1])}class Du extends cu{}function Vu(Se,{width:Ge,height:mt},Dt,Lt){if(Lt){if(Lt instanceof Uint8ClampedArray)Lt=new Uint8Array(Lt.buffer);else if(Lt.length!==Ge*mt*Dt)throw new RangeError(\"mismatched image size\")}else Lt=new Uint8Array(Ge*mt*Dt);return Se.width=Ge,Se.height=mt,Se.data=Lt,Se}function Lu(Se,Ge,mt){const{width:Dt,height:Lt}=Ge;Dt===Se.width&&Lt===Se.height||(Fu(Se,Ge,{x:0,y:0},{x:0,y:0},{width:Math.min(Se.width,Dt),height:Math.min(Se.height,Lt)},mt),Se.width=Dt,Se.height=Lt,Se.data=Ge.data)}function Fu(Se,Ge,mt,Dt,Lt,Rt){if(0===Lt.width||0===Lt.height)return Ge;if(Lt.width>Se.width||Lt.height>Se.height||mt.x>Se.width-Lt.width||mt.y>Se.height-Lt.height)throw new RangeError(\"out of range source coordinates for image copy\");if(Lt.width>Ge.width||Lt.height>Ge.height||Dt.x>Ge.width-Lt.width||Dt.y>Ge.height-Lt.height)throw new RangeError(\"out of range destination coordinates for image copy\");const Bt=Se.data,Ft=Ge.data;for(let Ot=0;Ot<Lt.height;Ot++){const $t=((mt.y+Ot)*Se.width+mt.x)*Rt,Ni=((Dt.y+Ot)*Ge.width+Dt.x)*Rt;for(let Se=0;Se<Lt.width*Rt;Se++)Ft[Ni+Se]=Bt[$t+Se]}return Ge}Ji(Du,\"HeatmapBucket\",{omit:[\"layers\"]});class Ru{constructor(Se,Ge){Vu(this,Se,1,Ge)}resize(Se){Lu(this,new Ru(Se),1)}clone(){return new Ru({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(Se,Ge,mt,Dt,Lt){Fu(Se,Ge,mt,Dt,Lt,1)}}class Uu{constructor(Se,Ge){Vu(this,Se,4,Ge)}resize(Se){Lu(this,new Uu(Se),4)}replace(Se,Ge){Ge?this.data.set(Se):this.data=Se instanceof Uint8ClampedArray?new Uint8Array(Se.buffer):Se}clone(){return new Uu({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(Se,Ge,mt,Dt,Lt){Fu(Se,Ge,mt,Dt,Lt,4)}}Ji(Ru,\"AlphaImage\"),Ji(Uu,\"RGBAImage\");var hm={paint:new Ps({\"heatmap-radius\":new Es(Ha.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Es(Ha.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Bs(Ha.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Cs(Ha.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Bs(Ha.paint_heatmap[\"heatmap-opacity\"])})};function ju(Se){const Ge={},mt=Se.resolution||256,Dt=Se.clips?Se.clips.length:1,Lt=Se.image||new Uu({width:mt,height:Dt}),s=(mt,Dt,Rt)=>{Ge[Se.evaluationKey]=Rt;const Bt=Se.expression.evaluate(Ge);Lt.data[mt+Dt+0]=Math.floor(255*Bt.r/Bt.a),Lt.data[mt+Dt+1]=Math.floor(255*Bt.g/Bt.a),Lt.data[mt+Dt+2]=Math.floor(255*Bt.b/Bt.a),Lt.data[mt+Dt+3]=Math.floor(255*Bt.a)};if(Se.clips)for(let Ge=0,Lt=0;Ge<Dt;++Ge,Lt+=4*mt)for(let Dt=0,Rt=0;Dt<mt;Dt++,Rt+=4){const Bt=Dt/(mt-1),{start:Ft,end:Ot}=Se.clips[Ge];s(Lt,Rt,Ft*(1-Bt)+Ot*Bt)}else for(let Se=0,Ge=0;Se<mt;Se++,Ge+=4)s(0,Ge,Se/(mt-1));return Lt}var um={paint:new Ps({\"hillshade-illumination-direction\":new Bs(Ha.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new Bs(Ha.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new Bs(Ha.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new Bs(Ha.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new Bs(Ha.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new Bs(Ha.paint_hillshade[\"hillshade-accent-color\"])})};const dm=Rs([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:pm}=dm;var fm={exports:{}};function Zu(Se,Ge,mt){mt=mt||2;var Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni=Ge&&Ge.length,tr=Ni?Ge[0]*mt:Se.length,Lr=Ku(Se,0,tr,mt,!0),Rr=[];if(!Lr||Lr.next===Lr.prev)return Rr;if(Ni&&(Lr=function(Se,Ge,mt,Dt){var Lt,Rt,Bt,Ft=[];for(Lt=0,Rt=Ge.length;Lt<Rt;Lt++)(Bt=Ku(Se,Ge[Lt]*Dt,Lt<Rt-1?Ge[Lt+1]*Dt:Se.length,Dt,!1))===Bt.next&&(Bt.steiner=!0),Ft.push(ic(Bt));for(Ft.sort(tc),Lt=0;Lt<Ft.length;Lt++)mt=ec(Ft[Lt],mt);return mt}(Se,Ge,Lr,mt)),Se.length>80*mt){Dt=Rt=Se[0],Lt=Bt=Se[1];for(var Qr=mt;Qr<tr;Qr+=mt)(Ft=Se[Qr])<Dt&&(Dt=Ft),(Ot=Se[Qr+1])<Lt&&(Lt=Ot),Ft>Rt&&(Rt=Ft),Ot>Bt&&(Bt=Ot);$t=0!==($t=Math.max(Rt-Dt,Bt-Lt))?32767/$t:0}return Ju(Lr,Rr,mt,Dt,Lt,$t,0),Rr}function Ku(Se,Ge,mt,Dt,Lt){var Rt,Bt;if(Lt===gc(Se,Ge,mt,Dt)>0)for(Rt=Ge;Rt<mt;Rt+=Dt)Bt=fc(Rt,Se[Rt],Se[Rt+1],Bt);else for(Rt=mt-Dt;Rt>=Ge;Rt-=Dt)Bt=fc(Rt,Se[Rt],Se[Rt+1],Bt);return Bt&&lc(Bt,Bt.next)&&(yc(Bt),Bt=Bt.next),Bt}function Xu(Se,Ge){if(!Se)return Se;Ge||(Ge=Se);var mt,Dt=Se;do{if(mt=!1,Dt.steiner||!lc(Dt,Dt.next)&&0!==oc(Dt.prev,Dt,Dt.next))Dt=Dt.next;else{if(yc(Dt),(Dt=Ge=Dt.prev)===Dt.next)break;mt=!0}}while(mt||Dt!==Ge);return Ge}function Ju(Se,Ge,mt,Dt,Lt,Rt,Bt){if(Se){!Bt&&Rt&&function(Se,Ge,mt,Dt){var Lt=Se;do{0===Lt.z&&(Lt.z=nc(Lt.x,Lt.y,Ge,mt,Dt)),Lt.prevZ=Lt.prev,Lt.nextZ=Lt.next,Lt=Lt.next}while(Lt!==Se);Lt.prevZ.nextZ=null,Lt.prevZ=null,function(Se){var Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t=1;do{for(mt=Se,Se=null,Rt=null,Bt=0;mt;){for(Bt++,Dt=mt,Ft=0,Ge=0;Ge<$t&&(Ft++,Dt=Dt.nextZ);Ge++);for(Ot=$t;Ft>0||Ot>0&&Dt;)0!==Ft&&(0===Ot||!Dt||mt.z<=Dt.z)?(Lt=mt,mt=mt.nextZ,Ft--):(Lt=Dt,Dt=Dt.nextZ,Ot--),Rt?Rt.nextZ=Lt:Se=Lt,Lt.prevZ=Rt,Rt=Lt;mt=Dt}Rt.nextZ=null,$t*=2}while(Bt>1)}(Lt)}(Se,Dt,Lt,Rt);for(var Ft,Ot,$t=Se;Se.prev!==Se.next;)if(Ft=Se.prev,Ot=Se.next,Rt?Yu(Se,Dt,Lt,Rt):Hu(Se))Ge.push(Ft.i/mt|0),Ge.push(Se.i/mt|0),Ge.push(Ot.i/mt|0),yc(Se),Se=Ot.next,$t=Ot.next;else if((Se=Ot)===$t){Bt?1===Bt?Ju(Se=Wu(Xu(Se),Ge,mt),Ge,mt,Dt,Lt,Rt,2):2===Bt&&Qu(Se,Ge,mt,Dt,Lt,Rt):Ju(Xu(Se),Ge,mt,Dt,Lt,Rt,1);break}}}function Hu(Se){var Ge=Se.prev,mt=Se,Dt=Se.next;if(oc(Ge,mt,Dt)>=0)return!1;for(var Lt=Ge.x,Rt=mt.x,Bt=Dt.x,Ft=Ge.y,Ot=mt.y,$t=Dt.y,Ni=Lt<Rt?Lt<Bt?Lt:Bt:Rt<Bt?Rt:Bt,tr=Ft<Ot?Ft<$t?Ft:$t:Ot<$t?Ot:$t,Lr=Lt>Rt?Lt>Bt?Lt:Bt:Rt>Bt?Rt:Bt,Rr=Ft>Ot?Ft>$t?Ft:$t:Ot>$t?Ot:$t,Qr=Dt.next;Qr!==Ge;){if(Qr.x>=Ni&&Qr.x<=Lr&&Qr.y>=tr&&Qr.y<=Rr&&sc(Lt,Ft,Rt,Ot,Bt,$t,Qr.x,Qr.y)&&oc(Qr.prev,Qr,Qr.next)>=0)return!1;Qr=Qr.next}return!0}function Yu(Se,Ge,mt,Dt){var Lt=Se.prev,Rt=Se,Bt=Se.next;if(oc(Lt,Rt,Bt)>=0)return!1;for(var Ft=Lt.x,Ot=Rt.x,$t=Bt.x,Ni=Lt.y,tr=Rt.y,Lr=Bt.y,Rr=Ft<Ot?Ft<$t?Ft:$t:Ot<$t?Ot:$t,Qr=Ni<tr?Ni<Lr?Ni:Lr:tr<Lr?tr:Lr,an=Ft>Ot?Ft>$t?Ft:$t:Ot>$t?Ot:$t,ln=Ni>tr?Ni>Lr?Ni:Lr:tr>Lr?tr:Lr,pn=nc(Rr,Qr,Ge,mt,Dt),fn=nc(an,ln,Ge,mt,Dt),mn=Se.prevZ,_n=Se.nextZ;mn&&mn.z>=pn&&_n&&_n.z<=fn;){if(mn.x>=Rr&&mn.x<=an&&mn.y>=Qr&&mn.y<=ln&&mn!==Lt&&mn!==Bt&&sc(Ft,Ni,Ot,tr,$t,Lr,mn.x,mn.y)&&oc(mn.prev,mn,mn.next)>=0)return!1;if(mn=mn.prevZ,_n.x>=Rr&&_n.x<=an&&_n.y>=Qr&&_n.y<=ln&&_n!==Lt&&_n!==Bt&&sc(Ft,Ni,Ot,tr,$t,Lr,_n.x,_n.y)&&oc(_n.prev,_n,_n.next)>=0)return!1;_n=_n.nextZ}for(;mn&&mn.z>=pn;){if(mn.x>=Rr&&mn.x<=an&&mn.y>=Qr&&mn.y<=ln&&mn!==Lt&&mn!==Bt&&sc(Ft,Ni,Ot,tr,$t,Lr,mn.x,mn.y)&&oc(mn.prev,mn,mn.next)>=0)return!1;mn=mn.prevZ}for(;_n&&_n.z<=fn;){if(_n.x>=Rr&&_n.x<=an&&_n.y>=Qr&&_n.y<=ln&&_n!==Lt&&_n!==Bt&&sc(Ft,Ni,Ot,tr,$t,Lr,_n.x,_n.y)&&oc(_n.prev,_n,_n.next)>=0)return!1;_n=_n.nextZ}return!0}function Wu(Se,Ge,mt){var Dt=Se;do{var Lt=Dt.prev,Rt=Dt.next.next;!lc(Lt,Rt)&&uc(Lt,Dt,Dt.next,Rt)&&pc(Lt,Rt)&&pc(Rt,Lt)&&(Ge.push(Lt.i/mt|0),Ge.push(Dt.i/mt|0),Ge.push(Rt.i/mt|0),yc(Dt),yc(Dt.next),Dt=Se=Rt),Dt=Dt.next}while(Dt!==Se);return Xu(Dt)}function Qu(Se,Ge,mt,Dt,Lt,Rt){var Bt=Se;do{for(var Ft=Bt.next.next;Ft!==Bt.prev;){if(Bt.i!==Ft.i&&ac(Bt,Ft)){var Ot=dc(Bt,Ft);return Bt=Xu(Bt,Bt.next),Ot=Xu(Ot,Ot.next),Ju(Bt,Ge,mt,Dt,Lt,Rt,0),void Ju(Ot,Ge,mt,Dt,Lt,Rt,0)}Ft=Ft.next}Bt=Bt.next}while(Bt!==Se)}function tc(Se,Ge){return Se.x-Ge.x}function ec(Se,Ge){var mt=function(Se,Ge){var mt,Dt=Ge,Lt=Se.x,Rt=Se.y,Bt=-1/0;do{if(Rt<=Dt.y&&Rt>=Dt.next.y&&Dt.next.y!==Dt.y){var Ft=Dt.x+(Rt-Dt.y)*(Dt.next.x-Dt.x)/(Dt.next.y-Dt.y);if(Ft<=Lt&&Ft>Bt&&(Bt=Ft,mt=Dt.x<Dt.next.x?Dt:Dt.next,Ft===Lt))return mt}Dt=Dt.next}while(Dt!==Ge);if(!mt)return null;var Ot,$t=mt,Ni=mt.x,tr=mt.y,Lr=1/0;Dt=mt;do{Lt>=Dt.x&&Dt.x>=Ni&&Lt!==Dt.x&&sc(Rt<tr?Lt:Bt,Rt,Ni,tr,Rt<tr?Bt:Lt,Rt,Dt.x,Dt.y)&&(Ot=Math.abs(Rt-Dt.y)/(Lt-Dt.x),pc(Dt,Se)&&(Ot<Lr||Ot===Lr&&(Dt.x>mt.x||Dt.x===mt.x&&rc(mt,Dt)))&&(mt=Dt,Lr=Ot)),Dt=Dt.next}while(Dt!==$t);return mt}(Se,Ge);if(!mt)return Ge;var Dt=dc(mt,Se);return Xu(Dt,Dt.next),Xu(mt,mt.next)}function rc(Se,Ge){return oc(Se.prev,Se,Ge.prev)<0&&oc(Ge.next,Se,Se.next)<0}function nc(Se,Ge,mt,Dt,Lt){return(Se=1431655765&((Se=858993459&((Se=252645135&((Se=16711935&((Se=(Se-mt)*Lt|0)|Se<<8))|Se<<4))|Se<<2))|Se<<1))|(Ge=1431655765&((Ge=858993459&((Ge=252645135&((Ge=16711935&((Ge=(Ge-Dt)*Lt|0)|Ge<<8))|Ge<<4))|Ge<<2))|Ge<<1))<<1}function ic(Se){var Ge=Se,mt=Se;do{(Ge.x<mt.x||Ge.x===mt.x&&Ge.y<mt.y)&&(mt=Ge),Ge=Ge.next}while(Ge!==Se);return mt}function sc(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){return(Lt-Bt)*(Ge-Ft)>=(Se-Bt)*(Rt-Ft)&&(Se-Bt)*(Dt-Ft)>=(mt-Bt)*(Ge-Ft)&&(mt-Bt)*(Rt-Ft)>=(Lt-Bt)*(Dt-Ft)}function ac(Se,Ge){return Se.next.i!==Ge.i&&Se.prev.i!==Ge.i&&!function(Se,Ge){var mt=Se;do{if(mt.i!==Se.i&&mt.next.i!==Se.i&&mt.i!==Ge.i&&mt.next.i!==Ge.i&&uc(mt,mt.next,Se,Ge))return!0;mt=mt.next}while(mt!==Se);return!1}(Se,Ge)&&(pc(Se,Ge)&&pc(Ge,Se)&&function(Se,Ge){var mt=Se,Dt=!1,Lt=(Se.x+Ge.x)/2,Rt=(Se.y+Ge.y)/2;do{mt.y>Rt!=mt.next.y>Rt&&mt.next.y!==mt.y&&Lt<(mt.next.x-mt.x)*(Rt-mt.y)/(mt.next.y-mt.y)+mt.x&&(Dt=!Dt),mt=mt.next}while(mt!==Se);return Dt}(Se,Ge)&&(oc(Se.prev,Se,Ge.prev)||oc(Se,Ge.prev,Ge))||lc(Se,Ge)&&oc(Se.prev,Se,Se.next)>0&&oc(Ge.prev,Ge,Ge.next)>0)}function oc(Se,Ge,mt){return(Ge.y-Se.y)*(mt.x-Ge.x)-(Ge.x-Se.x)*(mt.y-Ge.y)}function lc(Se,Ge){return Se.x===Ge.x&&Se.y===Ge.y}function uc(Se,Ge,mt,Dt){var Lt=hc(oc(Se,Ge,mt)),Rt=hc(oc(Se,Ge,Dt)),Bt=hc(oc(mt,Dt,Se)),Ft=hc(oc(mt,Dt,Ge));return Lt!==Rt&&Bt!==Ft||!(0!==Lt||!cc(Se,mt,Ge))||!(0!==Rt||!cc(Se,Dt,Ge))||!(0!==Bt||!cc(mt,Se,Dt))||!(0!==Ft||!cc(mt,Ge,Dt))}function cc(Se,Ge,mt){return Ge.x<=Math.max(Se.x,mt.x)&&Ge.x>=Math.min(Se.x,mt.x)&&Ge.y<=Math.max(Se.y,mt.y)&&Ge.y>=Math.min(Se.y,mt.y)}function hc(Se){return Se>0?1:Se<0?-1:0}function pc(Se,Ge){return oc(Se.prev,Se,Se.next)<0?oc(Se,Ge,Se.next)>=0&&oc(Se,Se.prev,Ge)>=0:oc(Se,Ge,Se.prev)<0||oc(Se,Se.next,Ge)<0}function dc(Se,Ge){var mt=new mc(Se.i,Se.x,Se.y),Dt=new mc(Ge.i,Ge.x,Ge.y),Lt=Se.next,Rt=Ge.prev;return Se.next=Ge,Ge.prev=Se,mt.next=Lt,Lt.prev=mt,Dt.next=mt,mt.prev=Dt,Rt.next=Dt,Dt.prev=Rt,Dt}function fc(Se,Ge,mt,Dt){var Lt=new mc(Se,Ge,mt);return Dt?(Lt.next=Dt.next,Lt.prev=Dt,Dt.next.prev=Lt,Dt.next=Lt):(Lt.prev=Lt,Lt.next=Lt),Lt}function yc(Se){Se.next.prev=Se.prev,Se.prev.next=Se.next,Se.prevZ&&(Se.prevZ.nextZ=Se.nextZ),Se.nextZ&&(Se.nextZ.prevZ=Se.prevZ)}function mc(Se,mt,Dt){(this||Ge).i=Se,(this||Ge).x=mt,(this||Ge).y=Dt,(this||Ge).prev=null,(this||Ge).next=null,(this||Ge).z=0,(this||Ge).prevZ=null,(this||Ge).nextZ=null,(this||Ge).steiner=!1}function gc(Se,Ge,mt,Dt){for(var Lt=0,Rt=Ge,Bt=mt-Dt;Rt<mt;Rt+=Dt)Lt+=(Se[Bt]-Se[Rt])*(Se[Rt+1]+Se[Bt+1]),Bt=Rt;return Lt}fm.exports=Zu,fm.exports.default=Zu,Zu.deviation=function(Se,Ge,mt,Dt){var Lt=Ge&&Ge.length,Rt=Math.abs(gc(Se,0,Lt?Ge[0]*mt:Se.length,mt));if(Lt)for(var Bt=0,Ft=Ge.length;Bt<Ft;Bt++)Rt-=Math.abs(gc(Se,Ge[Bt]*mt,Bt<Ft-1?Ge[Bt+1]*mt:Se.length,mt));var Ot=0;for(Bt=0;Bt<Dt.length;Bt+=3){var $t=Dt[Bt]*mt,Ni=Dt[Bt+1]*mt,tr=Dt[Bt+2]*mt;Ot+=Math.abs((Se[$t]-Se[tr])*(Se[Ni+1]-Se[$t+1])-(Se[$t]-Se[Ni])*(Se[tr+1]-Se[$t+1]))}return 0===Rt&&0===Ot?0:Math.abs((Ot-Rt)/Rt)},Zu.flatten=function(Se){for(var Ge=Se[0][0].length,mt={vertices:[],holes:[],dimensions:Ge},Dt=0,Lt=0;Lt<Se.length;Lt++){for(var Rt=0;Rt<Se[Lt].length;Rt++)for(var Bt=0;Bt<Ge;Bt++)mt.vertices.push(Se[Lt][Rt][Bt]);Lt>0&&mt.holes.push(Dt+=Se[Lt-1].length)}return mt};var mm=p(fm.exports);function vc(Se,Ge,mt,Dt,Lt){bc(Se,Ge,mt||0,Dt||Se.length-1,Lt||_c)}function bc(Se,Ge,mt,Dt,Lt){for(;Dt>mt;){if(Dt-mt>600){var Rt=Dt-mt+1,Bt=Ge-mt+1,Ft=Math.log(Rt),Ot=.5*Math.exp(2*Ft/3),$t=.5*Math.sqrt(Ft*Ot*(Rt-Ot)/Rt)*(Bt-Rt/2<0?-1:1);bc(Se,Ge,Math.max(mt,Math.floor(Ge-Bt*Ot/Rt+$t)),Math.min(Dt,Math.floor(Ge+(Rt-Bt)*Ot/Rt+$t)),Lt)}var Ni=Se[Ge],tr=mt,Lr=Dt;for(wc(Se,mt,Ge),Lt(Se[Dt],Ni)>0&&wc(Se,mt,Dt);tr<Lr;){for(wc(Se,tr,Lr),tr++,Lr--;Lt(Se[tr],Ni)<0;)tr++;for(;Lt(Se[Lr],Ni)>0;)Lr--}0===Lt(Se[mt],Ni)?wc(Se,mt,Lr):wc(Se,++Lr,Dt),Lr<=Ge&&(mt=Lr+1),Ge<=Lr&&(Dt=Lr-1)}}function wc(Se,Ge,mt){var Dt=Se[Ge];Se[Ge]=Se[mt],Se[mt]=Dt}function _c(Se,Ge){return Se<Ge?-1:Se>Ge?1:0}function Ac(Se,Ge){const mt=Se.length;if(mt<=1)return[Se];const Dt=[];let Lt,Rt;for(let Ge=0;Ge<mt;Ge++){const mt=Z(Se[Ge]);0!==mt&&(Se[Ge].area=Math.abs(mt),void 0===Rt&&(Rt=mt<0),Rt===mt<0?(Lt&&Dt.push(Lt),Lt=[Se[Ge]]):Lt.push(Se[Ge]))}if(Lt&&Dt.push(Lt),Ge>1)for(let Se=0;Se<Dt.length;Se++)Dt[Se].length<=Ge||(vc(Dt[Se],Ge,1,Dt[Se].length-1,Sc),Dt[Se]=Dt[Se].slice(0,Ge));return Dt}function Sc(Se,Ge){return Ge.area-Se.area}function kc(Se,Ge,mt){const Dt=mt.patternDependencies;let Lt=!1;for(const mt of Ge){const Ge=mt.paint.get(`${Se}-pattern`);Ge.isConstant()||(Lt=!0);const Rt=Ge.constantOr(null);Rt&&(Lt=!0,Dt[Rt]=!0)}return Lt}function Ic(Se,Ge,mt,Dt,Lt){const Rt=Lt.patternDependencies;for(const Bt of Ge){const Ge=Bt.paint.get(`${Se}-pattern`).value;if(\"constant\"!==Ge.kind){let Se=Ge.evaluate({zoom:Dt},mt,{},Lt.availableImages);Se=Se&&Se.name?Se.name:Se,Rt[Se]=!0,mt.patterns[Bt.id]=Se}}return mt}class Mc{constructor(Se){this.zoom=Se.zoom,this.overscaling=Se.overscaling,this.layers=Se.layers,this.layerIds=this.layers.map((Se=>Se.id)),this.index=Se.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new $s,this.indexArray=new ra,this.indexArray2=new la,this.programConfigurations=new Ja(Se.layers,Se.zoom),this.segments=new so,this.segments2=new so,this.stateDependentLayerIds=this.layers.filter((Se=>Se.isStateDependent())).map((Se=>Se.id)),this.projection=Se.projection}populate(Se,Ge,mt,Dt){this.hasPattern=kc(\"fill\",this.layers,Ge);const Lt=this.layers[0].layout.get(\"fill-sort-key\"),Rt=[];for(const{feature:Bt,id:Ft,index:Ot,sourceLayerIndex:$t}of Se){const Se=this.layers[0]._featureFilter.needGeometry,Ni=ou(Bt,Se);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),Ni,mt))continue;const tr=Lt?Lt.evaluate(Ni,{},mt,Ge.availableImages):void 0,Lr={id:Ft,properties:Bt.properties,type:Bt.type,sourceLayerIndex:$t,index:Ot,geometry:Se?Ni.geometry:au(Bt,mt,Dt),patterns:{},sortKey:tr};Rt.push(Lr)}Lt&&Rt.sort(((Se,Ge)=>Se.sortKey-Ge.sortKey));for(const Dt of Rt){const{geometry:Lt,index:Rt,sourceLayerIndex:Bt}=Dt;if(this.hasPattern){const Se=Ic(\"fill\",this.layers,Dt,this.zoom,Ge);this.patternFeatures.push(Se)}else this.addFeature(Dt,Lt,Rt,mt,{},Ge.availableImages);Ge.featureIndex.insert(Se[Rt].feature,Lt,Rt,Bt,this.index)}}update(Se,Ge,mt,Dt){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(Se,Ge,this.stateDependentLayers,mt,Dt)}addFeatures(Se,Ge,mt,Dt,Lt){for(const Se of this.patternFeatures)this.addFeature(Se,Se.geometry,Se.index,Ge,mt,Dt)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(Se){this.uploaded||(this.layoutVertexBuffer=Se.createVertexBuffer(this.layoutVertexArray,pm),this.indexBuffer=Se.createIndexBuffer(this.indexArray),this.indexBuffer2=Se.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(Se),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(Se,Ge,mt,Dt,Lt,Rt=[]){for(const Se of Ac(Ge,500)){let Ge=0;for(const mt of Se)Ge+=mt.length;const mt=this.segments.prepareSegment(Ge,this.layoutVertexArray,this.indexArray),Dt=mt.vertexLength,Lt=[],Rt=[];for(const Ge of Se){if(0===Ge.length)continue;Ge!==Se[0]&&Rt.push(Lt.length/2);const mt=this.segments2.prepareSegment(Ge.length,this.layoutVertexArray,this.indexArray2),Dt=mt.vertexLength;this.layoutVertexArray.emplaceBack(Ge[0].x,Ge[0].y),this.indexArray2.emplaceBack(Dt+Ge.length-1,Dt),Lt.push(Ge[0].x),Lt.push(Ge[0].y);for(let Se=1;Se<Ge.length;Se++)this.layoutVertexArray.emplaceBack(Ge[Se].x,Ge[Se].y),this.indexArray2.emplaceBack(Dt+Se-1,Dt+Se),Lt.push(Ge[Se].x),Lt.push(Ge[Se].y);mt.vertexLength+=Ge.length,mt.primitiveLength+=Ge.length}const Bt=mm(Lt,Rt);for(let Se=0;Se<Bt.length;Se+=3)this.indexArray.emplaceBack(Dt+Bt[Se],Dt+Bt[Se+1],Dt+Bt[Se+2]);mt.vertexLength+=Ge,mt.primitiveLength+=Bt.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,Se,mt,Lt,Rt,Dt)}}Ji(Mc,\"FillBucket\",{omit:[\"layers\",\"patternFeatures\"]});const _m=new Ps({\"fill-sort-key\":new Es(Ha.layout_fill[\"fill-sort-key\"])});var gm={paint:new Ps({\"fill-antialias\":new Bs(Ha.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new Es(Ha.paint_fill[\"fill-opacity\"]),\"fill-color\":new Es(Ha.paint_fill[\"fill-color\"]),\"fill-outline-color\":new Es(Ha.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new Bs(Ha.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new Bs(Ha.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Es(Ha.paint_fill[\"fill-pattern\"])}),layout:_m};const ym=Rs([{name:\"a_pos_normal_ed\",components:4,type:\"Int16\"}]),xm=Rs([{name:\"a_centroid_pos\",components:2,type:\"Uint16\"}]),vm=Rs([{name:\"a_pos_3\",components:3,type:\"Int16\"},{name:\"a_pos_normal_3\",components:3,type:\"Int16\"}]),{members:bm}=ym;var wm={},Tm=an,Em=Fc;function Fc(Se,mt,Dt,Lt,Rt){(this||Ge).properties={},(this||Ge).extent=Dt,(this||Ge).type=0,(this||Ge)._pbf=Se,(this||Ge)._geometry=-1,(this||Ge)._keys=Lt,(this||Ge)._values=Rt,Se.readFields(Rc,this||Ge,mt)}function Rc(Se,Ge,mt){1==Se?Ge.id=mt.readVarint():2==Se?function(Se,Ge){for(var mt=Se.readVarint()+Se.pos;Se.pos<mt;){var Dt=Ge._keys[Se.readVarint()],Lt=Ge._values[Se.readVarint()];Ge.properties[Dt]=Lt}}(mt,Ge):3==Se?Ge.type=mt.readVarint():4==Se&&(Ge._geometry=mt.pos)}function Uc(Se){for(var Ge,mt,Dt=0,Lt=0,Rt=Se.length,Bt=Rt-1;Lt<Rt;Bt=Lt++)Dt+=((mt=Se[Bt]).x-(Ge=Se[Lt]).x)*(Ge.y+mt.y);return Dt}Fc.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],Fc.prototype.loadGeometry=function(){var Se=(this||Ge)._pbf;Se.pos=(this||Ge)._geometry;for(var mt,Dt=Se.readVarint()+Se.pos,Lt=1,Rt=0,Bt=0,Ft=0,Ot=[];Se.pos<Dt;){if(Rt<=0){var $t=Se.readVarint();Lt=7&$t,Rt=$t>>3}if(Rt--,1===Lt||2===Lt)Bt+=Se.readSVarint(),Ft+=Se.readSVarint(),1===Lt&&(mt&&Ot.push(mt),mt=[]),mt.push(new Tm(Bt,Ft));else{if(7!==Lt)throw new Error(\"unknown command \"+Lt);mt&&mt.push(mt[0].clone())}}return mt&&Ot.push(mt),Ot},Fc.prototype.bbox=function(){var Se=(this||Ge)._pbf;Se.pos=(this||Ge)._geometry;for(var mt=Se.readVarint()+Se.pos,Dt=1,Lt=0,Rt=0,Bt=0,Ft=1/0,Ot=-1/0,$t=1/0,Ni=-1/0;Se.pos<mt;){if(Lt<=0){var tr=Se.readVarint();Dt=7&tr,Lt=tr>>3}if(Lt--,1===Dt||2===Dt)(Rt+=Se.readSVarint())<Ft&&(Ft=Rt),Rt>Ot&&(Ot=Rt),(Bt+=Se.readSVarint())<$t&&($t=Bt),Bt>Ni&&(Ni=Bt);else if(7!==Dt)throw new Error(\"unknown command \"+Dt)}return[Ft,$t,Ot,Ni]},Fc.prototype.toGeoJSON=function(Se,mt,Dt){var Lt,Rt,Bt=(this||Ge).extent*Math.pow(2,Dt),Ft=(this||Ge).extent*Se,Ot=(this||Ge).extent*mt,$t=this.loadGeometry(),Ni=Fc.types[(this||Ge).type];function c(Se){for(var Ge=0;Ge<Se.length;Ge++){var mt=Se[Ge];Se[Ge]=[360*(mt.x+Ft)/Bt-180,360/Math.PI*Math.atan(Math.exp((180-360*(mt.y+Ot)/Bt)*Math.PI/180))-90]}}switch((this||Ge).type){case 1:var tr=[];for(Lt=0;Lt<$t.length;Lt++)tr[Lt]=$t[Lt][0];c($t=tr);break;case 2:for(Lt=0;Lt<$t.length;Lt++)c($t[Lt]);break;case 3:for($t=function(Se){var Ge=Se.length;if(Ge<=1)return[Se];for(var mt,Dt,Lt=[],Rt=0;Rt<Ge;Rt++){var Bt=Uc(Se[Rt]);0!==Bt&&(void 0===Dt&&(Dt=Bt<0),Dt===Bt<0?(mt&&Lt.push(mt),mt=[Se[Rt]]):mt.push(Se[Rt]))}return mt&&Lt.push(mt),Lt}($t),Lt=0;Lt<$t.length;Lt++)for(Rt=0;Rt<$t[Lt].length;Rt++)c($t[Lt][Rt])}1===$t.length?$t=$t[0]:Ni=\"Multi\"+Ni;var Lr={type:\"Feature\",geometry:{type:Ni,coordinates:$t},properties:(this||Ge).properties};return\"id\"in(this||Ge)&&(Lr.id=(this||Ge).id),Lr};var Mm=Em,Sm=Oc;function Oc(Se,mt){(this||Ge).version=1,(this||Ge).name=null,(this||Ge).extent=4096,(this||Ge).length=0,(this||Ge)._pbf=Se,(this||Ge)._keys=[],(this||Ge)._values=[],(this||Ge)._features=[],Se.readFields(qc,this||Ge,mt),(this||Ge).length=(this||Ge)._features.length}function qc(Se,Ge,mt){15===Se?Ge.version=mt.readVarint():1===Se?Ge.name=mt.readString():5===Se?Ge.extent=mt.readVarint():2===Se?Ge._features.push(mt.pos):3===Se?Ge._keys.push(mt.readString()):4===Se&&Ge._values.push(function(Se){for(var Ge=null,mt=Se.readVarint()+Se.pos;Se.pos<mt;){var Dt=Se.readVarint()>>3;Ge=1===Dt?Se.readString():2===Dt?Se.readFloat():3===Dt?Se.readDouble():4===Dt?Se.readVarint64():5===Dt?Se.readVarint():6===Dt?Se.readSVarint():7===Dt?Se.readBoolean():null}return Ge}(mt))}Oc.prototype.feature=function(Se){if(Se<0||Se>=(this||Ge)._features.length)throw new Error(\"feature index out of bounds\");(this||Ge)._pbf.pos=(this||Ge)._features[Se];var mt=(this||Ge)._pbf.readVarint()+(this||Ge)._pbf.pos;return new Mm((this||Ge)._pbf,mt,(this||Ge).extent,(this||Ge)._keys,(this||Ge)._values)};var Am=Sm;function Gc(Se,Ge,mt){if(3===Se){var Dt=new Am(mt,mt.readVarint()+mt.pos);Dt.length&&(Ge[Dt.name]=Dt)}}var Im=wm.VectorTile=function(Se,mt){(this||Ge).layers=Se.readFields(Gc,{},mt)},Cm=wm.VectorTileFeature=Em;function Xc(Se,Ge,mt,Dt){const Lt=[],Rt=0===Dt?(Se,Ge,mt,Dt,Lt,Rt)=>{Se.push(new ln(Rt,mt+(Rt-Ge)/(Dt-Ge)*(Lt-mt)))}:(Se,Ge,mt,Dt,Lt,Rt)=>{Se.push(new ln(Ge+(Rt-mt)/(Lt-mt)*(Dt-Ge),Rt))};for(const Bt of Se){const Se=[];for(const Lt of Bt){if(Lt.length<=2)continue;const Bt=[];for(let Se=0;Se<Lt.length-1;Se++){const Ft=Lt[Se].x,Ot=Lt[Se].y,$t=Lt[Se+1].x,Ni=Lt[Se+1].y,tr=0===Dt?Ft:Ot,Lr=0===Dt?$t:Ni;tr<Ge?Lr>Ge&&Rt(Bt,Ft,Ot,$t,Ni,Ge):tr>mt?Lr<mt&&Rt(Bt,Ft,Ot,$t,Ni,mt):Bt.push(Lt[Se]),Lr<Ge&&tr>=Ge&&Rt(Bt,Ft,Ot,$t,Ni,Ge),Lr>mt&&tr<=mt&&Rt(Bt,Ft,Ot,$t,Ni,mt)}let Ft=Lt[Lt.length-1];const Ot=0===Dt?Ft.x:Ft.y;Ot>=Ge&&Ot<=mt&&Bt.push(Ft),Bt.length&&(Ft=Bt[Bt.length-1],Bt[0].x===Ft.x&&Bt[0].y===Ft.y||Bt.push(Bt[0]),Se.push(Bt))}Se.length&&Lt.push(Se)}return Lt}wm.VectorTileLayer=Sm;const zm=Cm.types,Pm=Math.pow(2,13);function Yc(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){Se.emplaceBack((Ge<<1)+Bt,(mt<<1)+Rt,(Math.floor(Dt*Pm)<<1)+Lt,Math.round(Ft))}function Wc(Se,Ge,mt){const Dt=16384;Se.emplaceBack(Ge.x,Ge.y,Ge.z,mt[0]*Dt,mt[1]*Dt,mt[2]*Dt)}class Qc{constructor(){this.acc=new ln(0,0),this.polyCount=[]}startRing(Se){this.currentPolyCount={edges:0,top:0},this.polyCount.push(this.currentPolyCount),this.min||(this.min=new ln(Se.x,Se.y),this.max=new ln(Se.x,Se.y))}append(Se,Ge){this.currentPolyCount.edges++,this.acc._add(Se);const mt=this.min,Dt=this.max;Se.x<mt.x?mt.x=Se.x:Se.x>Dt.x&&(Dt.x=Se.x),Se.y<mt.y?mt.y=Se.y:Se.y>Dt.y&&(Dt.y=Se.y),((0===Se.x||Se.x===wp)&&Se.x===Ge.x)!=((0===Se.y||Se.y===wp)&&Se.y===Ge.y)&&this.processBorderOverlap(Se,Ge),Ge.x<0!=Se.x<0&&this.addBorderIntersection(0,Er(Ge.y,Se.y,(0-Ge.x)/(Se.x-Ge.x))),Ge.x>wp!=Se.x>wp&&this.addBorderIntersection(1,Er(Ge.y,Se.y,(wp-Ge.x)/(Se.x-Ge.x))),Ge.y<0!=Se.y<0&&this.addBorderIntersection(2,Er(Ge.x,Se.x,(0-Ge.y)/(Se.y-Ge.y))),Ge.y>wp!=Se.y>wp&&this.addBorderIntersection(3,Er(Ge.x,Se.x,(wp-Ge.y)/(Se.y-Ge.y)))}addBorderIntersection(Se,Ge){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const mt=this.borders[Se];Ge<mt[0]&&(mt[0]=Ge),Ge>mt[1]&&(mt[1]=Ge)}processBorderOverlap(Se,Ge){if(Se.x===Ge.x){if(Se.y===Ge.y)return;const mt=0===Se.x?0:1;this.addBorderIntersection(mt,Ge.y),this.addBorderIntersection(mt,Se.y)}else{const mt=0===Se.y?2:3;this.addBorderIntersection(mt,Ge.x),this.addBorderIntersection(mt,Se.x)}}centroid(){const Se=this.polyCount.reduce(((Se,Ge)=>Se+Ge.edges),0);return 0!==Se?this.acc.div(Se)._round():new ln(0,0)}span(){return new ln(this.max.x-this.min.x,this.max.y-this.min.y)}intersectsCount(){return this.borders.reduce(((Se,Ge)=>Se+ +(Ge[0]!==Number.MAX_VALUE)),0)}}class th{constructor(Se){this.zoom=Se.zoom,this.canonical=Se.canonical,this.overscaling=Se.overscaling,this.layers=Se.layers,this.layerIds=this.layers.map((Se=>Se.id)),this.index=Se.index,this.hasPattern=!1,this.edgeRadius=0,this.projection=Se.projection,this.layoutVertexArray=new Os,this.centroidVertexArray=new wa,this.indexArray=new ra,this.programConfigurations=new Ja(Se.layers,Se.zoom),this.segments=new so,this.stateDependentLayerIds=this.layers.filter((Se=>Se.isStateDependent())).map((Se=>Se.id)),this.enableTerrain=Se.enableTerrain}populate(Se,Ge,mt,Dt){this.features=[],this.hasPattern=kc(\"fill-extrusion\",this.layers,Ge),this.featuresOnBorder=[],this.borders=[[],[],[],[]],this.borderDoneWithNeighborZ=[-1,-1,-1,-1],this.tileToMeter=function(Se){const Ge=Math.exp(Math.PI*(1-Se.y/(1<<Se.z)*2));return 80150034*Ge/(Ge*Ge+1)/wp/(1<<Se.z)}(mt),this.edgeRadius=this.layers[0].layout.get(\"fill-extrusion-edge-radius\")/this.tileToMeter;for(const{feature:Lt,id:Rt,index:Bt,sourceLayerIndex:Ft}of Se){const Se=this.layers[0]._featureFilter.needGeometry,Ot=ou(Lt,Se);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),Ot,mt))continue;const $t={id:Rt,sourceLayerIndex:Ft,index:Bt,geometry:Se?Ot.geometry:au(Lt,mt,Dt),properties:Lt.properties,type:Lt.type,patterns:{}},Ni=this.layoutVertexArray.length;this.hasPattern?this.features.push(Ic(\"fill-extrusion\",this.layers,$t,this.zoom,Ge)):this.addFeature($t,$t.geometry,Bt,mt,{},Ge.availableImages,Dt),Ge.featureIndex.insert(Lt,$t.geometry,Bt,Ft,this.index,Ni)}this.sortBorders()}addFeatures(Se,Ge,mt,Dt,Lt){for(const Se of this.features){const{geometry:Rt}=Se;this.addFeature(Se,Rt,Se.index,Ge,mt,Dt,Lt)}this.sortBorders()}update(Se,Ge,mt,Dt){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(Se,Ge,this.stateDependentLayers,mt,Dt)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(Se){this.uploaded||(this.layoutVertexBuffer=Se.createVertexBuffer(this.layoutVertexArray,bm),this.indexBuffer=Se.createIndexBuffer(this.indexArray),this.layoutVertexExtArray&&(this.layoutVertexExtBuffer=Se.createVertexBuffer(this.layoutVertexExtArray,vm.members,!0))),this.programConfigurations.upload(Se),this.uploaded=!0}uploadCentroid(Se){0!==this.centroidVertexArray.length&&(this.centroidVertexBuffer?this.needsCentroidUpdate&&this.centroidVertexBuffer.updateData(this.centroidVertexArray):this.centroidVertexBuffer=Se.createVertexBuffer(this.centroidVertexArray,xm.members,!0),this.needsCentroidUpdate=!1)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.centroidVertexBuffer&&this.centroidVertexBuffer.destroy(),this.layoutVertexExtBuffer&&this.layoutVertexExtBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft=[new ln(0,0),new ln(wp,wp)],Ot=Bt.projection,$t=\"globe\"===Ot.name,Ni=this.enableTerrain&&!$t?new Qc:null,tr=\"Polygon\"===zm[Se.type];$t&&!this.layoutVertexExtArray&&(this.layoutVertexExtArray=new Ks);const Lr=Ac(Ge,500);for(let Se=Lr.length-1;Se>=0;Se--){const Ge=Lr[Se];(0===Ge.length||(Rr=Ge[0]).every((Se=>Se.x<=0))||Rr.every((Se=>Se.x>=wp))||Rr.every((Se=>Se.y<=0))||Rr.every((Se=>Se.y>=wp)))&&Lr.splice(Se,1)}var Rr;let Qr;if($t)Qr=lh(Lr,Ft,Dt);else{Qr=[];for(const Se of Lr)Qr.push({polygon:Se,bounds:Ft})}const an=tr?this.edgeRadius:0;for(const{polygon:Se,bounds:Ge}of Qr){let mt=0,Lt=0;for(const Ge of Se)tr&&!Ge[0].equals(Ge[Ge.length-1])&&Ge.push(Ge[0]),Lt+=tr?Ge.length-1:Ge.length;const Rt=this.segments.prepareSegment((tr?5:4)*Lt,this.layoutVertexArray,this.indexArray);if(tr){const Ge=[],Lt=[];mt=Rt.vertexLength;for(const mt of Se){let Bt,Ft;mt.length&&mt!==Se[0]&&Lt.push(Ge.length/2),Bt=mt[1].sub(mt[0])._perp()._unit();for(let Se=1;Se<mt.length;Se++){const Lt=mt[Se],Ni=mt[Se===mt.length-1?1:Se+1];let{x:tr,y:Lr}=Lt;if(an){Ft=Ni.sub(Lt)._perp()._unit();const Se=Bt.add(Ft)._unit(),Ge=an*Math.min(4,1/(Bt.x*Se.x+Bt.y*Se.y));tr+=Ge*Se.x,Lr+=Ge*Se.y,Bt=Ft}Yc(this.layoutVertexArray,tr,Lr,0,0,1,1,0),Rt.vertexLength++,Ge.push(Lt.x,Lt.y),$t&&Wc(this.layoutVertexExtArray,Ot.projectTilePoint(tr,Lr,Dt),Ot.upVector(Dt,tr,Lr))}}const Bt=mm(Ge,Lt);for(let Se=0;Se<Bt.length;Se+=3)this.indexArray.emplaceBack(mt+Bt[Se],mt+Bt[Se+2],mt+Bt[Se+1]),Rt.primitiveLength++}for(const Lt of Se){Ni&&Lt.length&&Ni.startRing(Lt[0]);let Se,Bt,Ft,Lr=Lt.length>4&&sh(Lt[Lt.length-2],Lt[0],Lt[1]),Rr=an?rh(Lt[Lt.length-2],Lt[0],Lt[1],an):0;Bt=Lt[1].sub(Lt[0])._perp()._unit();let Qr=!0;for(let ln=1,pn=0;ln<Lt.length;ln++){let fn=Lt[ln-1],mn=Lt[ln];const _n=Lt[ln===Lt.length-1?1:ln+1];if(Ni&&tr&&Ni.currentPolyCount.top++,ih(mn,fn,Ge)){an&&(Bt=_n.sub(mn)._perp()._unit(),Qr=!Qr);continue}Ni&&Ni.append(mn,fn);const bn=mn.sub(fn)._perp(),wn=bn.x/(Math.abs(bn.x)+Math.abs(bn.y)),Tn=bn.y>0?1:0,Sn=fn.dist(mn);if(pn+Sn>32768&&(pn=0),an){Ft=_n.sub(mn)._perp()._unit();let Se=nh(fn,mn,_n,eh(Bt,Ft),an);isNaN(Se)&&(Se=0);const Ge=mn.sub(fn)._unit();fn=fn.add(Ge.mult(Rr))._round(),mn=mn.add(Ge.mult(-Se))._round(),Rr=Se,Bt=Ft}const An=Rt.vertexLength,Pn=Lt.length>4&&sh(fn,mn,_n);let kn=ah(pn,Lr,Qr);if(Yc(this.layoutVertexArray,fn.x,fn.y,wn,Tn,0,0,kn),Yc(this.layoutVertexArray,fn.x,fn.y,wn,Tn,0,1,kn),pn+=Sn,kn=ah(pn,Pn,!Qr),Lr=Pn,Yc(this.layoutVertexArray,mn.x,mn.y,wn,Tn,0,0,kn),Yc(this.layoutVertexArray,mn.x,mn.y,wn,Tn,0,1,kn),Rt.vertexLength+=4,this.indexArray.emplaceBack(An+0,An+1,An+2),this.indexArray.emplaceBack(An+1,An+3,An+2),Rt.primitiveLength+=2,an){const Dt=mt+(1===ln?Lt.length-2:ln-2),Bt=1===ln?mt:Dt+1;if(this.indexArray.emplaceBack(An+1,Dt,An+3),this.indexArray.emplaceBack(Dt,Bt,An+3),Rt.primitiveLength+=2,void 0===Se&&(Se=An),!ih(_n,Lt[ln],Ge)){const Ge=ln===Lt.length-1?Se:Rt.vertexLength;this.indexArray.emplaceBack(An+2,An+3,Ge),this.indexArray.emplaceBack(An+3,Ge+1,Ge),this.indexArray.emplaceBack(An+3,Bt,Ge+1),Rt.primitiveLength+=3}Qr=!Qr}if($t){const Se=this.layoutVertexExtArray,Ge=Ot.projectTilePoint(fn.x,fn.y,Dt),mt=Ot.projectTilePoint(mn.x,mn.y,Dt),Lt=Ot.upVector(Dt,fn.x,fn.y),Rt=Ot.upVector(Dt,mn.x,mn.y);Wc(Se,Ge,Lt),Wc(Se,Ge,Lt),Wc(Se,mt,Rt),Wc(Se,mt,Rt)}}tr&&(mt+=Lt.length-1)}}if(Ni&&Ni.polyCount.length>0){if(Ni.borders){Ni.vertexArrayOffset=this.centroidVertexArray.length;const Se=Ni.borders,Ge=this.featuresOnBorder.push(Ni)-1;for(let mt=0;mt<4;mt++)Se[mt][0]!==Number.MAX_VALUE&&this.borders[mt].push(Ge)}this.encodeCentroid(Ni.borders?void 0:Ni.centroid(),Ni)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,Se,mt,Lt,Rt,Dt)}sortBorders(){for(let Se=0;Se<4;Se++)this.borders[Se].sort(((Ge,mt)=>this.featuresOnBorder[Ge].borders[Se][0]-this.featuresOnBorder[mt].borders[Se][0]))}encodeCentroid(Se,Ge,mt=!0){let Dt,Lt;if(Se)if(0!==Se.y){const mt=Ge.span()._mult(this.tileToMeter);Dt=(Math.max(Se.x,1)<<3)+Math.min(7,Math.round(mt.x/10)),Lt=(Math.max(Se.y,1)<<3)+Math.min(7,Math.round(mt.y/10))}else Dt=Math.ceil(7*(Se.x+450)),Lt=0;else Dt=0,Lt=+mt;let Rt=mt?this.centroidVertexArray.length:Ge.vertexArrayOffset;for(const Se of Ge.polyCount){mt&&this.centroidVertexArray.resize(this.centroidVertexArray.length+4*Se.edges+Se.top);for(let Ge=0;Ge<Se.top;Ge++)this.centroidVertexArray.emplace(Rt++,Dt,Lt);for(let Ge=0;Ge<2*Se.edges;Ge++)this.centroidVertexArray.emplace(Rt++,0,Lt),this.centroidVertexArray.emplace(Rt++,Dt,Lt)}}}function eh(Se,Ge){const mt=Se.add(Ge)._unit();return Se.x*mt.x+Se.y*mt.y}function rh(Se,Ge,mt,Dt){const Lt=Ge.sub(Se)._perp()._unit(),Rt=mt.sub(Ge)._perp()._unit();return nh(Se,Ge,mt,eh(Lt,Rt),Dt)}function nh(Se,Ge,mt,Dt,Lt){const Rt=Math.sqrt(1-Dt*Dt);return Math.min(Se.dist(Ge)/3,Ge.dist(mt)/3,Lt*Rt/Dt)}function ih(Se,Ge,mt){return Se.x<mt[0].x&&Ge.x<mt[0].x||Se.x>mt[1].x&&Ge.x>mt[1].x||Se.y<mt[0].y&&Ge.y<mt[0].y||Se.y>mt[1].y&&Ge.y>mt[1].y}function sh(Se,Ge,mt){if(Se.x<0||Se.x>=wp||Ge.x<0||Ge.x>=wp||mt.x<0||mt.x>=wp)return!1;const Dt=mt.sub(Ge),Lt=Dt.perp(),Rt=Se.sub(Ge);return(Dt.x*Rt.x+Dt.y*Rt.y)/Math.sqrt((Dt.x*Dt.x+Dt.y*Dt.y)*(Rt.x*Rt.x+Rt.y*Rt.y))>-.866&&Lt.x*Rt.x+Lt.y*Rt.y<0}function ah(Se,Ge,mt){const Dt=Ge?2|Se:-3&Se;return mt?1|Dt:-2&Dt}function oh(){const Se=Math.PI/32,Ge=Math.tan(Se),mt=em;return mt*Math.sqrt(1+2*Ge*Ge)-mt}function lh(Se,Ge,mt){const Dt=1<<mt.z,Lt=Kl(mt.x/Dt),Rt=Kl((mt.x+1)/Dt),Bt=Xl(mt.y/Dt),Ft=Xl((mt.y+1)/Dt);return function(Se,Ge,mt,Dt,Lt=0,Rt){const Bt=[];if(!Se.length||!mt||!Dt)return Bt;const o=(Se,Ge)=>{for(const mt of Se)Bt.push({polygon:mt,bounds:Ge})},Ft=Math.ceil(Math.log2(mt)),Ot=Math.ceil(Math.log2(Dt)),$t=Ft-Ot,Ni=[];for(let Se=0;Se<Math.abs($t);Se++)Ni.push($t>0?0:1);for(let Se=0;Se<Math.min(Ft,Ot);Se++)Ni.push(0),Ni.push(1);let tr=Se;if(tr=Xc(tr,Ge[0].y-Lt,Ge[1].y+Lt,1),tr=Xc(tr,Ge[0].x-Lt,Ge[1].x+Lt,0),!tr.length)return Bt;const Lr=[];for(Ni.length?Lr.push({polygons:tr,bounds:Ge,depth:0}):o(tr,Ge);Lr.length;){const Se=Lr.pop(),Ge=Se.depth,mt=Ni[Ge],Dt=Se.bounds[0],Bt=Se.bounds[1],Ft=0===mt?Dt.x:Dt.y,Ot=0===mt?Bt.x:Bt.y,$t=Rt?Rt(mt,Ft,Ot):.5*(Ft+Ot),tr=Xc(Se.polygons,Ft-Lt,$t+Lt,mt),Rr=Xc(Se.polygons,$t-Lt,Ot+Lt,mt);if(tr.length){const Se=[Dt,new ln(0===mt?$t:Bt.x,1===mt?$t:Bt.y)];Ni.length>Ge+1?Lr.push({polygons:tr,bounds:Se,depth:Ge+1}):o(tr,Se)}if(Rr.length){const Se=[new ln(0===mt?$t:Dt.x,1===mt?$t:Dt.y),Bt];Ni.length>Ge+1?Lr.push({polygons:Rr,bounds:Se,depth:Ge+1}):o(Rr,Se)}}return Bt}(Se,Ge,Math.ceil((Rt-Lt)/11.25),Math.ceil((Bt-Ft)/11.25),1,((Se,Ge,Lt)=>{if(0===Se)return.5*(Ge+Lt);{const Se=Xl((mt.y+Ge/wp)/Dt);return(Gl(.5*(Xl((mt.y+Lt/wp)/Dt)+Se))*Dt-mt.y)*wp}}))}Ji(th,\"FillExtrusionBucket\",{omit:[\"layers\",\"features\"]}),Ji(Qc,\"PartMetadata\");const Dm=new Ps({\"fill-extrusion-edge-radius\":new Bs(Ha[\"layout_fill-extrusion\"][\"fill-extrusion-edge-radius\"])});var km={paint:new Ps({\"fill-extrusion-opacity\":new Bs(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Es(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Bs(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Bs(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Es(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Es(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Es(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Bs(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"]),\"fill-extrusion-ambient-occlusion-intensity\":new Bs(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-ambient-occlusion-intensity\"]),\"fill-extrusion-ambient-occlusion-radius\":new Bs(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-ambient-occlusion-radius\"]),\"fill-extrusion-rounded-roof\":new Bs(Ha[\"paint_fill-extrusion\"][\"fill-extrusion-rounded-roof\"])}),layout:Dm};function hh(Se,Ge,mt){var Dt=2*Math.PI*6378137/256/Math.pow(2,mt);return[Se*Dt-2*Math.PI*6378137/2,Ge*Dt-2*Math.PI*6378137/2]}class ph{constructor(Se,Ge,mt){this.z=Se,this.x=Ge,this.y=mt,this.key=yh(0,Se,Se,Ge,mt)}equals(Se){return this.z===Se.z&&this.x===Se.x&&this.y===Se.y}url(Se,Ge){const mt=function(Se,Ge,mt){var Dt=hh(256*Se,256*(Ge=Math.pow(2,mt)-Ge-1),mt),Lt=hh(256*(Se+1),256*(Ge+1),mt);return Dt[0]+\",\"+Dt[1]+\",\"+Lt[0]+\",\"+Lt[1]}(this.x,this.y,this.z),Dt=function(Se,Ge,mt){let Dt,Lt=\"\";for(let Rt=Se;Rt>0;Rt--)Dt=1<<Rt-1,Lt+=(Ge&Dt?1:0)+(mt&Dt?2:0);return Lt}(this.z,this.x,this.y);return Se[(this.x+this.y)%Se.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(\"tms\"===Ge?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",Dt).replace(\"{bbox-epsg-3857}\",mt)}toString(){return`${this.z}/${this.x}/${this.y}`}}class dh{constructor(Se,Ge){this.wrap=Se,this.canonical=Ge,this.key=yh(Se,Ge.z,Ge.z,Ge.x,Ge.y)}}class fh{constructor(Se,Ge,mt,Dt,Lt){this.overscaledZ=Se,this.wrap=Ge,this.canonical=new ph(mt,+Dt,+Lt),this.key=0===Ge&&Se===mt?this.canonical.key:yh(Ge,Se,mt,Dt,Lt)}equals(Se){return this.overscaledZ===Se.overscaledZ&&this.wrap===Se.wrap&&this.canonical.equals(Se.canonical)}scaledTo(Se){const Ge=this.canonical.z-Se;return Se>this.canonical.z?new fh(Se,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new fh(Se,this.wrap,Se,this.canonical.x>>Ge,this.canonical.y>>Ge)}calculateScaledKey(Se,Ge=!0){if(this.overscaledZ===Se&&Ge)return this.key;if(Se>this.canonical.z)return yh(this.wrap*+Ge,Se,this.canonical.z,this.canonical.x,this.canonical.y);{const mt=this.canonical.z-Se;return yh(this.wrap*+Ge,Se,Se,this.canonical.x>>mt,this.canonical.y>>mt)}}isChildOf(Se){if(Se.wrap!==this.wrap)return!1;const Ge=this.canonical.z-Se.canonical.z;return 0===Se.overscaledZ||Se.overscaledZ<this.overscaledZ&&Se.canonical.x===this.canonical.x>>Ge&&Se.canonical.y===this.canonical.y>>Ge}children(Se){if(this.overscaledZ>=Se)return[new fh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const Ge=this.canonical.z+1,mt=2*this.canonical.x,Dt=2*this.canonical.y;return[new fh(Ge,this.wrap,Ge,mt,Dt),new fh(Ge,this.wrap,Ge,mt+1,Dt),new fh(Ge,this.wrap,Ge,mt,Dt+1),new fh(Ge,this.wrap,Ge,mt+1,Dt+1)]}isLessThan(Se){return this.wrap<Se.wrap||!(this.wrap>Se.wrap)&&(this.overscaledZ<Se.overscaledZ||!(this.overscaledZ>Se.overscaledZ)&&(this.canonical.x<Se.canonical.x||!(this.canonical.x>Se.canonical.x)&&this.canonical.y<Se.canonical.y))}wrapped(){return new fh(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(Se){return new fh(this.overscaledZ,Se,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)}toUnwrapped(){return new dh(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}}function yh(Se,Ge,mt,Dt,Lt){const Rt=1<<Math.min(mt,22);let Bt=Rt*(Lt%Rt)+Dt%Rt;return Se&&mt<22&&(Bt+=Rt*Rt*((Se<0?-2*Se-1:2*Se)%(1<<2*(22-mt)))),16*(32*Bt+mt)+(Ge-mt)}Ji(ph,\"CanonicalTileID\"),Ji(fh,\"OverscaledTileID\",{omit:[\"projMatrix\"]});class mh extends ln{constructor(Se,Ge,mt){super(Se,Ge),this.z=mt}}function gh(Se,Ge){return Se.x*Ge.x+Se.y*Ge.y}function xh(Se,Ge){if(1===Se.length){let mt=0;const Dt=Ge[mt++];let Lt;for(;!Lt||Dt.equals(Lt);)if(Lt=Ge[mt++],!Lt)return 1/0;for(;mt<Ge.length;mt++){const Rt=Ge[mt],Bt=Se[0],Ft=Lt.sub(Dt),Ot=Rt.sub(Dt),$t=Bt.sub(Dt),Ni=gh(Ft,Ft),tr=gh(Ft,Ot),Lr=gh(Ot,Ot),Rr=gh($t,Ft),Qr=gh($t,Ot),an=Ni*Lr-tr*tr,ln=(Lr*Rr-tr*Qr)/an,pn=(Ni*Qr-tr*Rr)/an,fn=Dt.z*(1-ln-pn)+Lt.z*ln+Rt.z*pn;if(isFinite(fn))return fn}return 1/0}{let Se=1/0;for(const mt of Ge)Se=Math.min(Se,mt.z);return Se}}function vh(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Bt*Lt.getElevationAt(Se,Ge,!0,!0),$t=0!==Rt[0],Ni=$t?0===Rt[1]?Bt*(Rt[0]/7-450):Bt*function(Se,Ge,mt){const Dt=Math.floor(Ge[0]/8),Lt=Math.floor(Ge[1]/8),Rt=10*(Ge[0]-8*Dt),Bt=10*(Ge[1]-8*Lt),Ft=Se.getElevationAt(Dt,Lt,!0,!0),Ot=Se.getMeterToDEM(mt),$t=Math.floor(.5*(Rt*Ot-1)),Ni=Math.floor(.5*(Bt*Ot-1)),tr=Se.tileCoordToPixel(Dt,Lt),Lr=2*$t+1,Rr=2*Ni+1,Qr=function(Se,Ge,mt,Dt,Lt){return[Se.getElevationAtPixel(Ge,mt,!0),Se.getElevationAtPixel(Ge+Lt,mt,!0),Se.getElevationAtPixel(Ge,mt+Lt,!0),Se.getElevationAtPixel(Ge+Dt,mt+Lt,!0)]}(Se,tr.x-$t,tr.y-Ni,Lr,Rr),an=Math.abs(Qr[0]-Qr[1]),ln=Math.abs(Qr[2]-Qr[3]),pn=Math.abs(Qr[0]-Qr[2])+Math.abs(Qr[1]-Qr[3]),fn=Math.min(.25,.5*Ot*(an+ln)/Lr),mn=Math.min(.25,.5*Ot*pn/Rr);return Ft+Math.max(fn*Rt,mn*Bt)}(Lt,Rt,Ft):Ot;return{base:Ot+(0===mt)?-1:mt,top:$t?Math.max(Ni+Dt,Ot+mt+2):Ot+Dt}}const Lm=Rs([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"},{name:\"a_linesofar\",components:1,type:\"Float32\"}],4),{members:Rm}=Lm,Bm=Rs([{name:\"a_packed\",components:4,type:\"Float32\"}]),{members:Fm}=Bm,Om=Cm.types,Um=Math.cos(Math.PI/180*37.5);class Ih{constructor(Se){this.zoom=Se.zoom,this.overscaling=Se.overscaling,this.layers=Se.layers,this.layerIds=this.layers.map((Se=>Se.id)),this.index=Se.index,this.projection=Se.projection,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((Se=>{this.gradients[Se.id]={}})),this.layoutVertexArray=new qs,this.layoutVertexArray2=new Ns,this.indexArray=new ra,this.programConfigurations=new Ja(Se.layers,Se.zoom),this.segments=new so,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((Se=>Se.isStateDependent())).map((Se=>Se.id))}populate(Se,Ge,mt,Dt){this.hasPattern=kc(\"line\",this.layers,Ge);const Lt=this.layers[0].layout.get(\"line-sort-key\"),Rt=[];for(const{feature:Ge,id:Bt,index:Ft,sourceLayerIndex:Ot}of Se){const Se=this.layers[0]._featureFilter.needGeometry,$t=ou(Ge,Se);if(!this.layers[0]._featureFilter.filter(new ws(this.zoom),$t,mt))continue;const Ni=Lt?Lt.evaluate($t,{},mt):void 0,tr={id:Bt,properties:Ge.properties,type:Ge.type,sourceLayerIndex:Ot,index:Ft,geometry:Se?$t.geometry:au(Ge,mt,Dt),patterns:{},sortKey:Ni};Rt.push(tr)}Lt&&Rt.sort(((Se,Ge)=>Se.sortKey-Ge.sortKey));const{lineAtlas:Bt,featureIndex:Ft}=Ge,Ot=this.addConstantDashes(Bt);for(const Dt of Rt){const{geometry:Lt,index:Rt,sourceLayerIndex:$t}=Dt;if(Ot&&this.addFeatureDashes(Dt,Bt),this.hasPattern){const Se=Ic(\"line\",this.layers,Dt,this.zoom,Ge);this.patternFeatures.push(Se)}else this.addFeature(Dt,Lt,Rt,mt,Bt.positions,Ge.availableImages);Ft.insert(Se[Rt].feature,Lt,Rt,$t,this.index)}}addConstantDashes(Se){let Ge=!1;for(const mt of this.layers){const Dt=mt.paint.get(\"line-dasharray\").value,Lt=mt.layout.get(\"line-cap\").value;if(\"constant\"!==Dt.kind||\"constant\"!==Lt.kind)Ge=!0;else{const Ge=Lt.value,mt=Dt.value;if(!mt)continue;Se.addDash(mt,Ge)}}return Ge}addFeatureDashes(Se,Ge){const mt=this.zoom;for(const Dt of this.layers){const Lt=Dt.paint.get(\"line-dasharray\").value,Rt=Dt.layout.get(\"line-cap\").value;if(\"constant\"===Lt.kind&&\"constant\"===Rt.kind)continue;let Bt,Ft;if(\"constant\"===Lt.kind){if(Bt=Lt.value,!Bt)continue}else Bt=Lt.evaluate({zoom:mt},Se);Ft=\"constant\"===Rt.kind?Rt.value:Rt.evaluate({zoom:mt},Se),Ge.addDash(Bt,Ft),Se.patterns[Dt.id]=Ge.getKey(Bt,Ft)}}update(Se,Ge,mt,Dt){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(Se,Ge,this.stateDependentLayers,mt,Dt)}addFeatures(Se,Ge,mt,Dt,Lt){for(const Se of this.patternFeatures)this.addFeature(Se,Se.geometry,Se.index,Ge,mt,Dt)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(Se){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=Se.createVertexBuffer(this.layoutVertexArray2,Fm)),this.layoutVertexBuffer=Se.createVertexBuffer(this.layoutVertexArray,Rm),this.indexBuffer=Se.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(Se),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(Se){if(Se.properties&&Se.properties.hasOwnProperty(\"mapbox_clip_start\")&&Se.properties.hasOwnProperty(\"mapbox_clip_end\"))return{start:+Se.properties.mapbox_clip_start,end:+Se.properties.mapbox_clip_end}}addFeature(Se,Ge,mt,Dt,Lt,Rt){const Bt=this.layers[0].layout,Ft=Bt.get(\"line-join\").evaluate(Se,{}),Ot=Bt.get(\"line-cap\").evaluate(Se,{}),$t=Bt.get(\"line-miter-limit\"),Ni=Bt.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(Se);for(const mt of Ge)this.addLine(mt,Se,Ft,Ot,$t,Ni);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,Se,mt,Lt,Rt,Dt)}addLine(Se,Ge,mt,Dt,Lt,Rt){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Ge=0;Ge<Se.length-1;Ge++)this.totalDistance+=Se[Ge].dist(Se[Ge+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}const Bt=\"Polygon\"===Om[Ge.type];let Ft=Se.length;for(;Ft>=2&&Se[Ft-1].equals(Se[Ft-2]);)Ft--;let Ot=0;for(;Ot<Ft-1&&Se[Ot].equals(Se[Ot+1]);)Ot++;if(Ft<(Bt?3:2))return;\"bevel\"===mt&&(Lt=1.05);const $t=this.overscaling<=16?15*wp/(512*this.overscaling):0,Ni=this.segments.prepareSegment(10*Ft,this.layoutVertexArray,this.indexArray);let tr,Lr,Rr,Qr,an;this.e1=this.e2=-1,Bt&&(tr=Se[Ft-2],an=Se[Ot].sub(tr)._unit()._perp());for(let Ge=Ot;Ge<Ft;Ge++){if(Rr=Ge===Ft-1?Bt?Se[Ot+1]:void 0:Se[Ge+1],Rr&&Se[Ge].equals(Rr))continue;an&&(Qr=an),tr&&(Lr=tr),tr=Se[Ge],an=Rr?Rr.sub(tr)._unit()._perp():Qr,Qr=Qr||an;let ln=Qr.add(an);0===ln.x&&0===ln.y||ln._unit();const pn=Qr.x*an.x+Qr.y*an.y,fn=ln.x*an.x+ln.y*an.y,mn=0!==fn?1/fn:1/0,_n=2*Math.sqrt(2-2*fn),bn=fn<Um&&Lr&&Rr,wn=Qr.x*an.y-Qr.y*an.x>0;if(bn&&Ge>Ot){const Se=tr.dist(Lr);if(Se>2*$t){const Ge=tr.sub(tr.sub(Lr)._mult($t/Se)._round());this.updateDistance(Lr,Ge),this.addCurrentVertex(Ge,Qr,0,0,Ni),Lr=Ge}}const Tn=Lr&&Rr;let Sn=Tn?mt:Bt?\"butt\":Dt;if(Tn&&\"round\"===Sn&&(mn<Rt?Sn=\"miter\":mn<=2&&(Sn=\"fakeround\")),\"miter\"===Sn&&mn>Lt&&(Sn=\"bevel\"),\"bevel\"===Sn&&(mn>2&&(Sn=\"flipbevel\"),mn<Lt&&(Sn=\"miter\")),Lr&&this.updateDistance(Lr,tr),\"miter\"===Sn)ln._mult(mn),this.addCurrentVertex(tr,ln,0,0,Ni);else if(\"flipbevel\"===Sn){if(mn>100)ln=an.mult(-1);else{const Se=mn*Qr.add(an).mag()/Qr.sub(an).mag();ln._perp()._mult(Se*(wn?-1:1))}this.addCurrentVertex(tr,ln,0,0,Ni),this.addCurrentVertex(tr,ln.mult(-1),0,0,Ni)}else if(\"bevel\"===Sn||\"fakeround\"===Sn){const Se=-Math.sqrt(mn*mn-1),Ge=wn?Se:0,mt=wn?0:Se;if(Lr&&this.addCurrentVertex(tr,Qr,Ge,mt,Ni),\"fakeround\"===Sn){const Se=Math.round(180*_n/Math.PI/20);for(let Ge=1;Ge<Se;Ge++){let mt=Ge/Se;if(.5!==mt){const Se=mt-.5;mt+=mt*Se*(mt-1)*((1.0904+pn*(pn*(3.55645-1.43519*pn)-3.2452))*Se*Se+(.848013+pn*(.215638*pn-1.06021)))}const Dt=an.sub(Qr)._mult(mt)._add(Qr)._unit()._mult(wn?-1:1);this.addHalfVertex(tr,Dt.x,Dt.y,!1,wn,0,Ni)}}Rr&&this.addCurrentVertex(tr,an,-Ge,-mt,Ni)}else if(\"butt\"===Sn)this.addCurrentVertex(tr,ln,0,0,Ni);else if(\"square\"===Sn){const Se=Lr?1:-1;Lr||this.addCurrentVertex(tr,ln,Se,Se,Ni),this.addCurrentVertex(tr,ln,0,0,Ni),Lr&&this.addCurrentVertex(tr,ln,Se,Se,Ni)}else\"round\"===Sn&&(Lr&&(this.addCurrentVertex(tr,Qr,0,0,Ni),this.addCurrentVertex(tr,Qr,1,1,Ni,!0)),Rr&&(this.addCurrentVertex(tr,an,-1,-1,Ni,!0),this.addCurrentVertex(tr,an,0,0,Ni)));if(bn&&Ge<Ft-1){const Se=tr.dist(Rr);if(Se>2*$t){const Ge=tr.add(Rr.sub(tr)._mult($t/Se)._round());this.updateDistance(tr,Ge),this.addCurrentVertex(Ge,an,0,0,Ni),tr=Ge}}}}addCurrentVertex(Se,Ge,mt,Dt,Lt,Rt=!1){const Bt=Ge.y*Dt-Ge.x,Ft=-Ge.y-Ge.x*Dt;this.addHalfVertex(Se,Ge.x+Ge.y*mt,Ge.y-Ge.x*mt,Rt,!1,mt,Lt),this.addHalfVertex(Se,Bt,Ft,Rt,!0,-Dt,Lt)}addHalfVertex({x:Se,y:Ge},mt,Dt,Lt,Rt,Bt,Ft){this.layoutVertexArray.emplaceBack((Se<<1)+(Lt?1:0),(Ge<<1)+(Rt?1:0),Math.round(63*mt)+128,Math.round(63*Dt)+128,1+(0===Bt?0:Bt<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineClips.start,this.lineClips.end);const Ot=Ft.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Ot),Ft.primitiveLength++),Rt?this.e2=Ot:this.e1=Ot}updateScaledDistance(){if(this.lineClips){const Se=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=Se*this.lineClips.start+this.distance}else this.lineSoFar=this.distance}updateDistance(Se,Ge){this.distance+=Se.dist(Ge),this.updateScaledDistance()}}Ji(Ih,\"LineBucket\",{omit:[\"layers\",\"patternFeatures\"]});const Nm=new Ps({\"line-cap\":new Es(Ha.layout_line[\"line-cap\"]),\"line-join\":new Es(Ha.layout_line[\"line-join\"]),\"line-miter-limit\":new Bs(Ha.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Bs(Ha.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Es(Ha.layout_line[\"line-sort-key\"])});var Vm={paint:new Ps({\"line-opacity\":new Es(Ha.paint_line[\"line-opacity\"]),\"line-color\":new Es(Ha.paint_line[\"line-color\"]),\"line-translate\":new Bs(Ha.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Bs(Ha.paint_line[\"line-translate-anchor\"]),\"line-width\":new Es(Ha.paint_line[\"line-width\"]),\"line-gap-width\":new Es(Ha.paint_line[\"line-gap-width\"]),\"line-offset\":new Es(Ha.paint_line[\"line-offset\"]),\"line-blur\":new Es(Ha.paint_line[\"line-blur\"]),\"line-dasharray\":new Es(Ha.paint_line[\"line-dasharray\"]),\"line-pattern\":new Es(Ha.paint_line[\"line-pattern\"]),\"line-gradient\":new Cs(Ha.paint_line[\"line-gradient\"]),\"line-trim-offset\":new Bs(Ha.paint_line[\"line-trim-offset\"])}),layout:Nm};const jm=new class extends Es{possiblyEvaluate(Se,Ge){return Ge=new ws(Math.floor(Ge.zoom),{now:Ge.now,fadeDuration:Ge.fadeDuration,transition:Ge.transition}),super.possiblyEvaluate(Se,Ge)}evaluate(Se,Ge,mt,Dt){return Ge=C({},Ge,{zoom:Math.floor(Ge.zoom)}),super.evaluate(Se,Ge,mt,Dt)}}(Vm.paint.properties[\"line-width\"].specification);function Bh(Se,Ge){return Ge>0?Ge+2*Se:Se}jm.useIntegerZoom=!0;const Gm=Rs([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_tex_size\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Zm=Rs([{name:\"a_globe_anchor\",components:3,type:\"Int16\"},{name:\"a_globe_normal\",components:3,type:\"Float32\"}],4),$m=Rs([{name:\"a_projected_pos\",components:4,type:\"Float32\"}],4);Rs([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const qm=Rs([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]),Xm=Rs([{name:\"a_size_scale\",components:1,type:\"Float32\"},{name:\"a_padding\",components:2,type:\"Float32\"}]);Rs([{type:\"Int16\",name:\"projectedAnchorX\"},{type:\"Int16\",name:\"projectedAnchorY\"},{type:\"Int16\",name:\"projectedAnchorZ\"},{type:\"Int16\",name:\"tileAnchorX\"},{type:\"Int16\",name:\"tileAnchorY\"},{type:\"Float32\",name:\"x1\"},{type:\"Float32\",name:\"y1\"},{type:\"Float32\",name:\"x2\"},{type:\"Float32\",name:\"y2\"},{type:\"Int16\",name:\"padding\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);const Wm=Rs([{name:\"a_pos\",components:3,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),Hm=Rs([{name:\"a_pos_2f\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);Rs([{name:\"triangle\",components:3,type:\"Uint16\"}]),Rs([{type:\"Int16\",name:\"projectedAnchorX\"},{type:\"Int16\",name:\"projectedAnchorY\"},{type:\"Int16\",name:\"projectedAnchorZ\"},{type:\"Float32\",name:\"tileAnchorX\"},{type:\"Float32\",name:\"tileAnchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"},{type:\"Uint8\",name:\"flipState\"}]),Rs([{type:\"Int16\",name:\"projectedAnchorX\"},{type:\"Int16\",name:\"projectedAnchorY\"},{type:\"Int16\",name:\"projectedAnchorZ\"},{type:\"Float32\",name:\"tileAnchorX\"},{type:\"Float32\",name:\"tileAnchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Rs([{type:\"Float32\",name:\"offsetX\"}]),Rs([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"}]);var Jm=24;const Ym=128;function $h(Se,Ge){const{expression:mt}=Ge;if(\"constant\"===mt.kind)return{kind:\"constant\",layoutSize:mt.evaluate(new ws(Se+1))};if(\"source\"===mt.kind)return{kind:\"source\"};{const{zoomStops:Ge,interpolationType:Dt}=mt;let Lt=0;for(;Lt<Ge.length&&Ge[Lt]<=Se;)Lt++;Lt=Math.max(0,Lt-1);let Rt=Lt;for(;Rt<Ge.length&&Ge[Rt]<Se+1;)Rt++;Rt=Math.min(Ge.length-1,Rt);const Bt=Ge[Lt],Ft=Ge[Rt];return\"composite\"===mt.kind?{kind:\"composite\",minZoom:Bt,maxZoom:Ft,interpolationType:Dt}:{kind:\"camera\",minZoom:Bt,maxZoom:Ft,minSize:mt.evaluate(new ws(Bt)),maxSize:mt.evaluate(new ws(Ft)),interpolationType:Dt}}}function jh(Se,{uSize:Ge,uSizeT:mt},{lowerSize:Dt,upperSize:Lt}){return\"source\"===Se.kind?Dt/Ym:\"composite\"===Se.kind?Er(Dt/Ym,Lt/Ym,mt):Ge}function Oh(Se,Ge){let mt=0,Dt=0;if(\"constant\"===Se.kind)Dt=Se.layoutSize;else if(\"source\"!==Se.kind){const{interpolationType:Lt,minZoom:Rt,maxZoom:Bt}=Se,Ft=Lt?M(Eh.interpolationFactor(Lt,Ge,Rt,Bt),0,1):0;\"camera\"===Se.kind?Dt=Er(Se.minSize,Se.maxSize,Ft):mt=Ft}return{uSizeT:mt,uSize:Dt}}var Km=Object.freeze({__proto__:null,SIZE_PACK_FACTOR:Ym,evaluateSizeForFeature:jh,evaluateSizeForZoom:Oh,getSizeData:$h});function Nh(Se,Ge,mt){return Se.sections.forEach((Se=>{Se.text=function(Se,Ge,mt){const Dt=Ge.layout.get(\"text-transform\").evaluate(mt,{});return\"uppercase\"===Dt?Se=Se.toLocaleUpperCase():\"lowercase\"===Dt&&(Se=Se.toLocaleLowerCase()),nd.applyArabicShaping&&(Se=nd.applyArabicShaping(Se)),Se}(Se.text,Ge,mt)})),Se}const Qm={\"!\":\"︕\",\"#\":\"＃\",$:\"＄\",\"%\":\"％\",\"&\":\"＆\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"＊\",\"+\":\"＋\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"／\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"＝\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"＠\",\"[\":\"﹇\",\"\\\\\":\"＼\",\"]\":\"﹈\",\"^\":\"＾\",_:\"︳\",\"`\":\"｀\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"～\",\"¢\":\"￠\",\"£\":\"￡\",\"¥\":\"￥\",\"¦\":\"￤\",\"¬\":\"￢\",\"¯\":\"￣\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"￦\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"！\":\"︕\",\"（\":\"︵\",\"）\":\"︶\",\"，\":\"︐\",\"－\":\"︲\",\"．\":\"・\",\"：\":\"︓\",\"；\":\"︔\",\"＜\":\"︿\",\"＞\":\"﹀\",\"？\":\"︖\",\"［\":\"﹇\",\"］\":\"﹈\",\"＿\":\"︳\",\"｛\":\"︷\",\"｜\":\"―\",\"｝\":\"︸\",\"｟\":\"︵\",\"｠\":\"︶\",\"｡\":\"︒\",\"｢\":\"﹁\",\"｣\":\"﹂\",\"←\":\"↑\",\"→\":\"↓\"};function Zh(Se){return\"︶\"===Se||\"﹈\"===Se||\"︸\"===Se||\"﹄\"===Se||\"﹂\"===Se||\"︾\"===Se||\"︼\"===Se||\"︺\"===Se||\"︘\"===Se||\"﹀\"===Se||\"︐\"===Se||\"︓\"===Se||\"︔\"===Se||\"｀\"===Se||\"￣\"===Se||\"︑\"===Se||\"︒\"===Se}function Kh(Se){return\"︵\"===Se||\"﹇\"===Se||\"︷\"===Se||\"﹃\"===Se||\"﹁\"===Se||\"︽\"===Se||\"︻\"===Se||\"︹\"===Se||\"︗\"===Se||\"︿\"===Se}var e_=Yh,Jh=function(Se,Ge,mt,Dt,Lt){var Rt,Bt,Ft=8*Lt-Dt-1,Ot=(1<<Ft)-1,$t=Ot>>1,Ni=-7,tr=mt?Lt-1:0,Lr=mt?-1:1,Rr=Se[Ge+tr];for(tr+=Lr,Rt=Rr&(1<<-Ni)-1,Rr>>=-Ni,Ni+=Ft;Ni>0;Rt=256*Rt+Se[Ge+tr],tr+=Lr,Ni-=8);for(Bt=Rt&(1<<-Ni)-1,Rt>>=-Ni,Ni+=Dt;Ni>0;Bt=256*Bt+Se[Ge+tr],tr+=Lr,Ni-=8);if(0===Rt)Rt=1-$t;else{if(Rt===Ot)return Bt?NaN:1/0*(Rr?-1:1);Bt+=Math.pow(2,Dt),Rt-=$t}return(Rr?-1:1)*Bt*Math.pow(2,Rt-Dt)},Hh=function(Se,Ge,mt,Dt,Lt,Rt){var Bt,Ft,Ot,$t=8*Rt-Lt-1,Ni=(1<<$t)-1,tr=Ni>>1,Lr=23===Lt?Math.pow(2,-24)-Math.pow(2,-77):0,Rr=Dt?0:Rt-1,Qr=Dt?1:-1,an=Ge<0||0===Ge&&1/Ge<0?1:0;for(Ge=Math.abs(Ge),isNaN(Ge)||Ge===1/0?(Ft=isNaN(Ge)?1:0,Bt=Ni):(Bt=Math.floor(Math.log(Ge)/Math.LN2),Ge*(Ot=Math.pow(2,-Bt))<1&&(Bt--,Ot*=2),(Ge+=Bt+tr>=1?Lr/Ot:Lr*Math.pow(2,1-tr))*Ot>=2&&(Bt++,Ot/=2),Bt+tr>=Ni?(Ft=0,Bt=Ni):Bt+tr>=1?(Ft=(Ge*Ot-1)*Math.pow(2,Lt),Bt+=tr):(Ft=Ge*Math.pow(2,tr-1)*Math.pow(2,Lt),Bt=0));Lt>=8;Se[mt+Rr]=255&Ft,Rr+=Qr,Ft/=256,Lt-=8);for(Bt=Bt<<Lt|Ft,$t+=Lt;$t>0;Se[mt+Rr]=255&Bt,Rr+=Qr,Bt/=256,$t-=8);Se[mt+Rr-Qr]|=128*an};function Yh(Se){(this||Ge).buf=ArrayBuffer.isView&&ArrayBuffer.isView(Se)?Se:new Uint8Array(Se||0),(this||Ge).pos=0,(this||Ge).type=0,(this||Ge).length=(this||Ge).buf.length}Yh.Varint=0,Yh.Fixed64=1,Yh.Bytes=2,Yh.Fixed32=5;var t_=4294967296,i_=1/t_,r_=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function ep(Se){return Se.type===Yh.Bytes?Se.readVarint()+Se.pos:Se.pos+1}function rp(Se,Ge,mt){return mt?4294967296*Ge+(Se>>>0):4294967296*(Ge>>>0)+(Se>>>0)}function np(Se,Ge,mt){var Dt=Ge<=16383?1:Ge<=2097151?2:Ge<=268435455?3:Math.floor(Math.log(Ge)/(7*Math.LN2));mt.realloc(Dt);for(var Lt=mt.pos-1;Lt>=Se;Lt--)mt.buf[Lt+Dt]=mt.buf[Lt]}function ip(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeVarint(Se[mt])}function sp(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeSVarint(Se[mt])}function ap(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeFloat(Se[mt])}function op(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeDouble(Se[mt])}function lp(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeBoolean(Se[mt])}function up(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeFixed32(Se[mt])}function cp(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeSFixed32(Se[mt])}function hp(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeFixed64(Se[mt])}function pp(Se,Ge){for(var mt=0;mt<Se.length;mt++)Ge.writeSFixed64(Se[mt])}function dp(Se,Ge){return(Se[Ge]|Se[Ge+1]<<8|Se[Ge+2]<<16)+16777216*Se[Ge+3]}function fp(Se,Ge,mt){Se[mt]=Ge,Se[mt+1]=Ge>>>8,Se[mt+2]=Ge>>>16,Se[mt+3]=Ge>>>24}function yp(Se,Ge){return(Se[Ge]|Se[Ge+1]<<8|Se[Ge+2]<<16)+(Se[Ge+3]<<24)}Yh.prototype={destroy:function(){(this||Ge).buf=null},readFields:function(Se,mt,Dt){for(Dt=Dt||(this||Ge).length;(this||Ge).pos<Dt;){var Lt=this.readVarint(),Rt=Lt>>3,Bt=(this||Ge).pos;(this||Ge).type=7&Lt,Se(Rt,mt,this||Ge),(this||Ge).pos===Bt&&this.skip(Lt)}return mt},readMessage:function(Se,mt){return this.readFields(Se,mt,this.readVarint()+(this||Ge).pos)},readFixed32:function(){var Se=dp((this||Ge).buf,(this||Ge).pos);return(this||Ge).pos+=4,Se},readSFixed32:function(){var Se=yp((this||Ge).buf,(this||Ge).pos);return(this||Ge).pos+=4,Se},readFixed64:function(){var Se=dp((this||Ge).buf,(this||Ge).pos)+dp((this||Ge).buf,(this||Ge).pos+4)*t_;return(this||Ge).pos+=8,Se},readSFixed64:function(){var Se=dp((this||Ge).buf,(this||Ge).pos)+yp((this||Ge).buf,(this||Ge).pos+4)*t_;return(this||Ge).pos+=8,Se},readFloat:function(){var Se=Jh((this||Ge).buf,(this||Ge).pos,!0,23,4);return(this||Ge).pos+=4,Se},readDouble:function(){var Se=Jh((this||Ge).buf,(this||Ge).pos,!0,52,8);return(this||Ge).pos+=8,Se},readVarint:function(Se){var mt,Dt,Lt=(this||Ge).buf;return mt=127&(Dt=Lt[(this||Ge).pos++]),Dt<128?mt:(mt|=(127&(Dt=Lt[(this||Ge).pos++]))<<7,Dt<128?mt:(mt|=(127&(Dt=Lt[(this||Ge).pos++]))<<14,Dt<128?mt:(mt|=(127&(Dt=Lt[(this||Ge).pos++]))<<21,Dt<128?mt:function(Se,Ge,mt){var Dt,Lt,Rt=mt.buf;if(Dt=(112&(Lt=Rt[mt.pos++]))>>4,Lt<128)return rp(Se,Dt,Ge);if(Dt|=(127&(Lt=Rt[mt.pos++]))<<3,Lt<128)return rp(Se,Dt,Ge);if(Dt|=(127&(Lt=Rt[mt.pos++]))<<10,Lt<128)return rp(Se,Dt,Ge);if(Dt|=(127&(Lt=Rt[mt.pos++]))<<17,Lt<128)return rp(Se,Dt,Ge);if(Dt|=(127&(Lt=Rt[mt.pos++]))<<24,Lt<128)return rp(Se,Dt,Ge);if(Dt|=(1&(Lt=Rt[mt.pos++]))<<31,Lt<128)return rp(Se,Dt,Ge);throw new Error(\"Expected varint not more than 10 bytes\")}(mt|=(15&(Dt=Lt[(this||Ge).pos]))<<28,Se,this||Ge))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var Se=this.readVarint();return Se%2==1?(Se+1)/-2:Se/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var Se=this.readVarint()+(this||Ge).pos,mt=(this||Ge).pos;return(this||Ge).pos=Se,Se-mt>=12&&r_?function(Se,Ge,mt){return r_.decode(Se.subarray(Ge,mt))}((this||Ge).buf,mt,Se):function(Se,Ge,mt){for(var Dt=\"\",Lt=Ge;Lt<mt;){var Rt,Bt,Ft,Ot=Se[Lt],$t=null,Ni=Ot>239?4:Ot>223?3:Ot>191?2:1;if(Lt+Ni>mt)break;1===Ni?Ot<128&&($t=Ot):2===Ni?128==(192&(Rt=Se[Lt+1]))&&($t=(31&Ot)<<6|63&Rt)<=127&&($t=null):3===Ni?(Bt=Se[Lt+2],128==(192&(Rt=Se[Lt+1]))&&128==(192&Bt)&&(($t=(15&Ot)<<12|(63&Rt)<<6|63&Bt)<=2047||$t>=55296&&$t<=57343)&&($t=null)):4===Ni&&(Bt=Se[Lt+2],Ft=Se[Lt+3],128==(192&(Rt=Se[Lt+1]))&&128==(192&Bt)&&128==(192&Ft)&&(($t=(15&Ot)<<18|(63&Rt)<<12|(63&Bt)<<6|63&Ft)<=65535||$t>=1114112)&&($t=null)),null===$t?($t=65533,Ni=1):$t>65535&&($t-=65536,Dt+=String.fromCharCode($t>>>10&1023|55296),$t=56320|1023&$t),Dt+=String.fromCharCode($t),Lt+=Ni}return Dt}((this||Ge).buf,mt,Se)},readBytes:function(){var Se=this.readVarint()+(this||Ge).pos,mt=(this||Ge).buf.subarray((this||Ge).pos,Se);return(this||Ge).pos=Se,mt},readPackedVarint:function(Se,mt){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readVarint(mt));var Dt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<Dt;)Se.push(this.readVarint(mt));return Se},readPackedSVarint:function(Se){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readSVarint());var mt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<mt;)Se.push(this.readSVarint());return Se},readPackedBoolean:function(Se){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readBoolean());var mt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<mt;)Se.push(this.readBoolean());return Se},readPackedFloat:function(Se){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readFloat());var mt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<mt;)Se.push(this.readFloat());return Se},readPackedDouble:function(Se){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readDouble());var mt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<mt;)Se.push(this.readDouble());return Se},readPackedFixed32:function(Se){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readFixed32());var mt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<mt;)Se.push(this.readFixed32());return Se},readPackedSFixed32:function(Se){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readSFixed32());var mt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<mt;)Se.push(this.readSFixed32());return Se},readPackedFixed64:function(Se){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readFixed64());var mt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<mt;)Se.push(this.readFixed64());return Se},readPackedSFixed64:function(Se){if((this||Ge).type!==Yh.Bytes)return Se.push(this.readSFixed64());var mt=ep(this||Ge);for(Se=Se||[];(this||Ge).pos<mt;)Se.push(this.readSFixed64());return Se},skip:function(Se){var mt=7&Se;if(mt===Yh.Varint)for(;(this||Ge).buf[(this||Ge).pos++]>127;);else if(mt===Yh.Bytes)(this||Ge).pos=this.readVarint()+(this||Ge).pos;else if(mt===Yh.Fixed32)(this||Ge).pos+=4;else{if(mt!==Yh.Fixed64)throw new Error(\"Unimplemented type: \"+mt);(this||Ge).pos+=8}},writeTag:function(Se,Ge){this.writeVarint(Se<<3|Ge)},realloc:function(Se){for(var mt=(this||Ge).length||16;mt<(this||Ge).pos+Se;)mt*=2;if(mt!==(this||Ge).length){var Dt=new Uint8Array(mt);Dt.set((this||Ge).buf),(this||Ge).buf=Dt,(this||Ge).length=mt}},finish:function(){return(this||Ge).length=(this||Ge).pos,(this||Ge).pos=0,(this||Ge).buf.subarray(0,(this||Ge).length)},writeFixed32:function(Se){this.realloc(4),fp((this||Ge).buf,Se,(this||Ge).pos),(this||Ge).pos+=4},writeSFixed32:function(Se){this.realloc(4),fp((this||Ge).buf,Se,(this||Ge).pos),(this||Ge).pos+=4},writeFixed64:function(Se){this.realloc(8),fp((this||Ge).buf,-1&Se,(this||Ge).pos),fp((this||Ge).buf,Math.floor(Se*i_),(this||Ge).pos+4),(this||Ge).pos+=8},writeSFixed64:function(Se){this.realloc(8),fp((this||Ge).buf,-1&Se,(this||Ge).pos),fp((this||Ge).buf,Math.floor(Se*i_),(this||Ge).pos+4),(this||Ge).pos+=8},writeVarint:function(Se){(Se=+Se||0)>268435455||Se<0?function(Se,Ge){var mt,Dt;if(Se>=0?(mt=Se%4294967296|0,Dt=Se/4294967296|0):(Dt=~(-Se/4294967296),4294967295^(mt=~(-Se%4294967296))?mt=mt+1|0:(mt=0,Dt=Dt+1|0)),Se>=0x10000000000000000||Se<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");Ge.realloc(10),function(Se,Ge,mt){mt.buf[mt.pos++]=127&Se|128,Se>>>=7,mt.buf[mt.pos++]=127&Se|128,Se>>>=7,mt.buf[mt.pos++]=127&Se|128,Se>>>=7,mt.buf[mt.pos++]=127&Se|128,mt.buf[mt.pos]=127&(Se>>>=7)}(mt,0,Ge),function(Se,Ge){var mt=(7&Se)<<4;Ge.buf[Ge.pos++]|=mt|((Se>>>=3)?128:0),Se&&(Ge.buf[Ge.pos++]=127&Se|((Se>>>=7)?128:0),Se&&(Ge.buf[Ge.pos++]=127&Se|((Se>>>=7)?128:0),Se&&(Ge.buf[Ge.pos++]=127&Se|((Se>>>=7)?128:0),Se&&(Ge.buf[Ge.pos++]=127&Se|((Se>>>=7)?128:0),Se&&(Ge.buf[Ge.pos++]=127&Se)))))}(Dt,Ge)}(Se,this||Ge):(this.realloc(4),(this||Ge).buf[(this||Ge).pos++]=127&Se|(Se>127?128:0),Se<=127||((this||Ge).buf[(this||Ge).pos++]=127&(Se>>>=7)|(Se>127?128:0),Se<=127||((this||Ge).buf[(this||Ge).pos++]=127&(Se>>>=7)|(Se>127?128:0),Se<=127||((this||Ge).buf[(this||Ge).pos++]=Se>>>7&127))))},writeSVarint:function(Se){this.writeVarint(Se<0?2*-Se-1:2*Se)},writeBoolean:function(Se){this.writeVarint(Boolean(Se))},writeString:function(Se){Se=String(Se),this.realloc(4*Se.length),(this||Ge).pos++;var mt=(this||Ge).pos;(this||Ge).pos=function(Se,Ge,mt){for(var Dt,Lt,Rt=0;Rt<Ge.length;Rt++){if((Dt=Ge.charCodeAt(Rt))>55295&&Dt<57344){if(!Lt){Dt>56319||Rt+1===Ge.length?(Se[mt++]=239,Se[mt++]=191,Se[mt++]=189):Lt=Dt;continue}if(Dt<56320){Se[mt++]=239,Se[mt++]=191,Se[mt++]=189,Lt=Dt;continue}Dt=Lt-55296<<10|Dt-56320|65536,Lt=null}else Lt&&(Se[mt++]=239,Se[mt++]=191,Se[mt++]=189,Lt=null);Dt<128?Se[mt++]=Dt:(Dt<2048?Se[mt++]=Dt>>6|192:(Dt<65536?Se[mt++]=Dt>>12|224:(Se[mt++]=Dt>>18|240,Se[mt++]=Dt>>12&63|128),Se[mt++]=Dt>>6&63|128),Se[mt++]=63&Dt|128)}return mt}((this||Ge).buf,Se,(this||Ge).pos);var Dt=(this||Ge).pos-mt;Dt>=128&&np(mt,Dt,this||Ge),(this||Ge).pos=mt-1,this.writeVarint(Dt),(this||Ge).pos+=Dt},writeFloat:function(Se){this.realloc(4),Hh((this||Ge).buf,Se,(this||Ge).pos,!0,23,4),(this||Ge).pos+=4},writeDouble:function(Se){this.realloc(8),Hh((this||Ge).buf,Se,(this||Ge).pos,!0,52,8),(this||Ge).pos+=8},writeBytes:function(Se){var mt=Se.length;this.writeVarint(mt),this.realloc(mt);for(var Dt=0;Dt<mt;Dt++)(this||Ge).buf[(this||Ge).pos++]=Se[Dt]},writeRawMessage:function(Se,mt){(this||Ge).pos++;var Dt=(this||Ge).pos;Se(mt,this||Ge);var Lt=(this||Ge).pos-Dt;Lt>=128&&np(Dt,Lt,this||Ge),(this||Ge).pos=Dt-1,this.writeVarint(Lt),(this||Ge).pos+=Lt},writeMessage:function(Se,Ge,mt){this.writeTag(Se,Yh.Bytes),this.writeRawMessage(Ge,mt)},writePackedVarint:function(Se,Ge){Ge.length&&this.writeMessage(Se,ip,Ge)},writePackedSVarint:function(Se,Ge){Ge.length&&this.writeMessage(Se,sp,Ge)},writePackedBoolean:function(Se,Ge){Ge.length&&this.writeMessage(Se,lp,Ge)},writePackedFloat:function(Se,Ge){Ge.length&&this.writeMessage(Se,ap,Ge)},writePackedDouble:function(Se,Ge){Ge.length&&this.writeMessage(Se,op,Ge)},writePackedFixed32:function(Se,Ge){Ge.length&&this.writeMessage(Se,up,Ge)},writePackedSFixed32:function(Se,Ge){Ge.length&&this.writeMessage(Se,cp,Ge)},writePackedFixed64:function(Se,Ge){Ge.length&&this.writeMessage(Se,hp,Ge)},writePackedSFixed64:function(Se,Ge){Ge.length&&this.writeMessage(Se,pp,Ge)},writeBytesField:function(Se,Ge){this.writeTag(Se,Yh.Bytes),this.writeBytes(Ge)},writeFixed32Field:function(Se,Ge){this.writeTag(Se,Yh.Fixed32),this.writeFixed32(Ge)},writeSFixed32Field:function(Se,Ge){this.writeTag(Se,Yh.Fixed32),this.writeSFixed32(Ge)},writeFixed64Field:function(Se,Ge){this.writeTag(Se,Yh.Fixed64),this.writeFixed64(Ge)},writeSFixed64Field:function(Se,Ge){this.writeTag(Se,Yh.Fixed64),this.writeSFixed64(Ge)},writeVarintField:function(Se,Ge){this.writeTag(Se,Yh.Varint),this.writeVarint(Ge)},writeSVarintField:function(Se,Ge){this.writeTag(Se,Yh.Varint),this.writeSVarint(Ge)},writeStringField:function(Se,Ge){this.writeTag(Se,Yh.Bytes),this.writeString(Ge)},writeFloatField:function(Se,Ge){this.writeTag(Se,Yh.Fixed32),this.writeFloat(Ge)},writeDoubleField:function(Se,Ge){this.writeTag(Se,Yh.Fixed64),this.writeDouble(Ge)},writeBooleanField:function(Se,Ge){this.writeVarintField(Se,Boolean(Ge))}};var n_=p(e_);const o_=3;function xp(Se,Ge,mt){Ge.glyphs=[],1===Se&&mt.readMessage(vp,Ge)}function vp(Se,Ge,mt){if(3===Se){const{id:Se,bitmap:Dt,width:Lt,height:Rt,left:Bt,top:Ft,advance:Ot}=mt.readMessage(bp,{});Ge.glyphs.push({id:Se,bitmap:new Ru({width:Lt+2*o_,height:Rt+2*o_},Dt),metrics:{width:Lt,height:Rt,left:Bt,top:Ft,advance:Ot}})}else 4===Se?Ge.ascender=mt.readSVarint():5===Se&&(Ge.descender=mt.readSVarint())}function bp(Se,Ge,mt){1===Se?Ge.id=mt.readVarint():2===Se?Ge.bitmap=mt.readBytes():3===Se?Ge.width=mt.readVarint():4===Se?Ge.height=mt.readVarint():5===Se?Ge.left=mt.readSVarint():6===Se?Ge.top=mt.readSVarint():7===Se&&(Ge.advance=mt.readVarint())}const s_=o_;function _p(Se){let Ge=0,mt=0;for(const Dt of Se)Ge+=Dt.w*Dt.h,mt=Math.max(mt,Dt.w);Se.sort(((Se,Ge)=>Ge.h-Se.h));const Dt=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(Ge/.95)),mt),h:1/0}];let Lt=0,Rt=0;for(const Ge of Se)for(let Se=Dt.length-1;Se>=0;Se--){const mt=Dt[Se];if(!(Ge.w>mt.w||Ge.h>mt.h)){if(Ge.x=mt.x,Ge.y=mt.y,Rt=Math.max(Rt,Ge.y+Ge.h),Lt=Math.max(Lt,Ge.x+Ge.w),Ge.w===mt.w&&Ge.h===mt.h){const Ge=Dt.pop();Se<Dt.length&&(Dt[Se]=Ge)}else Ge.h===mt.h?(mt.x+=Ge.w,mt.w-=Ge.w):Ge.w===mt.w?(mt.y+=Ge.h,mt.h-=Ge.h):(Dt.push({x:mt.x+Ge.w,y:mt.y,w:mt.w-Ge.w,h:Ge.h}),mt.y+=Ge.h,mt.h-=Ge.h);break}}return{w:Lt,h:Rt,fill:Ge/(Lt*Rt)||0}}const a_=1;class Sp{constructor(Se,{pixelRatio:Ge,version:mt,stretchX:Dt,stretchY:Lt,content:Rt}){this.paddedRect=Se,this.pixelRatio=Ge,this.stretchX=Dt,this.stretchY=Lt,this.content=Rt,this.version=mt}get tl(){return[this.paddedRect.x+a_,this.paddedRect.y+a_]}get br(){return[this.paddedRect.x+this.paddedRect.w-a_,this.paddedRect.y+this.paddedRect.h-a_]}get displaySize(){return[(this.paddedRect.w-2*a_)/this.pixelRatio,(this.paddedRect.h-2*a_)/this.pixelRatio]}}class kp{constructor(Se,Ge){const mt={},Dt={};this.haveRenderCallbacks=[];const Lt=[];this.addImages(Se,mt,Lt),this.addImages(Ge,Dt,Lt);const{w:Rt,h:Bt}=_p(Lt),Ft=new Uu({width:Rt||1,height:Bt||1});for(const Ge in Se){const Dt=Se[Ge],Lt=mt[Ge].paddedRect;Uu.copy(Dt.data,Ft,{x:0,y:0},{x:Lt.x+a_,y:Lt.y+a_},Dt.data)}for(const Se in Ge){const mt=Ge[Se],Lt=Dt[Se].paddedRect,Rt=Lt.x+a_,Bt=Lt.y+a_,Ot=mt.data.width,$t=mt.data.height;Uu.copy(mt.data,Ft,{x:0,y:0},{x:Rt,y:Bt},mt.data),Uu.copy(mt.data,Ft,{x:0,y:$t-1},{x:Rt,y:Bt-1},{width:Ot,height:1}),Uu.copy(mt.data,Ft,{x:0,y:0},{x:Rt,y:Bt+$t},{width:Ot,height:1}),Uu.copy(mt.data,Ft,{x:Ot-1,y:0},{x:Rt-1,y:Bt},{width:1,height:$t}),Uu.copy(mt.data,Ft,{x:0,y:0},{x:Rt+Ot,y:Bt},{width:1,height:$t})}this.image=Ft,this.iconPositions=mt,this.patternPositions=Dt}addImages(Se,Ge,mt){for(const Dt in Se){const Lt=Se[Dt],Rt={x:0,y:0,w:Lt.data.width+2*a_,h:Lt.data.height+2*a_};mt.push(Rt),Ge[Dt]=new Sp(Rt,Lt),Lt.hasRenderCallback&&this.haveRenderCallbacks.push(Dt)}}patchUpdatedImages(Se,Ge){this.haveRenderCallbacks=this.haveRenderCallbacks.filter((Ge=>Se.hasImage(Ge))),Se.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const mt in Se.updatedImages)this.patchUpdatedImage(this.iconPositions[mt],Se.getImage(mt),Ge),this.patchUpdatedImage(this.patternPositions[mt],Se.getImage(mt),Ge)}patchUpdatedImage(Se,Ge,mt){if(!Se||!Ge)return;if(Se.version===Ge.version)return;Se.version=Ge.version;const[Dt,Lt]=Se.tl;mt.update(Ge.data,void 0,{x:Dt,y:Lt})}}Ji(Sp,\"ImagePosition\"),Ji(kp,\"ImageAtlas\");const l_={horizontal:1,vertical:2,horizontalOnly:3},c_=-17;class Tp{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null}static forText(Se,Ge){const mt=new Tp;return mt.scale=Se||1,mt.fontStack=Ge,mt}static forImage(Se){const Ge=new Tp;return Ge.imageName=Se,Ge}}class zp{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(Se,Ge){const mt=new zp;for(let Dt=0;Dt<Se.sections.length;Dt++){const Lt=Se.sections[Dt];Lt.image?mt.addImageSection(Lt):mt.addTextSection(Lt,Ge)}return mt}length(){return this.text.length}getSection(Se){return this.sections[this.sectionIndex[Se]]}getSections(){return this.sections}getSectionIndex(Se){return this.sectionIndex[Se]}getCharCode(Se){return this.text.charCodeAt(Se)}verticalizePunctuation(Se){this.text=function(Se,Ge){let mt=\"\";for(let Dt=0;Dt<Se.length;Dt++){const Lt=Se.charCodeAt(Dt+1)||null,Rt=Se.charCodeAt(Dt-1)||null;mt+=!Ge&&(Lt&&ss(Lt)&&!Qm[Se[Dt+1]]||Rt&&ss(Rt)&&!Qm[Se[Dt-1]])||!Qm[Se[Dt]]?Se[Dt]:Qm[Se[Dt]]}return mt}(this.text,Se)}trim(){let Se=0;for(let Ge=0;Ge<this.text.length&&h_[this.text.charCodeAt(Ge)];Ge++)Se++;let Ge=this.text.length;for(let mt=this.text.length-1;mt>=0&&mt>=Se&&h_[this.text.charCodeAt(mt)];mt--)Ge--;this.text=this.text.substring(Se,Ge),this.sectionIndex=this.sectionIndex.slice(Se,Ge)}substring(Se,Ge){const mt=new zp;return mt.text=this.text.substring(Se,Ge),mt.sectionIndex=this.sectionIndex.slice(Se,Ge),mt.sections=this.sections,mt}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((Se,Ge)=>Math.max(Se,this.sections[Ge].scale)),0)}addTextSection(Se,Ge){this.text+=Se.text,this.sections.push(Tp.forText(Se.scale,Se.fontStack||Ge));const mt=this.sections.length-1;for(let Ge=0;Ge<Se.text.length;++Ge)this.sectionIndex.push(mt)}addImageSection(Se){const Ge=Se.image?Se.image.name:\"\";if(0===Ge.length)return void N(\"Can't add FormattedSection with an empty image.\");const mt=this.getNextImageSectionCharCode();mt?(this.text+=String.fromCharCode(mt),this.sections.push(Tp.forImage(Ge)),this.sectionIndex.push(this.sections.length-1)):N(\"Reached maximum number of images 6401\")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Bp(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr){const an=zp.fromFeature(Se,Lt);tr===l_.vertical&&an.verticalizePunctuation(Lr);let ln=[];const pn=function(Se,Ge,mt,Dt,Lt,Rt){if(!Se)return[];const Bt=[],Ft=function(Se,Ge,mt,Dt,Lt,Rt){let Bt=0;for(let mt=0;mt<Se.length();mt++){const Ft=Se.getSection(mt);Bt+=Pp(Se.getCharCode(mt),Ft,Dt,Lt,Ge,Rt)}return Bt/Math.max(1,Math.ceil(Bt/mt))}(Se,Ge,mt,Dt,Lt,Rt),Ot=Se.text.indexOf(\"​\")>=0;let $t=0;for(let mt=0;mt<Se.length();mt++){const tr=Se.getSection(mt),Lr=Se.getCharCode(mt);if(h_[Lr]||($t+=Pp(Lr,tr,Dt,Lt,Ge,Rt)),mt<Se.length()-1){const Ge=!((Ni=Lr)<11904||!(Cu[\"Bopomofo Extended\"](Ni)||Cu.Bopomofo(Ni)||Cu[\"CJK Compatibility Forms\"](Ni)||Cu[\"CJK Compatibility Ideographs\"](Ni)||Cu[\"CJK Compatibility\"](Ni)||Cu[\"CJK Radicals Supplement\"](Ni)||Cu[\"CJK Strokes\"](Ni)||Cu[\"CJK Symbols and Punctuation\"](Ni)||Cu[\"CJK Unified Ideographs Extension A\"](Ni)||Cu[\"CJK Unified Ideographs\"](Ni)||Cu[\"Enclosed CJK Letters and Months\"](Ni)||Cu[\"Halfwidth and Fullwidth Forms\"](Ni)||Cu.Hiragana(Ni)||Cu[\"Ideographic Description Characters\"](Ni)||Cu[\"Kangxi Radicals\"](Ni)||Cu[\"Katakana Phonetic Extensions\"](Ni)||Cu.Katakana(Ni)||Cu[\"Vertical Forms\"](Ni)||Cu[\"Yi Radicals\"](Ni)||Cu[\"Yi Syllables\"](Ni)));(u_[Lr]||Ge||tr.imageName)&&Bt.push(Lp(mt+1,$t,Ft,Bt,Vp(Lr,Se.getCharCode(mt+1),Ge&&Ot),!1))}}var Ni;return Fp(Lp(Se.length(),$t,Ft,Bt,0,!0))}(an,$t,Rt,Ge,Dt,Rr),{processBidirectionalText:fn,processStyledBidirectionalText:mn}=nd;if(fn&&1===an.sections.length){const Se=fn(an.toString(),pn);for(const Ge of Se){const Se=new zp;Se.text=Ge,Se.sections=an.sections;for(let mt=0;mt<Ge.length;mt++)Se.sectionIndex.push(0);ln.push(Se)}}else if(mn){const Se=mn(an.text,an.sectionIndex,pn);for(const Ge of Se){const Se=new zp;Se.text=Ge[0],Se.sectionIndex=Ge[1],Se.sections=an.sections,ln.push(Se)}}else ln=function(Se,Ge){const mt=[],Dt=Se.text;let Lt=0;for(const Dt of Ge)mt.push(Se.substring(Lt,Dt)),Lt=Dt;return Lt<Dt.length&&mt.push(Se.substring(Lt,Dt.length)),mt}(an,pn);const _n=[],bn={positionedLines:_n,text:an.toString(),top:Ni[1],bottom:Ni[1],left:Ni[0],right:Ni[0],writingMode:tr,iconsInText:!1,verticalizable:!1,hasBaseline:!1};return function(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr){let Lr=0,Rr=0,Qr=0;const an=\"right\"===Ft?1:\"left\"===Ft?0:.5;let ln=!1;for(const Se of Lt){const mt=Se.getSections();for(const Se of mt){if(Se.imageName)continue;const mt=Ge[Se.fontStack];if(mt&&(ln=void 0!==mt.ascender&&void 0!==mt.descender,!ln))break}if(!ln)break}let pn=0;for(const Bt of Lt){Bt.trim();const Lt=Bt.getMaxScale(),Ft=(Lt-1)*Jm,mn={positionedGlyphs:[],lineOffset:0};Se.positionedLines[pn]=mn;const _n=mn.positionedGlyphs;let bn=0;if(!Bt.length()){Rr+=Rt,++pn;continue}let wn=0,Tn=0;for(let Rt=0;Rt<Bt.length();Rt++){const Ft=Bt.getSection(Rt),Qr=Bt.getSectionIndex(Rt),an=Bt.getCharCode(Rt);let pn=Ft.scale,mn=null,Sn=null,An=null,Pn=Jm,kn=0;const eo=!(Ot===l_.horizontal||!Ni&&!is(an)||Ni&&(h_[an]||(fn=an,Cu.Arabic(fn)||Cu[\"Arabic Supplement\"](fn)||Cu[\"Arabic Extended-A\"](fn)||Cu[\"Arabic Presentation Forms-A\"](fn)||Cu[\"Arabic Presentation Forms-B\"](fn))));if(Ft.imageName){const Ge=Dt[Ft.imageName];if(!Ge)continue;An=Ft.imageName,Se.iconsInText=Se.iconsInText||!0,Sn=Ge.paddedRect;const mt=Ge.displaySize;pn=pn*Jm/tr,mn={width:mt[0],height:mt[1],left:a_,top:-s_,advance:eo?mt[1]:mt[0],localGlyph:!1},kn=ln?-mn.height*pn:c_+Lt*Jm-mt[1]*pn,Pn=mn.advance;const Rt=(eo?mt[0]:mt[1])*pn-Jm*Lt;Rt>0&&Rt>bn&&(bn=Rt)}else{const Se=mt[Ft.fontStack];if(!Se)continue;Se[an]&&(Sn=Se[an]);const Dt=Ge[Ft.fontStack];if(!Dt)continue;const Rt=Dt.glyphs[an];if(!Rt)continue;if(mn=Rt.metrics,Pn=8203!==an?Jm:0,ln){const Se=void 0!==Dt.ascender?Math.abs(Dt.ascender):0,Ge=void 0!==Dt.descender?Math.abs(Dt.descender):0,mt=(Se+Ge)*pn;wn<mt&&(wn=mt,Tn=(Se-Ge)/2*pn),kn=-Se*pn}else kn=c_+(Lt-pn)*Jm}eo?(Se.verticalizable=!0,_n.push({glyph:an,imageName:An,x:Lr,y:Rr+kn,vertical:eo,scale:pn,localGlyph:mn.localGlyph,fontStack:Ft.fontStack,sectionIndex:Qr,metrics:mn,rect:Sn}),Lr+=Pn*pn+$t):(_n.push({glyph:an,imageName:An,x:Lr,y:Rr+kn,vertical:eo,scale:pn,localGlyph:mn.localGlyph,fontStack:Ft.fontStack,sectionIndex:Qr,metrics:mn,rect:Sn}),Lr+=mn.advance*pn+$t)}0!==_n.length&&(Qr=Math.max(Lr-$t,Qr),ln?Up(_n,an,bn,Tn,Rt*Lt/2):Up(_n,an,bn,0,Rt/2)),Lr=0;const Sn=Rt*Lt+bn;mn.lineOffset=Math.max(bn,Ft),Rr+=Sn,++pn}var fn;const mn=Rr,{horizontalAlign:_n,verticalAlign:bn}=Rp(Bt);(function(Se,Ge,mt,Dt,Lt,Rt){const Bt=(Ge-mt)*Lt,Ft=-Rt*Dt;for(const Ge of Se)for(const Se of Ge.positionedGlyphs)Se.x+=Bt,Se.y+=Ft})(Se.positionedLines,an,_n,bn,Qr,mn),Se.top+=-bn*mn,Se.bottom=Se.top+mn,Se.left+=-_n*Qr,Se.right=Se.left+Qr,Se.hasBaseline=ln}(bn,Ge,mt,Dt,ln,Bt,Ft,Ot,tr,$t,Lr,Qr),!function(Se){for(const Ge of Se)if(0!==Ge.positionedGlyphs.length)return!1;return!0}(_n)&&bn}const h_={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},u_={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function Pp(Se,Ge,mt,Dt,Lt,Rt){if(Ge.imageName){const Se=Dt[Ge.imageName];return Se?Se.displaySize[0]*Ge.scale*Jm/Rt+Lt:0}{const Dt=mt[Ge.fontStack],Rt=Dt&&Dt.glyphs[Se];return Rt?Rt.metrics.advance*Ge.scale+Lt:0}}function Dp(Se,Ge,mt,Dt){const Lt=Math.pow(Se-Ge,2);return Dt?Se<Ge?Lt/2:2*Lt:Lt+Math.abs(mt)*mt}function Vp(Se,Ge,mt){let Dt=0;return 10===Se&&(Dt-=1e4),mt&&(Dt+=150),40!==Se&&65288!==Se||(Dt+=50),41!==Ge&&65289!==Ge||(Dt+=50),Dt}function Lp(Se,Ge,mt,Dt,Lt,Rt){let Bt=null,Ft=Dp(Ge,mt,Lt,Rt);for(const Se of Dt){const Dt=Dp(Ge-Se.x,mt,Lt,Rt)+Se.badness;Dt<=Ft&&(Bt=Se,Ft=Dt)}return{index:Se,x:Ge,priorBreak:Bt,badness:Ft}}function Fp(Se){return Se?Fp(Se.priorBreak).concat(Se.index):[]}function Rp(Se){let Ge=.5,mt=.5;switch(Se){case\"right\":case\"top-right\":case\"bottom-right\":Ge=1;break;case\"left\":case\"top-left\":case\"bottom-left\":Ge=0}switch(Se){case\"bottom\":case\"bottom-right\":case\"bottom-left\":mt=1;break;case\"top\":case\"top-right\":case\"top-left\":mt=0}return{horizontalAlign:Ge,verticalAlign:mt}}function Up(Se,Ge,mt,Dt,Lt){if(!(Ge||mt||Dt||Lt))return;const Rt=Se.length-1,Bt=Se[Rt],Ft=(Bt.x+Bt.metrics.advance*Bt.scale)*Ge;for(let Ge=0;Ge<=Rt;Ge++)Se[Ge].x-=Ft,Se[Ge].y+=mt+Dt+Lt}function $p(Se,Ge,mt){const{horizontalAlign:Dt,verticalAlign:Lt}=Rp(mt),Rt=Ge[0]-Se.displaySize[0]*Dt,Bt=Ge[1]-Se.displaySize[1]*Lt;return{image:Se,top:Bt,bottom:Bt+Se.displaySize[1],left:Rt,right:Rt+Se.displaySize[0]}}function jp(Se,Ge,mt,Dt,Lt,Rt){const Bt=Se.image;let Ft;if(Bt.content){const Se=Bt.content,Ge=Bt.pixelRatio||1;Ft=[Se[0]/Ge,Se[1]/Ge,Bt.displaySize[0]-Se[2]/Ge,Bt.displaySize[1]-Se[3]/Ge]}const Ot=Ge.left*Rt,$t=Ge.right*Rt;let Ni,tr,Lr,Rr;\"width\"===mt||\"both\"===mt?(Rr=Lt[0]+Ot-Dt[3],tr=Lt[0]+$t+Dt[1]):(Rr=Lt[0]+(Ot+$t-Bt.displaySize[0])/2,tr=Rr+Bt.displaySize[0]);const Qr=Ge.top*Rt,an=Ge.bottom*Rt;return\"height\"===mt||\"both\"===mt?(Ni=Lt[1]+Qr-Dt[0],Lr=Lt[1]+an+Dt[2]):(Ni=Lt[1]+(Qr+an-Bt.displaySize[1])/2,Lr=Ni+Bt.displaySize[1]),{image:Bt,top:Ni,right:tr,bottom:Lr,left:Rr,collisionPadding:Ft}}class Op extends ln{constructor(Se,Ge,mt,Dt,Lt){super(Se,Ge),this.angle=Dt,this.z=mt,void 0!==Lt&&(this.segment=Lt)}clone(){return new Op(this.x,this.y,this.z,this.angle,this.segment)}}function qp(Se,Ge,mt,Dt,Lt){if(void 0===Ge.segment)return!0;let Rt=Ge,Bt=Ge.segment+1,Ft=0;for(;Ft>-mt/2;){if(Bt--,Bt<0)return!1;Ft-=Se[Bt].dist(Rt),Rt=Se[Bt]}Ft+=Se[Bt].dist(Se[Bt+1]),Bt++;const Ot=[];let $t=0;for(;Ft<mt/2;){const Ge=Se[Bt],mt=Se[Bt+1];if(!mt)return!1;let Rt=Se[Bt-1].angleTo(Ge)-Ge.angleTo(mt);for(Rt=Math.abs((Rt+3*Math.PI)%(2*Math.PI)-Math.PI),Ot.push({distance:Ft,angleDelta:Rt}),$t+=Rt;Ft-Ot[0].distance>Dt;)$t-=Ot.shift().angleDelta;if($t>Lt)return!1;Bt++,Ft+=Ge.dist(mt)}return!0}function Np(Se){let Ge=0;for(let mt=0;mt<Se.length-1;mt++)Ge+=Se[mt].dist(Se[mt+1]);return Ge}function Gp(Se,Ge,mt){return Se?.6*Ge*mt:0}function Zp(Se,Ge){return Math.max(Se?Se.right-Se.left:0,Ge?Ge.right-Ge.left:0)}function Kp(Se,Ge,mt,Dt,Lt,Rt){const Bt=Gp(mt,Lt,Rt),Ft=Zp(mt,Dt)*Rt;let Ot=0;const $t=Np(Se)/2;for(let mt=0;mt<Se.length-1;mt++){const Dt=Se[mt],Lt=Se[mt+1],Rt=Dt.dist(Lt);if(Ot+Rt>$t){const Ni=($t-Ot)/Rt,tr=Er(Dt.x,Lt.x,Ni),Lr=Er(Dt.y,Lt.y,Ni),Rr=new Op(tr,Lr,0,Lt.angleTo(Dt),mt);return!Bt||qp(Se,Rr,Ft,Bt,Ge)?Rr:void 0}Ot+=Rt}}function Xp(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t=Gp(Dt,Rt,Bt),Ni=Zp(Dt,Lt),tr=Ni*Bt,Lr=0===Se[0].x||Se[0].x===Ot||0===Se[0].y||Se[0].y===Ot;return Ge-tr<Ge/4&&(Ge=tr+Ge/4),Jp(Se,Lr?Ge/2*Ft%Ge:(Ni/2+2*Rt)*Bt*Ft%Ge,Ge,$t,mt,tr,Lr,!1,Ot)}function Jp(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t=Rt/2,Ni=Np(Se);let tr=0,Lr=Ge-mt,Rr=[];for(let Ge=0;Ge<Se.length-1;Ge++){const Bt=Se[Ge],Ft=Se[Ge+1],Qr=Bt.dist(Ft),an=Ft.angleTo(Bt);for(;Lr+mt<tr+Qr;){Lr+=mt;const ln=(Lr-tr)/Qr,pn=Er(Bt.x,Ft.x,ln),fn=Er(Bt.y,Ft.y,ln);if(pn>=0&&pn<Ot&&fn>=0&&fn<Ot&&Lr-$t>=0&&Lr+$t<=Ni){const mt=new Op(pn,fn,0,an,Ge);mt._round(),Dt&&!qp(Se,mt,Rt,Dt,Lt)||Rr.push(mt)}}tr+=Qr}return Ft||Rr.length||Bt||(Rr=Jp(Se,tr/2,mt,Dt,Lt,Rt,Bt,!0,Ot)),Rr}function Hp(Se,Ge,mt,Dt,Lt){const Rt=[];for(let Bt=0;Bt<Se.length;Bt++){const Ft=Se[Bt];let Ot;for(let Se=0;Se<Ft.length-1;Se++){let Bt=Ft[Se],$t=Ft[Se+1];Bt.x<Ge&&$t.x<Ge||(Bt.x<Ge?Bt=new ln(Ge,Bt.y+(Ge-Bt.x)/($t.x-Bt.x)*($t.y-Bt.y))._round():$t.x<Ge&&($t=new ln(Ge,Bt.y+(Ge-Bt.x)/($t.x-Bt.x)*($t.y-Bt.y))._round()),Bt.y<mt&&$t.y<mt||(Bt.y<mt?Bt=new ln(Bt.x+(mt-Bt.y)/($t.y-Bt.y)*($t.x-Bt.x),mt)._round():$t.y<mt&&($t=new ln(Bt.x+(mt-Bt.y)/($t.y-Bt.y)*($t.x-Bt.x),mt)._round()),Bt.x>=Dt&&$t.x>=Dt||(Bt.x>=Dt?Bt=new ln(Dt,Bt.y+(Dt-Bt.x)/($t.x-Bt.x)*($t.y-Bt.y))._round():$t.x>=Dt&&($t=new ln(Dt,Bt.y+(Dt-Bt.x)/($t.x-Bt.x)*($t.y-Bt.y))._round()),Bt.y>=Lt&&$t.y>=Lt||(Bt.y>=Lt?Bt=new ln(Bt.x+(Lt-Bt.y)/($t.y-Bt.y)*($t.x-Bt.x),Lt)._round():$t.y>=Lt&&($t=new ln(Bt.x+(Lt-Bt.y)/($t.y-Bt.y)*($t.x-Bt.x),Lt)._round()),Ot&&Bt.equals(Ot[Ot.length-1])||(Ot=[Bt],Rt.push(Ot)),Ot.push($t)))))}}return Rt}Ji(Op,\"Anchor\");const d_=1e20;function Wp(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){for(let $t=Ge;$t<Ge+Dt;$t++)Qp(Se,mt*Rt+$t,Rt,Lt,Bt,Ft,Ot);for(let $t=mt;$t<mt+Lt;$t++)Qp(Se,$t*Rt+Ge,1,Dt,Bt,Ft,Ot)}function Qp(Se,Ge,mt,Dt,Lt,Rt,Bt){Rt[0]=0,Bt[0]=-d_,Bt[1]=d_,Lt[0]=Se[Ge];for(let Ft=1,Ot=0,$t=0;Ft<Dt;Ft++){Lt[Ft]=Se[Ge+Ft*mt];const Dt=Ft*Ft;do{const Se=Rt[Ot];$t=(Lt[Ft]-Lt[Se]+Dt-Se*Se)/(Ft-Se)/2}while($t<=Bt[Ot]&&--Ot>-1);Ot++,Rt[Ot]=Ft,Bt[Ot]=$t,Bt[Ot+1]=d_}for(let Ft=0,Ot=0;Ft<Dt;Ft++){for(;Bt[Ot+1]<Ft;)Ot++;const Dt=Rt[Ot],$t=Ft-Dt;Se[Ge+Ft*mt]=Lt[Dt]+$t*$t}}const p_=2,f_={none:0,ideographs:1,all:2};class rd{constructor(Se,Ge,mt){this.requestManager=Se,this.localGlyphMode=Ge,this.localFontFamily=mt,this.entries={},this.localGlyphs={200:{},400:{},500:{},900:{}}}setURL(Se){this.url=Se}getGlyphs(Se,Ge){const mt=[];for(const Ge in Se)for(const Dt of Se[Ge])mt.push({stack:Ge,id:Dt});B(mt,(({stack:Se,id:Ge},mt)=>{let Dt=this.entries[Se];Dt||(Dt=this.entries[Se]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let Lt=Dt.glyphs[Ge];if(void 0!==Lt)return void mt(null,{stack:Se,id:Ge,glyph:Lt});if(Lt=this._tinySDF(Dt,Se,Ge),Lt)return Dt.glyphs[Ge]=Lt,void mt(null,{stack:Se,id:Ge,glyph:Lt});const Rt=Math.floor(Ge/256);if(256*Rt>65535)return void mt(new Error(\"glyphs > 65535 not supported\"));if(Dt.ranges[Rt])return void mt(null,{stack:Se,id:Ge,glyph:Lt});let Bt=Dt.requests[Rt];Bt||(Bt=Dt.requests[Rt]=[],rd.loadGlyphRange(Se,Rt,this.url,this.requestManager,((Se,Ge)=>{if(Ge){Dt.ascender=Ge.ascender,Dt.descender=Ge.descender;for(const Se in Ge.glyphs)this._doesCharSupportLocalGlyph(+Se)||(Dt.glyphs[+Se]=Ge.glyphs[+Se]);Dt.ranges[Rt]=!0}for(const mt of Bt)mt(Se,Ge);delete Dt.requests[Rt]}))),Bt.push(((Dt,Lt)=>{Dt?mt(Dt):Lt&&mt(null,{stack:Se,id:Ge,glyph:Lt.glyphs[Ge]||null})}))}),((Se,mt)=>{if(Se)Ge(Se);else if(mt){const Se={};for(const{stack:Ge,id:Dt,glyph:Lt}of mt)void 0===Se[Ge]&&(Se[Ge]={}),void 0===Se[Ge].glyphs&&(Se[Ge].glyphs={}),Se[Ge].glyphs[Dt]=Lt&&{id:Lt.id,bitmap:Lt.bitmap.clone(),metrics:Lt.metrics},Se[Ge].ascender=this.entries[Ge].ascender,Se[Ge].descender=this.entries[Ge].descender;Ge(null,Se)}}))}_doesCharSupportLocalGlyph(Se){return this.localGlyphMode!==f_.none&&(this.localGlyphMode===f_.all?!!this.localFontFamily:!!this.localFontFamily&&(Cu[\"CJK Unified Ideographs\"](Se)||Cu[\"Hangul Syllables\"](Se)||Cu.Hiragana(Se)||Cu.Katakana(Se)||Cu[\"CJK Symbols and Punctuation\"](Se)))}_tinySDF(Se,Ge,mt){const Dt=this.localFontFamily;if(!Dt||!this._doesCharSupportLocalGlyph(mt))return;let Lt=Se.tinySDF;if(!Lt){let mt=\"400\";/bold/i.test(Ge)?mt=\"900\":/medium/i.test(Ge)?mt=\"500\":/light/i.test(Ge)&&(mt=\"200\"),Lt=Se.tinySDF=new rd.TinySDF({fontFamily:Dt,fontWeight:mt,fontSize:24*p_,buffer:3*p_,radius:8*p_}),Lt.fontWeight=mt}if(this.localGlyphs[Lt.fontWeight][mt])return this.localGlyphs[Lt.fontWeight][mt];const Rt=String.fromCharCode(mt),{data:Bt,width:Ft,height:Ot,glyphWidth:$t,glyphHeight:Ni,glyphLeft:tr,glyphTop:Lr,glyphAdvance:Rr}=Lt.draw(Rt);return this.localGlyphs[Lt.fontWeight][mt]={id:mt,bitmap:new Ru({width:Ft,height:Ot},Bt),metrics:{width:$t/p_,height:Ni/p_,left:tr/p_,top:Lr/p_-27,advance:Rr/p_,localGlyph:!0}}}}rd.loadGlyphRange=function(Se,Ge,mt,Dt,Lt){const Rt=256*Ge,Bt=Rt+255,Ft=Dt.transformRequest(Dt.normalizeGlyphsURL(mt).replace(\"{fontstack}\",Se).replace(\"{range}\",`${Rt}-${Bt}`),Oo.Glyphs);pt(Ft,((Se,Ge)=>{if(Se)Lt(Se);else if(Ge){const Se={},mt=function(Se){return new n_(Se).readFields(xp,{})}(Ge);for(const Ge of mt.glyphs)Se[Ge.id]=Ge;Lt(null,{glyphs:Se,ascender:mt.ascender,descender:mt.descender})}}))},rd.TinySDF=class{constructor({fontSize:Se=24,buffer:Ge=3,radius:mt=8,cutoff:Dt=.25,fontFamily:Lt=\"sans-serif\",fontWeight:Rt=\"normal\",fontStyle:Bt=\"normal\"}={}){this.buffer=Ge,this.cutoff=Dt,this.radius=mt;const Ft=this.size=Se+4*Ge,Ot=this._createCanvas(Ft),$t=this.ctx=Ot.getContext(\"2d\",{willReadFrequently:!0});$t.font=`${Bt} ${Rt} ${Se}px ${Lt}`,$t.textBaseline=\"alphabetic\",$t.textAlign=\"left\",$t.fillStyle=\"black\",this.gridOuter=new Float64Array(Ft*Ft),this.gridInner=new Float64Array(Ft*Ft),this.f=new Float64Array(Ft),this.z=new Float64Array(Ft+1),this.v=new Uint16Array(Ft)}_createCanvas(Se){const Ge=document.createElement(\"canvas\");return Ge.width=Ge.height=Se,Ge}draw(Se){const{width:Ge,actualBoundingBoxAscent:mt,actualBoundingBoxDescent:Dt,actualBoundingBoxLeft:Lt,actualBoundingBoxRight:Rt}=this.ctx.measureText(Se),Bt=Math.ceil(mt),Ft=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(Rt-Lt))),Ot=Math.min(this.size-this.buffer,Bt+Math.ceil(Dt)),$t=Ft+2*this.buffer,Ni=Ot+2*this.buffer,tr=Math.max($t*Ni,0),Lr=new Uint8ClampedArray(tr),Rr={data:Lr,width:$t,height:Ni,glyphWidth:Ft,glyphHeight:Ot,glyphTop:Bt,glyphLeft:0,glyphAdvance:Ge};if(0===Ft||0===Ot)return Rr;const{ctx:Qr,buffer:an,gridInner:ln,gridOuter:pn}=this;Qr.clearRect(an,an,Ft,Ot),Qr.fillText(Se,an,an+Bt);const fn=Qr.getImageData(an,an,Ft,Ot);pn.fill(d_,0,tr),ln.fill(0,0,tr);for(let Se=0;Se<Ot;Se++)for(let Ge=0;Ge<Ft;Ge++){const mt=fn.data[4*(Se*Ft+Ge)+3]/255;if(0===mt)continue;const Dt=(Se+an)*$t+Ge+an;if(1===mt)pn[Dt]=0,ln[Dt]=d_;else{const Se=.5-mt;pn[Dt]=Se>0?Se*Se:0,ln[Dt]=Se<0?Se*Se:0}}Wp(pn,0,0,$t,Ni,$t,this.f,this.v,this.z),Wp(ln,an,an,Ft,Ot,$t,this.f,this.v,this.z);for(let Se=0;Se<tr;Se++){const Ge=Math.sqrt(pn[Se])-Math.sqrt(ln[Se]);Lr[Se]=Math.round(255-255*(Ge/this.radius+this.cutoff))}return Rr}};const m_=a_;function id(Se,Ge,mt,Dt){const Lt=[],Rt=Se.image,Bt=Rt.pixelRatio,Ft=Rt.paddedRect.w-2*m_,Ot=Rt.paddedRect.h-2*m_,$t=Se.right-Se.left,Ni=Se.bottom-Se.top,tr=Rt.stretchX||[[0,Ft]],Lr=Rt.stretchY||[[0,Ot]],d=(Se,Ge)=>Se+Ge[1]-Ge[0],Rr=tr.reduce(d,0),Qr=Lr.reduce(d,0),an=Ft-Rr,pn=Ot-Qr;let fn=0,mn=Rr,_n=0,bn=Qr,wn=0,Tn=an,Sn=0,An=pn;if(Rt.content&&Dt){const Se=Rt.content;fn=sd(tr,0,Se[0]),_n=sd(Lr,0,Se[1]),mn=sd(tr,Se[0],Se[2]),bn=sd(Lr,Se[1],Se[3]),wn=Se[0]-fn,Sn=Se[1]-_n,Tn=Se[2]-Se[0]-mn,An=Se[3]-Se[1]-bn}const M=(Dt,Lt,Ft,Ot)=>{const tr=od(Dt.stretch-fn,mn,$t,Se.left),Lr=ld(Dt.fixed-wn,Tn,Dt.stretch,Rr),an=od(Lt.stretch-_n,bn,Ni,Se.top),pn=ld(Lt.fixed-Sn,An,Lt.stretch,Qr),Pn=od(Ft.stretch-fn,mn,$t,Se.left),kn=ld(Ft.fixed-wn,Tn,Ft.stretch,Rr),eo=od(Ot.stretch-_n,bn,Ni,Se.top),ao=ld(Ot.fixed-Sn,An,Ot.stretch,Qr),Oo=new ln(tr,an),Qo=new ln(Pn,an),ts=new ln(Pn,eo),cs=new ln(tr,eo),hs=new ln(Lr/Bt,pn/Bt),us=new ln(kn/Bt,ao/Bt),ds=Ge*Math.PI/180;if(ds){const Se=Math.sin(ds),Ge=Math.cos(ds),mt=[Ge,-Se,Se,Ge];Oo._matMult(mt),Qo._matMult(mt),cs._matMult(mt),ts._matMult(mt)}const ps=Dt.stretch+Dt.fixed,fs=Lt.stretch+Lt.fixed;return{tl:Oo,tr:Qo,bl:cs,br:ts,tex:{x:Rt.paddedRect.x+m_+ps,y:Rt.paddedRect.y+m_+fs,w:Ft.stretch+Ft.fixed-ps,h:Ot.stretch+Ot.fixed-fs},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:hs,pixelOffsetBR:us,minFontScaleX:Tn/Bt/$t,minFontScaleY:An/Bt/Ni,isSDF:mt}};if(Dt&&(Rt.stretchX||Rt.stretchY)){const Se=ad(tr,an,Rr),Ge=ad(Lr,pn,Qr);for(let mt=0;mt<Se.length-1;mt++){const Dt=Se[mt],Rt=Se[mt+1];for(let Se=0;Se<Ge.length-1;Se++)Lt.push(M(Dt,Ge[Se],Rt,Ge[Se+1]))}}else Lt.push(M({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Ft+1},{fixed:0,stretch:Ot+1}));return Lt}function sd(Se,Ge,mt){let Dt=0;for(const Lt of Se)Dt+=Math.max(Ge,Math.min(mt,Lt[1]))-Math.max(Ge,Math.min(mt,Lt[0]));return Dt}function ad(Se,Ge,mt){const Dt=[{fixed:-m_,stretch:0}];for(const[Ge,mt]of Se){const Se=Dt[Dt.length-1];Dt.push({fixed:Ge-Se.stretch,stretch:Se.stretch}),Dt.push({fixed:Ge-Se.stretch,stretch:Se.stretch+(mt-Ge)})}return Dt.push({fixed:Ge+m_,stretch:mt}),Dt}function od(Se,Ge,mt,Dt){return Se/Ge*mt+Dt}function ld(Se,Ge,mt,Dt){return Se-Ge*mt/Dt}function ud(Se,Ge,mt,Dt){const Lt=Ge+Se.positionedLines[Dt].lineOffset;return 0===Dt?mt+Lt/2:mt+(Lt+(Ge+Se.positionedLines[Dt-1].lineOffset))/2}class cd{constructor(Se=[],Ge=hd){if(this.data=Se,this.length=this.data.length,this.compare=Ge,this.length>0)for(let Se=(this.length>>1)-1;Se>=0;Se--)this._down(Se)}push(Se){this.data.push(Se),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const Se=this.data[0],Ge=this.data.pop();return this.length--,this.length>0&&(this.data[0]=Ge,this._down(0)),Se}peek(){return this.data[0]}_up(Se){const{data:Ge,compare:mt}=this,Dt=Ge[Se];for(;Se>0;){const Lt=Se-1>>1,Rt=Ge[Lt];if(mt(Dt,Rt)>=0)break;Ge[Se]=Rt,Se=Lt}Ge[Se]=Dt}_down(Se){const{data:Ge,compare:mt}=this,Dt=this.length>>1,Lt=Ge[Se];for(;Se<Dt;){let Dt=1+(Se<<1),Rt=Ge[Dt];const Bt=Dt+1;if(Bt<this.length&&mt(Ge[Bt],Rt)<0&&(Dt=Bt,Rt=Ge[Bt]),mt(Rt,Lt)>=0)break;Ge[Se]=Rt,Se=Dt}Ge[Se]=Lt}}function hd(Se,Ge){return Se<Ge?-1:Se>Ge?1:0}function pd(Se,Ge=1,mt=!1){let Dt=1/0,Lt=1/0,Rt=-1/0,Bt=-1/0;const Ft=Se[0];for(let Se=0;Se<Ft.length;Se++){const Ge=Ft[Se];(!Se||Ge.x<Dt)&&(Dt=Ge.x),(!Se||Ge.y<Lt)&&(Lt=Ge.y),(!Se||Ge.x>Rt)&&(Rt=Ge.x),(!Se||Ge.y>Bt)&&(Bt=Ge.y)}const Ot=Math.min(Rt-Dt,Bt-Lt);let $t=Ot/2;const Ni=new cd([],dd);if(0===Ot)return new ln(Dt,Lt);for(let Ge=Dt;Ge<Rt;Ge+=Ot)for(let mt=Lt;mt<Bt;mt+=Ot)Ni.push(new fd(Ge+$t,mt+$t,$t,Se));let tr=function(Se){let Ge=0,mt=0,Dt=0;const Lt=Se[0];for(let Se=0,Rt=Lt.length,Bt=Rt-1;Se<Rt;Bt=Se++){const Rt=Lt[Se],Ft=Lt[Bt],Ot=Rt.x*Ft.y-Ft.x*Rt.y;mt+=(Rt.x+Ft.x)*Ot,Dt+=(Rt.y+Ft.y)*Ot,Ge+=3*Ot}return new fd(mt/Ge,Dt/Ge,0,Se)}(Se),Lr=Ni.length;for(;Ni.length;){const Dt=Ni.pop();(Dt.d>tr.d||!tr.d)&&(tr=Dt,mt&&console.log(\"found best %d after %d probes\",Math.round(1e4*Dt.d)/1e4,Lr)),Dt.max-tr.d<=Ge||($t=Dt.h/2,Ni.push(new fd(Dt.p.x-$t,Dt.p.y-$t,$t,Se)),Ni.push(new fd(Dt.p.x+$t,Dt.p.y-$t,$t,Se)),Ni.push(new fd(Dt.p.x-$t,Dt.p.y+$t,$t,Se)),Ni.push(new fd(Dt.p.x+$t,Dt.p.y+$t,$t,Se)),Lr+=4)}return mt&&(console.log(`num probes: ${Lr}`),console.log(`best distance: ${tr.d}`)),tr.p}function dd(Se,Ge){return Ge.max-Se.max}class fd{constructor(Se,Ge,mt,Dt){this.p=new ln(Se,Ge),this.h=mt,this.d=function(Se,Ge){let mt=!1,Dt=1/0;for(let Lt=0;Lt<Ge.length;Lt++){const Rt=Ge[Lt];for(let Ge=0,Lt=Rt.length,Bt=Lt-1;Ge<Lt;Bt=Ge++){const Lt=Rt[Ge],Ft=Rt[Bt];Lt.y>Se.y!=Ft.y>Se.y&&Se.x<(Ft.x-Lt.x)*(Se.y-Lt.y)/(Ft.y-Lt.y)+Lt.x&&(mt=!mt),Dt=Math.min(Dt,xu(Se,Lt,Ft))}}return(mt?1:-1)*Math.sqrt(Dt)}(this.p,Dt),this.max=this.d+this.h*Math.SQRT2}}const __=7,g_=Number.POSITIVE_INFINITY,y_=Math.sqrt(2);function xd(Se,[Ge,mt]){let Dt=0,Lt=0;if(mt===g_){Ge<0&&(Ge=0);const mt=Ge/y_;switch(Se){case\"top-right\":case\"top-left\":Lt=mt-__;break;case\"bottom-right\":case\"bottom-left\":Lt=-mt+__;break;case\"bottom\":Lt=-Ge+__;break;case\"top\":Lt=Ge-__}switch(Se){case\"top-right\":case\"bottom-right\":Dt=-mt;break;case\"top-left\":case\"bottom-left\":Dt=mt;break;case\"left\":Dt=Ge;break;case\"right\":Dt=-Ge}}else{switch(Ge=Math.abs(Ge),mt=Math.abs(mt),Se){case\"top-right\":case\"top-left\":case\"top\":Lt=mt-__;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":Lt=-mt+__}switch(Se){case\"top-right\":case\"bottom-right\":case\"right\":Dt=-Ge;break;case\"top-left\":case\"bottom-left\":case\"left\":Dt=Ge}}return[Dt,Lt]}function vd(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t){Se.createArrays(),Se.tilePixelRatio=wp/(512*Se.overscaling),Se.compareText={},Se.iconsNeedLinear=!1;const Ni=Se.layers[0].layout,tr=Se.layers[0]._unevaluatedLayout._values,Lr={};if(\"composite\"===Se.textSizeData.kind){const{minZoom:Ge,maxZoom:mt}=Se.textSizeData;Lr.compositeTextSizes=[tr[\"text-size\"].possiblyEvaluate(new ws(Ge),Ft),tr[\"text-size\"].possiblyEvaluate(new ws(mt),Ft)]}if(\"composite\"===Se.iconSizeData.kind){const{minZoom:Ge,maxZoom:mt}=Se.iconSizeData;Lr.compositeIconSizes=[tr[\"icon-size\"].possiblyEvaluate(new ws(Ge),Ft),tr[\"icon-size\"].possiblyEvaluate(new ws(mt),Ft)]}Lr.layoutTextSize=tr[\"text-size\"].possiblyEvaluate(new ws(Ot+1),Ft),Lr.layoutIconSize=tr[\"icon-size\"].possiblyEvaluate(new ws(Ot+1),Ft),Lr.textMaxSize=tr[\"text-size\"].possiblyEvaluate(new ws(18),Ft);const Rr=\"map\"===Ni.get(\"text-rotation-alignment\")&&\"point\"!==Ni.get(\"symbol-placement\"),Qr=Ni.get(\"text-size\");for(const Rt of Se.features){const Ot=Ni.get(\"text-font\").evaluate(Rt,{},Ft).join(\",\"),tr=Qr.evaluate(Rt,{},Ft),an=Lr.layoutTextSize.evaluate(Rt,{},Ft),ln=(Lr.layoutIconSize.evaluate(Rt,{},Ft),{horizontal:{},vertical:void 0}),pn=Rt.text;let fn,mn=[0,0];if(pn){const Dt=pn.toString(),Bt=Ni.get(\"text-letter-spacing\").evaluate(Rt,{},Ft)*Jm,$t=Ni.get(\"text-line-height\").evaluate(Rt,{},Ft)*Jm,Lr=rs(Dt)?Bt:0,Qr=Ni.get(\"text-anchor\").evaluate(Rt,{},Ft),fn=Ni.get(\"text-variable-anchor\");if(!fn){const Se=Ni.get(\"text-radial-offset\").evaluate(Rt,{},Ft);mn=Se?xd(Qr,[Se*Jm,g_]):Ni.get(\"text-offset\").evaluate(Rt,{},Ft).map((Se=>Se*Jm))}let _n=Rr?\"center\":Ni.get(\"text-justify\").evaluate(Rt,{},Ft);const bn=\"point\"===Ni.get(\"symbol-placement\"),wn=bn?Ni.get(\"text-max-width\").evaluate(Rt,{},Ft)*Jm:1/0,A=Rt=>{Se.allowVerticalPlacement&&es(Dt)&&(ln.vertical=Bp(pn,Ge,mt,Lt,Ot,wn,$t,Qr,Rt,Lr,mn,l_.vertical,!0,an,tr))};if(!Rr&&fn){const Se=\"auto\"===_n?fn.map((Se=>bd(Se))):[_n];let Dt=!1;for(let Rt=0;Rt<Se.length;Rt++){const Bt=Se[Rt];if(!ln.horizontal[Bt])if(Dt)ln.horizontal[Bt]=ln.horizontal[0];else{const Se=Bp(pn,Ge,mt,Lt,Ot,wn,$t,\"center\",Bt,Lr,mn,l_.horizontal,!1,an,tr);Se&&(ln.horizontal[Bt]=Se,Dt=1===Se.positionedLines.length)}}A(\"left\")}else{if(\"auto\"===_n&&(_n=bd(Qr)),bn||Ni.get(\"text-writing-mode\").indexOf(\"horizontal\")>=0||!es(Dt)){const Se=Bp(pn,Ge,mt,Lt,Ot,wn,$t,Qr,_n,Lr,mn,l_.horizontal,!1,an,tr);Se&&(ln.horizontal[_n]=Se)}A(bn?\"left\":_n)}}let _n=!1;if(Rt.icon&&Rt.icon.name){const Ge=Dt[Rt.icon.name];Ge&&(fn=$p(Lt[Rt.icon.name],Ni.get(\"icon-offset\").evaluate(Rt,{},Ft),Ni.get(\"icon-anchor\").evaluate(Rt,{},Ft)),_n=Ge.sdf,void 0===Se.sdfIcons?Se.sdfIcons=Ge.sdf:Se.sdfIcons!==Ge.sdf&&N(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(Ge.pixelRatio!==Se.pixelRatio||0!==Ni.get(\"icon-rotate\").constantOr(1))&&(Se.iconsNeedLinear=!0))}const bn=kd(ln.horizontal)||ln.vertical;Se.iconsInText||(Se.iconsInText=!!bn&&bn.iconsInText),(bn||fn)&&wd(Se,Rt,ln,fn,Dt,Lr,an,0,mn,_n,Bt,Ft,$t)}Rt&&Se.generateCollisionDebugBuffers(Ot,Se.collisionBoxArray)}function bd(Se){switch(Se){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function wd(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr){let Rr=Rt.textMaxSize.evaluate(Ge,{},tr);void 0===Rr&&(Rr=Bt);const Qr=Se.layers[0].layout,an=Qr.get(\"icon-offset\").evaluate(Ge,{},tr),ln=kd(mt.horizontal)||mt.vertical,pn=\"globe\"===Lr.name,fn=Jm,mn=Bt/fn,_n=Se.tilePixelRatio*Rr/fn,bn=(ao=Se.overscaling,Se.zoom>18&&ao>2&&(ao>>=1),Math.max(wp/(512*ao),1)*Qr.get(\"symbol-spacing\")),wn=Qr.get(\"text-padding\")*Se.tilePixelRatio,Tn=Qr.get(\"icon-padding\")*Se.tilePixelRatio,Sn=w(Qr.get(\"text-max-angle\")),An=\"map\"===Qr.get(\"text-rotation-alignment\")&&\"point\"!==Qr.get(\"symbol-placement\"),Pn=\"map\"===Qr.get(\"icon-rotation-alignment\")&&\"point\"!==Qr.get(\"symbol-placement\"),kn=Qr.get(\"symbol-placement\"),eo=bn/2;var ao;const Oo=Qr.get(\"icon-text-fit\");let Qo;Dt&&\"none\"!==Oo&&(Se.allowVerticalPlacement&&mt.vertical&&(Qo=jp(Dt,mt.vertical,Oo,Qr.get(\"icon-text-fit-padding\"),an,mn)),ln&&(Dt=jp(Dt,ln,Oo,Qr.get(\"icon-text-fit-padding\"),an,mn)));const P=(Bt,Ft,Rr)=>{if(Ft.x<0||Ft.x>=wp||Ft.y<0||Ft.y>=wp)return;let Qr=null;if(pn){const{x:Se,y:Ge,z:mt}=Lr.projectTilePoint(Ft.x,Ft.y,Rr);Qr={anchor:new Op(Se,Ge,mt,0,void 0),up:Lr.upVector(Rr,Ft.x,Ft.y)}}!function(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn,fn,mn,_n,bn,wn,Tn,Sn){const An=Se.addToLineVertexArray(Ge,Dt);let Pn,kn,eo,ao,Oo,Qo,ts,cs=0,hs=0,us=0,ds=0,ps=-1,fs=-1;const gs={};let bs=Fd(\"\");const Vs=mt?mt.anchor:Ge;let _a=0,Ta=0;if(void 0===Ot._unevaluatedLayout.getValue(\"text-radial-offset\")?[_a,Ta]=Ot.layout.get(\"text-offset\").evaluate(_n,{},Sn).map((Se=>Se*Jm)):(_a=Ot.layout.get(\"text-radial-offset\").evaluate(_n,{},Sn)*Jm,Ta=g_),Se.allowVerticalPlacement&&Lt.vertical){const Se=Lt.vertical;if(Qr)Qo=Md(Se),Ft&&(ts=Md(Ft));else{const mt=Ot.layout.get(\"text-rotate\").evaluate(_n,{},Sn)+90;eo=Id($t,Vs,Ge,Ni,tr,Lr,Se,Rr,mt,an),Ft&&(ao=Id($t,Vs,Ge,Ni,tr,Lr,Ft,pn,mt))}}if(Rt){const Dt=Ot.layout.get(\"icon-rotate\").evaluate(_n,{},Sn),Lt=\"none\"!==Ot.layout.get(\"icon-text-fit\"),Bt=id(Rt,Dt,wn,Lt),Rr=Ft?id(Ft,Dt,wn,Lt):void 0;kn=Id($t,Vs,Ge,Ni,tr,Lr,Rt,pn,Dt),cs=4*Bt.length;const Qr=Se.iconSizeData;let an=null;\"source\"===Qr.kind?(an=[Ym*Ot.layout.get(\"icon-size\").evaluate(_n,{},Sn)],an[0]>v_&&N(`${Se.layerIds[0]}: Value for \"icon-size\" is >= ${x_}. Reduce your \"icon-size\".`)):\"composite\"===Qr.kind&&(an=[Ym*bn.compositeIconSizes[0].evaluate(_n,{},Sn),Ym*bn.compositeIconSizes[1].evaluate(_n,{},Sn)],(an[0]>v_||an[1]>v_)&&N(`${Se.layerIds[0]}: Value for \"icon-size\" is >= ${x_}. Reduce your \"icon-size\".`)),Se.addSymbols(Se.icon,Bt,an,mn,fn,_n,!1,mt,Ge,An.lineStartIndex,An.lineLength,-1,Tn,Sn),ps=Se.icon.placedSymbolArray.length-1,Rr&&(hs=4*Rr.length,Se.addSymbols(Se.icon,Rr,an,mn,fn,_n,l_.vertical,mt,Ge,An.lineStartIndex,An.lineLength,-1,Tn,Sn),fs=Se.icon.placedSymbolArray.length-1)}for(const Dt in Lt.horizontal){const Rt=Lt.horizontal[Dt];Pn||(bs=Fd(Rt.text),Qr?Oo=Md(Rt):Pn=Id($t,Vs,Ge,Ni,tr,Lr,Rt,Rr,Ot.layout.get(\"text-rotate\").evaluate(_n,{},Sn),an));const Ft=1===Rt.positionedLines.length;if(us+=Sd(Se,mt,Ge,Rt,Bt,Ot,Qr,_n,an,An,Lt.vertical?l_.horizontal:l_.horizontalOnly,Ft?Object.keys(Lt.horizontal):[Dt],gs,ps,bn,Tn,Sn),Ft)break}Lt.vertical&&(ds+=Sd(Se,mt,Ge,Lt.vertical,Bt,Ot,Qr,_n,an,An,l_.vertical,[\"vertical\"],gs,fs,bn,Tn,Sn));let Ma=-1;const Z=(Se,Ge)=>Se?Math.max(Se,Ge):Ge;Ma=Z(Oo,Ma),Ma=Z(Qo,Ma),Ma=Z(ts,Ma);const Sa=Ma>-1?1:0;Se.glyphOffsetArray.length>=of.MAX_GLYPHS&&N(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==_n.sortKey&&Se.addToSortKeyRanges(Se.symbolInstances.length,_n.sortKey),Se.symbolInstances.emplaceBack(Vs.x,Vs.y,Vs.z,Ge.x,Ge.y,gs.right>=0?gs.right:-1,gs.center>=0?gs.center:-1,gs.left>=0?gs.left:-1,gs.vertical>=0?gs.vertical:-1,ps,fs,bs,void 0!==Pn?Pn:Se.collisionBoxArray.length,void 0!==Pn?Pn+1:Se.collisionBoxArray.length,void 0!==eo?eo:Se.collisionBoxArray.length,void 0!==eo?eo+1:Se.collisionBoxArray.length,void 0!==kn?kn:Se.collisionBoxArray.length,void 0!==kn?kn+1:Se.collisionBoxArray.length,ao||Se.collisionBoxArray.length,ao?ao+1:Se.collisionBoxArray.length,Ni,us,ds,cs,hs,Sa,0,_a,Ta,Ma)}(Se,Ft,Qr,Bt,mt,Dt,Lt,Qo,Se.layers[0],Se.collisionBoxArray,Ge.index,Ge.sourceLayerIndex,Se.index,wn,An,Ot,0,Tn,Pn,an,Ge,Rt,$t,Ni,tr)};if(\"line\"===kn)for(const Lt of Hp(Ge.geometry,0,0,wp,wp)){const Ge=Xp(Lt,bn,Sn,mt.vertical||ln,Dt,fn,_n,Se.overscaling,wp);for(const mt of Ge)ln&&Td(Se,ln.text,eo,mt)||P(Lt,mt,tr)}else if(\"line-center\"===kn){for(const Se of Ge.geometry)if(Se.length>1){const Ge=Kp(Se,Sn,mt.vertical||ln,Dt,fn,_n);Ge&&P(Se,Ge,tr)}}else if(\"Polygon\"===Ge.type)for(const Se of Ac(Ge.geometry,0)){const Ge=pd(Se,16);P(Se[0],new Op(Ge.x,Ge.y,0,0,void 0),tr)}else if(\"LineString\"===Ge.type)for(const Se of Ge.geometry)P(Se,new Op(Se[0].x,Se[0].y,0,0,void 0),tr);else if(\"Point\"===Ge.type)for(const Se of Ge.geometry)for(const Ge of Se)P([Ge],new Op(Ge.x,Ge.y,0,0,void 0),tr)}const x_=255,v_=x_*Ym;function Sd(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,pn){const fn=function(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=[];if(0===Ge.positionedLines.length)return Ot;const $t=Dt.layout.get(\"text-rotate\").evaluate(Rt,{})*Math.PI/180,Ni=function(Se){const Ge=Se[0],mt=Se[1],Dt=Ge*mt;return Dt>0?[Ge,-mt]:Dt<0?[-Ge,mt]:0===Ge?[mt,Ge]:[mt,-Ge]}(mt);let tr=Math.abs(Ge.top-Ge.bottom);for(const Se of Ge.positionedLines)tr-=Se.lineOffset;const Lr=Ge.positionedLines.length,Rr=tr/Lr;let Qr=Ge.top-mt[1];for(let Se=0;Se<Lr;++Se){const Dt=Ge.positionedLines[Se];Qr=ud(Ge,Rr,Qr,Se);for(const Se of Dt.positionedGlyphs){if(!Se.rect)continue;const Dt=Se.rect||{};let Rt=s_+1,tr=!0,Lr=1,Rr=0;if(Se.imageName){const Ge=Bt[Se.imageName];if(!Ge)continue;if(Ge.sdf){N(\"SDF images are not supported in formatted text and will be ignored.\");continue}tr=!1,Lr=Ge.pixelRatio,Rt=a_/Lr}const an=(Lt||Ft)&&Se.vertical,pn=Se.metrics.advance*Se.scale/2,fn=Se.metrics,mn=Se.rect;if(null===mn)continue;Ft&&Ge.verticalizable&&(Rr=Se.imageName?pn-Se.metrics.width*Se.scale/2:0);const _n=Lt?[Se.x+pn,Se.y]:[0,0];let bn=[0,0],wn=[0,0],Tn=!1;Lt||(an?(wn=[Se.x+pn+Ni[0],Se.y+Ni[1]-Rr],Tn=!0):bn=[Se.x+pn+mt[0],Se.y+mt[1]-Rr]);const Sn=mn.w*Se.scale/(Lr*(Se.localGlyph?p_:1)),An=mn.h*Se.scale/(Lr*(Se.localGlyph?p_:1));let Pn,kn,eo,ao;if(an){const Ge=Se.y-Qr,mt=new ln(-pn,pn-Ge),Dt=-Math.PI/2,Lt=new ln(...wn);Pn=new ln(-pn+bn[0],bn[1]),Pn._rotateAround(Dt,mt)._add(Lt),Pn.x+=-Ge+pn,Pn.y-=(fn.left-Rt)*Se.scale;const Bt=Se.imageName?fn.advance*Se.scale:Jm*Se.scale,Ft=String.fromCharCode(Se.glyph);Zh(Ft)?Pn.x+=(1-Rt)*Se.scale:Kh(Ft)?Pn.x+=Bt-fn.height*Se.scale+(-Rt-1)*Se.scale:Pn.x+=Se.imageName||fn.width+2*Rt===mn.w&&fn.height+2*Rt===mn.h?(Bt-An)/2:(Bt-(fn.height+2*Rt)*Se.scale)/2,kn=new ln(Pn.x,Pn.y-Sn),eo=new ln(Pn.x+An,Pn.y),ao=new ln(Pn.x+An,Pn.y-Sn)}else{const Ge=(fn.left-Rt)*Se.scale-pn+bn[0],mt=(-fn.top-Rt)*Se.scale+bn[1],Dt=Ge+Sn,Lt=mt+An;Pn=new ln(Ge,mt),kn=new ln(Dt,mt),eo=new ln(Ge,Lt),ao=new ln(Dt,Lt)}if($t){let Se;Se=Lt?new ln(0,0):Tn?new ln(Ni[0],Ni[1]):new ln(mt[0],mt[1]),Pn._rotateAround($t,Se),kn._rotateAround($t,Se),eo._rotateAround($t,Se),ao._rotateAround($t,Se)}const Oo=new ln(0,0),Qo=new ln(0,0);Ot.push({tl:Pn,tr:kn,bl:eo,br:ao,tex:Dt,writingMode:Ge.writingMode,glyphOffset:_n,sectionIndex:Se.sectionIndex,isSDF:tr,pixelOffsetTL:Oo,pixelOffsetBR:Qo,minFontScaleX:0,minFontScaleY:0})}}return Ot}(0,Dt,Ot,Rt,Bt,Ft,Lt,Se.allowVerticalPlacement),mn=Se.textSizeData;let _n=null;\"source\"===mn.kind?(_n=[Ym*Rt.layout.get(\"text-size\").evaluate(Ft,{},pn)],_n[0]>v_&&N(`${Se.layerIds[0]}: Value for \"text-size\" is >= ${x_}. Reduce your \"text-size\".`)):\"composite\"===mn.kind&&(_n=[Ym*Qr.compositeTextSizes[0].evaluate(Ft,{},pn),Ym*Qr.compositeTextSizes[1].evaluate(Ft,{},pn)],(_n[0]>v_||_n[1]>v_)&&N(`${Se.layerIds[0]}: Value for \"text-size\" is >= ${x_}. Reduce your \"text-size\".`)),Se.addSymbols(Se.text,fn,_n,Ot,Bt,Ft,Ni,Ge,mt,$t.lineStartIndex,$t.lineLength,Rr,an,pn);for(const Ge of tr)Lr[Ge]=Se.text.placedSymbolArray.length-1;return 4*fn.length}function kd(Se){for(const Ge in Se)return Se[Ge];return null}function Id(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t){let Ni=Bt.top,tr=Bt.bottom,Lr=Bt.left,Rr=Bt.right;const Qr=Bt.collisionPadding;if(Qr&&(Lr-=Qr[0],Ni-=Qr[1],Rr+=Qr[2],tr+=Qr[3]),Ot){const Se=new ln(Lr,Ni),Ge=new ln(Rr,Ni),mt=new ln(Lr,tr),Dt=new ln(Rr,tr),Lt=w(Ot);let Rt=new ln(0,0);$t&&(Rt=new ln($t[0],$t[1])),Se._rotateAround(Lt,Rt),Ge._rotateAround(Lt,Rt),mt._rotateAround(Lt,Rt),Dt._rotateAround(Lt,Rt),Lr=Math.min(Se.x,Ge.x,mt.x,Dt.x),Rr=Math.max(Se.x,Ge.x,mt.x,Dt.x),Ni=Math.min(Se.y,Ge.y,mt.y,Dt.y),tr=Math.max(Se.y,Ge.y,mt.y,Dt.y)}return Se.emplaceBack(Ge.x,Ge.y,Ge.z,mt.x,mt.y,Lr,Ni,Rr,tr,Ft,Dt,Lt,Rt),Se.length-1}function Md(Se){Se.collisionPadding&&(Se.top-=Se.collisionPadding[1],Se.bottom+=Se.collisionPadding[3]);const Ge=Se.bottom-Se.top;return Ge>0?Math.max(10,Ge):null}function Td(Se,Ge,mt,Dt){const Lt=Se.compareText;if(Ge in Lt){const Se=Lt[Ge];for(let Ge=Se.length-1;Ge>=0;Ge--)if(Dt.dist(Se[Ge])<mt)return!0}else Lt[Ge]=[];return Lt[Ge].push(Dt),!1}function zd(Se,Ge){const mt=Se.fovAboveCenter,Dt=Se.elevation?Se.elevation.getMinElevationBelowMSL()*Ge:0,Lt=(Se._camera.position[2]*Se.worldSize-Dt)/Math.cos(Se._pitch),Rt=Math.sin(mt)*Lt/Math.sin(Math.max(Math.PI/2-Se._pitch-mt,.01)),Bt=Math.sin(Se._pitch)*Rt+Lt;return Math.min(1.01*Bt,Lt*(1/Se._horizonShift))}function Bd(Se,Ge){if(!Ge.isReprojectedInTileSpace)return{scale:1<<Se.z,x:Se.x,y:Se.y,x2:Se.x+1,y2:Se.y+1,projection:Ge};const mt=Math.pow(2,-Se.z),Dt=Se.x*mt,Lt=(Se.x+1)*mt,Rt=Se.y*mt,Bt=(Se.y+1)*mt,Ft=Kl(Dt),Ot=Kl(Lt),$t=Xl(Rt),Ni=Xl(Bt),tr=Ge.project(Ft,$t),Lr=Ge.project(Ot,$t),Rr=Ge.project(Ot,Ni),Qr=Ge.project(Ft,Ni);let an=Math.min(tr.x,Lr.x,Rr.x,Qr.x),ln=Math.min(tr.y,Lr.y,Rr.y,Qr.y),pn=Math.max(tr.x,Lr.x,Rr.x,Qr.x),fn=Math.max(tr.y,Lr.y,Rr.y,Qr.y);const mn=mt/16;function b(Se,mt,Dt,Lt,Rt,Bt){const Ft=(Dt+Rt)/2,Ot=(Lt+Bt)/2,$t=Ge.project(Kl(Ft),Xl(Ot)),Ni=Math.max(0,an-$t.x,ln-$t.y,$t.x-pn,$t.y-fn);an=Math.min(an,$t.x),pn=Math.max(pn,$t.x),ln=Math.min(ln,$t.y),fn=Math.max(fn,$t.y),Ni>mn&&(b(Se,$t,Dt,Lt,Ft,Ot),b($t,mt,Ft,Ot,Rt,Bt))}b(tr,Lr,Dt,Rt,Lt,Rt),b(Lr,Rr,Lt,Rt,Lt,Bt),b(Rr,Qr,Lt,Bt,Dt,Bt),b(Qr,tr,Dt,Bt,Dt,Rt),an-=mn,ln-=mn,pn+=mn,fn+=mn;const _n=1/Math.max(pn-an,fn-ln);return{scale:_n,x:an*_n,y:ln*_n,x2:pn*_n,y2:fn*_n,projection:Ge}}const b_=po(new Float32Array(16));class Cd{constructor(Se){this.spec=Se,this.name=Se.name,this.wrap=!1,this.requiresDraping=!1,this.supportsWorldCopies=!1,this.supportsTerrain=!1,this.supportsFog=!1,this.supportsFreeCamera=!1,this.zAxisUnit=\"meters\",this.isReprojectedInTileSpace=!0,this.unsupportedLayers=[\"custom\"],this.center=[0,0],this.range=[3.5,7]}project(Se,Ge){return{x:0,y:0,z:0}}unproject(Se,Ge){return new im(0,0)}projectTilePoint(Se,Ge,mt){return{x:Se,y:Ge,z:0}}locationPoint(Se,Ge,mt=!0){return Se._coordinatePoint(Se.locationCoordinate(Ge),mt)}pixelsPerMeter(Se,Ge){return Zl(1,Se)*Ge}pixelSpaceConversion(Se,Ge,mt){return 1}farthestPixelDistance(Se){return zd(Se,Se.pixelsPerMeter)}pointCoordinate(Se,Ge,mt,Dt){const Lt=Se.horizonLineFromTop(!1),Rt=new ln(Ge,Math.max(Lt,mt));return Se.rayIntersectionCoordinate(Se.pointRayIntersection(Rt,Dt))}pointCoordinate3D(Se,Ge,mt){const Dt=new ln(Ge,mt);if(Se.elevation)return Se.elevation.pointCoordinate(Dt);{const Ge=this.pointCoordinate(Se,Dt.x,Dt.y,0);return[Ge.x,Ge.y,Ge.z]}}isPointAboveHorizon(Se,Ge){if(Se.elevation)return!this.pointCoordinate3D(Se,Ge.x,Ge.y);const mt=Se.horizonLineFromTop();return Ge.y<mt}createInversionMatrix(Se,Ge){return b_}createTileMatrix(Se,Ge,mt){let Dt,Lt,Rt;const Bt=mt.canonical,Ft=po(new Float64Array(16));if(this.isReprojectedInTileSpace){const Ot=Bd(Bt,this);Dt=1,Lt=Ot.x+mt.wrap*Ot.scale,Rt=Ot.y,go(Ft,Ft,[Dt/Ot.scale,Dt/Ot.scale,Se.pixelsPerMeter/Ge])}else Dt=Ge/Se.zoomScale(Bt.z),Lt=(Bt.x+Math.pow(2,Bt.z)*mt.wrap)*Dt,Rt=Bt.y*Dt;return mo(Ft,Ft,[Lt,Rt,0]),go(Ft,Ft,[Dt/wp,Dt/wp,1]),Ft}upVector(Se,Ge,mt){return[0,0,1]}upVectorScale(Se,Ge,mt){return{metersToTile:1}}}class Pd extends Cd{constructor(Se){super(Se),this.range=[4,7],this.center=Se.center||[-96,37.5];const[Ge,mt]=this.parallels=Se.parallels||[29.5,45.5],Dt=Math.sin(w(Ge));this.n=(Dt+Math.sin(w(mt)))/2,this.c=1+Dt*(2*this.n-Dt),this.r0=Math.sqrt(this.c)/this.n}project(Se,Ge){const{n:mt,c:Dt,r0:Lt}=this,Rt=w(Se-this.center[0]),Bt=w(Ge),Ft=Math.sqrt(Dt-2*mt*Math.sin(Bt))/mt;return{x:Ft*Math.sin(Rt*mt),y:Ft*Math.cos(Rt*mt)-Lt,z:0}}unproject(Se,Ge){const{n:mt,c:Dt,r0:Lt}=this,Rt=Lt+Ge;let Bt=Math.atan2(Se,Math.abs(Rt))*Math.sign(Rt);Rt*mt<0&&(Bt-=Math.PI*Math.sign(Se)*Math.sign(Rt));const Ft=w(this.center[0])*mt;Bt=z(Bt,-Math.PI-Ft,Math.PI-Ft);const Ot=M(_(Bt/mt)+this.center[0],-180,180),$t=Math.asin(M((Dt-(Se*Se+Rt*Rt)*mt*mt)/(2*mt),-1,1)),Ni=M(_($t),-rm,rm);return new im(Ot,Ni)}}const w_=1.340264,T_=-.081106,E_=893e-6,M_=.003796,S_=Math.sqrt(3)/2;class Ud extends Cd{project(Se,Ge){Ge=Ge/180*Math.PI,Se=Se/180*Math.PI;const mt=Math.asin(S_*Math.sin(Ge)),Dt=mt*mt,Lt=Dt*Dt*Dt;return{x:.5*(Se*Math.cos(mt)/(S_*(w_+3*T_*Dt+Lt*(7*E_+9*M_*Dt)))/Math.PI+.5),y:1-.5*(mt*(w_+T_*Dt+Lt*(E_+M_*Dt))/Math.PI+1),z:0}}unproject(Se,Ge){Se=(2*Se-.5)*Math.PI;let mt=Ge=(2*(1-Ge)-1)*Math.PI,Dt=mt*mt,Lt=Dt*Dt*Dt;for(let Se,Rt,Bt,Ft=0;Ft<12&&(Rt=mt*(w_+T_*Dt+Lt*(E_+M_*Dt))-Ge,Bt=w_+3*T_*Dt+Lt*(7*E_+9*M_*Dt),Se=Rt/Bt,mt=M(mt-Se,-Math.PI/3,Math.PI/3),Dt=mt*mt,Lt=Dt*Dt*Dt,!(Math.abs(Se)<1e-12));++Ft);const Rt=S_*Se*(w_+3*T_*Dt+Lt*(7*E_+9*M_*Dt))/Math.cos(mt),Bt=Math.asin(Math.sin(mt)/S_),Ft=M(180*Rt/Math.PI,-180,180),Ot=M(180*Bt/Math.PI,-rm,rm);return new im(Ft,Ot)}}class $d extends Cd{constructor(Se){super(Se),this.wrap=!0,this.supportsWorldCopies=!0}project(Se,Ge){return{x:.5+Se/360,y:.5-Ge/360,z:0}}unproject(Se,Ge){const mt=360*(Se-.5),Dt=M(360*(.5-Ge),-rm,rm);return new im(mt,Dt)}}const A_=Math.PI/2;function Od(Se){return Math.tan((A_+Se)/2)}class qd extends Cd{constructor(Se){super(Se),this.center=Se.center||[0,30];const[Ge,mt]=this.parallels=Se.parallels||[30,30];let Dt=w(Ge),Lt=w(mt);this.southernCenter=Dt+Lt<0,this.southernCenter&&(Dt=-Dt,Lt=-Lt);const Rt=Math.cos(Dt),Bt=Od(Dt);this.n=Dt===Lt?Math.sin(Dt):Math.log(Rt/Math.cos(Lt))/Math.log(Od(Lt)/Bt),this.f=Rt*Math.pow(Od(Dt),this.n)/this.n}project(Se,Ge){Ge=w(Ge),this.southernCenter&&(Ge=-Ge),Se=w(Se-this.center[0]);const mt=1e-6,{n:Dt,f:Lt}=this;Lt>0?Ge<-A_+mt&&(Ge=-A_+mt):Ge>A_-mt&&(Ge=A_-mt);const Rt=Lt/Math.pow(Od(Ge),Dt);let Bt=Rt*Math.sin(Dt*Se),Ft=Lt-Rt*Math.cos(Dt*Se);return Bt=.5*(Bt/Math.PI+.5),Ft=.5*(Ft/Math.PI+.5),{x:Bt,y:this.southernCenter?Ft:1-Ft,z:0}}unproject(Se,Ge){Se=(2*Se-.5)*Math.PI,this.southernCenter&&(Ge=1-Ge),Ge=(2*(1-Ge)-.5)*Math.PI;const{n:mt,f:Dt}=this,Lt=Dt-Ge,Rt=Math.sign(Lt),Bt=Math.sign(mt)*Math.sqrt(Se*Se+Lt*Lt);let Ft=Math.atan2(Se,Math.abs(Lt))*Rt;Lt*mt<0&&(Ft-=Math.PI*Math.sign(Se)*Rt);const Ot=M(_(Ft/mt)+this.center[0],-180,180),$t=M(_(2*Math.atan(Math.pow(Dt/Bt,1/mt))-A_),-rm,rm);return new im(Ot,this.southernCenter?-$t:$t)}}class Nd extends Cd{constructor(Se){super(Se),this.wrap=!0,this.supportsWorldCopies=!0,this.supportsTerrain=!0,this.supportsFog=!0,this.supportsFreeCamera=!0,this.isReprojectedInTileSpace=!1,this.unsupportedLayers=[],this.range=null}project(Se,Ge){return{x:Nl(Se),y:Gl(Ge),z:0}}unproject(Se,Ge){const mt=Kl(Se),Dt=Xl(Ge);return new im(mt,Dt)}}const I_=w(rm);class Zd extends Cd{project(Se,Ge){const mt=(Ge=w(Ge))*Ge,Dt=mt*mt;return{x:.5*((Se=w(Se))*(.8707-.131979*mt+Dt*(Dt*(.003971*mt-.001529*Dt)-.013791))/Math.PI+.5),y:1-.5*(Ge*(1.007226+mt*(.015085+Dt*(.028874*mt-.044475-.005916*Dt)))/Math.PI+1),z:0}}unproject(Se,Ge){Se=(2*Se-.5)*Math.PI;let mt=Ge=(2*(1-Ge)-1)*Math.PI,Dt=25,Lt=0,Rt=mt*mt;do{Rt=mt*mt;const Se=Rt*Rt;Lt=(mt*(1.007226+Rt*(.015085+Se*(.028874*Rt-.044475-.005916*Se)))-Ge)/(1.007226+Rt*(.045255+Se*(.259866*Rt-.311325-.005916*11*Se))),mt=M(mt-Lt,-I_,I_)}while(Math.abs(Lt)>1e-6&&--Dt>0);Rt=mt*mt;const Bt=M(_(Se/(.8707+Rt*(Rt*(Rt*Rt*Rt*(.003971-.001529*Rt)-.013791)-.131979))),-180,180),Ft=_(mt);return new im(Bt,Ft)}}const C_=w(rm);class Xd extends Cd{project(Se,Ge){Ge=w(Ge),Se=w(Se);const mt=Math.cos(Ge),Dt=2/Math.PI,Lt=Math.acos(mt*Math.cos(Se/2)),Rt=Math.sin(Lt)/Lt,Bt=.5*(Se*Dt+2*mt*Math.sin(Se/2)/Rt)||0,Ft=.5*(Ge+Math.sin(Ge)/Rt)||0;return{x:.5*(Bt/Math.PI+.5),y:1-.5*(Ft/Math.PI+1),z:0}}unproject(Se,Ge){let mt=Se=(2*Se-.5)*Math.PI,Dt=Ge=(2*(1-Ge)-1)*Math.PI,Lt=25;const Rt=1e-6;let Bt=0,Ft=0;do{const Lt=Math.cos(Dt),Rt=Math.sin(Dt),Ot=2*Rt*Lt,$t=Rt*Rt,Ni=Lt*Lt,tr=Math.cos(mt/2),Lr=Math.sin(mt/2),Rr=2*tr*Lr,Qr=Lr*Lr,an=1-Ni*tr*tr,ln=an?1/an:0,pn=an?Math.acos(Lt*tr)*Math.sqrt(1/an):0,fn=.5*(2*pn*Lt*Lr+2*mt/Math.PI)-Se,mn=.5*(pn*Rt+Dt)-Ge,_n=.5*ln*(Ni*Qr+pn*Lt*tr*$t)+1/Math.PI,bn=ln*(Rr*Ot/4-pn*Rt*Lr),wn=.125*ln*(Ot*Lr-pn*Rt*Ni*Rr),Tn=.5*ln*($t*tr+pn*Qr*Lt)+.5,Sn=bn*wn-Tn*_n;Bt=(mn*bn-fn*Tn)/Sn,Ft=(fn*wn-mn*_n)/Sn,mt=M(mt-Bt,-Math.PI,Math.PI),Dt=M(Dt-Ft,-C_,C_)}while((Math.abs(Bt)>Rt||Math.abs(Ft)>Rt)&&--Lt>0);return new im(_(mt),_(Dt))}}class Jd extends Cd{constructor(Se){super(Se),this.center=Se.center||[0,0],this.parallels=Se.parallels||[0,0],this.cosPhi=Math.max(.01,Math.cos(w(this.parallels[0]))),this.scale=1/(2*Math.max(Math.PI*this.cosPhi,1/this.cosPhi)),this.wrap=!0,this.supportsWorldCopies=!0}project(Se,Ge){const{scale:mt,cosPhi:Dt}=this;return{x:w(Se)*Dt*mt+.5,y:-Math.sin(w(Ge))/Dt*mt+.5,z:0}}unproject(Se,Ge){const{scale:mt,cosPhi:Dt}=this,Lt=-(Ge-.5)/mt,Rt=M(_((Se-.5)/mt)/Dt,-180,180),Bt=Math.asin(M(Lt*Dt,-1,1)),Ft=M(_(Bt),-rm,rm);return new im(Rt,Ft)}}class Hd extends Nd{constructor(Se){super(Se),this.requiresDraping=!0,this.supportsWorldCopies=!1,this.supportsFog=!0,this.zAxisUnit=\"pixels\",this.unsupportedLayers=[\"debug\"],this.range=[3,5]}projectTilePoint(Se,Ge,mt){const Dt=Ml(Se,Ge,mt);return Fo(Dt,Dt,Bl(xl(mt))),{x:Dt[0],y:Dt[1],z:Dt[2]}}locationPoint(Se,Ge){const mt=Il(Ge.lat,Ge.lng),Dt=Do([],mt),Lt=Se.elevation?Se.elevation.getAtPointOrZero(Se.locationCoordinate(Ge),Se._centerAltitude):Se._centerAltitude;Po(mt,mt,Dt,Zl(1,0)*wp*Lt);const Rt=po(new Float64Array(16));return yo(Rt,Se.pixelMatrix,Se.globeMatrix),Fo(mt,mt,Rt),new ln(mt[0],mt[1])}pixelsPerMeter(Se,Ge){return Zl(1,0)*Ge}pixelSpaceConversion(Se,Ge,mt){const Dt=Zl(1,Se)*Ge,Lt=Er(Zl(1,45)*Ge,Dt,mt);return this.pixelsPerMeter(Se,Ge)/Lt}createTileMatrix(Se,Ge,mt){const Dt=El(xl(mt.canonical));return yo(new Float64Array(16),Se.globeMatrix,Dt)}createInversionMatrix(Se,Ge){const{center:mt}=Se,Dt=Bl(xl(Ge));return vo(Dt,Dt,w(mt.lng)),xo(Dt,Dt,w(mt.lat)),go(Dt,Dt,[Se._pixelsPerMercatorPixel,Se._pixelsPerMercatorPixel,1]),Float32Array.from(Dt)}pointCoordinate(Se,Ge,mt,Dt){return yl(Se,Ge,mt,!0)||new Wl(0,0)}pointCoordinate3D(Se,Ge,mt){const Dt=this.pointCoordinate(Se,Ge,mt,0);return[Dt.x,Dt.y,Dt.z]}isPointAboveHorizon(Se,Ge){return!yl(Se,Ge.x,Ge.y,!1)}farthestPixelDistance(Se){const Ge=function(Se,Ge){const mt=Se.cameraToCenterDistance,Dt=Se._centerAltitude*Ge,Lt=Se._camera,Rt=Se._camera.forward(),Bt=Mo([],Co([],Rt,-mt),[0,0,Dt]),Ft=Se.worldSize/(2*Math.PI),Ot=[0,0,-Ft],$t=Se.width/Se.height,Ni=Math.tan(Se.fovAboveCenter),tr=Co([],Lt.up(),Ni),Lr=Co([],Lt.right(),Ni*$t),Rr=Do([],Mo([],Mo([],Rt,tr),Lr)),Qr=[];let an;if(new el(Bt,Rr).closestPointOnSphere(Ot,Ft,Qr)){const Ge=Mo([],Qr,Ot),mt=Cp([],Ge,Bt);an=Math.cos(Se.fovAboveCenter)*ko(mt)}else{const Se=Cp([],Bt,Ot),Ge=Cp([],Ot,Bt);Do(Ge,Ge);const mt=ko(Se)-Ft;an=Math.sqrt(mt*(mt+2*Ft));const Dt=Math.acos(an/(Ft+mt))-Math.acos(Vo(Rt,Ge));an*=Math.cos(Dt)}return 1.01*an}(Se,this.pixelsPerMeter(Se.center.lat,Se.worldSize)),mt=Pl(Se.zoom);if(mt>0){const Dt=zd(Se,Zl(1,Se.center.lat)*Se.worldSize),Lt=Se.worldSize/(2*Math.PI),Rt=Math.max(Se.width,Se.height)/Se.worldSize*Math.PI;return Er(Ge,Dt+Lt*(1-Math.cos(Rt)),Math.pow(mt,10))}return Ge}upVector(Se,Ge,mt){return Ml(Ge,mt,Se,1)}upVectorScale(Se){return{metersToTile:fl(Tl(xl(Se)))}}}function Yd(Se){const Ge=Se.parallels,mt=!!Ge&&Math.abs(Ge[0]+Ge[1])<.01;switch(Se.name){case\"mercator\":return new Nd(Se);case\"equirectangular\":return new $d(Se);case\"naturalEarth\":return new Zd(Se);case\"equalEarth\":return new Ud(Se);case\"winkelTripel\":return new Xd(Se);case\"albers\":return mt?new Jd(Se):new Pd(Se);case\"lambertConformalConic\":return mt?new Jd(Se):new qd(Se);case\"globe\":return new Hd(Se)}throw new Error(`Invalid projection name: ${Se.name}`)}const z_=Cm.types,P_=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function tf(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr){const Rr=Ft?Math.min(v_,Math.round(Ft[0])):0,Qr=Ft?Math.min(v_,Math.round(Ft[1])):0;Se.emplaceBack(Ge,mt,Math.round(32*Dt),Math.round(32*Lt),Rt,Bt,(Rr<<1)+(Ot?1:0),Qr,16*$t,16*Ni,256*tr,256*Lr)}function ef(Se,Ge,mt,Dt,Lt,Rt,Bt){Se.emplaceBack(Ge,mt,Dt,Lt,Rt,Bt)}function rf(Se,Ge,mt,Dt,Lt){Se.emplaceBack(Ge,mt,Dt,Lt),Se.emplaceBack(Ge,mt,Dt,Lt),Se.emplaceBack(Ge,mt,Dt,Lt),Se.emplaceBack(Ge,mt,Dt,Lt)}function nf(Se){for(const Ge of Se.sections)if(ls(Ge.text))return!0;return!1}class sf{constructor(Se){this.layoutVertexArray=new Xs,this.indexArray=new ra,this.programConfigurations=Se,this.segments=new so,this.dynamicLayoutVertexArray=new Ns,this.opacityVertexArray=new Hs,this.placedSymbolArray=new fa,this.globeExtVertexArray=new Js}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length}upload(Se,Ge,mt,Dt){this.isEmpty()||(mt&&(this.layoutVertexBuffer=Se.createVertexBuffer(this.layoutVertexArray,Gm.members),this.indexBuffer=Se.createIndexBuffer(this.indexArray,Ge),this.dynamicLayoutVertexBuffer=Se.createVertexBuffer(this.dynamicLayoutVertexArray,$m.members,!0),this.opacityVertexBuffer=Se.createVertexBuffer(this.opacityVertexArray,P_,!0),this.globeExtVertexArray.length>0&&(this.globeExtVertexBuffer=Se.createVertexBuffer(this.globeExtVertexArray,Zm.members,!0)),this.opacityVertexBuffer.itemSize=1),(mt||Dt)&&this.programConfigurations.upload(Se))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}}Ji(sf,\"SymbolBuffers\");class af{constructor(Se,Ge,mt){this.layoutVertexArray=new Se,this.layoutAttributes=Ge,this.indexArray=new mt,this.segments=new so,this.collisionVertexArray=new ta,this.collisionVertexArrayExt=new ea}upload(Se){this.layoutVertexBuffer=Se.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=Se.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=Se.createVertexBuffer(this.collisionVertexArray,qm.members,!0),this.collisionVertexBufferExt=Se.createVertexBuffer(this.collisionVertexArrayExt,Xm.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy(),this.collisionVertexBufferExt.destroy())}}Ji(af,\"CollisionBuffers\");class of{constructor(Se){this.collisionBoxArray=Se.collisionBoxArray,this.zoom=Se.zoom,this.overscaling=Se.overscaling,this.layers=Se.layers,this.layerIds=this.layers.map((Se=>Se.id)),this.index=Se.index,this.pixelRatio=Se.pixelRatio,this.sourceLayerIndex=Se.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=po([]),this.placementViewportMatrix=po([]);const Ge=this.layers[0]._unevaluatedLayout._values;this.textSizeData=$h(this.zoom,Ge[\"text-size\"]),this.iconSizeData=$h(this.zoom,Ge[\"icon-size\"]);const mt=this.layers[0].layout,Dt=mt.get(\"symbol-sort-key\"),Lt=mt.get(\"symbol-z-order\");this.canOverlap=mt.get(\"text-allow-overlap\")||mt.get(\"icon-allow-overlap\")||mt.get(\"text-ignore-placement\")||mt.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==Lt&&void 0!==Dt.constantOr(1),this.sortFeaturesByY=(\"viewport-y\"===Lt||\"auto\"===Lt&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=mt.get(\"text-writing-mode\").map((Se=>l_[Se])),this.stateDependentLayerIds=this.layers.filter((Se=>Se.isStateDependent())).map((Se=>Se.id)),this.sourceID=Se.sourceID,this.projection=Se.projection}createArrays(){this.text=new sf(new Ja(this.layers,this.zoom,(Se=>/^text/.test(Se)))),this.icon=new sf(new Ja(this.layers,this.zoom,(Se=>/^icon/.test(Se)))),this.glyphOffsetArray=new ga,this.lineVertexArray=new xa,this.symbolInstances=new ma}calculateGlyphDependencies(Se,Ge,mt,Dt,Lt){for(let mt=0;mt<Se.length;mt++)if(Ge[Se.charCodeAt(mt)]=!0,Dt&&Lt){const Dt=Qm[Se.charAt(mt)];Dt&&(Ge[Dt.charCodeAt(0)]=!0)}}populate(Se,Ge,mt,Dt){const Lt=this.layers[0],Rt=Lt.layout,Bt=\"globe\"===this.projection.name,Ft=Rt.get(\"text-font\"),Ot=Rt.get(\"text-field\"),$t=Rt.get(\"icon-image\"),Ni=(\"constant\"!==Ot.value.kind||Ot.value.value instanceof De&&!Ot.value.value.isEmpty()||Ot.value.value.toString().length>0)&&(\"constant\"!==Ft.value.kind||Ft.value.value.length>0),tr=\"constant\"!==$t.value.kind||!!$t.value.value||Object.keys($t.parameters).length>0,Lr=Rt.get(\"symbol-sort-key\");if(this.features=[],!Ni&&!tr)return;const Rr=Ge.iconDependencies,Qr=Ge.glyphDependencies,an=Ge.availableImages,ln=new ws(this.zoom);for(const{feature:Ge,id:Ot,index:$t,sourceLayerIndex:pn}of Se){const Se=Lt._featureFilter.needGeometry,fn=ou(Ge,Se);if(!Lt._featureFilter.filter(ln,fn,mt))continue;if(Se||(fn.geometry=au(Ge,mt,Dt)),Bt&&1!==Ge.type&&mt.z<=5){const Se=fn.geometry,Ge=.98078528056,n=(Se,Dt)=>Vo(Ml(Se.x,Se.y,mt,1),Ml(Dt.x,Dt.y,mt,1))<Ge;for(let Ge=0;Ge<Se.length;Ge++)Se[Ge]=ru(Se[Ge],n)}let mn,_n;if(Ni){const Se=Lt.getValueAndResolveTokens(\"text-field\",fn,mt,an),Ge=De.factory(Se);nf(Ge)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===xs()||this.hasRTLText&&nd.isParsed())&&(mn=Nh(Ge,Lt,fn))}if(tr){const Se=Lt.getValueAndResolveTokens(\"icon-image\",fn,mt,an);_n=Se instanceof Ve?Se:Ve.fromString(Se)}if(!mn&&!_n)continue;const bn=this.sortFeaturesByKey?Lr.evaluate(fn,{},mt):void 0;if(this.features.push({id:Ot,text:mn,icon:_n,index:$t,sourceLayerIndex:pn,geometry:fn.geometry,properties:Ge.properties,type:z_[Ge.type],sortKey:bn}),_n&&(Rr[_n.name]=!0),mn){const Se=Ft.evaluate(fn,{},mt).join(\",\"),Ge=\"map\"===Rt.get(\"text-rotation-alignment\")&&\"point\"!==Rt.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(l_.vertical)>=0;for(const mt of mn.sections)if(mt.image)Rr[mt.image.name]=!0;else{const Dt=es(mn.toString()),Lt=mt.fontStack||Se,Rt=Qr[Lt]=Qr[Lt]||{};this.calculateGlyphDependencies(mt.text,Rt,Ge,this.allowVerticalPlacement,Dt)}}}\"line\"===Rt.get(\"symbol-placement\")&&(this.features=function(Se){const Ge={},mt={},Dt=[];let Lt=0;function s(Ge){Dt.push(Se[Ge]),Lt++}function a(Se,Ge,Lt){const Rt=mt[Se];return delete mt[Se],mt[Ge]=Rt,Dt[Rt].geometry[0].pop(),Dt[Rt].geometry[0]=Dt[Rt].geometry[0].concat(Lt[0]),Rt}function o(Se,mt,Lt){const Rt=Ge[mt];return delete Ge[mt],Ge[Se]=Rt,Dt[Rt].geometry[0].shift(),Dt[Rt].geometry[0]=Lt[0].concat(Dt[Rt].geometry[0]),Rt}function l(Se,Ge,mt){const Dt=mt?Ge[0][Ge[0].length-1]:Ge[0][0];return`${Se}:${Dt.x}:${Dt.y}`}for(let Rt=0;Rt<Se.length;Rt++){const Bt=Se[Rt],Ft=Bt.geometry,Ot=Bt.text?Bt.text.toString():null;if(!Ot){s(Rt);continue}const $t=l(Ot,Ft),Ni=l(Ot,Ft,!0);if($t in mt&&Ni in Ge&&mt[$t]!==Ge[Ni]){const Se=o($t,Ni,Ft),Lt=a($t,Ni,Dt[Se].geometry);delete Ge[$t],delete mt[Ni],mt[l(Ot,Dt[Lt].geometry,!0)]=Lt,Dt[Se].geometry=null}else $t in mt?a($t,Ni,Ft):Ni in Ge?o($t,Ni,Ft):(s(Rt),Ge[$t]=Lt-1,mt[Ni]=Lt-1)}return Dt.filter((Se=>Se.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((Se,Ge)=>Se.sortKey-Ge.sortKey))}update(Se,Ge,mt,Dt){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(Se,Ge,this.layers,mt,Dt),this.icon.programConfigurations.updatePaintArrays(Se,Ge,this.layers,mt,Dt))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(Se){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(Se),this.iconCollisionBox.upload(Se)),this.text.upload(Se,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(Se,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}getProjection(){return this.projectionInstance||(this.projectionInstance=Yd(this.projection)),this.projectionInstance}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(Se,Ge){const mt=this.lineVertexArray.length;if(void 0!==Se.segment)for(const{x:Se,y:mt}of Ge)this.lineVertexArray.emplaceBack(Se,mt);return{lineStartIndex:mt,lineLength:this.lineVertexArray.length-mt}}addSymbols(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr){const Qr=Se.indexArray,an=Se.layoutVertexArray,ln=Se.globeExtVertexArray,pn=Se.segments.prepareSegment(4*Ge.length,an,Qr,this.canOverlap?Rt.sortKey:void 0),fn=this.glyphOffsetArray.length,mn=pn.vertexLength,_n=this.allowVerticalPlacement&&Bt===l_.vertical?Math.PI/2:0,bn=Rt.text&&Rt.text.sections;for(let Dt=0;Dt<Ge.length;Dt++){const{tl:Lt,tr:Bt,bl:$t,br:Ni,tex:tr,pixelOffsetTL:fn,pixelOffsetBR:mn,minFontScaleX:wn,minFontScaleY:Tn,glyphOffset:Sn,isSDF:An,sectionIndex:Pn}=Ge[Dt],kn=pn.vertexLength,eo=Sn[1];if(tf(an,Ot.x,Ot.y,Lt.x,eo+Lt.y,tr.x,tr.y,mt,An,fn.x,fn.y,wn,Tn),tf(an,Ot.x,Ot.y,Bt.x,eo+Bt.y,tr.x+tr.w,tr.y,mt,An,mn.x,fn.y,wn,Tn),tf(an,Ot.x,Ot.y,$t.x,eo+$t.y,tr.x,tr.y+tr.h,mt,An,fn.x,mn.y,wn,Tn),tf(an,Ot.x,Ot.y,Ni.x,eo+Ni.y,tr.x+tr.w,tr.y+tr.h,mt,An,mn.x,mn.y,wn,Tn),Ft){const{x:Ge,y:mt,z:Dt}=Ft.anchor,[Lt,Rt,Bt]=Ft.up;ef(ln,Ge,mt,Dt,Lt,Rt,Bt),ef(ln,Ge,mt,Dt,Lt,Rt,Bt),ef(ln,Ge,mt,Dt,Lt,Rt,Bt),ef(ln,Ge,mt,Dt,Lt,Rt,Bt),rf(Se.dynamicLayoutVertexArray,Ge,mt,Dt,_n)}else rf(Se.dynamicLayoutVertexArray,Ot.x,Ot.y,Ot.z,_n);Qr.emplaceBack(kn,kn+1,kn+2),Qr.emplaceBack(kn+1,kn+2,kn+3),pn.vertexLength+=4,pn.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(Sn[0]),Dt!==Ge.length-1&&Pn===Ge[Dt+1].sectionIndex||Se.programConfigurations.populatePaintArrays(an.length,Rt,Rt.index,{},Lr,Rr,bn&&bn[Pn])}const wn=Ft?Ft.anchor:Ot;Se.placedSymbolArray.emplaceBack(wn.x,wn.y,wn.z,Ot.x,Ot.y,fn,this.glyphOffsetArray.length-fn,mn,$t,Ni,Ot.segment,mt?mt[0]:0,mt?mt[1]:0,Dt[0],Dt[1],Bt,0,!1,0,tr,0)}_commitLayoutVertex(Se,Ge,mt,Dt,Lt,Rt,Bt){Se.emplaceBack(Ge,mt,Dt,Lt,Rt,Math.round(Bt.x),Math.round(Bt.y))}_addCollisionDebugVertices(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft=mt.segments.prepareSegment(4,mt.layoutVertexArray,mt.indexArray),Ot=Ft.vertexLength,$t=Bt.tileAnchorX,Ni=Bt.tileAnchorY;for(let Se=0;Se<4;Se++)mt.collisionVertexArray.emplaceBack(0,0,0,0);mt.collisionVertexArrayExt.emplaceBack(Ge,-Se.padding,-Se.padding),mt.collisionVertexArrayExt.emplaceBack(Ge,Se.padding,-Se.padding),mt.collisionVertexArrayExt.emplaceBack(Ge,Se.padding,Se.padding),mt.collisionVertexArrayExt.emplaceBack(Ge,-Se.padding,Se.padding),this._commitLayoutVertex(mt.layoutVertexArray,Dt,Lt,Rt,$t,Ni,new ln(Se.x1,Se.y1)),this._commitLayoutVertex(mt.layoutVertexArray,Dt,Lt,Rt,$t,Ni,new ln(Se.x2,Se.y1)),this._commitLayoutVertex(mt.layoutVertexArray,Dt,Lt,Rt,$t,Ni,new ln(Se.x2,Se.y2)),this._commitLayoutVertex(mt.layoutVertexArray,Dt,Lt,Rt,$t,Ni,new ln(Se.x1,Se.y2)),Ft.vertexLength+=4;const tr=mt.indexArray;tr.emplaceBack(Ot,Ot+1),tr.emplaceBack(Ot+1,Ot+2),tr.emplaceBack(Ot+2,Ot+3),tr.emplaceBack(Ot+3,Ot),Ft.primitiveLength+=4}_addTextDebugCollisionBoxes(Se,Ge,mt,Dt,Lt,Rt){for(let Bt=Dt;Bt<Lt;Bt++){const Dt=mt.get(Bt),Lt=this.getSymbolInstanceTextSize(Se,Rt,Ge,Bt);this._addCollisionDebugVertices(Dt,Lt,this.textCollisionBox,Dt.projectedAnchorX,Dt.projectedAnchorY,Dt.projectedAnchorZ,Rt)}}_addIconDebugCollisionBoxes(Se,Ge,mt,Dt,Lt,Rt){for(let Bt=Dt;Bt<Lt;Bt++){const Dt=mt.get(Bt),Lt=this.getSymbolInstanceIconSize(Se,Ge,Rt.placedIconSymbolIndex);this._addCollisionDebugVertices(Dt,Lt,this.iconCollisionBox,Dt.projectedAnchorX,Dt.projectedAnchorY,Dt.projectedAnchorZ,Rt)}}generateCollisionDebugBuffers(Se,Ge){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new af(Ws,Wm.members,la),this.iconCollisionBox=new af(Ws,Wm.members,la);const mt=Oh(this.iconSizeData,Se),Dt=Oh(this.textSizeData,Se);for(let Lt=0;Lt<this.symbolInstances.length;Lt++){const Rt=this.symbolInstances.get(Lt);this._addTextDebugCollisionBoxes(Dt,Se,Ge,Rt.textBoxStartIndex,Rt.textBoxEndIndex,Rt),this._addTextDebugCollisionBoxes(Dt,Se,Ge,Rt.verticalTextBoxStartIndex,Rt.verticalTextBoxEndIndex,Rt),this._addIconDebugCollisionBoxes(mt,Se,Ge,Rt.iconBoxStartIndex,Rt.iconBoxEndIndex,Rt),this._addIconDebugCollisionBoxes(mt,Se,Ge,Rt.verticalIconBoxStartIndex,Rt.verticalIconBoxEndIndex,Rt)}}getSymbolInstanceTextSize(Se,Ge,mt,Dt){const Lt=this.text.placedSymbolArray.get(Ge.rightJustifiedTextSymbolIndex>=0?Ge.rightJustifiedTextSymbolIndex:Ge.centerJustifiedTextSymbolIndex>=0?Ge.centerJustifiedTextSymbolIndex:Ge.leftJustifiedTextSymbolIndex>=0?Ge.leftJustifiedTextSymbolIndex:Ge.verticalPlacedTextSymbolIndex>=0?Ge.verticalPlacedTextSymbolIndex:Dt),Rt=jh(this.textSizeData,Se,Lt)/Jm;return this.tilePixelRatio*Rt}getSymbolInstanceIconSize(Se,Ge,mt){const Dt=this.icon.placedSymbolArray.get(mt),Lt=jh(this.iconSizeData,Se,Dt);return this.tilePixelRatio*Lt}_commitDebugCollisionVertexUpdate(Se,Ge,mt){Se.emplaceBack(Ge,-mt,-mt),Se.emplaceBack(Ge,mt,-mt),Se.emplaceBack(Ge,mt,mt),Se.emplaceBack(Ge,-mt,mt)}_updateTextDebugCollisionBoxes(Se,Ge,mt,Dt,Lt,Rt){for(let Bt=Dt;Bt<Lt;Bt++){const Dt=mt.get(Bt),Lt=this.getSymbolInstanceTextSize(Se,Rt,Ge,Bt);this._commitDebugCollisionVertexUpdate(this.textCollisionBox.collisionVertexArrayExt,Lt,Dt.padding)}}_updateIconDebugCollisionBoxes(Se,Ge,mt,Dt,Lt,Rt){for(let Bt=Dt;Bt<Lt;Bt++){const Dt=mt.get(Bt),Lt=this.getSymbolInstanceIconSize(Se,Ge,Rt);this._commitDebugCollisionVertexUpdate(this.iconCollisionBox.collisionVertexArrayExt,Lt,Dt.padding)}}updateCollisionDebugBuffers(Se,Ge){if(!this.hasDebugData())return;this.hasTextCollisionBoxData()&&this.textCollisionBox.collisionVertexArrayExt.clear(),this.hasIconCollisionBoxData()&&this.iconCollisionBox.collisionVertexArrayExt.clear();const mt=Oh(this.iconSizeData,Se),Dt=Oh(this.textSizeData,Se);for(let Lt=0;Lt<this.symbolInstances.length;Lt++){const Rt=this.symbolInstances.get(Lt);this._updateTextDebugCollisionBoxes(Dt,Se,Ge,Rt.textBoxStartIndex,Rt.textBoxEndIndex,Rt),this._updateTextDebugCollisionBoxes(Dt,Se,Ge,Rt.verticalTextBoxStartIndex,Rt.verticalTextBoxEndIndex,Rt),this._updateIconDebugCollisionBoxes(mt,Se,Ge,Rt.iconBoxStartIndex,Rt.iconBoxEndIndex,Rt.placedIconSymbolIndex),this._updateIconDebugCollisionBoxes(mt,Se,Ge,Rt.verticalIconBoxStartIndex,Rt.verticalIconBoxEndIndex,Rt.placedIconSymbolIndex)}this.hasTextCollisionBoxData()&&this.textCollisionBox.collisionVertexBufferExt&&this.textCollisionBox.collisionVertexBufferExt.updateData(this.textCollisionBox.collisionVertexArrayExt),this.hasIconCollisionBoxData()&&this.iconCollisionBox.collisionVertexBufferExt&&this.iconCollisionBox.collisionVertexBufferExt.updateData(this.iconCollisionBox.collisionVertexArrayExt)}_deserializeCollisionBoxesForSymbol(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t={};if(Ge<mt){const{x1:mt,y1:Dt,x2:Lt,y2:Rt,padding:Bt,projectedAnchorX:Ft,projectedAnchorY:Ot,projectedAnchorZ:Ni,tileAnchorX:tr,tileAnchorY:Lr,featureIndex:Rr}=Se.get(Ge);$t.textBox={x1:mt,y1:Dt,x2:Lt,y2:Rt,padding:Bt,projectedAnchorX:Ft,projectedAnchorY:Ot,projectedAnchorZ:Ni,tileAnchorX:tr,tileAnchorY:Lr},$t.textFeatureIndex=Rr}if(Dt<Lt){const{x1:Ge,y1:mt,x2:Lt,y2:Rt,padding:Bt,projectedAnchorX:Ft,projectedAnchorY:Ot,projectedAnchorZ:Ni,tileAnchorX:tr,tileAnchorY:Lr,featureIndex:Rr}=Se.get(Dt);$t.verticalTextBox={x1:Ge,y1:mt,x2:Lt,y2:Rt,padding:Bt,projectedAnchorX:Ft,projectedAnchorY:Ot,projectedAnchorZ:Ni,tileAnchorX:tr,tileAnchorY:Lr},$t.verticalTextFeatureIndex=Rr}if(Rt<Bt){const{x1:Ge,y1:mt,x2:Dt,y2:Lt,padding:Bt,projectedAnchorX:Ft,projectedAnchorY:Ot,projectedAnchorZ:Ni,tileAnchorX:tr,tileAnchorY:Lr,featureIndex:Rr}=Se.get(Rt);$t.iconBox={x1:Ge,y1:mt,x2:Dt,y2:Lt,padding:Bt,projectedAnchorX:Ft,projectedAnchorY:Ot,projectedAnchorZ:Ni,tileAnchorX:tr,tileAnchorY:Lr},$t.iconFeatureIndex=Rr}if(Ft<Ot){const{x1:Ge,y1:mt,x2:Dt,y2:Lt,padding:Rt,projectedAnchorX:Bt,projectedAnchorY:Ot,projectedAnchorZ:Ni,tileAnchorX:tr,tileAnchorY:Lr,featureIndex:Rr}=Se.get(Ft);$t.verticalIconBox={x1:Ge,y1:mt,x2:Dt,y2:Lt,padding:Rt,projectedAnchorX:Bt,projectedAnchorY:Ot,projectedAnchorZ:Ni,tileAnchorX:tr,tileAnchorY:Lr},$t.verticalIconFeatureIndex=Rr}return $t}deserializeCollisionBoxes(Se){this.collisionArrays=[];for(let Ge=0;Ge<this.symbolInstances.length;Ge++){const mt=this.symbolInstances.get(Ge);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(Se,mt.textBoxStartIndex,mt.textBoxEndIndex,mt.verticalTextBoxStartIndex,mt.verticalTextBoxEndIndex,mt.iconBoxStartIndex,mt.iconBoxEndIndex,mt.verticalIconBoxStartIndex,mt.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(Se,Ge){const mt=Se.placedSymbolArray.get(Ge),Dt=mt.vertexStartIndex+4*mt.numGlyphs;for(let Ge=mt.vertexStartIndex;Ge<Dt;Ge+=4)Se.indexArray.emplaceBack(Ge,Ge+1,Ge+2),Se.indexArray.emplaceBack(Ge+1,Ge+2,Ge+3)}getSortedSymbolIndexes(Se){if(this.sortedAngle===Se&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;const Ge=Math.sin(Se),mt=Math.cos(Se),Dt=[],Lt=[],Rt=[];for(let Se=0;Se<this.symbolInstances.length;++Se){Rt.push(Se);const Bt=this.symbolInstances.get(Se);Dt.push(0|Math.round(Ge*Bt.tileAnchorX+mt*Bt.tileAnchorY)),Lt.push(Bt.featureIndex)}return Rt.sort(((Se,Ge)=>Dt[Se]-Dt[Ge]||Lt[Ge]-Lt[Se])),Rt}addToSortKeyRanges(Se,Ge){const mt=this.sortKeyRanges[this.sortKeyRanges.length-1];mt&&mt.sortKey===Ge?mt.symbolInstanceEnd=Se+1:this.sortKeyRanges.push({sortKey:Ge,symbolInstanceStart:Se,symbolInstanceEnd:Se+1})}sortFeatures(Se){if(this.sortFeaturesByY&&this.sortedAngle!==Se&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(Se),this.sortedAngle=Se,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const Se of this.symbolInstanceIndexes){const Ge=this.symbolInstances.get(Se);this.featureSortOrder.push(Ge.featureIndex);const{rightJustifiedTextSymbolIndex:mt,centerJustifiedTextSymbolIndex:Dt,leftJustifiedTextSymbolIndex:Lt,verticalPlacedTextSymbolIndex:Rt,placedIconSymbolIndex:Bt,verticalPlacedIconSymbolIndex:Ft}=Ge;mt>=0&&this.addIndicesForPlacedSymbol(this.text,mt),Dt>=0&&Dt!==mt&&this.addIndicesForPlacedSymbol(this.text,Dt),Lt>=0&&Lt!==Dt&&Lt!==mt&&this.addIndicesForPlacedSymbol(this.text,Lt),Rt>=0&&this.addIndicesForPlacedSymbol(this.text,Rt),Bt>=0&&this.addIndicesForPlacedSymbol(this.icon,Bt),Ft>=0&&this.addIndicesForPlacedSymbol(this.icon,Ft)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}Ji(of,\"SymbolBucket\",{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),of.MAX_GLYPHS=65535,of.addDynamicAttributes=rf;const D_=new Ps({\"symbol-placement\":new Bs(Ha.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Bs(Ha.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Bs(Ha.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Es(Ha.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Bs(Ha.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Bs(Ha.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new Bs(Ha.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Bs(Ha.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Bs(Ha.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Es(Ha.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Bs(Ha.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Bs(Ha.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Es(Ha.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Es(Ha.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Bs(Ha.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Bs(Ha.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Es(Ha.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Es(Ha.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Bs(Ha.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Bs(Ha.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Bs(Ha.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Es(Ha.layout_symbol[\"text-field\"]),\"text-font\":new Es(Ha.layout_symbol[\"text-font\"]),\"text-size\":new Es(Ha.layout_symbol[\"text-size\"]),\"text-max-width\":new Es(Ha.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Es(Ha.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Es(Ha.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Es(Ha.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Es(Ha.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Bs(Ha.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Es(Ha.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Bs(Ha.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Bs(Ha.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Es(Ha.layout_symbol[\"text-rotate\"]),\"text-padding\":new Bs(Ha.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Bs(Ha.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Es(Ha.layout_symbol[\"text-transform\"]),\"text-offset\":new Es(Ha.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Bs(Ha.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new Bs(Ha.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Bs(Ha.layout_symbol[\"text-optional\"])});var k_={paint:new Ps({\"icon-opacity\":new Es(Ha.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Es(Ha.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Es(Ha.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Es(Ha.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Es(Ha.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Bs(Ha.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Bs(Ha.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Es(Ha.paint_symbol[\"text-opacity\"]),\"text-color\":new Es(Ha.paint_symbol[\"text-color\"],{runtimeType:cl,getOverride:Se=>Se.textColor,hasOverride:Se=>!!Se.textColor}),\"text-halo-color\":new Es(Ha.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Es(Ha.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Es(Ha.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Bs(Ha.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Bs(Ha.paint_symbol[\"text-translate-anchor\"])}),layout:D_};class cf{constructor(Se){this.type=Se.property.overrides?Se.property.overrides.runtimeType:ol,this.defaultValue=Se}evaluate(Se){if(Se.formattedSection){const Ge=this.defaultValue.property.overrides;if(Ge&&Ge.hasOverride(Se.formattedSection))return Ge.getOverride(Se.formattedSection)}return Se.feature&&Se.featureState?this.defaultValue.evaluate(Se.feature,Se.featureState):this.defaultValue.property.specification.default}eachChild(Se){this.defaultValue.isConstant()||Se(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ji(cf,\"FormatSectionOverride\",{omit:[\"defaultValue\"]});class hf extends ro{constructor(Se){super(Se,k_)}recalculate(Se,Ge){super.recalculate(Se,Ge),\"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\"));const mt=this.layout.get(\"text-writing-mode\");if(mt){const Se=[];for(const Ge of mt)Se.indexOf(Ge)<0&&Se.push(Ge);this.layout._values[\"text-writing-mode\"]=Se}else this.layout._values[\"text-writing-mode\"]=\"point\"===this.layout.get(\"symbol-placement\")?[\"horizontal\"]:[\"horizontal\",\"vertical\"];this._setPaintOverrides()}getValueAndResolveTokens(Se,Ge,mt,Dt){const Lt=this.layout.get(Se).evaluate(Ge,{},mt,Dt),Rt=this._unevaluatedLayout._values[Se];return Rt.isDataDriven()||Jn(Rt.value)||!Lt?Lt:function(Se,Ge){return Ge.replace(/{([^{}]+)}/g,((Ge,mt)=>mt in Se?String(Se[mt]):\"\"))}(Ge.properties,Lt)}createBucket(Se){return new of(Se)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const Se of k_.paint.overridableProperties){if(!hf.hasPaintOverride(this.layout,Se))continue;const Ge=this.paint.get(Se),mt=new cf(Ge),Dt=new Xn(mt,Ge.property.specification);let Lt=null;Lt=\"constant\"===Ge.value.kind||\"source\"===Ge.value.kind?new Yn(\"source\",Dt):new Wn(\"composite\",Dt,Ge.value.zoomStops,Ge.value._interpolationType),this.paint._values[Se]=new Ts(Ge.property,Lt,Ge.parameters)}}_handleOverridablePaintPropertyUpdate(Se,Ge,mt){return!(!this.layout||Ge.isDataDriven()||mt.isDataDriven())&&hf.hasPaintOverride(this.layout,Se)}static hasPaintOverride(Se,Ge){const mt=Se.get(\"text-field\"),Dt=k_.paint.properties[Ge];let Lt=!1;const s=Se=>{for(const Ge of Se)if(Dt.overrides&&Dt.overrides.hasOverride(Ge))return void(Lt=!0)};if(\"constant\"===mt.value.kind&&mt.value.value instanceof De)s(mt.value.value.sections);else if(\"source\"===mt.value.kind){const t=Se=>{Lt||(Se instanceof Ul&&Re(Se.value)===pl?s(Se.value.sections):Se instanceof Ze?s(Se.sections):Se.eachChild(t))},Se=mt.value;Se._styleExpression&&t(Se._styleExpression.expression)}return Lt}getProgramConfiguration(Se){return new Xa(this,Se)}}var L_={paint:new Ps({\"background-color\":new Bs(Ha.paint_background[\"background-color\"]),\"background-pattern\":new Bs(Ha.paint_background[\"background-pattern\"]),\"background-opacity\":new Bs(Ha.paint_background[\"background-opacity\"])})},R_={paint:new Ps({\"raster-opacity\":new Bs(Ha.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Bs(Ha.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Bs(Ha.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Bs(Ha.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Bs(Ha.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Bs(Ha.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Bs(Ha.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Bs(Ha.paint_raster[\"raster-fade-duration\"])})};class ff extends ro{constructor(Se){super(Se,{}),this.implementation=Se}is3D(){return\"3d\"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}isLayerDraped(){return void 0!==this.implementation.renderToTile}shouldRedrape(){return!!this.implementation.shouldRerenderTiles&&this.implementation.shouldRerenderTiles()}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){}onAdd(Se){this.implementation.onAdd&&this.implementation.onAdd(Se,Se.painter.context.gl)}onRemove(Se){this.implementation.onRemove&&this.implementation.onRemove(Se,Se.painter.context.gl)}}var B_={paint:new Ps({\"sky-type\":new Bs(Ha.paint_sky[\"sky-type\"]),\"sky-atmosphere-sun\":new Bs(Ha.paint_sky[\"sky-atmosphere-sun\"]),\"sky-atmosphere-sun-intensity\":new Bs(Ha.paint_sky[\"sky-atmosphere-sun-intensity\"]),\"sky-gradient-center\":new Bs(Ha.paint_sky[\"sky-gradient-center\"]),\"sky-gradient-radius\":new Bs(Ha.paint_sky[\"sky-gradient-radius\"]),\"sky-gradient\":new Cs(Ha.paint_sky[\"sky-gradient\"]),\"sky-atmosphere-halo-color\":new Bs(Ha.paint_sky[\"sky-atmosphere-halo-color\"]),\"sky-atmosphere-color\":new Bs(Ha.paint_sky[\"sky-atmosphere-color\"]),\"sky-opacity\":new Bs(Ha.paint_sky[\"sky-opacity\"])})};function mf(Se,Ge,mt){const Dt=[0,0,1],Lt=Ko([]);return Jo(Lt,Lt,mt?-w(Se)+Math.PI:w(Se)),Xo(Lt,Lt,-w(Ge)),Ro(Dt,Dt,Lt),Do(Dt,Dt)}const F_={circle:class extends ro{constructor(Se){super(Se,am)}createBucket(Se){return new cu(Se)}queryRadius(Se){const Ge=Se;return Au(\"circle-radius\",this,Ge)+Au(\"circle-stroke-width\",this,Ge)+Su(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Iu(this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),Rt.angle,Se.pixelToTileUnitsFactor),$t=this.paint.get(\"circle-radius\").evaluate(Ge,mt)+this.paint.get(\"circle-stroke-width\").evaluate(Ge,mt);return zu(Se,Dt,Rt,Bt,Ft,\"map\"===this.paint.get(\"circle-pitch-alignment\"),\"map\"===this.paint.get(\"circle-pitch-scale\"),Ot,$t)}getProgramIds(){return[\"circle\"]}getProgramConfiguration(Se){return new Xa(this,Se)}},heatmap:class extends ro{createBucket(Se){return new Du(Se)}constructor(Se){super(Se,hm),this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(Se){\"heatmap-color\"===Se&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=ju({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)}queryRadius(Se){return Au(\"heatmap-radius\",this,Se)}queryIntersectsFeature(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=this.paint.get(\"heatmap-radius\").evaluate(Ge,mt);return zu(Se,Dt,Rt,Bt,Ft,!0,!0,new ln(0,0),Ot)}hasOffscreenPass(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility}getProgramIds(){return[\"heatmap\",\"heatmapTexture\"]}getProgramConfiguration(Se){return new Xa(this,Se)}},hillshade:class extends ro{constructor(Se){super(Se,um)}hasOffscreenPass(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility}getProgramIds(){return[\"hillshade\",\"hillshadePrepare\"]}},fill:class extends ro{constructor(Se){super(Se,gm)}getProgramIds(){const Se=this.paint.get(\"fill-pattern\"),Ge=Se&&Se.constantOr(1),mt=[Ge?\"fillPattern\":\"fill\"];return this.paint.get(\"fill-antialias\")&&mt.push(Ge&&!this.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\"),mt}getProgramConfiguration(Se){return new Xa(this,Se)}recalculate(Se,Ge){super.recalculate(Se,Ge);const mt=this.paint._values[\"fill-outline-color\"];\"constant\"===mt.value.kind&&void 0===mt.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])}createBucket(Se){return new Mc(Se)}queryRadius(){return Su(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(Se,Ge,mt,Dt,Lt,Rt){return!Se.queryGeometry.isAboveHorizon&&du(ku(Se.tilespaceGeometry,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),Rt.angle,Se.pixelToTileUnitsFactor),Dt)}isTileClipped(){return!0}},\"fill-extrusion\":class extends ro{constructor(Se){super(Se,km)}createBucket(Se){return new th(Se)}queryRadius(){return Su(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}getProgramIds(){return[this.paint.get(\"fill-extrusion-pattern\").constantOr(1)?\"fillExtrusionPattern\":\"fillExtrusion\"]}getProgramConfiguration(Se){return new Xa(this,Se)}queryIntersectsFeature(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t=Iu(this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Rt.angle,Se.pixelToTileUnitsFactor),Ni=this.paint.get(\"fill-extrusion-height\").evaluate(Ge,mt),tr=this.paint.get(\"fill-extrusion-base\").evaluate(Ge,mt),Lr=[0,0],Rr=Ft&&Rt.elevation,Qr=Rt.elevation?Rt.elevation.exaggeration():1,an=Se.tile.getBucket(this);if(Rr&&an instanceof th){const Se=an.centroidVertexArray,Ge=Ot+1;Ge<Se.length&&(Lr[0]=Se.geta_centroid_pos0(Ge),Lr[1]=Se.geta_centroid_pos1(Ge))}if(0===Lr[0]&&1===Lr[1])return!1;\"globe\"===Rt.projection.name&&(Dt=lh([Dt],[new ln(0,0),new ln(wp,wp)],Se.tileID.canonical).map((Se=>Se.polygon)).flat());const pn=Rr?Ft:null,[fn,mn]=function(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni){return\"globe\"===Se.projection.name?function(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni){const tr=[],Lr=[],Rr=Se.projection.upVectorScale(Ni,Se.center.lat,Se.worldSize).metersToTile,Qr=[0,0,0,1],an=[0,0,0,1],m=(Se,Ge,mt,Dt)=>{Se[0]=Ge,Se[1]=mt,Se[2]=Dt,Se[3]=1},ln=oh();mt>0&&(mt+=ln),Dt+=ln;for(const ln of Ge){const Ge=[],pn=[];for(const tr of ln){const Lr=tr.x+Lt.x,ln=tr.y+Lt.y,fn=Se.projection.projectTilePoint(Lr,ln,Ni),mn=Se.projection.upVector(Ni,tr.x,tr.y);let _n=mt,bn=Dt;if(Bt){const Se=vh(Lr,ln,mt,Dt,Bt,Ft,Ot,$t);_n+=Se.base,bn+=Se.top}0!==mt?m(Qr,fn.x+mn[0]*Rr*_n,fn.y+mn[1]*Rr*_n,fn.z+mn[2]*Rr*_n):m(Qr,fn.x,fn.y,fn.z),m(an,fn.x+mn[0]*Rr*bn,fn.y+mn[1]*Rr*bn,fn.z+mn[2]*Rr*bn),Fo(Qr,Qr,Rt),Fo(an,an,Rt),Ge.push(new mh(Qr[0],Qr[1],Qr[2])),pn.push(new mh(an[0],an[1],an[2]))}tr.push(Ge),Lr.push(pn)}return[tr,Lr]}(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni):Bt?function(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t=[],Ni=[],tr=[0,0,0,1];for(const Lr of Se){const Se=[],Rr=[];for(const $t of Lr){const Ni=$t.x+Dt.x,Lr=$t.y+Dt.y,Qr=vh(Ni,Lr,Ge,mt,Rt,Bt,Ft,Ot);tr[0]=Ni,tr[1]=Lr,tr[2]=Qr.base,tr[3]=1,Go(tr,tr,Lt),tr[3]=Math.max(tr[3],1e-5);const an=new mh(tr[0]/tr[3],tr[1]/tr[3],tr[2]/tr[3]);tr[0]=Ni,tr[1]=Lr,tr[2]=Qr.top,tr[3]=1,Go(tr,tr,Lt),tr[3]=Math.max(tr[3],1e-5);const ln=new mh(tr[0]/tr[3],tr[1]/tr[3],tr[2]/tr[3]);Se.push(an),Rr.push(ln)}$t.push(Se),Ni.push(Rr)}return[$t,Ni]}(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t):function(Se,Ge,mt,Dt,Lt){const Rt=[],Bt=[],Ft=Lt[8]*Ge,Ot=Lt[9]*Ge,$t=Lt[10]*Ge,Ni=Lt[11]*Ge,tr=Lt[8]*mt,Lr=Lt[9]*mt,Rr=Lt[10]*mt,Qr=Lt[11]*mt;for(const Ge of Se){const Se=[],mt=[];for(const Rt of Ge){const Ge=Rt.x+Dt.x,Bt=Rt.y+Dt.y,an=Lt[0]*Ge+Lt[4]*Bt+Lt[12],ln=Lt[1]*Ge+Lt[5]*Bt+Lt[13],pn=Lt[2]*Ge+Lt[6]*Bt+Lt[14],fn=Lt[3]*Ge+Lt[7]*Bt+Lt[15],mn=an+Ft,_n=ln+Ot,bn=pn+$t,wn=Math.max(fn+Ni,1e-5),Tn=an+tr,Sn=ln+Lr,An=pn+Rr,Pn=Math.max(fn+Qr,1e-5);Se.push(new mh(mn/wn,_n/wn,bn/wn)),mt.push(new mh(Tn/Pn,Sn/Pn,An/Pn))}Rt.push(Se),Bt.push(mt)}return[Rt,Bt]}(Ge,mt,Dt,Lt,Rt)}(Rt,Dt,tr,Ni,$t,Bt,pn,Lr,Qr,Rt.center.lat,Se.tileID.canonical),_n=Se.queryGeometry;return function(Se,Ge,mt){let Dt=1/0;du(mt,Ge)&&(Dt=xh(mt,Ge[0]));for(let Lt=0;Lt<Ge.length;Lt++){const Rt=Ge[Lt],Bt=Se[Lt];for(let Se=0;Se<Rt.length-1;Se++){const Ge=Rt[Se],Lt=[Ge,Rt[Se+1],Bt[Se+1],Bt[Se],Ge];hu(mt,Lt)&&(Dt=Math.min(Dt,xh(mt,Lt)))}}return Dt!==1/0&&Dt}(fn,mn,_n.isPointQuery()?_n.screenBounds:_n.screenGeometry)}},line:class extends ro{constructor(Se){super(Se,Vm),this.gradientVersion=0}_handleSpecialPaintPropertyUpdate(Se){if(\"line-gradient\"===Se){const Se=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=Se._styleExpression&&Se._styleExpression.expression instanceof Vc,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}widthExpression(){return this._transitionablePaint._values[\"line-width\"].value.expression}recalculate(Se,Ge){super.recalculate(Se,Ge),this.paint._values[\"line-floorwidth\"]=jm.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,Se)}createBucket(Se){return new Ih(Se)}getProgramIds(){return[this.paint.get(\"line-pattern\").constantOr(1)?\"linePattern\":\"line\"]}getProgramConfiguration(Se){return new Xa(this,Se)}queryRadius(Se){const Ge=Se,mt=Bh(Au(\"line-width\",this,Ge),Au(\"line-gap-width\",this,Ge)),Dt=Au(\"line-offset\",this,Ge);return mt/2+Math.abs(Dt)+Su(this.paint.get(\"line-translate\"))}queryIntersectsFeature(Se,Ge,mt,Dt,Lt,Rt){if(Se.queryGeometry.isAboveHorizon)return!1;const Bt=ku(Se.tilespaceGeometry,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Rt.angle,Se.pixelToTileUnitsFactor),Ft=Se.pixelToTileUnitsFactor/2*Bh(this.paint.get(\"line-width\").evaluate(Ge,mt),this.paint.get(\"line-gap-width\").evaluate(Ge,mt)),Ot=this.paint.get(\"line-offset\").evaluate(Ge,mt);return Ot&&(Dt=function(Se,Ge){const mt=[],Dt=new ln(0,0);for(let Lt=0;Lt<Se.length;Lt++){const Rt=Se[Lt],Bt=[];for(let Se=0;Se<Rt.length;Se++){const mt=Rt[Se],Lt=Rt[Se+1],Ft=0===Se?Dt:mt.sub(Rt[Se-1])._unit()._perp(),Ot=Se===Rt.length-1?Dt:Lt.sub(mt)._unit()._perp(),$t=Ft._add(Ot)._unit();$t._mult(1/($t.x*Ot.x+$t.y*Ot.y)),Bt.push($t._mult(Ge)._add(mt))}mt.push(Bt)}return mt}(Dt,Ot*Se.pixelToTileUnitsFactor)),function(Se,Ge,mt){for(let Dt=0;Dt<Ge.length;Dt++){const Lt=Ge[Dt];if(Se.length>=3)for(let Ge=0;Ge<Lt.length;Ge++)if(bu(Se,Lt[Ge]))return!0;if(fu(Se,Lt,mt))return!0}return!1}(Bt,Dt,Ft)}isTileClipped(){return!0}},symbol:hf,background:class extends ro{constructor(Se){super(Se,L_)}getProgramIds(){return[this.paint.get(\"background-pattern\")?\"backgroundPattern\":\"background\"]}},raster:class extends ro{constructor(Se){super(Se,R_)}getProgramIds(){return[\"raster\"]}},sky:class extends ro{constructor(Se){super(Se,B_),this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(Se){\"sky-gradient\"===Se?this._updateColorRamp():\"sky-atmosphere-sun\"!==Se&&\"sky-atmosphere-halo-color\"!==Se&&\"sky-atmosphere-color\"!==Se&&\"sky-atmosphere-sun-intensity\"!==Se||(this._skyboxInvalidated=!0)}_updateColorRamp(){this.colorRamp=ju({expression:this._transitionablePaint._values[\"sky-gradient\"].value.expression,evaluationKey:\"skyRadialProgress\"}),this.colorRampTexture&&(this.colorRampTexture.destroy(),this.colorRampTexture=null)}needsSkyboxCapture(Se){if(this._skyboxInvalidated||!this.skyboxTexture||!this.skyboxGeometry)return!0;if(!this.paint.get(\"sky-atmosphere-sun\")){const Ge=Se.style.light.properties.get(\"position\");return this._lightPosition.azimuthal!==Ge.azimuthal||this._lightPosition.polar!==Ge.polar}return!1}getCenter(Se,Ge){if(\"atmosphere\"===this.paint.get(\"sky-type\")){const mt=this.paint.get(\"sky-atmosphere-sun\"),Dt=!mt,Lt=Se.style.light,Rt=Lt.properties.get(\"position\");return Dt&&\"viewport\"===Lt.properties.get(\"anchor\")&&N(\"The sun direction is attached to a light with viewport anchor, lighting may behave unexpectedly.\"),Dt?mf(Rt.azimuthal,90-Rt.polar,Ge):mf(mt[0],90-mt[1],Ge)}const mt=this.paint.get(\"sky-gradient-center\");return mf(mt[0],90-mt[1],Ge)}is3D(){return!1}isSky(){return!0}markSkyboxValid(Se){this._skyboxInvalidated=!1,this._lightPosition=Se.style.light.properties.get(\"position\")}hasOffscreenPass(){return!0}getProgramIds(){const Se=this.paint.get(\"sky-type\");return\"atmosphere\"===Se?[\"skyboxCapture\",\"skybox\"]:\"gradient\"===Se?[\"skyboxGradient\"]:null}}};class xf{constructor(Se,Ge,mt,Dt){this.context=Se,this.format=mt,this.texture=Se.gl.createTexture(),this.update(Ge,Dt)}update(Se,Ge,Dt){const{width:Lt,height:Rt}=Se,{context:Bt}=this,{gl:Ft}=Bt,{HTMLImageElement:Ot,HTMLCanvasElement:$t,HTMLVideoElement:Ni,ImageData:tr,ImageBitmap:Lr}=mt;if(Ft.bindTexture(Ft.TEXTURE_2D,this.texture),Bt.pixelStoreUnpackFlipY.set(!1),Bt.pixelStoreUnpack.set(1),Bt.pixelStoreUnpackPremultiplyAlpha.set(this.format===Ft.RGBA&&(!Ge||!1!==Ge.premultiply)),Dt||this.size&&this.size[0]===Lt&&this.size[1]===Rt){const{x:Ge,y:mt}=Dt||{x:0,y:0};Se instanceof Ot||Se instanceof $t||Se instanceof Ni||Se instanceof tr||Lr&&Se instanceof Lr?Ft.texSubImage2D(Ft.TEXTURE_2D,0,Ge,mt,Ft.RGBA,Ft.UNSIGNED_BYTE,Se):Ft.texSubImage2D(Ft.TEXTURE_2D,0,Ge,mt,Lt,Rt,Ft.RGBA,Ft.UNSIGNED_BYTE,Se.data)}else this.size=[Lt,Rt],Se instanceof Ot||Se instanceof $t||Se instanceof Ni||Se instanceof tr||Lr&&Se instanceof Lr?Ft.texImage2D(Ft.TEXTURE_2D,0,this.format,this.format,Ft.UNSIGNED_BYTE,Se):Ft.texImage2D(Ft.TEXTURE_2D,0,this.format,Lt,Rt,0,this.format,Ft.UNSIGNED_BYTE,Se.data);this.useMipmap=Boolean(Ge&&Ge.useMipmap&&this.isSizePowerOfTwo()),this.useMipmap&&Ft.generateMipmap(Ft.TEXTURE_2D)}bind(Se,Ge){const{context:mt}=this,{gl:Dt}=mt;Dt.bindTexture(Dt.TEXTURE_2D,this.texture),Se!==this.filter&&(Dt.texParameteri(Dt.TEXTURE_2D,Dt.TEXTURE_MAG_FILTER,Se),Dt.texParameteri(Dt.TEXTURE_2D,Dt.TEXTURE_MIN_FILTER,this.useMipmap?Se===Dt.NEAREST?Dt.NEAREST_MIPMAP_NEAREST:Dt.LINEAR_MIPMAP_NEAREST:Se),this.filter=Se),Ge!==this.wrap&&(Dt.texParameteri(Dt.TEXTURE_2D,Dt.TEXTURE_WRAP_S,Ge),Dt.texParameteri(Dt.TEXTURE_2D,Dt.TEXTURE_WRAP_T,Ge),this.wrap=Ge)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:Se}=this.context;Se.deleteTexture(this.texture),this.texture=null}}class vf{constructor(Se){this._callback=Se,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){this._channel=void 0,this._callback=()=>{}}}class bf{constructor(){this.tasks={},this.taskQueue=[],R([\"process\"],this),this.invoker=new vf(this.process),this.nextId=0}add(Se,Ge){const mt=this.nextId++,Dt=function({type:Se,isSymbolTile:Ge,zoom:mt}){return mt=mt||0,\"message\"===Se?0:\"maybePrepare\"!==Se||Ge?\"parseTile\"!==Se||Ge?\"parseTile\"===Se&&Ge?300-mt:\"maybePrepare\"===Se&&Ge?400-mt:500:200-mt:100-mt}(Ge);if(0===Dt){K();try{Se()}finally{}return{cancel:()=>{}}}return this.tasks[mt]={fn:Se,metadata:Ge,priority:Dt,id:mt},this.taskQueue.push(mt),this.invoker.trigger(),{cancel:()=>{delete this.tasks[mt]}}}process(){K();try{if(this.taskQueue=this.taskQueue.filter((Se=>!!this.tasks[Se])),!this.taskQueue.length)return;const Se=this.pick();if(null===Se)return;const Ge=this.tasks[Se];if(delete this.tasks[Se],this.taskQueue.length&&this.invoker.trigger(),!Ge)return;Ge.fn()}finally{}}pick(){let Se=null,Ge=1/0;for(let mt=0;mt<this.taskQueue.length;mt++){const Dt=this.tasks[this.taskQueue[mt]];Dt.priority<Ge&&(Ge=Dt.priority,Se=mt)}if(null===Se)return null;const mt=this.taskQueue[Se];return this.taskQueue.splice(Se,1),mt}remove(){this.invoker.remove()}}class wf{constructor(Se){this._stringToNumber={},this._numberToString=[];for(let Ge=0;Ge<Se.length;Ge++){const mt=Se[Ge];this._stringToNumber[mt]=Ge,this._numberToString[Ge]=mt}}encode(Se){return this._stringToNumber[Se]}decode(Se){return this._numberToString[Se]}}const O_=[\"tile\",\"layer\",\"source\",\"sourceLayer\",\"state\"];class Af{constructor(Se,Ge,mt,Dt,Lt){this.type=\"Feature\",this._vectorTileFeature=Se,this._z=Ge,this._x=mt,this._y=Dt,this.properties=Se.properties,this.id=Lt}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._x,this._y,this._z).geometry),this._geometry}set geometry(Se){this._geometry=Se}toJSON(){const Se={type:\"Feature\",state:void 0,geometry:this.geometry,properties:this.properties};void 0!==this.id&&(Se.id=this.id);for(const Ge of O_)void 0!==this[Ge]&&(Se[Ge]=this[Ge]);return Se}}const U_=32,N_=33,V_=new Uint16Array(8184);for(let Se=0;Se<2046;Se++){let Ge=Se+2,mt=0,Dt=0,Lt=0,Rt=0,Bt=0,Ft=0;for(1&Ge?Lt=Rt=Bt=U_:mt=Dt=Ft=U_;(Ge>>=1)>1;){const Se=mt+Lt>>1,Ot=Dt+Rt>>1;1&Ge?(Lt=mt,Rt=Dt,mt=Bt,Dt=Ft):(mt=Lt,Dt=Rt,Lt=Bt,Rt=Ft),Bt=Se,Ft=Ot}const Ot=4*Se;V_[Ot+0]=mt,V_[Ot+1]=Dt,V_[Ot+2]=Lt,V_[Ot+3]=Rt}const j_=new Uint16Array(2178),G_=new Uint8Array(1089),Z_=new Uint16Array(1089);function Bf(Se){return 0===Se?-.03125:32===Se?.03125:0}var $_=Rs([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);const q_={type:2,extent:wp,loadGeometry:()=>[[new ln(0,0),new ln(wp+1,0),new ln(wp+1,wp+1),new ln(0,wp+1),new ln(0,0)]]};class Pf{constructor(Se,Ge,mt,Dt,Lt){this.tileID=Se,this.uid=D(),this.uses=0,this.tileSize=Ge,this.tileZoom=mt,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=Lt,this.expiredRequestCount=0,this.state=\"loading\",Dt&&Dt.transform&&(this.projection=Dt.transform.projection)}registerFadeDuration(Se){const Ge=Se+this.timeAdded;Ge<Wa.now()||this.fadeEndTime&&Ge<this.fadeEndTime||(this.fadeEndTime=Ge)}wasRequested(){return\"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state}get tileTransform(){return this._tileTransform||(this._tileTransform=Bd(this.tileID.canonical,this.projection)),this._tileTransform}loadVectorData(Se,Ge,mt){if(this.unloadVectorData(),this.state=\"loaded\",Se){Se.featureIndex&&(this.latestFeatureIndex=Se.featureIndex,Se.rawTileData?(this.latestRawTileData=Se.rawTileData,this.latestFeatureIndex.rawTileData=Se.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=Se.collisionBoxArray,this.buckets=function(Se,Ge){const mt={};if(!Ge)return mt;for(const Dt of Se){const Se=Dt.layerIds.map((Se=>Ge.getLayer(Se))).filter(Boolean);if(0!==Se.length){Dt.layers=Se,Dt.stateDependentLayerIds&&(Dt.stateDependentLayers=Dt.stateDependentLayerIds.map((Ge=>Se.filter((Se=>Se.id===Ge))[0])));for(const Ge of Se)mt[Ge.id]=Dt}}return mt}(Se.buckets,Ge.style),this.hasSymbolBuckets=!1;for(const Se in this.buckets){const Ge=this.buckets[Se];if(Ge instanceof of){if(this.hasSymbolBuckets=!0,!mt)break;Ge.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const Se in this.buckets){const Ge=this.buckets[Se];if(Ge instanceof of&&Ge.hasRTLText){this.hasRTLText=!0,nd.isLoading()||nd.isLoaded()||\"deferred\"!==xs()||vs();break}}this.queryPadding=0;for(const Se in this.buckets){const mt=this.buckets[Se];this.queryPadding=Math.max(this.queryPadding,Ge.style.getLayer(Se).queryRadius(mt))}Se.imageAtlas&&(this.imageAtlas=Se.imageAtlas),Se.glyphAtlasImage&&(this.glyphAtlasImage=Se.glyphAtlasImage),Se.lineAtlas&&(this.lineAtlas=Se.lineAtlas)}else this.collisionBoxArray=new pa}unloadVectorData(){if(this.hasData()){for(const Se in this.buckets)this.buckets[Se].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),this.latestFeatureIndex=null,this.state=\"unloaded\"}}getBucket(Se){return this.buckets[Se.id]}upload(Se){for(const Ge in this.buckets){const mt=this.buckets[Ge];mt.uploadPending()&&mt.upload(Se)}const Ge=Se.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new xf(Se,this.imageAtlas.image,Ge.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new xf(Se,this.glyphAtlasImage,Ge.ALPHA),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new xf(Se,this.lineAtlas.image,Ge.ALPHA),this.lineAtlas.uploaded=!0)}prepare(Se){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(Se,this.imageAtlasTexture)}queryRenderedFeatures(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({tileResult:Dt,pixelPosMatrix:Bt,transform:Rt,params:Lt,tileTransform:this.tileTransform},Se,Ge,mt):{}}querySourceFeatures(Se,Ge){const mt=this.latestFeatureIndex;if(!mt||!mt.rawTileData)return;const Dt=mt.loadVTLayers(),Lt=Ge?Ge.sourceLayer:\"\",Rt=Dt._geojsonTileLayer||Dt[Lt];if(!Rt)return;const Bt=hi(Ge&&Ge.filter),{z:Ft,x:Ot,y:$t}=this.tileID.canonical,Ni={z:Ft,x:Ot,y:$t};for(let Ge=0;Ge<Rt.length;Ge++){const Dt=Rt.feature(Ge);if(Bt.needGeometry){const Se=ou(Dt,!0);if(!Bt.filter(new ws(this.tileID.overscaledZ),Se,this.tileID.canonical))continue}else if(!Bt.filter(new ws(this.tileID.overscaledZ),Dt))continue;const tr=mt.getId(Dt,Lt),Lr=new Af(Dt,Ft,Ot,$t,tr);Lr.tile=Ni,Se.push(Lr)}}hasData(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state}patternsLoaded(){return!!this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(Se){const Ge=this.expirationTime;if(Se.cacheControl){const Ge=X(Se.cacheControl);Ge[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*Ge[\"max-age\"])}else Se.expires&&(this.expirationTime=new Date(Se.expires).getTime());if(this.expirationTime){const Se=Date.now();let mt=!1;if(this.expirationTime>Se)mt=!1;else if(Ge)if(this.expirationTime<Ge)mt=!0;else{const Dt=this.expirationTime-Ge;Dt?this.expirationTime=Se+Math.max(Dt,3e4):mt=!0}else mt=!0;mt?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)}setFeatureState(Se,Ge){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||0===Object.keys(Se).length||!Ge)return;const mt=this.latestFeatureIndex.loadVTLayers(),Dt=Ge.style.listImages();for(const Lt in this.buckets){if(!Ge.style.hasLayer(Lt))continue;const Rt=this.buckets[Lt],Bt=Rt.layers[0].sourceLayer||\"_geojsonTileLayer\",Ft=mt[Bt],Ot=Se[Bt];if(!Ft||!Ot||0===Object.keys(Ot).length)continue;if(Rt.update(Ot,Ft,Dt,this.imageAtlas&&this.imageAtlas.patternPositions||{}),Rt instanceof Ih||Rt instanceof Mc){const Se=Ge.style._getSourceCache(Rt.layers[0].source);Ge._terrain&&Ge._terrain.enabled&&Se&&Rt.programConfigurations.needsUpload&&Ge._terrain._clearRenderCacheForTile(Se.id,this.tileID)}const $t=Ge&&Ge.style&&Ge.style.getLayer(Lt);$t&&(this.queryPadding=Math.max(this.queryPadding,$t.queryRadius(Rt)))}}holdingForFade(){return void 0!==this.symbolFadeHoldUntil}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<Wa.now()}clearFadeHold(){this.symbolFadeHoldUntil=void 0}setHoldDuration(Se){this.symbolFadeHoldUntil=Wa.now()+Se}setTexture(Se,Ge){const mt=Ge.context,Dt=mt.gl;this.texture=this.texture||Ge.getTileTexture(Se.width),this.texture?this.texture.update(Se,{useMipmap:!0}):(this.texture=new xf(mt,Se,Dt.RGBA,{useMipmap:!0}),this.texture.bind(Dt.LINEAR,Dt.CLAMP_TO_EDGE))}setDependencies(Se,Ge){const mt={};for(const Se of Ge)mt[Se]=!0;this.dependencies[Se]=mt}hasDependency(Se,Ge){for(const mt of Se){const Se=this.dependencies[mt];if(Se)for(const mt of Ge)if(Se[mt])return!0}return!1}clearQueryDebugViz(){}_makeDebugTileBoundsBuffers(Se,Ge){if(!Ge||\"mercator\"===Ge.name||this._tileDebugBuffer)return;const mt=au(q_,this.tileID.canonical,this.tileTransform)[0],Dt=new $s,Lt=new ua;for(let Se=0;Se<mt.length;Se++){const{x:Ge,y:Rt}=mt[Se];Dt.emplaceBack(Ge,Rt),Lt.emplaceBack(Se)}Lt.emplaceBack(0),this._tileDebugIndexBuffer=Se.createIndexBuffer(Lt),this._tileDebugBuffer=Se.createVertexBuffer(Dt,gf.members),this._tileDebugSegments=so.simpleSegment(0,0,Dt.length,Lt.length)}_makeTileBoundsBuffers(Se,Ge){if(this._tileBoundsBuffer||!Ge||\"mercator\"===Ge.name)return;const mt=au(q_,this.tileID.canonical,this.tileTransform)[0];let Dt,Lt;if(this.isRaster){const Se=function(Se,Ge){const mt=Bd(Se,Ge),Dt=Math.pow(2,Se.z);for(let Lt=0;Lt<N_;Lt++)for(let Rt=0;Rt<N_;Rt++){const Bt=Kl((Se.x+(Rt+Bf(Rt))/U_)/Dt),Ft=Xl((Se.y+(Lt+Bf(Lt))/U_)/Dt),Ot=Ge.project(Bt,Ft),$t=Lt*N_+Rt;j_[2*$t+0]=Math.round((Ot.x*mt.scale-mt.x)*wp),j_[2*$t+1]=Math.round((Ot.y*mt.scale-mt.y)*wp)}G_.fill(0),Z_.fill(0);for(let Se=2045;Se>=0;Se--){const Ge=4*Se,mt=V_[Ge+0],Dt=V_[Ge+1],Lt=V_[Ge+2],Rt=V_[Ge+3],Bt=mt+Lt>>1,Ft=Dt+Rt>>1,Ot=Bt+Ft-Dt,$t=Ft+mt-Bt,Ni=Dt*N_+mt,tr=Rt*N_+Lt,Lr=Ft*N_+Bt,Rr=Math.hypot((j_[2*Ni+0]+j_[2*tr+0])/2-j_[2*Lr+0],(j_[2*Ni+1]+j_[2*tr+1])/2-j_[2*Lr+1])>=16;G_[Lr]=G_[Lr]||(Rr?1:0),Se<1022&&(G_[Lr]=G_[Lr]||G_[(Dt+$t>>1)*N_+(mt+Ot>>1)]||G_[(Rt+$t>>1)*N_+(Lt+Ot>>1)])}const Lt=new Os,Rt=new ra;let Bt=0;function o(Se,Ge){const mt=Ge*N_+Se;return 0===Z_[mt]&&(Lt.emplaceBack(j_[2*mt+0],j_[2*mt+1],Se*wp/U_,Ge*wp/U_),Z_[mt]=++Bt),Z_[mt]-1}function l(Se,Ge,mt,Dt,Lt,Bt){const Ft=Se+mt>>1,Ot=Ge+Dt>>1;if(Math.abs(Se-Lt)+Math.abs(Ge-Bt)>1&&G_[Ot*N_+Ft])l(Lt,Bt,Se,Ge,Ft,Ot),l(mt,Dt,Lt,Bt,Ft,Ot);else{const Ft=o(Se,Ge),Ot=o(mt,Dt),$t=o(Lt,Bt);Rt.emplaceBack(Ft,Ot,$t)}}return l(0,0,U_,U_,U_,0),l(U_,U_,0,0,0,U_),{vertices:Lt,indices:Rt}}(this.tileID.canonical,Ge);Dt=Se.vertices,Lt=Se.indices}else{Dt=new Os,Lt=new ra;for(const{x:Se,y:Ge}of mt)Dt.emplaceBack(Se,Ge,0,0);const Se=mm(Dt.int16,void 0,4);for(let Ge=0;Ge<Se.length;Ge+=3)Lt.emplaceBack(Se[Ge],Se[Ge+1],Se[Ge+2])}this._tileBoundsBuffer=Se.createVertexBuffer(Dt,$_.members),this._tileBoundsIndexBuffer=Se.createIndexBuffer(Lt),this._tileBoundsSegments=so.simpleSegment(0,0,Dt.length,Lt.length)}_makeGlobeTileDebugBuffers(Se,Ge){const mt=Ge.projection;if(!mt||\"globe\"!==mt.name||Ge.freezeTileCoverage)return;const Dt=this.tileID.canonical,Lt=Bl(bl(Dt,Ge)),Rt=Pl(Ge.zoom);let Bt;Rt>0&&(Bt=fo(new Float64Array(16),Ge.globeMatrix)),this._makeGlobeTileDebugBorderBuffer(Se,Dt,Ge,Lt,Bt,Rt),this._makeGlobeTileDebugTextBuffer(Se,Dt,Ge,Lt,Bt,Rt)}_globePoint(Se,Ge,mt,Dt,Lt,Rt,Bt){let Ft=Ml(Se,Ge,mt);if(Rt){const Lt=1<<mt.z,Ot=Nl(Dt.center.lng),$t=Gl(Dt.center.lat),Ni=(mt.x+.5)/Lt-Ot;let tr=0;Ni>.5?tr=-1:Ni<-.5&&(tr=1);let Lr=(Se/wp+mt.x)/Lt+tr,Rr=(Ge/wp+mt.y)/Lt;Lr=(Lr-Ot)*Dt._pixelsPerMercatorPixel+Ot,Rr=(Rr-$t)*Dt._pixelsPerMercatorPixel+$t;const Qr=[Lr*Dt.worldSize,Rr*Dt.worldSize,0];Fo(Qr,Qr,Rt),Ft=vl(Ft,Qr,Bt)}return Fo(Ft,Ft,Lt)}_makeGlobeTileDebugBorderBuffer(Se,Ge,mt,Dt,Lt,Rt){const Bt=new $s,Ft=new ua,Ot=new js,u=(Se,$t,Ni,tr,Lr)=>{const Rr=(Ni-Se)/(Lr-1),Qr=(tr-$t)/(Lr-1),an=Bt.length;for(let Ni=0;Ni<Lr;Ni++){const tr=Se+Ni*Rr,Lr=$t+Ni*Qr;Bt.emplaceBack(tr,Lr);const ln=this._globePoint(tr,Lr,Ge,mt,Dt,Lt,Rt);Ot.emplaceBack(ln[0],ln[1],ln[2]),Ft.emplaceBack(an+Ni)}},$t=wp;u(0,0,$t,0,16),u($t,0,$t,$t,16),u($t,$t,0,$t,16),u(0,$t,0,0,16),this._tileDebugIndexBuffer=Se.createIndexBuffer(Ft),this._tileDebugBuffer=Se.createVertexBuffer(Bt,gf.members),this._globeTileDebugBorderBuffer=Se.createVertexBuffer(Ot,_f.members),this._tileDebugSegments=so.simpleSegment(0,0,Bt.length,Ft.length)}_makeGlobeTileDebugTextBuffer(Se,Ge,mt,Dt,Lt,Rt){const Bt=wp/4,Ft=new $s,Ot=new ra,$t=new js,Ni=25;Ot.reserve(32),Ft.reserve(Ni),$t.reserve(Ni);const h=(Se,Ge)=>Ni*Se+Ge;for(let Se=0;Se<Ni;Se++){const Ot=Se*Bt;for(let Se=0;Se<Ni;Se++){const Ni=Se*Bt;Ft.emplaceBack(Ni,Ot);const tr=this._globePoint(Ni,Ot,Ge,mt,Dt,Lt,Rt);$t.emplaceBack(tr[0],tr[1],tr[2])}}for(let Se=0;Se<4;Se++)for(let Ge=0;Ge<4;Ge++){const mt=h(Se,Ge),Dt=h(Se,Ge+1),Lt=h(Se+1,Ge),Rt=h(Se+1,Ge+1);Ot.emplaceBack(mt,Dt,Lt),Ot.emplaceBack(Lt,Dt,Rt)}this._tileDebugTextIndexBuffer=Se.createIndexBuffer(Ot),this._tileDebugTextBuffer=Se.createVertexBuffer(Ft,gf.members),this._globeTileDebugTextBuffer=Se.createVertexBuffer($t,_f.members),this._tileDebugTextSegments=so.simpleSegment(0,0,Ni,32)}}class Df{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(Se,Ge,mt){const Dt=String(Ge);if(this.stateChanges[Se]=this.stateChanges[Se]||{},this.stateChanges[Se][Dt]=this.stateChanges[Se][Dt]||{},C(this.stateChanges[Se][Dt],mt),null===this.deletedStates[Se]){this.deletedStates[Se]={};for(const Ge in this.state[Se])Ge!==Dt&&(this.deletedStates[Se][Ge]=null)}else if(this.deletedStates[Se]&&null===this.deletedStates[Se][Dt]){this.deletedStates[Se][Dt]={};for(const Ge in this.state[Se][Dt])mt[Ge]||(this.deletedStates[Se][Dt][Ge]=null)}else for(const Ge in mt)this.deletedStates[Se]&&this.deletedStates[Se][Dt]&&null===this.deletedStates[Se][Dt][Ge]&&delete this.deletedStates[Se][Dt][Ge]}removeFeatureState(Se,Ge,mt){if(null===this.deletedStates[Se])return;const Dt=String(Ge);if(this.deletedStates[Se]=this.deletedStates[Se]||{},mt&&void 0!==Ge)null!==this.deletedStates[Se][Dt]&&(this.deletedStates[Se][Dt]=this.deletedStates[Se][Dt]||{},this.deletedStates[Se][Dt][mt]=null);else if(void 0!==Ge)if(this.stateChanges[Se]&&this.stateChanges[Se][Dt])for(mt in this.deletedStates[Se][Dt]={},this.stateChanges[Se][Dt])this.deletedStates[Se][Dt][mt]=null;else this.deletedStates[Se][Dt]=null;else this.deletedStates[Se]=null}getState(Se,Ge){const mt=String(Ge),Dt=C({},(this.state[Se]||{})[mt],(this.stateChanges[Se]||{})[mt]);if(null===this.deletedStates[Se])return{};if(this.deletedStates[Se]){const mt=this.deletedStates[Se][Ge];if(null===mt)return{};for(const Se in mt)delete Dt[Se]}return Dt}initializeTileState(Se,Ge){Se.setFeatureState(this.state,Ge)}coalesceChanges(Se,Ge){const mt={};for(const Se in this.stateChanges){this.state[Se]=this.state[Se]||{};const Ge={};for(const mt in this.stateChanges[Se])this.state[Se][mt]||(this.state[Se][mt]={}),C(this.state[Se][mt],this.stateChanges[Se][mt]),Ge[mt]=this.state[Se][mt];mt[Se]=Ge}for(const Se in this.deletedStates){this.state[Se]=this.state[Se]||{};const Ge={};if(null===this.deletedStates[Se])for(const mt in this.state[Se])Ge[mt]={},this.state[Se][mt]={};else for(const mt in this.deletedStates[Se]){if(null===this.deletedStates[Se][mt])this.state[Se][mt]={};else if(this.state[Se][mt])for(const Ge of Object.keys(this.deletedStates[Se][mt]))delete this.state[Se][mt][Ge];Ge[mt]=this.state[Se][mt]}mt[Se]=mt[Se]||{},C(mt[Se],Ge)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(mt).length)for(const Dt in Se)Se[Dt].setFeatureState(mt,Ge)}}class Vf{constructor(Se){this.size=Se,this.minimums=[],this.maximums=[],this.leaves=[]}getElevation(Se,Ge){const mt=this.toIdx(Se,Ge);return{min:this.minimums[mt],max:this.maximums[mt]}}isLeaf(Se,Ge){return this.leaves[this.toIdx(Se,Ge)]}toIdx(Se,Ge){return Ge*this.size+Se}}function Lf(Se,Ge,mt,Dt){let Lt=0,Rt=Number.MAX_VALUE;for(let Bt=0;Bt<3;Bt++)if(Math.abs(Dt[Bt])<1e-15){if(mt[Bt]<Se[Bt]||mt[Bt]>Ge[Bt])return null}else{const Ft=1/Dt[Bt];let Ot=(Se[Bt]-mt[Bt])*Ft,$t=(Ge[Bt]-mt[Bt])*Ft;if(Ot>$t){const Se=Ot;Ot=$t,$t=Se}if(Ot>Lt&&(Lt=Ot),$t<Rt&&(Rt=$t),Lt>Rt)return null}return Lt}function Ff(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni){const tr=Dt-Se,Lr=Lt-Ge,Rr=Rt-mt,Qr=Bt-Se,an=Ft-Ge,ln=Ot-mt,pn=Ni[1]*ln-Ni[2]*an,fn=Ni[2]*Qr-Ni[0]*ln,mn=Ni[0]*an-Ni[1]*Qr,_n=tr*pn+Lr*fn+Rr*mn;if(Math.abs(_n)<1e-15)return null;const bn=1/_n,wn=$t[0]-Se,Tn=$t[1]-Ge,Sn=$t[2]-mt,An=(wn*pn+Tn*fn+Sn*mn)*bn;if(An<0||An>1)return null;const Pn=Tn*Rr-Sn*Lr,kn=Sn*tr-wn*Rr,eo=wn*Lr-Tn*tr,ao=(Ni[0]*Pn+Ni[1]*kn+Ni[2]*eo)*bn;return ao<0||An+ao>1?null:(Qr*Pn+an*kn+ln*eo)*bn}function Rf(Se,Ge,mt){return(Se-Ge)/(mt-Ge)}function Uf(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t=1<<mt,Ni=Rt-Dt,tr=Bt-Lt,Lr=(Se+1)/$t*Ni+Dt,Rr=(Ge+0)/$t*tr+Lt,Qr=(Ge+1)/$t*tr+Lt;Ft[0]=(Se+0)/$t*Ni+Dt,Ft[1]=Rr,Ot[0]=Lr,Ot[1]=Qr}class $f{constructor(Se){if(this.maximums=[],this.minimums=[],this.leaves=[],this.childOffsets=[],this.nodeCount=0,this.dem=Se,this._siblingOffset=[[0,0],[1,0],[0,1],[1,1]],!this.dem)return;const Ge=function(Se){const Ge=Math.ceil(Math.log2(Se.dim/8)),mt=[];let Dt=Math.ceil(Math.pow(2,Ge));const Lt=1/Dt,s=(Se,Ge,mt,Dt,Lt)=>{const Rt=Dt?1:0,Bt=(Se+1)*mt-Rt,Ft=Ge*mt,Ot=(Ge+1)*mt-Rt;Lt[0]=Se*mt,Lt[1]=Ft,Lt[2]=Bt,Lt[3]=Ot};let Rt=new Vf(Dt);const Bt=[];for(let Ge=0;Ge<Dt*Dt;Ge++){s(Ge%Dt,Math.floor(Ge/Dt),Lt,!1,Bt);const mt=Of(Bt[0],Bt[1],Se),Ft=Of(Bt[2],Bt[1],Se),Ot=Of(Bt[2],Bt[3],Se),$t=Of(Bt[0],Bt[3],Se);Rt.minimums.push(Math.min(mt,Ft,Ot,$t)),Rt.maximums.push(Math.max(mt,Ft,Ot,$t)),Rt.leaves.push(1)}for(mt.push(Rt),Dt/=2;Dt>=1;Dt/=2){const Se=mt[mt.length-1];Rt=new Vf(Dt);for(let Ge=0;Ge<Dt*Dt;Ge++){s(Ge%Dt,Math.floor(Ge/Dt),2,!0,Bt);const mt=Se.getElevation(Bt[0],Bt[1]),Lt=Se.getElevation(Bt[2],Bt[1]),Ft=Se.getElevation(Bt[2],Bt[3]),Ot=Se.getElevation(Bt[0],Bt[3]),$t=Se.isLeaf(Bt[0],Bt[1]),Ni=Se.isLeaf(Bt[2],Bt[1]),tr=Se.isLeaf(Bt[2],Bt[3]),Lr=Se.isLeaf(Bt[0],Bt[3]),Rr=Math.min(mt.min,Lt.min,Ft.min,Ot.min),Qr=Math.max(mt.max,Lt.max,Ft.max,Ot.max),an=$t&&Ni&&tr&&Lr;Rt.maximums.push(Qr),Rt.minimums.push(Rr),Rt.leaves.push(Qr-Rr<=5&&an?1:0)}mt.push(Rt)}return mt}(this.dem),mt=Ge.length-1,Dt=Ge[mt];this._addNode(Dt.minimums[0],Dt.maximums[0],Dt.leaves[0]),this._construct(Ge,0,0,mt,0)}raycastRoot(Se,Ge,mt,Dt,Lt,Rt,Bt=1){return Lf([Se,Ge,-100],[mt,Dt,this.maximums[0]*Bt],Lt,Rt)}raycast(Se,Ge,mt,Dt,Lt,Rt,Bt=1){if(!this.nodeCount)return null;const Ft=this.raycastRoot(Se,Ge,mt,Dt,Lt,Rt,Bt);if(null==Ft)return null;const Ot=[],$t=[],Ni=[],tr=[],Lr=[{idx:0,t:Ft,nodex:0,nodey:0,depth:0}];for(;Lr.length>0;){const{idx:Ft,t:Rr,nodex:Qr,nodey:an,depth:ln}=Lr.pop();if(this.leaves[Ft]){Uf(Qr,an,ln,Se,Ge,mt,Dt,Ni,tr);const Ft=1<<ln,Ot=(Qr+0)/Ft,$t=(Qr+1)/Ft,Lr=(an+0)/Ft,pn=(an+1)/Ft,fn=Of(Ot,Lr,this.dem)*Bt,mn=Of($t,Lr,this.dem)*Bt,_n=Of($t,pn,this.dem)*Bt,bn=Of(Ot,pn,this.dem)*Bt,wn=Ff(Ni[0],Ni[1],fn,tr[0],Ni[1],mn,tr[0],tr[1],_n,Lt,Rt),Tn=Ff(tr[0],tr[1],_n,Ni[0],tr[1],bn,Ni[0],Ni[1],fn,Lt,Rt),Sn=Math.min(null!==wn?wn:Number.MAX_VALUE,null!==Tn?Tn:Number.MAX_VALUE);if(Sn!==Number.MAX_VALUE)return Sn;{const Se=Po([],Lt,Rt,Rr);if(jf(fn,mn,bn,_n,Rf(Se[0],Ni[0],tr[0]),Rf(Se[1],Ni[1],tr[1]))>=Se[2])return Rr}continue}let pn=0;for(let Lr=0;Lr<this._siblingOffset.length;Lr++){Uf((Qr<<1)+this._siblingOffset[Lr][0],(an<<1)+this._siblingOffset[Lr][1],ln+1,Se,Ge,mt,Dt,Ni,tr),Ni[2]=-100,tr[2]=this.maximums[this.childOffsets[Ft]+Lr]*Bt;const Rr=Lf(Ni,tr,Lt,Rt);if(null!=Rr){const Se=Rr;Ot[Lr]=Se;let Ge=!1;for(let mt=0;mt<pn&&!Ge;mt++)Se>=Ot[$t[mt]]&&($t.splice(mt,0,Lr),Ge=!0);Ge||($t[pn]=Lr),pn++}}for(let Se=0;Se<pn;Se++){const Ge=$t[Se];Lr.push({idx:this.childOffsets[Ft]+Ge,t:Ot[Ge],nodex:(Qr<<1)+this._siblingOffset[Ge][0],nodey:(an<<1)+this._siblingOffset[Ge][1],depth:ln+1})}}return null}_addNode(Se,Ge,mt){return this.minimums.push(Se),this.maximums.push(Ge),this.leaves.push(mt),this.childOffsets.push(0),this.nodeCount++}_construct(Se,Ge,mt,Dt,Lt){if(1===Se[Dt].isLeaf(Ge,mt))return;this.childOffsets[Lt]||(this.childOffsets[Lt]=this.nodeCount);const Rt=Dt-1,Bt=Se[Rt];let Ft=0,Ot=0;for(let Se=0;Se<this._siblingOffset.length;Se++){const Dt=2*Ge+this._siblingOffset[Se][0],Lt=2*mt+this._siblingOffset[Se][1],Rt=Bt.getElevation(Dt,Lt),$t=Bt.isLeaf(Dt,Lt),Ni=this._addNode(Rt.min,Rt.max,$t);$t&&(Ft|=1<<Se),Ot||(Ot=Ni)}for(let Dt=0;Dt<this._siblingOffset.length;Dt++)Ft&1<<Dt||this._construct(Se,2*Ge+this._siblingOffset[Dt][0],2*mt+this._siblingOffset[Dt][1],Rt,Ot+Dt)}}function jf(Se,Ge,mt,Dt,Lt,Rt){return Er(Er(Se,mt,Rt),Er(Ge,Dt,Rt),Lt)}function Of(Se,Ge,mt){const Dt=mt.dim,Lt=M(Se*Dt-.5,0,Dt-1),Rt=M(Ge*Dt-.5,0,Dt-1),Bt=Math.floor(Lt),Ft=Math.floor(Rt),Ot=Math.min(Bt+1,Dt-1),$t=Math.min(Ft+1,Dt-1);return jf(mt.get(Bt,Ft),mt.get(Ot,Ft),mt.get(Bt,$t),mt.get(Ot,$t),Lt-Bt,Rt-Ft)}const X_={mapbox:[6553.6,25.6,.1,1e4],terrarium:[256,1,1/256,32768]};function Nf(Se,Ge,mt){return(256*Se*256+256*Ge+mt)/10-1e4}function Gf(Se,Ge,mt){return 256*Se+Ge+mt/256-32768}class Zf{get tree(){return this._tree||this._buildQuadTree(),this._tree}constructor(Se,Ge,mt,Dt=!1,Lt=!1){if(this.uid=Se,Ge.height!==Ge.width)throw new RangeError(\"DEM tiles must be square\");if(mt&&\"mapbox\"!==mt&&\"terrarium\"!==mt)return N(`\"${mt}\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".`);this.stride=Ge.height;const Rt=this.dim=Ge.height-2,Bt=new Uint32Array(Ge.data.buffer);if(this.pixels=new Uint8Array(Ge.data.buffer),this.encoding=mt||\"mapbox\",this.borderReady=Dt,!Dt){for(let Se=0;Se<Rt;Se++)Bt[this._idx(-1,Se)]=Bt[this._idx(0,Se)],Bt[this._idx(Rt,Se)]=Bt[this._idx(Rt-1,Se)],Bt[this._idx(Se,-1)]=Bt[this._idx(Se,0)],Bt[this._idx(Se,Rt)]=Bt[this._idx(Se,Rt-1)];Bt[this._idx(-1,-1)]=Bt[this._idx(0,0)],Bt[this._idx(Rt,-1)]=Bt[this._idx(Rt-1,0)],Bt[this._idx(-1,Rt)]=Bt[this._idx(0,Rt-1)],Bt[this._idx(Rt,Rt)]=Bt[this._idx(Rt-1,Rt-1)],Lt&&this._buildQuadTree()}}_buildQuadTree(){this._tree=new $f(this)}get(Se,Ge,mt=!1){mt&&(Se=M(Se,-1,this.dim),Ge=M(Ge,-1,this.dim));const Dt=4*this._idx(Se,Ge);return(\"terrarium\"===this.encoding?Gf:Nf)(this.pixels[Dt],this.pixels[Dt+1],this.pixels[Dt+2])}static getUnpackVector(Se){return X_[Se]}get unpackVector(){return X_[this.encoding]}_idx(Se,Ge){if(Se<-1||Se>=this.dim+1||Ge<-1||Ge>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(Ge+1)*this.stride+(Se+1)}static pack(Se,Ge){const mt=[0,0,0,0],Dt=Zf.getUnpackVector(Ge);let Lt=Math.floor((Se+Dt[3])/Dt[2]);return mt[2]=Lt%256,Lt=Math.floor(Lt/256),mt[1]=Lt%256,Lt=Math.floor(Lt/256),mt[0]=Lt,mt}getPixels(){return new Uu({width:this.stride,height:this.stride},this.pixels)}backfillBorder(Se,Ge,mt){if(this.dim!==Se.dim)throw new Error(\"dem dimension mismatch\");let Dt=Ge*this.dim,Lt=Ge*this.dim+this.dim,Rt=mt*this.dim,Bt=mt*this.dim+this.dim;switch(Ge){case-1:Dt=Lt-1;break;case 1:Lt=Dt+1}switch(mt){case-1:Rt=Bt-1;break;case 1:Bt=Rt+1}const Ft=-Ge*this.dim,Ot=-mt*this.dim;for(let Ge=Rt;Ge<Bt;Ge++)for(let mt=Dt;mt<Lt;mt++){const Dt=4*this._idx(mt,Ge),Lt=4*this._idx(mt+Ft,Ge+Ot);this.pixels[Dt+0]=Se.pixels[Lt+0],this.pixels[Dt+1]=Se.pixels[Lt+1],this.pixels[Dt+2]=Se.pixels[Lt+2],this.pixels[Dt+3]=Se.pixels[Lt+3]}}onDeserialize(){this._tree&&(this._tree.dem=this)}}Ji(Zf,\"DEMData\"),Ji($f,\"DemMinMaxQuadTree\",{omit:[\"dem\"]});class Kf{constructor(Se,Ge){this.max=Se,this.onRemove=Ge,this.reset()}reset(){for(const Se in this.data)for(const Ge of this.data[Se])Ge.timeout&&clearTimeout(Ge.timeout),this.onRemove(Ge.value);return this.data={},this.order=[],this}add(Se,Ge,mt){const Dt=Se.wrapped().key;void 0===this.data[Dt]&&(this.data[Dt]=[]);const Lt={value:Ge,timeout:void 0};if(void 0!==mt&&(Lt.timeout=setTimeout((()=>{this.remove(Se,Lt)}),mt)),this.data[Dt].push(Lt),this.order.push(Dt),this.order.length>this.max){const Se=this._getAndRemoveByKey(this.order[0]);Se&&this.onRemove(Se)}return this}has(Se){return Se.wrapped().key in this.data}getAndRemove(Se){return this.has(Se)?this._getAndRemoveByKey(Se.wrapped().key):null}_getAndRemoveByKey(Se){const Ge=this.data[Se].shift();return Ge.timeout&&clearTimeout(Ge.timeout),0===this.data[Se].length&&delete this.data[Se],this.order.splice(this.order.indexOf(Se),1),Ge.value}getByKey(Se){const Ge=this.data[Se];return Ge?Ge[0].value:null}get(Se){return this.has(Se)?this.data[Se.wrapped().key][0].value:null}remove(Se,Ge){if(!this.has(Se))return this;const mt=Se.wrapped().key,Dt=void 0===Ge?0:this.data[mt].indexOf(Ge),Lt=this.data[mt][Dt];return this.data[mt].splice(Dt,1),Lt.timeout&&clearTimeout(Lt.timeout),0===this.data[mt].length&&delete this.data[mt],this.onRemove(Lt.value),this.order.splice(this.order.indexOf(mt),1),this}setMaxSize(Se){for(this.max=Se;this.order.length>this.max;){const Se=this._getAndRemoveByKey(this.order[0]);Se&&this.onRemove(Se)}return this}filter(Se){const Ge=[];for(const mt in this.data)for(const Dt of this.data[mt])Se(Dt.value)||Ge.push(Dt);for(const Se of Ge)this.remove(Se.value.tileID,Se)}}class Xf{constructor(Se,Ge,mt){this.func=Se,this.mask=Ge,this.range=mt}}Xf.ReadOnly=!1,Xf.ReadWrite=!0,Xf.disabled=new Xf(519,Xf.ReadOnly,[0,1]);const W_=7680;class Hf{constructor(Se,Ge,mt,Dt,Lt,Rt){this.test=Se,this.ref=Ge,this.mask=mt,this.fail=Dt,this.depthFail=Lt,this.pass=Rt}}Hf.disabled=new Hf({func:519,mask:0},0,0,W_,W_,W_);class Yf{constructor(Se,Ge,mt){this.blendFunction=Se,this.blendColor=Ge,this.mask=mt}}Yf.Replace=[1,0],Yf.disabled=new Yf(Yf.Replace,Ol.transparent,[!1,!1,!1,!1]),Yf.unblended=new Yf(Yf.Replace,Ol.transparent,[!0,!0,!0,!0]),Yf.alphaBlended=new Yf([1,771],Ol.transparent,[!0,!0,!0,!0]);const H_=1029,J_=2305;class ty{constructor(Se,Ge,mt){this.enable=Se,this.mode=Ge,this.frontFace=mt}}ty.disabled=new ty(!1,H_,J_),ty.backCCW=new ty(!0,H_,J_),ty.backCW=new ty(!0,H_,2304),ty.frontCW=new ty(!0,1028,2304),ty.frontCCW=new ty(!0,1028,J_);class ey extends Qt{constructor(Se,Ge,mt){super(),this.id=Se,this._onlySymbols=mt,Ge.on(\"data\",(Se=>{\"source\"===Se.dataType&&\"metadata\"===Se.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===Se.dataType&&\"content\"===Se.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform))})),Ge.on(\"error\",(()=>{this._sourceErrored=!0})),this._source=Ge,this._tiles={},this._cache=new Kf(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=Ge.minTileCacheSize,this._maxTileCacheSize=Ge.maxTileCacheSize,this._loadedParentTiles={},this._coveredTiles={},this._state=new Df,this._isRaster=\"raster\"===this._source.type||\"raster-dem\"===this._source.type||\"custom\"===this._source.type&&\"raster\"===this._source._dataType}onAdd(Se){this.map=Se,this._minTileCacheSize=void 0===this._minTileCacheSize&&Se?Se._minTileCacheSize:this._minTileCacheSize,this._maxTileCacheSize=void 0===this._maxTileCacheSize&&Se?Se._maxTileCacheSize:this._maxTileCacheSize}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const Se in this._tiles){const Ge=this._tiles[Se];if(\"loaded\"!==Ge.state&&\"errored\"!==Ge.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const Se=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,Se&&this.reload(),this.transform&&this.update(this.transform)}_loadTile(Se,Ge){return Se.isSymbolTile=this._onlySymbols,this._source.loadTile(Se,Ge)}_unloadTile(Se){if(this._source.unloadTile)return this._source.unloadTile(Se,(()=>{}))}_abortTile(Se){if(this._source.abortTile)return this._source.abortTile(Se,(()=>{}))}serialize(){return this._source.serialize()}prepare(Se){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const Ge in this._tiles){const mt=this._tiles[Ge];mt.upload(Se),mt.prepare(this.map.style.imageManager)}}getIds(){return E(this._tiles).map((Se=>Se.tileID)).sort(ry).map((Se=>Se.key))}getRenderableIds(Se){const Ge=[];for(const mt in this._tiles)this._isIdRenderable(+mt,Se)&&Ge.push(this._tiles[mt]);return Se?Ge.sort(((Se,Ge)=>{const mt=Se.tileID,Dt=Ge.tileID,Lt=new ln(mt.canonical.x,mt.canonical.y)._rotate(this.transform.angle),Rt=new ln(Dt.canonical.x,Dt.canonical.y)._rotate(this.transform.angle);return mt.overscaledZ-Dt.overscaledZ||Rt.y-Lt.y||Rt.x-Lt.x})).map((Se=>Se.tileID.key)):Ge.map((Se=>Se.tileID)).sort(ry).map((Se=>Se.key))}hasRenderableParent(Se){const Ge=this.findLoadedParent(Se,0);return!!Ge&&this._isIdRenderable(Ge.tileID.key)}_isIdRenderable(Se,Ge){return this._tiles[Se]&&this._tiles[Se].hasData()&&!this._coveredTiles[Se]&&(Ge||!this._tiles[Se].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const Se in this._tiles)\"errored\"!==this._tiles[Se].state&&this._reloadTile(+Se,\"reloading\")}}_reloadTile(Se,Ge){const mt=this._tiles[Se];mt&&(\"loading\"!==mt.state&&(mt.state=Ge),this._loadTile(mt,this._tileLoaded.bind(this,mt,Se,Ge)))}_tileLoaded(Se,Ge,mt,Dt){if(Dt)if(Se.state=\"errored\",404!==Dt.status)this._source.fire(new Wt(Dt,{tile:Se}));else if(\"raster-dem\"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const Se=this.map.painter.terrain;this.update(this.transform,Se.getScaledDemTileSize(),!0),Se.resetTileLookupCache(this.id)}else this.update(this.transform);else Se.timeAdded=Wa.now(),\"expired\"===mt&&(Se.refreshedUponExpiration=!0),this._setTileReloadTimer(Ge,Se),\"raster-dem\"===this._source.type&&Se.dem&&this._backfillDEM(Se),this._state.initializeTileState(Se,this.map?this.map.painter:null),this._source.fire(new Yt(\"data\",{dataType:\"source\",tile:Se,coord:Se.tileID,sourceCacheId:this.id}))}_backfillDEM(Se){const Ge=this.getRenderableIds();for(let mt=0;mt<Ge.length;mt++){const Dt=Ge[mt];if(Se.neighboringTiles&&Se.neighboringTiles[Dt]){const Ge=this.getTileByID(Dt);r(Se,Ge),r(Ge,Se)}}function r(Se,Ge){if(!Se.dem||Se.dem.borderReady)return;Se.needsHillshadePrepare=!0,Se.needsDEMTextureUpload=!0;let mt=Ge.tileID.canonical.x-Se.tileID.canonical.x;const Dt=Ge.tileID.canonical.y-Se.tileID.canonical.y,Lt=Math.pow(2,Se.tileID.canonical.z),Rt=Ge.tileID.key;0===mt&&0===Dt||Math.abs(Dt)>1||(Math.abs(mt)>1&&(1===Math.abs(mt+Lt)?mt+=Lt:1===Math.abs(mt-Lt)&&(mt-=Lt)),Ge.dem&&Se.dem&&(Se.dem.backfillBorder(Ge.dem,mt,Dt),Se.neighboringTiles&&Se.neighboringTiles[Rt]&&(Se.neighboringTiles[Rt].backfilled=!0)))}}getTile(Se){return this.getTileByID(Se.key)}getTileByID(Se){return this._tiles[Se]}_retainLoadedChildren(Se,Ge,mt,Dt){for(const Lt in this._tiles){let Rt=this._tiles[Lt];if(Dt[Lt]||!Rt.hasData()||Rt.tileID.overscaledZ<=Ge||Rt.tileID.overscaledZ>mt)continue;let Bt=Rt.tileID;for(;Rt&&Rt.tileID.overscaledZ>Ge+1;){const Se=Rt.tileID.scaledTo(Rt.tileID.overscaledZ-1);Rt=this._tiles[Se.key],Rt&&Rt.hasData()&&(Bt=Se)}let Ft=Bt;for(;Ft.overscaledZ>Ge;)if(Ft=Ft.scaledTo(Ft.overscaledZ-1),Se[Ft.key]){Dt[Bt.key]=Bt;break}}}findLoadedParent(Se,Ge){if(Se.key in this._loadedParentTiles){const mt=this._loadedParentTiles[Se.key];return mt&&mt.tileID.overscaledZ>=Ge?mt:null}for(let mt=Se.overscaledZ-1;mt>=Ge;mt--){const Ge=Se.scaledTo(mt),Dt=this._getLoadedTile(Ge);if(Dt)return Dt}}_getLoadedTile(Se){const Ge=this._tiles[Se.key];return Ge&&Ge.hasData()?Ge:this._cache.getByKey(this._source.reparseOverscaled?Se.wrapped().key:Se.canonical.key)}updateCacheSize(Se,Ge){Ge=Ge||this._source.tileSize;const mt=Math.ceil(Se.width/Ge)+1,Dt=Math.ceil(Se.height/Ge)+1,Lt=Math.floor(mt*Dt*5),Rt=\"number\"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,Lt):Lt,Bt=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,Rt):Rt;this._cache.setMaxSize(Bt)}handleWrapJump(Se){const Ge=Math.round((Se-(void 0===this._prevLng?Se:this._prevLng))/360);if(this._prevLng=Se,Ge){const Se={};for(const mt in this._tiles){const Dt=this._tiles[mt];Dt.tileID=Dt.tileID.unwrapTo(Dt.tileID.wrap+Ge),Se[Dt.tileID.key]=Dt}this._tiles=Se;for(const Se in this._timers)clearTimeout(this._timers[Se]),delete this._timers[Se];for(const Se in this._tiles)this._setTileReloadTimer(+Se,this._tiles[Se])}}update(Se,Ge,mt){if(this.transform=Se,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!mt)return;let Dt;this.updateCacheSize(Se,Ge),\"globe\"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Dt=Se.getVisibleUnwrappedCoordinates(this._source.tileID).map((Se=>new fh(Se.canonical.z,Se.wrap,Se.canonical.z,Se.canonical.x,Se.canonical.y))):(Dt=Se.coveringTiles({tileSize:Ge||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!mt,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(Dt=Dt.filter((Se=>this._source.hasTile(Se))))):Dt=[];const Lt=this._updateRetainedTiles(Dt);if(ny(this._source.type)&&0!==Dt.length){const Se={},Ge={},mt=Object.keys(Lt);for(const Dt of mt){const mt=Lt[Dt],Rt=this._tiles[Dt];if(!Rt||Rt.fadeEndTime&&Rt.fadeEndTime<=Wa.now())continue;const Bt=this.findLoadedParent(mt,Math.max(mt.overscaledZ-ey.maxOverzooming,this._source.minzoom));Bt&&(this._addTile(Bt.tileID),Se[Bt.tileID.key]=Bt.tileID),Ge[Dt]=mt}const Rt=Dt[Dt.length-1].overscaledZ;for(const Se in this._tiles){const mt=this._tiles[Se];if(Lt[Se]||!mt.hasData())continue;let Dt=mt.tileID;for(;Dt.overscaledZ>Rt;){Dt=Dt.scaledTo(Dt.overscaledZ-1);const Rt=this._tiles[Dt.key];if(Rt&&Rt.hasData()&&Ge[Dt.key]){Lt[Se]=mt.tileID;break}}}for(const Ge in Se)Lt[Ge]||(this._coveredTiles[Ge]=!0,Lt[Ge]=Se[Ge])}for(const Se in Lt)this._tiles[Se].clearFadeHold();const Rt=function(Se,Ge){const mt=[];for(const Dt in Se)Dt in Ge||mt.push(Dt);return mt}(this._tiles,Lt);for(const Se of Rt){const Ge=this._tiles[Se];Ge.hasSymbolBuckets&&!Ge.holdingForFade()?Ge.setHoldDuration(this.map._fadeDuration):Ge.hasSymbolBuckets&&!Ge.symbolFadeFinished()||this._removeTile(+Se)}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate()}releaseSymbolFadeTiles(){for(const Se in this._tiles)this._tiles[Se].holdingForFade()&&this._removeTile(+Se)}_updateRetainedTiles(Se){const Ge={};if(0===Se.length)return Ge;const mt={},Dt=Se.reduce(((Se,Ge)=>Math.min(Se,Ge.overscaledZ)),1/0),Lt=Se[0].overscaledZ,Rt=Math.max(Lt-ey.maxOverzooming,this._source.minzoom),Bt=Math.max(Lt+ey.maxUnderzooming,this._source.minzoom),Ft={};for(const mt of Se){const Se=this._addTile(mt);Ge[mt.key]=mt,Se.hasData()||Dt<this._source.maxzoom&&(Ft[mt.key]=mt)}this._retainLoadedChildren(Ft,Dt,Bt,Ge);for(const Dt of Se){let Se=this._tiles[Dt.key];if(Se.hasData())continue;if(Dt.canonical.z>=this._source.maxzoom){const Se=Dt.children(this._source.maxzoom)[0],mt=this.getTile(Se);if(mt&&mt.hasData()){Ge[Se.key]=Se;continue}}else{const Se=Dt.children(this._source.maxzoom);if(Ge[Se[0].key]&&Ge[Se[1].key]&&Ge[Se[2].key]&&Ge[Se[3].key])continue}let Lt=Se.wasRequested();for(let Bt=Dt.overscaledZ-1;Bt>=Rt;--Bt){const Rt=Dt.scaledTo(Bt);if(mt[Rt.key])break;if(mt[Rt.key]=!0,Se=this.getTile(Rt),!Se&&Lt&&(Se=this._addTile(Rt)),Se&&(Ge[Rt.key]=Rt,Lt=Se.wasRequested(),Se.hasData()))break}}return Ge}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const Se in this._tiles){const Ge=[];let mt,Dt=this._tiles[Se].tileID;for(;Dt.overscaledZ>0;){if(Dt.key in this._loadedParentTiles){mt=this._loadedParentTiles[Dt.key];break}Ge.push(Dt.key);const Se=Dt.scaledTo(Dt.overscaledZ-1);if(mt=this._getLoadedTile(Se),mt)break;Dt=Se}for(const Se of Ge)this._loadedParentTiles[Se]=mt}}_addTile(Se){let Ge=this._tiles[Se.key];if(Ge)return Ge;Ge=this._cache.getAndRemove(Se),Ge&&(this._setTileReloadTimer(Se.key,Ge),Ge.tileID=Se,this._state.initializeTileState(Ge,this.map?this.map.painter:null),this._cacheTimers[Se.key]&&(clearTimeout(this._cacheTimers[Se.key]),delete this._cacheTimers[Se.key],this._setTileReloadTimer(Se.key,Ge)));const mt=Boolean(Ge);if(!mt){const mt=this.map?this.map.painter:null;Ge=new Pf(Se,this._source.tileSize*Se.overscaleFactor(),this.transform.tileZoom,mt,this._isRaster),this._loadTile(Ge,this._tileLoaded.bind(this,Ge,Se.key,Ge.state))}return Ge?(Ge.uses++,this._tiles[Se.key]=Ge,mt||this._source.fire(new Yt(\"dataloading\",{tile:Ge,coord:Ge.tileID,dataType:\"source\"})),Ge):null}_setTileReloadTimer(Se,Ge){Se in this._timers&&(clearTimeout(this._timers[Se]),delete this._timers[Se]);const mt=Ge.getExpiryTimeout();mt&&(this._timers[Se]=setTimeout((()=>{this._reloadTile(Se,\"expired\"),delete this._timers[Se]}),mt))}_removeTile(Se){const Ge=this._tiles[Se];Ge&&(Ge.uses--,delete this._tiles[Se],this._timers[Se]&&(clearTimeout(this._timers[Se]),delete this._timers[Se]),Ge.uses>0||(Ge.hasData()&&\"reloading\"!==Ge.state?this._cache.add(Ge.tileID,Ge,Ge.getExpiryTimeout()):(Ge.aborted=!0,this._abortTile(Ge),this._unloadTile(Ge))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const Se in this._tiles)this._removeTile(+Se);this._source._clear&&this._source._clear(),this._cache.reset(),this.map&&this.usedForTerrain&&this.map.painter.terrain&&this.map.painter.terrain.resetTileLookupCache(this.id)}tilesIn(Se,Ge,mt){const Dt=[],Lt=this.transform;if(!Lt)return Dt;const Rt=\"globe\"===Lt.projection.name,Bt=Nl(Lt.center.lng);for(const Ft in this._tiles){const Ot=this._tiles[Ft];if(mt&&Ot.clearQueryDebugViz(),Ot.holdingForFade())continue;let $t;if(Rt){const Se=Ot.tileID.canonical;if(0===Se.z){const Ge=[Math.abs(M(Bt,...iy(Se,-1))-Bt),Math.abs(M(Bt,...iy(Se,1))-Bt)];$t=[0,2*Ge.indexOf(Math.min(...Ge))-1]}else{const Ge=[Math.abs(M(Bt,...iy(Se,-1))-Bt),Math.abs(M(Bt,...iy(Se,0))-Bt),Math.abs(M(Bt,...iy(Se,1))-Bt)];$t=[Ge.indexOf(Math.min(...Ge))-1]}}else $t=[0];for(const mt of $t){const Rt=Se.containsTile(Ot,Lt,Ge,mt);Rt&&Dt.push(Rt)}}return Dt}getVisibleCoordinates(Se){const Ge=this.getRenderableIds(Se).map((Se=>this._tiles[Se].tileID));for(const Se of Ge)Se.projMatrix=this.transform.calculateProjMatrix(Se.toUnwrapped());return Ge}hasTransition(){if(this._source.hasTransition())return!0;if(ny(this._source.type))for(const Se in this._tiles){const Ge=this._tiles[Se];if(void 0!==Ge.fadeEndTime&&Ge.fadeEndTime>=Wa.now())return!0}return!1}setFeatureState(Se,Ge,mt){this._state.updateState(Se=Se||\"_geojsonTileLayer\",Ge,mt)}removeFeatureState(Se,Ge,mt){this._state.removeFeatureState(Se=Se||\"_geojsonTileLayer\",Ge,mt)}getFeatureState(Se,Ge){return this._state.getState(Se=Se||\"_geojsonTileLayer\",Ge)}setDependencies(Se,Ge,mt){const Dt=this._tiles[Se];Dt&&Dt.setDependencies(Ge,mt)}reloadTilesForDependencies(Se,Ge){for(const mt in this._tiles)this._tiles[mt].hasDependency(Se,Ge)&&this._reloadTile(+mt,\"reloading\");this._cache.filter((mt=>!mt.hasDependency(Se,Ge)))}_preloadTiles(Se,Ge){if(!this._sourceLoaded){const r=()=>{this._sourceLoaded&&(this._source.off(\"data\",r),this._preloadTiles(Se,Ge))};return void this._source.on(\"data\",r)}const mt=new Map,Dt=Array.isArray(Se)?Se:[Se],Lt=this.map.painter.terrain,Rt=this.usedForTerrain&&Lt?Lt.getScaledDemTileSize():this._source.tileSize;for(const Se of Dt){const Ge=Se.coveringTiles({tileSize:Rt,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const Se of Ge)mt.set(Se.key,Se);this.usedForTerrain&&Se.updateElevation(!1)}B(Array.from(mt.values()),((Se,Ge)=>{const mt=new Pf(Se,this._source.tileSize*Se.overscaleFactor(),this.transform.tileZoom,this.map.painter,this._isRaster);this._loadTile(mt,(Se=>{\"raster-dem\"===this._source.type&&mt.dem&&this._backfillDEM(mt),Ge(Se,mt)}))}),Ge)}}function ry(Se,Ge){const mt=Math.abs(2*Se.wrap)-+(Se.wrap<0),Dt=Math.abs(2*Ge.wrap)-+(Ge.wrap<0);return Se.overscaledZ-Ge.overscaledZ||Dt-mt||Ge.canonical.y-Se.canonical.y||Ge.canonical.x-Se.canonical.x}function ny(Se){return\"raster\"===Se||\"image\"===Se||\"video\"===Se||\"custom\"===Se}function iy(Se,Ge){const mt=1<<Se.z;return[Se.x/mt+Ge,(Se.x+1)/mt+Ge]}ey.maxOverzooming=10,ey.maxUnderzooming=3;class sy{constructor(Se,Ge,mt){this._demTile=Se,this._dem=this._demTile.dem,this._scale=Ge,this._offset=mt}static create(Se,Ge,mt){const Dt=mt||Se.findDEMTileFor(Ge);if(!Dt||!Dt.dem)return;const Lt=Dt.dem,Rt=Dt.tileID,Bt=1<<Ge.canonical.z-Rt.canonical.z;return new sy(Dt,Dt.tileSize/wp/Bt,[(Ge.canonical.x/Bt-Rt.canonical.x)*Lt.dim,(Ge.canonical.y/Bt-Rt.canonical.y)*Lt.dim])}tileCoordToPixel(Se,Ge){const mt=Ge*this._scale+this._offset[1],Dt=Math.floor(Se*this._scale+this._offset[0]),Lt=Math.floor(mt);return new ln(Dt,Lt)}getElevationAt(Se,Ge,mt,Dt){const Lt=Se*this._scale+this._offset[0],Rt=Ge*this._scale+this._offset[1],Bt=Math.floor(Lt),Ft=Math.floor(Rt),Ot=this._dem;return Dt=!!Dt,mt?Er(Er(Ot.get(Bt,Ft,Dt),Ot.get(Bt,Ft+1,Dt),Rt-Ft),Er(Ot.get(Bt+1,Ft,Dt),Ot.get(Bt+1,Ft+1,Dt),Rt-Ft),Lt-Bt):Ot.get(Bt,Ft,Dt)}getElevationAtPixel(Se,Ge,mt){return this._dem.get(Se,Ge,!!mt)}getMeterToDEM(Se){return(1<<this._demTile.tileID.canonical.z)*Zl(1,Se)*this._dem.stride}}class ay{constructor(Se,Ge){this.tileID=Se,this.x=Se.canonical.x,this.y=Se.canonical.y,this.z=Se.canonical.z,this.grid=new Eu(wp,16,0),this.featureIndexArray=new ba,this.promoteId=Ge}insert(Se,Ge,mt,Dt,Lt,Rt=0){const Bt=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(mt,Dt,Lt,Rt);const Ft=this.grid;for(let Se=0;Se<Ge.length;Se++){const mt=Ge[Se],Dt=[1/0,1/0,-1/0,-1/0];for(let Se=0;Se<mt.length;Se++){const Ge=mt[Se];Dt[0]=Math.min(Dt[0],Ge.x),Dt[1]=Math.min(Dt[1],Ge.y),Dt[2]=Math.max(Dt[2],Ge.x),Dt[3]=Math.max(Dt[3],Ge.y)}Dt[0]<wp&&Dt[1]<wp&&Dt[2]>=0&&Dt[3]>=0&&Ft.insert(Bt,Dt[0],Dt[1],Dt[2],Dt[3])}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new Im(new n_(this.rawTileData)).layers,this.sourceLayerCoder=new wf(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"]),this.vtFeatures={};for(const Se in this.vtLayers)this.vtFeatures[Se]=[]}return this.vtLayers}query(Se,Ge,mt,Dt){this.loadVTLayers();const Lt=Se.params||{},Rt=hi(Lt.filter),Bt=Se.tileResult,Ft=Se.transform,Ot=Bt.bufferedTilespaceBounds,$t=this.grid.query(Ot.min.x,Ot.min.y,Ot.max.x,Ot.max.y,((Se,Ge,mt,Dt)=>wu(Bt.bufferedTilespaceGeometry,Se,Ge,mt,Dt)));$t.sort(ly);let Ni=null;Ft.elevation&&$t.length>0&&(Ni=sy.create(Ft.elevation,this.tileID));const tr={};let Lr;for(let Ft=0;Ft<$t.length;Ft++){const Ot=$t[Ft];if(Ot===Lr)continue;Lr=Ot;const Rr=this.featureIndexArray.get(Ot);let Qr=null;this.loadMatchingFeature(tr,Rr,Rt,Lt.layers,Lt.availableImages,Ge,mt,Dt,((Ge,mt,Dt,Lt=0)=>(Qr||(Qr=au(Ge,this.tileID.canonical,Se.tileTransform)),mt.queryIntersectsFeature(Bt,Ge,Dt,Qr,this.z,Se.transform,Se.pixelPosMatrix,Ni,Lt))))}return tr}loadMatchingFeature(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const{featureIndex:$t,bucketIndex:Ni,sourceLayerIndex:tr,layoutVertexArrayOffset:Lr}=Ge,Rr=this.bucketLayerIDs[Ni];if(Dt&&!function(Se,Ge){for(let mt=0;mt<Se.length;mt++)if(Ge.indexOf(Se[mt])>=0)return!0;return!1}(Dt,Rr))return;const Qr=this.sourceLayerCoder.decode(tr),an=this.vtLayers[Qr].feature($t);if(mt.needGeometry){const Se=ou(an,!0);if(!mt.filter(new ws(this.tileID.overscaledZ),Se,this.tileID.canonical))return}else if(!mt.filter(new ws(this.tileID.overscaledZ),an))return;const ln=this.getId(an,Qr);for(let Ge=0;Ge<Rr.length;Ge++){const mt=Rr[Ge];if(Dt&&Dt.indexOf(mt)<0)continue;const Ni=Rt[mt];if(!Ni)continue;let tr={};void 0!==ln&&Ft&&(tr=Ft.getState(Ni.sourceLayer||\"_geojsonTileLayer\",ln));const Qr=C({},Bt[mt]);Qr.paint=oy(Qr.paint,Ni.paint,an,tr,Lt),Qr.layout=oy(Qr.layout,Ni.layout,an,tr,Lt);const pn=!Ot||Ot(an,Ni,tr,Lr);if(!pn)continue;const fn=new Af(an,this.z,this.x,this.y,ln);fn.layer=Qr;let mn=Se[mt];void 0===mn&&(mn=Se[mt]=[]),mn.push({featureIndex:$t,feature:fn,intersectionZ:pn})}}lookupSymbolFeatures(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot={};this.loadVTLayers();const $t=hi(Lt);for(const Lt of Se)this.loadMatchingFeature(Ot,{bucketIndex:mt,sourceLayerIndex:Dt,featureIndex:Lt,layoutVertexArrayOffset:0},$t,Rt,Bt,Ft,Ge);return Ot}loadFeature(Se){const{featureIndex:Ge,sourceLayerIndex:mt}=Se;this.loadVTLayers();const Dt=this.sourceLayerCoder.decode(mt),Lt=this.vtFeatures[Dt];if(Lt[Ge])return Lt[Ge];const Rt=this.vtLayers[Dt].feature(Ge);return Lt[Ge]=Rt,Rt}hasLayer(Se){for(const Ge of this.bucketLayerIDs)for(const mt of Ge)if(Se===mt)return!0;return!1}getId(Se,Ge){let mt=Se.id;if(this.promoteId){const Dt=\"string\"==typeof this.promoteId?this.promoteId:this.promoteId[Ge];null!=Dt&&(mt=Se.properties[Dt]),\"boolean\"==typeof mt&&(mt=Number(mt))}return mt}}function oy(Se,Ge,mt,Dt,Lt){return $(Se,((Se,Rt)=>{const Bt=Ge instanceof zs?Ge.get(Rt):null;return Bt&&Bt.evaluate?Bt.evaluate(mt,Dt,Lt):Bt}))}function ly(Se,Ge){return Ge-Se}Ji(ay,\"FeatureIndex\",{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class uy{constructor(Se,Ge){this.width=Se,this.height=Ge,this.nextRow=0,this.image=new Ru({width:Se,height:Ge}),this.positions={},this.uploaded=!1}getDash(Se,Ge){const mt=this.getKey(Se,Ge);return this.positions[mt]}trim(){const Se=this.width,Ge=this.height=L(this.nextRow);this.image.resize({width:Se,height:Ge})}getKey(Se,Ge){return Se.join(\",\")+Ge}getDashRanges(Se,Ge,mt){const Dt=[];let Lt=Se.length%2==1?-Se[Se.length-1]*mt:0,Rt=Se[0]*mt,Bt=!0;Dt.push({left:Lt,right:Rt,isDash:Bt,zeroLength:0===Se[0]});let Ft=Se[0];for(let Ge=1;Ge<Se.length;Ge++){Bt=!Bt;const Ot=Se[Ge];Lt=Ft*mt,Ft+=Ot,Rt=Ft*mt,Dt.push({left:Lt,right:Rt,isDash:Bt,zeroLength:0===Ot})}return Dt}addRoundDash(Se,Ge,mt){const Dt=Ge/2;for(let Ge=-mt;Ge<=mt;Ge++){const Lt=this.width*(this.nextRow+mt+Ge);let Rt=0,Bt=Se[Rt];for(let Ft=0;Ft<this.width;Ft++){Ft/Bt.right>1&&(Bt=Se[++Rt]);const Ot=Math.abs(Ft-Bt.left),$t=Math.abs(Ft-Bt.right),Ni=Math.min(Ot,$t);let tr;const Lr=Ge/mt*(Dt+1);if(Bt.isDash){const Se=Dt-Math.abs(Lr);tr=Math.sqrt(Ni*Ni+Se*Se)}else tr=Dt-Math.sqrt(Ni*Ni+Lr*Lr);this.image.data[Lt+Ft]=Math.max(0,Math.min(255,tr+128))}}}addRegularDash(Se,Ge){for(let Ge=Se.length-1;Ge>=0;--Ge){const mt=Se[Ge],Dt=Se[Ge+1];mt.zeroLength?Se.splice(Ge,1):Dt&&Dt.isDash===mt.isDash&&(Dt.left=mt.left,Se.splice(Ge,1))}const mt=Se[0],Dt=Se[Se.length-1];mt.isDash===Dt.isDash&&(mt.left=Dt.left-this.width,Dt.right=mt.right+this.width);const Lt=this.width*this.nextRow;let Rt=0,Bt=Se[Rt];for(let mt=0;mt<this.width;mt++){mt/Bt.right>1&&(Bt=Se[++Rt]);const Dt=Math.abs(mt-Bt.left),Ft=Math.abs(mt-Bt.right),Ot=Math.min(Dt,Ft);this.image.data[Lt+mt]=Math.max(0,Math.min(255,(Bt.isDash?Ot:-Ot)+Ge+128))}}addDash(Se,Ge){const mt=this.getKey(Se,Ge);if(this.positions[mt])return this.positions[mt];const Dt=\"round\"===Ge,Lt=Dt?7:0,Rt=2*Lt+1;if(this.nextRow+Rt>this.height)return N(\"LineAtlas out of space\"),null;0===Se.length&&Se.push(1);let Bt=0;for(let Ge=0;Ge<Se.length;Ge++)Se[Ge]<0&&(N(\"Negative value is found in line dasharray, replacing values with 0\"),Se[Ge]=0),Bt+=Se[Ge];if(0!==Bt){const mt=this.width/Bt,Rt=this.getDashRanges(Se,this.width,mt);Dt?this.addRoundDash(Rt,mt,Lt):this.addRegularDash(Rt,\"square\"===Ge?.5*mt:0)}const Ft=this.nextRow+Lt;this.nextRow+=Rt;const Ot={tl:[Ft,Lt],br:[Bt,0]};return this.positions[mt]=Ot,Ot}}Ji(uy,\"LineAtlas\");const Y_=1*p_;class hy{constructor(Se){const Ge={},mt=[];for(const Dt in Se){const Lt=Se[Dt],Rt=Ge[Dt]={};for(const Se in Lt.glyphs){const Ge=Lt.glyphs[+Se];if(!Ge||0===Ge.bitmap.width||0===Ge.bitmap.height)continue;const Dt=Ge.metrics.localGlyph?Y_:1,Bt={x:0,y:0,w:Ge.bitmap.width+2*Dt,h:Ge.bitmap.height+2*Dt};mt.push(Bt),Rt[Se]=Bt}}const{w:Dt,h:Lt}=_p(mt),Rt=new Ru({width:Dt||1,height:Lt||1});for(const mt in Se){const Dt=Se[mt];for(const Se in Dt.glyphs){const Lt=Dt.glyphs[+Se];if(!Lt||0===Lt.bitmap.width||0===Lt.bitmap.height)continue;const Bt=Ge[mt][Se],Ft=Lt.metrics.localGlyph?Y_:1;Ru.copy(Lt.bitmap,Rt,{x:0,y:0},{x:Bt.x+Ft,y:Bt.y+Ft},Lt.bitmap)}}this.image=Rt,this.positions=Ge}}Ji(hy,\"GlyphAtlas\");class py{constructor(Se){this.tileID=new fh(Se.tileID.overscaledZ,Se.tileID.wrap,Se.tileID.canonical.z,Se.tileID.canonical.x,Se.tileID.canonical.y),this.tileZoom=Se.tileZoom,this.uid=Se.uid,this.zoom=Se.zoom,this.canonical=Se.tileID.canonical,this.pixelRatio=Se.pixelRatio,this.tileSize=Se.tileSize,this.source=Se.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Se.showCollisionBoxes,this.collectResourceTiming=!!Se.collectResourceTiming,this.returnDependencies=!!Se.returnDependencies,this.promoteId=Se.promoteId,this.enableTerrain=!!Se.enableTerrain,this.isSymbolTile=Se.isSymbolTile,this.tileTransform=Bd(Se.tileID.canonical,Se.projection),this.projection=Se.projection}parse(Se,Ge,mt,Dt,Lt){this.status=\"parsing\",this.data=Se,this.collisionBoxArray=new pa;const Rt=new wf(Object.keys(Se.layers).sort()),Bt=new ay(this.tileID,this.promoteId);Bt.bucketLayerIDs=[];const Ft={},Ot=new uy(256,256),$t={featureIndex:Bt,iconDependencies:{},patternDependencies:{},glyphDependencies:{},lineAtlas:Ot,availableImages:mt},Ni=Ge.familiesBySource[this.source];for(const Ge in Ni){const Dt=Se.layers[Ge];if(!Dt)continue;let Lt=!1,Ot=!1;for(const Se of Ni[Ge])\"symbol\"===Se[0].type?Lt=!0:Ot=!0;if(!0===this.isSymbolTile&&!Lt)continue;if(!1===this.isSymbolTile&&!Ot)continue;1===Dt.version&&N(`Vector tile source \"${this.source}\" layer \"${Ge}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const tr=Rt.encode(Ge),Lr=[];for(let Se=0;Se<Dt.length;Se++){const mt=Dt.feature(Se),Lt=Bt.getId(mt,Ge);Lr.push({feature:mt,id:Lt,index:Se,sourceLayerIndex:tr})}for(const Se of Ni[Ge]){const Ge=Se[0];void 0!==this.isSymbolTile&&\"symbol\"===Ge.type!==this.isSymbolTile||Ge.minzoom&&this.zoom<Math.floor(Ge.minzoom)||Ge.maxzoom&&this.zoom>=Ge.maxzoom||\"none\"!==Ge.visibility&&(dy(Se,this.zoom,mt),(Ft[Ge.id]=Ge.createBucket({index:Bt.bucketLayerIDs.length,layers:Se,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:tr,sourceID:this.source,enableTerrain:this.enableTerrain,projection:this.projection.spec,availableImages:mt})).populate(Lr,$t,this.tileID.canonical,this.tileTransform),Bt.bucketLayerIDs.push(Se.map((Se=>Se.id))))}}let tr,Lr,Rr,Qr;Ot.trim();const an={type:\"maybePrepare\",isSymbolTile:this.isSymbolTile,zoom:this.zoom},m=()=>{if(tr)return Lt(tr);if(Lr&&Rr&&Qr){const Se=new hy(Lr),Ge=new kp(Rr,Qr);for(const Dt in Ft){const Lt=Ft[Dt];Lt instanceof of?(dy(Lt.layers,this.zoom,mt),vd(Lt,Lr,Se.positions,Rr,Ge.iconPositions,this.showCollisionBoxes,mt,this.tileID.canonical,this.tileZoom,this.projection)):Lt.hasPattern&&(Lt instanceof Ih||Lt instanceof Mc||Lt instanceof th)&&(dy(Lt.layers,this.zoom,mt),Lt.addFeatures($t,this.tileID.canonical,Ge.patternPositions,mt,this.tileTransform))}this.status=\"done\",Lt(null,{buckets:E(Ft).filter((Se=>!Se.isEmpty())),featureIndex:Bt,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Se.image,lineAtlas:Ot,imageAtlas:Ge,glyphMap:this.returnDependencies?Lr:null,iconMap:this.returnDependencies?Rr:null,glyphPositions:this.returnDependencies?Se.positions:null})}},ln=$($t.glyphDependencies,(Se=>Object.keys(Se).map(Number)));Object.keys(ln).length?Dt.send(\"getGlyphs\",{uid:this.uid,stacks:ln},((Se,Ge)=>{tr||(tr=Se,Lr=Ge,m())}),void 0,!1,an):Lr={};const pn=Object.keys($t.iconDependencies);pn.length?Dt.send(\"getImages\",{icons:pn,source:this.source,tileID:this.tileID,type:\"icons\"},((Se,Ge)=>{tr||(tr=Se,Rr=Ge,m())}),void 0,!1,an):Rr={};const fn=Object.keys($t.patternDependencies);fn.length?Dt.send(\"getImages\",{icons:fn,source:this.source,tileID:this.tileID,type:\"patterns\"},((Se,Ge)=>{tr||(tr=Se,Qr=Ge,m())}),void 0,!1,an):Qr={},m()}}function dy(Se,Ge,mt){const Dt=new ws(Ge);for(const Ge of Se)Ge.recalculate(Dt,mt)}class fy{constructor(Se){this.entries={},this.scheduler=Se}request(Se,Ge,mt,Dt){const Lt=this.entries[Se]=this.entries[Se]||{callbacks:[]};if(Lt.result){const[Se,mt]=Lt.result;return this.scheduler?this.scheduler.add((()=>{Dt(Se,mt)}),Ge):Dt(Se,mt),()=>{}}return Lt.callbacks.push(Dt),Lt.cancel||(Lt.cancel=mt(((mt,Dt)=>{Lt.result=[mt,Dt];for(const Se of Lt.callbacks)this.scheduler?this.scheduler.add((()=>{Se(mt,Dt)}),Ge):Se(mt,Dt);setTimeout((()=>delete this.entries[Se]),3e3)}))),()=>{Lt.result||(Lt.callbacks=Lt.callbacks.filter((Se=>Se!==Dt)),Lt.callbacks.length||(Lt.cancel(),delete this.entries[Se]))}}}function yy(Se,mt,Dt){const Lt=JSON.stringify(Se.request);return Se.data&&((this||Ge).deduped.entries[Lt]={result:[null,Se.data]}),(this||Ge).deduped.request(Lt,{type:\"parseTile\",isSymbolTile:Se.isSymbolTile,zoom:Se.tileZoom},(Ge=>{const mt=pt(Se.request,((Se,mt,Lt,Rt)=>{Se?Ge(Se):mt&&Ge(null,{vectorTile:Dt?void 0:new Im(new n_(mt)),rawData:mt,cacheControl:Lt,expires:Rt})}));return()=>{mt.cancel(),Ge()}}),mt)}const K_=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class gy{static from(Se){if(!(Se instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");const[Ge,mt]=new Uint8Array(Se,0,2);if(219!==Ge)throw new Error(\"Data does not appear to be in a KDBush format.\");const Dt=mt>>4;if(1!==Dt)throw new Error(`Got v${Dt} data when expected v1.`);const Lt=K_[15&mt];if(!Lt)throw new Error(\"Unrecognized array type.\");const[Rt]=new Uint16Array(Se,2,1),[Bt]=new Uint32Array(Se,4,1);return new gy(Bt,Rt,Lt,Se)}constructor(Se,Ge=64,mt=Float64Array,Dt){if(isNaN(Se)||Se<0)throw new Error(`Unpexpected numItems value: ${Se}.`);this.numItems=+Se,this.nodeSize=Math.min(Math.max(+Ge,2),65535),this.ArrayType=mt,this.IndexArrayType=Se<65536?Uint16Array:Uint32Array;const Lt=K_.indexOf(this.ArrayType),Rt=2*Se*this.ArrayType.BYTES_PER_ELEMENT,Bt=Se*this.IndexArrayType.BYTES_PER_ELEMENT,Ft=(8-Bt%8)%8;if(Lt<0)throw new Error(`Unexpected typed array class: ${mt}.`);Dt&&Dt instanceof ArrayBuffer?(this.data=Dt,this.ids=new this.IndexArrayType(this.data,8,Se),this.coords=new this.ArrayType(this.data,8+Bt+Ft,2*Se),this._pos=2*Se,this._finished=!0):(this.data=new ArrayBuffer(8+Rt+Bt+Ft),this.ids=new this.IndexArrayType(this.data,8,Se),this.coords=new this.ArrayType(this.data,8+Bt+Ft,2*Se),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+Lt]),new Uint16Array(this.data,2,1)[0]=Ge,new Uint32Array(this.data,4,1)[0]=Se)}add(Se,Ge){const mt=this._pos>>1;return this.ids[mt]=mt,this.coords[this._pos++]=Se,this.coords[this._pos++]=Ge,mt}finish(){const Se=this._pos>>1;if(Se!==this.numItems)throw new Error(`Added ${Se} items when expected ${this.numItems}.`);return xy(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(Se,Ge,mt,Dt){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:Lt,coords:Rt,nodeSize:Bt}=this,Ft=[0,Lt.length-1,0],Ot=[];for(;Ft.length;){const $t=Ft.pop()||0,Ni=Ft.pop()||0,tr=Ft.pop()||0;if(Ni-tr<=Bt){for(let Bt=tr;Bt<=Ni;Bt++){const Ft=Rt[2*Bt],$t=Rt[2*Bt+1];Ft>=Se&&Ft<=mt&&$t>=Ge&&$t<=Dt&&Ot.push(Lt[Bt])}continue}const Lr=tr+Ni>>1,Rr=Rt[2*Lr],Qr=Rt[2*Lr+1];Rr>=Se&&Rr<=mt&&Qr>=Ge&&Qr<=Dt&&Ot.push(Lt[Lr]),(0===$t?Se<=Rr:Ge<=Qr)&&(Ft.push(tr),Ft.push(Lr-1),Ft.push(1-$t)),(0===$t?mt>=Rr:Dt>=Qr)&&(Ft.push(Lr+1),Ft.push(Ni),Ft.push(1-$t))}return Ot}within(Se,Ge,mt){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:Dt,coords:Lt,nodeSize:Rt}=this,Bt=[0,Dt.length-1,0],Ft=[],Ot=mt*mt;for(;Bt.length;){const $t=Bt.pop()||0,Ni=Bt.pop()||0,tr=Bt.pop()||0;if(Ni-tr<=Rt){for(let mt=tr;mt<=Ni;mt++)_y(Lt[2*mt],Lt[2*mt+1],Se,Ge)<=Ot&&Ft.push(Dt[mt]);continue}const Lr=tr+Ni>>1,Rr=Lt[2*Lr],Qr=Lt[2*Lr+1];_y(Rr,Qr,Se,Ge)<=Ot&&Ft.push(Dt[Lr]),(0===$t?Se-mt<=Rr:Ge-mt<=Qr)&&(Bt.push(tr),Bt.push(Lr-1),Bt.push(1-$t)),(0===$t?Se+mt>=Rr:Ge+mt>=Qr)&&(Bt.push(Lr+1),Bt.push(Ni),Bt.push(1-$t))}return Ft}}function xy(Se,Ge,mt,Dt,Lt,Rt){if(Lt-Dt<=mt)return;const Bt=Dt+Lt>>1;vy(Se,Ge,Bt,Dt,Lt,Rt),xy(Se,Ge,mt,Dt,Bt-1,1-Rt),xy(Se,Ge,mt,Bt+1,Lt,1-Rt)}function vy(Se,Ge,mt,Dt,Lt,Rt){for(;Lt>Dt;){if(Lt-Dt>600){const Bt=Lt-Dt+1,Ft=mt-Dt+1,Ot=Math.log(Bt),$t=.5*Math.exp(2*Ot/3),Ni=.5*Math.sqrt(Ot*$t*(Bt-$t)/Bt)*(Ft-Bt/2<0?-1:1);vy(Se,Ge,mt,Math.max(Dt,Math.floor(mt-Ft*$t/Bt+Ni)),Math.min(Lt,Math.floor(mt+(Bt-Ft)*$t/Bt+Ni)),Rt)}const Bt=Ge[2*mt+Rt];let Ft=Dt,Ot=Lt;for(by(Se,Ge,Dt,mt),Ge[2*Lt+Rt]>Bt&&by(Se,Ge,Dt,Lt);Ft<Ot;){for(by(Se,Ge,Ft,Ot),Ft++,Ot--;Ge[2*Ft+Rt]<Bt;)Ft++;for(;Ge[2*Ot+Rt]>Bt;)Ot--}Ge[2*Dt+Rt]===Bt?by(Se,Ge,Dt,Ot):(Ot++,by(Se,Ge,Ot,Lt)),Ot<=mt&&(Dt=Ot+1),mt<=Ot&&(Lt=Ot-1)}}function by(Se,Ge,mt,Dt){wy(Se,mt,Dt),wy(Ge,2*mt,2*Dt),wy(Ge,2*mt+1,2*Dt+1)}function wy(Se,Ge,mt){const Dt=Se[Ge];Se[Ge]=Se[mt],Se[mt]=Dt}function _y(Se,Ge,mt,Dt){const Lt=Se-mt,Rt=Ge-Dt;return Lt*Lt+Rt*Rt}Se.ARRAY_TYPE=Mp,Se.AUTH_ERR_MSG=us,Se.Aabb=il,Se.Actor=class{constructor(Se,Ge,Dt){this.target=Se,this.parent=Ge,this.mapId=Dt,this.callbacks={},this.cancelCallbacks={},R([\"receive\"],this),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=K()?Se:mt,this.scheduler=new bf}send(Se,Ge,mt,Dt,Lt=!1,Rt){const Bt=Math.round(1e18*Math.random()).toString(36).substring(0,10);mt&&(mt.metadata=Rt,this.callbacks[Bt]=mt);const Ft=H(this.globalScope)?void 0:[];return this.target.postMessage({id:Bt,type:Se,hasCallback:!!mt,targetMapId:Dt,mustQueue:Lt,sourceMapId:this.mapId,data:Wi(Ge,Ft)},Ft),{cancel:()=>{mt&&delete this.callbacks[Bt],this.target.postMessage({id:Bt,type:\"<cancel>\",targetMapId:Dt,sourceMapId:this.mapId})}}}receive(Se){const Ge=Se.data,mt=Ge.id;if(mt&&(!Ge.targetMapId||this.mapId===Ge.targetMapId))if(\"<cancel>\"===Ge.type){const Se=this.cancelCallbacks[mt];delete this.cancelCallbacks[mt],Se&&Se.cancel()}else if(Ge.mustQueue||K()){const Se=this.callbacks[mt];this.cancelCallbacks[mt]=this.scheduler.add((()=>this.processTask(mt,Ge)),Se&&Se.metadata||{type:\"message\"})}else this.processTask(mt,Ge)}processTask(Se,Ge){if(\"<response>\"===Ge.type){const mt=this.callbacks[Se];delete this.callbacks[Se],mt&&(Ge.error?mt(Qi(Ge.error)):mt(null,Qi(Ge.data)))}else{const mt=H(this.globalScope)?void 0:[],Dt=Ge.hasCallback?(Ge,Dt)=>{delete this.cancelCallbacks[Se],this.target.postMessage({id:Se,type:\"<response>\",sourceMapId:this.mapId,error:Ge?Wi(Ge):null,data:Wi(Dt,mt)},mt)}:Se=>{},Lt=Qi(Ge.data);if(this.parent[Ge.type])this.parent[Ge.type](Ge.sourceMapId,Lt,Dt);else if(this.parent.getWorkerSource){const Se=Ge.type.split(\".\");this.parent.getWorkerSource(Ge.sourceMapId,Se[0],Lt.source)[Se[1]](Lt,Dt)}else Dt(new Error(`Could not find function ${Ge.type}`))}}remove(){this.scheduler.remove(),this.target.removeEventListener(\"message\",this.receive,!1)}},Se.CanonicalTileID=ph,Se.Color=Ol,Se.ColorMode=Yf,Se.CullFaceMode=ty,Se.DEMData=Zf,Se.DataConstantProperty=Bs,Se.DedupedRequest=fy,Se.DepthMode=Xf,Se.EXTENT=wp,Se.Elevation=class{isDataAvailableAtPoint(Se){const Ge=this._source();if(this.isUsingMockSource()||!Ge||Se.y<0||Se.y>1)return!1;const mt=Ge.getSource().maxzoom,Dt=1<<mt,Lt=Math.floor(Se.x),Rt=Math.floor((Se.x-Lt)*Dt),Bt=Math.floor(Se.y*Dt),Ft=this.findDEMTileFor(new fh(mt,Lt,mt,Rt,Bt));return!(!Ft||!Ft.dem)}getAtPointOrZero(Se,Ge=0){return this.getAtPoint(Se,Ge)||0}getAtPoint(Se,Ge,mt=!0){if(this.isUsingMockSource())return null;null==Ge&&(Ge=null);const Dt=this._source();if(!Dt)return Ge;if(Se.y<0||Se.y>1)return Ge;const Lt=Dt.getSource().maxzoom,Rt=1<<Lt,Bt=Math.floor(Se.x),Ft=Se.x-Bt,Ot=new fh(Lt,Bt,Lt,Math.floor(Ft*Rt),Math.floor(Se.y*Rt)),$t=this.findDEMTileFor(Ot);if(!$t||!$t.dem)return Ge;const Ni=$t.dem,tr=1<<$t.tileID.canonical.z,Lr=(Ft*tr-$t.tileID.canonical.x)*Ni.dim,Rr=(Se.y*tr-$t.tileID.canonical.y)*Ni.dim,Qr=Math.floor(Lr),an=Math.floor(Rr);return(mt?this.exaggeration():1)*Er(Er(Ni.get(Qr,an),Ni.get(Qr,an+1),Rr-an),Er(Ni.get(Qr+1,an),Ni.get(Qr+1,an+1),Rr-an),Lr-Qr)}getAtTileOffset(Se,Ge,mt){const Dt=1<<Se.canonical.z;return this.getAtPointOrZero(new Wl(Se.wrap+(Se.canonical.x+Ge/wp)/Dt,(Se.canonical.y+mt/wp)/Dt))}getAtTileOffsetFunc(Se,Ge,mt,Dt){return Lt=>{const Rt=this.getAtTileOffset(Se,Lt.x,Lt.y),Bt=Dt.upVector(Se.canonical,Lt.x,Lt.y);return Co(Bt,Bt,Rt*Dt.upVectorScale(Se.canonical,Ge,mt).metersToTile),Bt}}getForTilePoints(Se,Ge,mt,Dt){if(this.isUsingMockSource())return!1;const Lt=sy.create(this,Se,Dt);return!!Lt&&(Ge.forEach((Se=>{Se[2]=this.exaggeration()*Lt.getElevationAt(Se[0],Se[1],mt)})),!0)}getMinMaxForTile(Se){if(this.isUsingMockSource())return null;const Ge=this.findDEMTileFor(Se);if(!Ge||!Ge.dem)return null;const mt=Ge.dem.tree,Dt=Ge.tileID,Lt=1<<Se.canonical.z-Dt.canonical.z;let Rt=Se.canonical.x/Lt-Dt.canonical.x,Bt=Se.canonical.y/Lt-Dt.canonical.y,Ft=0;for(let Ge=0;Ge<Se.canonical.z-Dt.canonical.z&&!mt.leaves[Ft];Ge++){Rt*=2,Bt*=2;const Se=2*Math.floor(Bt)+Math.floor(Rt);Ft=mt.childOffsets[Ft]+Se,Rt%=1,Bt%=1}return{min:this.exaggeration()*mt.minimums[Ft],max:this.exaggeration()*mt.maximums[Ft]}}getMinElevationBelowMSL(){throw new Error(\"Pure virtual method called.\")}raycast(Se,Ge,mt){throw new Error(\"Pure virtual method called.\")}pointCoordinate(Se){throw new Error(\"Pure virtual method called.\")}_source(){throw new Error(\"Pure virtual method called.\")}isUsingMockSource(){throw new Error(\"Pure virtual method called.\")}exaggeration(){throw new Error(\"Pure virtual method called.\")}findDEMTileFor(Se){throw new Error(\"Pure virtual method called.\")}get visibleDemTiles(){throw new Error(\"Getter must be implemented in subclass.\")}},Se.ErrorEvent=Wt,Se.EvaluationParameters=ws,Se.Event=Yt,Se.Evented=Qt,Se.FillExtrusionBucket=th,Se.Frustum=nl,Se.FrustumCorners=rl,Se.GLOBE_RADIUS=Ef,Se.GLOBE_SCALE_MATCH_LATITUDE=45,Se.GLOBE_ZOOM_THRESHOLD_MAX=Tf,Se.GLOBE_ZOOM_THRESHOLD_MIN=yf,Se.GlobeSharedBuffers=class{constructor(Se){this._createGrid(Se),this._createPoles(Se)}destroy(){this._poleIndexBuffer.destroy(),this._gridBuffer.destroy(),this._gridIndexBuffer.destroy(),this._poleNorthVertexBuffer.destroy(),this._poleSouthVertexBuffer.destroy();for(const Se of this._poleSegments)Se.destroy();for(const Se of this._gridSegments)Se.withSkirts.destroy(),Se.withoutSkirts.destroy();if(this._wireframeIndexBuffer){this._wireframeIndexBuffer.destroy();for(const Se of this._wireframeSegments)Se.destroy()}}_fillGridMeshWithLods(Se,Ge){const mt=new $s,Dt=new ra,Lt=[],Rt=Se+1+2,Bt=Ge[0]+1,Ft=Ge[0]+1+(1+Ge.length),l=(Se,Ge,mt)=>{let Dt=Se===Rt-1?Se-2:0===Se?Se:Se-1;return Dt+=mt?24575:0,[Dt,Ge]};for(let Se=0;Se<Rt;++Se)mt.emplaceBack(...l(Se,0,!0));for(let Se=0;Se<Bt;++Se)for(let Ge=0;Ge<Rt;++Ge)mt.emplaceBack(...l(Ge,Se,(0===Ge||Ge===Rt-1)&&!0));for(let Se=0;Se<Ge.length;++Se){const Dt=Ge[Se];for(let Se=0;Se<Rt;++Se)mt.emplaceBack(...l(Se,Dt,!0))}for(let Se=0;Se<Ge.length;++Se){const Bt=Dt.length,Ot=Ge[Se]+1+2,$t=new ra;for(let mt=0;mt<Ot-1;mt++){const Lt=mt===Ot-2,Bt=Lt?Rt*(Ft-Ge.length+Se-mt):Rt;for(let Se=0;Se<Rt-1;Se++){const Ge=mt*Rt+Se;0===mt||Lt||0===Se||Se===Rt-2?($t.emplaceBack(Ge+1,Ge,Ge+Bt),$t.emplaceBack(Ge+Bt,Ge+Bt+1,Ge+1)):(Dt.emplaceBack(Ge+1,Ge,Ge+Bt),Dt.emplaceBack(Ge+Bt,Ge+Bt+1,Ge+1))}}const Ni=so.simpleSegment(0,Bt,mt.length,Dt.length-Bt);for(let Se=0;Se<$t.uint16.length;Se+=3)Dt.emplaceBack($t.uint16[Se],$t.uint16[Se+1],$t.uint16[Se+2]);const tr=so.simpleSegment(0,Bt,mt.length,Dt.length-Bt);Lt.push({withoutSkirts:Ni,withSkirts:tr})}return{vertices:mt,indices:Dt,segments:Lt}}_createGrid(Se){const Ge=this._fillGridMeshWithLods(Sf,If);this._gridSegments=Ge.segments,this._gridBuffer=Se.createVertexBuffer(Ge.vertices,gf.members),this._gridIndexBuffer=Se.createIndexBuffer(Ge.indices,!0)}_createPoles(Se){const Ge=new ra;for(let Se=0;Se<=Sf;Se++)Ge.emplaceBack(0,Se+1,Se+2);this._poleIndexBuffer=Se.createIndexBuffer(Ge,!0);const mt=new aa,Dt=new aa;this._poleSegments=[];for(let Se=0,Ge=0;Se<yf;Se++){const Lt=360/(1<<Se);mt.emplaceBack(0,-Ef,0,.5,0),Dt.emplaceBack(0,-Ef,0,.5,1);for(let Se=0;Se<=Sf;Se++){const Ge=Se/Sf,Rt=Er(0,Lt,Ge),[Bt,Ft,Ot]=kl(Jf,Qf,Rt,Ef);mt.emplaceBack(Bt,Ft,Ot,Ge,0),Dt.emplaceBack(Bt,Ft,Ot,Ge,1)}this._poleSegments.push(so.simpleSegment(Ge,0,66,64)),Ge+=66}this._poleNorthVertexBuffer=Se.createVertexBuffer(mt,pf,!1),this._poleSouthVertexBuffer=Se.createVertexBuffer(Dt,pf,!1)}getGridBuffers(Se,Ge){return[this._gridBuffer,this._gridIndexBuffer,Ge?this._gridSegments[Se].withSkirts:this._gridSegments[Se].withoutSkirts]}getPoleBuffers(Se){return[this._poleNorthVertexBuffer,this._poleSouthVertexBuffer,this._poleIndexBuffer,this._poleSegments[Se]]}getWirefameBuffers(Se,Ge){if(!this._wireframeSegments){const Ge=new la,mt=Sf,Dt=mt+1+2,Lt=1;this._wireframeSegments=[];for(let Se=0,Rt=0;Se<If.length;Se++){const Bt=If[Se];for(let Se=Lt;Se<Bt+Lt;Se++)for(let Rt=Lt;Rt<mt+Lt;Rt++){const mt=Se*Dt+Rt;Ge.emplaceBack(mt,mt+1),Ge.emplaceBack(mt,mt+Dt),Ge.emplaceBack(mt,mt+Dt+1)}const Ft=Bt*mt*3;this._wireframeSegments.push(so.simpleSegment(0,Rt,(Bt+1)*Dt,Ft)),Rt+=Ft}this._wireframeIndexBuffer=Se.createIndexBuffer(Ge)}return[this._gridBuffer,this._wireframeIndexBuffer,this._wireframeSegments[Ge]]}},Se.GlyphManager=rd,Se.ImagePosition=Sp,Se.KDBush=gy,Se.LivePerformanceUtils=za,Se.LngLat=im,Se.LngLatBounds=oo,Se.LocalGlyphMode=f_,Se.MAX_MERCATOR_LATITUDE=rm,Se.MercatorCoordinate=Wl,Se.ONE_EM=Jm,Se.OverscaledTileID=fh,Se.PerformanceMarkers=Ia,Se.Point=ln,Se.Properties=Ps,Se.RGBAImage=Uu,Se.Ray=el,Se.RequestManager=class{constructor(Se,Ge,mt){this._transformRequestFn=Se,this._customAccessToken=Ge,this._silenceAuthErrors=!!mt,this._createSkuToken()}_createSkuToken(){const Se=function(){let Se=\"\";for(let Ge=0;Ge<10;Ge++)Se+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())];return{token:[\"1\",Lr,Se].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=Se.token,this._skuTokenExpiresAt=Se.tokenExpiresAt}_isSkuTokenExpired(){return Date.now()>this._skuTokenExpiresAt}transformRequest(Se,Ge){return this._transformRequestFn&&this._transformRequestFn(Se,Ge)||{url:Se}}normalizeStyleURL(Se,Ge){if(!vt(Se))return Se;const mt=kt(Se);return mt.path=`/styles/v1${mt.path}`,this._makeAPIURL(mt,this._customAccessToken||Ge)}normalizeGlyphsURL(Se,Ge){if(!vt(Se))return Se;const mt=kt(Se);return mt.path=`/fonts/v1${mt.path}`,this._makeAPIURL(mt,this._customAccessToken||Ge)}normalizeSourceURL(Se,Ge,mt,Dt){if(!vt(Se))return Se;const Lt=kt(Se);return Lt.path=`/v4/${Lt.authority}.json`,Lt.params.push(\"secure\"),mt&&Lt.params.push(`language=${mt}`),Dt&&Lt.params.push(`worldview=${Dt}`),this._makeAPIURL(Lt,this._customAccessToken||Ge)}normalizeSpriteURL(Se,Ge,mt,Dt){const Lt=kt(Se);return vt(Se)?(Lt.path=`/styles/v1${Lt.path}/sprite${Ge}${mt}`,this._makeAPIURL(Lt,this._customAccessToken||Dt)):(Lt.path+=`${Ge}${mt}`,It(Lt))}normalizeTileURL(Se,Ge,mt){if(this._isSkuTokenExpired()&&this._createSkuToken(),Se&&!vt(Se))return Se;const Dt=kt(Se);Dt.path=Dt.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,`${Ge||mt&&\"raster\"!==Dt.authority&&512===mt?\"@2x\":\"\"}${Ft.supported?\".webp\":\"$1\"}`),\"raster\"===Dt.authority?Dt.path=`/${Bt.RASTER_URL_PREFIX}${Dt.path}`:(Dt.path=Dt.path.replace(/^.+\\/v4\\//,\"/\"),Dt.path=`/${Bt.TILE_URL_VERSION}${Dt.path}`);const Lt=this._customAccessToken||function(Se){for(const Ge of Se){const Se=Ge.match(/^access_token=(.*)$/);if(Se)return Se[1]}return null}(Dt.params)||Bt.ACCESS_TOKEN;return Bt.REQUIRE_ACCESS_TOKEN&&Lt&&this._skuToken&&Dt.params.push(`sku=${this._skuToken}`),this._makeAPIURL(Dt,Lt)}canonicalizeTileURL(Se,Ge){const mt=kt(Se);if(!mt.path.match(/^(\\/v4\\/|\\/raster\\/v1\\/)/)||!mt.path.match(/\\.[\\w]+$/))return Se;let Dt=\"mapbox://\";mt.path.match(/^\\/raster\\/v1\\//)?Dt+=`raster/${mt.path.replace(`/${Bt.RASTER_URL_PREFIX}/`,\"\")}`:Dt+=`tiles/${mt.path.replace(`/${Bt.TILE_URL_VERSION}/`,\"\")}`;let Lt=mt.params;return Ge&&(Lt=Lt.filter((Se=>!Se.match(/^access_token=/)))),Lt.length&&(Dt+=`?${Lt.join(\"&\")}`),Dt}canonicalizeTileset(Se,Ge){const mt=!!Ge&&vt(Ge),Dt=[];for(const Ge of Se.tiles||[])bt(Ge)?Dt.push(this.canonicalizeTileURL(Ge,mt)):Dt.push(Ge);return Dt}_makeAPIURL(Se,Ge){const mt=\"See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes\",Dt=kt(Bt.API_URL);if(Se.protocol=Dt.protocol,Se.authority=Dt.authority,\"http\"===Se.protocol){const Ge=Se.params.indexOf(\"secure\");Ge>=0&&Se.params.splice(Ge,1)}if(\"/\"!==Dt.path&&(Se.path=`${Dt.path}${Se.path}`),!Bt.REQUIRE_ACCESS_TOKEN)return It(Se);if(Ge=Ge||Bt.ACCESS_TOKEN,!this._silenceAuthErrors){if(!Ge)throw new Error(`An API access token is required to use Mapbox GL. ${mt}`);if(\"s\"===Ge[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${mt}`)}return Se.params=Se.params.filter((Se=>-1===Se.indexOf(\"access_token\"))),Se.params.push(`access_token=${Ge||\"\"}`),It(Se)}},Se.ResourceType=Oo,Se.SegmentVector=so,Se.SourceCache=ey,Se.StencilMode=Hf,Se.StructArrayLayout1ui2=ua,Se.StructArrayLayout2f1f2i16=Qs,Se.StructArrayLayout2i4=$s,Se.StructArrayLayout2ui4=la,Se.StructArrayLayout3f12=ea,Se.StructArrayLayout3ui6=ra,Se.StructArrayLayout4i8=Os,Se.StructArrayLayout5f20=aa,Se.Texture=xf,Se.Tile=Pf,Se.Transitionable=Ss,Se.Uniform1f=La,Se.Uniform1i=class extends Va{constructor(Se){super(Se),this.current=0}set(Se,Ge,mt){this.fetchUniformLocation(Se,Ge)&&this.current!==mt&&(this.current=mt,this.gl.uniform1i(this.location,mt))}},Se.Uniform2f=class extends Va{constructor(Se){super(Se),this.current=[0,0]}set(Se,Ge,mt){this.fetchUniformLocation(Se,Ge)&&(mt[0]===this.current[0]&&mt[1]===this.current[1]||(this.current=mt,this.gl.uniform2f(this.location,mt[0],mt[1])))}},Se.Uniform3f=class extends Va{constructor(Se){super(Se),this.current=[0,0,0]}set(Se,Ge,mt){this.fetchUniformLocation(Se,Ge)&&(mt[0]===this.current[0]&&mt[1]===this.current[1]&&mt[2]===this.current[2]||(this.current=mt,this.gl.uniform3f(this.location,mt[0],mt[1],mt[2])))}},Se.Uniform4f=Fa,Se.UniformColor=Ra,Se.UniformMatrix2f=class extends Va{constructor(Se){super(Se),this.current=Gd}set(Se,Ge,mt){if(this.fetchUniformLocation(Se,Ge))for(let Se=0;Se<4;Se++)if(mt[Se]!==this.current[Se]){this.current=mt,this.gl.uniformMatrix2fv(this.location,!1,mt);break}}},Se.UniformMatrix3f=class extends Va{constructor(Se){super(Se),this.current=jd}set(Se,Ge,mt){if(this.fetchUniformLocation(Se,Ge))for(let Se=0;Se<9;Se++)if(mt[Se]!==this.current[Se]){this.current=mt,this.gl.uniformMatrix3fv(this.location,!1,mt);break}}},Se.UniformMatrix4f=class extends Va{constructor(Se){super(Se),this.current=Vd}set(Se,Ge,mt){if(this.fetchUniformLocation(Se,Ge)){if(mt[12]!==this.current[12]||mt[0]!==this.current[0])return this.current=mt,void this.gl.uniformMatrix4fv(this.location,!1,mt);for(let Se=1;Se<16;Se++)if(mt[Se]!==this.current[Se]){this.current=mt,this.gl.uniformMatrix4fv(this.location,!1,mt);break}}}},Se.UnwrappedTileID=dh,Se.ValidationError=ri,Se.VectorTileFeature=Cm,Se.VectorTileWorkerSource=class extends Qt{constructor(Se,Ge,mt,Dt,Lt){super(),this.actor=Se,this.layerIndex=Ge,this.availableImages=mt,this.loadVectorData=Lt||yy,this.loading={},this.loaded={},this.deduped=new fy(Se.scheduler),this.isSpriteLoaded=Dt,this.scheduler=Se.scheduler}loadTile(Se,Ge){const mt=Se.uid,Dt=Se&&Se.request,Lt=Dt&&Dt.collectResourceTiming,Rt=this.loading[mt]=new py(Se);Rt.abort=this.loadVectorData(Se,((Bt,Ft)=>{const Ot=!this.loading[mt];if(delete this.loading[mt],Ot||Bt||!Ft)return Rt.status=\"done\",Ot||(this.loaded[mt]=Rt),Ge(Bt);const $t=Ft.rawData,Ni={};Ft.expires&&(Ni.expires=Ft.expires),Ft.cacheControl&&(Ni.cacheControl=Ft.cacheControl),Rt.vectorTile=Ft.vectorTile||new Im(new n_($t));const h=()=>{Rt.parse(Rt.vectorTile,this.layerIndex,this.availableImages,this.actor,((Se,mt)=>{if(Se||!mt)return Ge(Se);const Rt={};if(Lt){const Se=qt(Dt);Se.length>0&&(Rt.resourceTiming=JSON.parse(JSON.stringify(Se)))}Ge(null,C({rawTileData:$t.slice(0)},mt,Ni,Rt))}))};this.isSpriteLoaded?h():this.once(\"isSpriteLoaded\",(()=>{this.scheduler?this.scheduler.add(h,{type:\"parseTile\",isSymbolTile:Se.isSymbolTile,zoom:Se.tileZoom}):h()})),this.loaded=this.loaded||{},this.loaded[mt]=Rt}))}reloadTile(Se,Ge){const mt=this.loaded,Dt=Se.uid,Lt=this;if(mt&&mt[Dt]){const Rt=mt[Dt];Rt.showCollisionBoxes=Se.showCollisionBoxes,Rt.enableTerrain=!!Se.enableTerrain,Rt.projection=Se.projection,Rt.tileTransform=Bd(Se.tileID.canonical,Se.projection);const a=(Se,mt)=>{const Dt=Rt.reloadCallback;Dt&&(delete Rt.reloadCallback,Rt.parse(Rt.vectorTile,Lt.layerIndex,this.availableImages,Lt.actor,Dt)),Ge(Se,mt)};\"parsing\"===Rt.status?Rt.reloadCallback=a:\"done\"===Rt.status&&(Rt.vectorTile?Rt.parse(Rt.vectorTile,this.layerIndex,this.availableImages,this.actor,a):a())}}abortTile(Se,Ge){const mt=Se.uid,Dt=this.loading[mt];Dt&&(Dt.abort&&Dt.abort(),delete this.loading[mt]),Ge()}removeTile(Se,Ge){const mt=this.loaded,Dt=Se.uid;mt&&mt[Dt]&&delete mt[Dt],Ge()}},Se.WritingMode=l_,Se.ZoomDependentExpression=Wn,Se.add=Mo,Se.addDynamicAttributes=rf,Se.adjoint=function(Se,Ge){var mt=Ge[0],Dt=Ge[1],Lt=Ge[2],Rt=Ge[3],Bt=Ge[4],Ft=Ge[5],Ot=Ge[6],$t=Ge[7],Ni=Ge[8];return Se[0]=Bt*Ni-Ft*$t,Se[1]=Lt*$t-Dt*Ni,Se[2]=Dt*Ft-Lt*Bt,Se[3]=Ft*Ot-Rt*Ni,Se[4]=mt*Ni-Lt*Ot,Se[5]=Lt*Rt-mt*Ft,Se[6]=Rt*$t-Bt*Ot,Se[7]=Dt*Ot-mt*$t,Se[8]=mt*Bt-Dt*Rt,Se},Se.asyncAll=B,Se.bezier=k,Se.bindAll=R,Se.boundsAttributes=$_,Se.bufferConvexPolygon=function(Se,Ge){const mt=[];for(let Dt=0;Dt<Se.length;Dt++){const Lt=z(Dt-1,-1,Se.length-1),Rt=z(Dt+1,-1,Se.length-1),Bt=Se[Dt],Ft=Se[Rt],Ot=Se[Lt].sub(Bt).unit(),$t=Ft.sub(Bt).unit(),Ni=$t.angleWithSep(Ot.x,Ot.y),tr=Ot.add($t).unit().mult(-1*Ge/Math.sin(Ni/2));mt.push(Bt.add(tr))}return mt},Se.cacheEntryPossiblyAdded=function(Se){ao++,ao>Pn&&(Se.getActor().send(\"enforceCacheSizeLimit\",An),ao=0)},Se.calculateGlobeLabelMatrix=function(Se,Ge){const{x:mt,y:Dt}=Se.point,Lt=Cl(mt,Dt,Se.worldSize/Se._pixelsPerMercatorPixel,0,0);return yo(Lt,Lt,El(xl(Ge)))},Se.calculateGlobeMatrix=function(Se){const{x:Ge,y:mt}=Se.point,{lng:Dt,lat:Lt}=Se._center;return Cl(Ge,mt,Se.worldSize,Dt,Lt)},Se.calculateGlobeMercatorMatrix=function(Se){const Ge=Se.pixelsPerMeter,mt=Ge/Zl(1,Se.center.lat),Dt=po(new Float64Array(16));return mo(Dt,Dt,[Se.point.x,Se.point.y,0]),go(Dt,Dt,[mt,mt,Ge]),Float32Array.from(Dt)},Se.circumferenceAtLatitude=ql,Se.clamp=M,Se.clearTileCache=function(Se){if(!it())return;const Ge=mt.caches.delete(Sn);Se&&Ge.catch(Se).then((()=>Se()))},Se.clipLine=Hp,Se.clone=function(Se){var Ge=new Mp(16);return Ge[0]=Se[0],Ge[1]=Se[1],Ge[2]=Se[2],Ge[3]=Se[3],Ge[4]=Se[4],Ge[5]=Se[5],Ge[6]=Se[6],Ge[7]=Se[7],Ge[8]=Se[8],Ge[9]=Se[9],Ge[10]=Se[10],Ge[11]=Se[11],Ge[12]=Se[12],Ge[13]=Se[13],Ge[14]=Se[14],Ge[15]=Se[15],Ge},Se.clone$1=O,Se.collisionCircleLayout=Hm,Se.config=Bt,Se.conjugate=function(Se,Ge){return Se[0]=-Ge[0],Se[1]=-Ge[1],Se[2]=-Ge[2],Se[3]=Ge[3],Se},Se.create=function(){var Se=new Mp(16);return Mp!=Float32Array&&(Se[1]=0,Se[2]=0,Se[3]=0,Se[4]=0,Se[6]=0,Se[7]=0,Se[8]=0,Se[9]=0,Se[11]=0,Se[12]=0,Se[13]=0,Se[14]=0),Se[0]=1,Se[5]=1,Se[10]=1,Se[15]=1,Se},Se.create$1=co,Se.createExpression=Hn,Se.createLayout=Rs,Se.createStyleLayer=function(Se){return\"custom\"===Se.type?new ff(Se):new F_[Se.type](Se)},Se.cross=Lo,Se.degToRad=w,Se.distance=function(Se,Ge){return Math.hypot(Ge[0]-Se[0],Ge[1]-Se[1],Ge[2]-Se[2])},Se.div=function(Se,Ge,mt){return Se[0]=Ge[0]/mt[0],Se[1]=Ge[1]/mt[1],Se[2]=Ge[2]/mt[2],Se},Se.dot=Vo,Se.earthRadius=em,Se.ease=_n,Se.easeCubicInOut=S,Se.ecefToLatLng=function([Se,Ge,mt]){const Dt=Math.hypot(Se,Ge,mt),Lt=Math.atan2(Se,mt),Rt=.5*Math.PI-Math.acos(-Ge/Dt);return new im(_(Lt),_(Rt))},Se.emitValidationErrors=qi,Se.endsWith=U,Se.enforceCacheSizeLimit=function(Se){st(),kn&&kn.then((Ge=>{Ge.keys().then((mt=>{for(let Dt=0;Dt<mt.length-Se;Dt++)Ge.delete(mt[Dt])}))}))},Se.evaluateSizeForFeature=jh,Se.evaluateSizeForZoom=Oh,Se.evaluateVariableOffset=xd,Se.evented=td,Se.exactEquals=function(Se,Ge){return Se[0]===Ge[0]&&Se[1]===Ge[1]&&Se[2]===Ge[2]&&Se[3]===Ge[3]},Se.exactEquals$1=function(Se,Ge){return Se[0]===Ge[0]&&Se[1]===Ge[1]&&Se[2]===Ge[2]},Se.exported=Wa,Se.exported$1=Ft,Se.extend=C,Se.extend$1=ee,Se.fillExtrusionHeightLift=oh,Se.filterObject=j,Se.fromMat4=function(Se,Ge){return Se[0]=Ge[0],Se[1]=Ge[1],Se[2]=Ge[2],Se[3]=Ge[4],Se[4]=Ge[5],Se[5]=Ge[6],Se[6]=Ge[8],Se[7]=Ge[9],Se[8]=Ge[10],Se},Se.fromQuat=function(Se,Ge){var mt=Ge[0],Dt=Ge[1],Lt=Ge[2],Rt=Ge[3],Bt=mt+mt,Ft=Dt+Dt,Ot=Lt+Lt,$t=mt*Bt,Ni=Dt*Bt,tr=Dt*Ft,Lr=Lt*Bt,Rr=Lt*Ft,Qr=Lt*Ot,an=Rt*Bt,ln=Rt*Ft,pn=Rt*Ot;return Se[0]=1-tr-Qr,Se[1]=Ni+pn,Se[2]=Lr-ln,Se[3]=0,Se[4]=Ni-pn,Se[5]=1-$t-Qr,Se[6]=Rr+an,Se[7]=0,Se[8]=Lr+ln,Se[9]=Rr-an,Se[10]=1-$t-tr,Se[11]=0,Se[12]=0,Se[13]=0,Se[14]=0,Se[15]=1,Se},Se.fromRotation=function(Se,Ge){var mt=Math.sin(Ge),Dt=Math.cos(Ge);return Se[0]=Dt,Se[1]=mt,Se[2]=0,Se[3]=-mt,Se[4]=Dt,Se[5]=0,Se[6]=0,Se[7]=0,Se[8]=1,Se},Se.fromScaling=bo,Se.furthestTileCorner=function(Se){const Ge=Math.round((Se+45+360)%360/90)%4;return mn[Ge]},Se.getAABBPointSquareDist=function(Se,Ge,mt){let Dt=0;for(let Lt=0;Lt<2;++Lt){const Rt=mt?mt[Lt]:0;Se[Lt]>Rt&&(Dt+=(Se[Lt]-Rt)*(Se[Lt]-Rt)),Ge[Lt]<Rt&&(Dt+=(Rt-Ge[Lt])*(Rt-Ge[Lt]))}return Dt},Se.getAnchorAlignment=Rp,Se.getAnchorJustification=bd,Se.getBounds=function(Se){let Ge=1/0,mt=1/0,Dt=-1/0,Lt=-1/0;for(const Rt of Se)Ge=Math.min(Ge,Rt.x),mt=Math.min(mt,Rt.y),Dt=Math.max(Dt,Rt.x),Lt=Math.max(Lt,Rt.y);return{min:new ln(Ge,mt),max:new ln(Dt,Lt)}},Se.getColumn=W,Se.getDefaultExportFromCjs=p,Se.getGridMatrix=function(Se,Ge,mt,Dt){const Lt=Ge.getNorth(),Rt=Ge.getSouth(),Bt=Ge.getWest(),Ft=Ge.getEast(),Ot=1<<Se.z,$t=Ft-Bt,Ni=Lt-Rt,tr=$t/Sf,Lr=-Ni/If[mt],Rr=[0,tr,0,Lr,0,0,Lt,Bt,0];if(Se.z>0){const Se=180/Dt;ho(Rr,Rr,[Se/$t+1,0,0,0,Se/Ni+1,0,-.5*Se/tr,.5*Se/Lr,1])}return Rr[2]=Ot,Rr[5]=Se.x,Rr[8]=Se.y,Rr},Se.getImage=gt,Se.getJSON=function(Se,Ge){return ht(C(Se,{type:\"json\"}),Ge)},Se.getLatitudinalLod=function(Se){const Ge=rm-5;Se=M(Se,-Ge,Ge)/Ge*90;const mt=Math.pow(Math.abs(Math.sin(w(Se))),3);return Math.round(mt*(If.length-1))},Se.getMapSessionAPI=Sa,Se.getPerformanceMeasurement=qt,Se.getProjection=Yd,Se.getRTLTextPluginStatus=xs,Se.getReferrer=Qo,Se.getTilePoint=function(Se,{x:Ge,y:mt},Dt=0){return new ln(((Ge-Dt)*Se.scale-Se.x)*wp,(mt*Se.scale-Se.y)*wp)},Se.getTileVec3=function(Se,Ge,mt=0){return Io(((Ge.x-mt)*Se.scale-Se.x)*wp,(Ge.y*Se.scale-Se.y)*wp,Jl(Ge.z,Ge.y))},Se.getVideo=function(Se,Ge){const Dt=mt.document.createElement(\"video\");Dt.muted=!0,Dt.onloadstart=function(){Ge(null,Dt)};for(let Ge=0;Ge<Se.length;Ge++){const Lt=mt.document.createElement(\"source\");dt(Se[Ge])||(Dt.crossOrigin=\"Anonymous\"),Lt.src=Se[Ge],Dt.appendChild(Lt)}return{cancel:()=>{}}},Se.globeCenterToScreenPoint=function(Se){const Ge=[0,0,0],mt=po(new Float64Array(16));return yo(mt,Se.pixelMatrix,Se.globeMatrix),Fo(Ge,Ge,mt),new ln(Ge[0],Ge[1])},Se.globeDenormalizeECEF=El,Se.globeECEFOrigin=function(Se,Ge){const mt=[0,0,0];return Fo(mt,mt,Bl(xl(Ge.canonical))),Fo(mt,mt,Se),mt},Se.globeMetersToEcef=fl,Se.globeNormalizeECEF=Bl,Se.globePixelsToTileUnits=function(Se,Ge){return wp/(512*Math.pow(2,Se))*Tl(xl(Ge))},Se.globePoleMatrixForTile=function(Se,Ge,mt){const Dt=po(new Float64Array(16)),Lt=(Ge/(1<<Se)-.5)*Math.PI*2;return vo(Dt,mt.globeMatrix,Lt),Float32Array.from(Dt)},Se.globeTileBounds=xl,Se.globeTiltAtLngLat=Dl,Se.globeToMercatorTransition=Pl,Se.globeUseCustomAntiAliasing=function(Se,Ge,mt){const Dt=Pl(mt.zoom),Lt=Se.style.map._antialias,Rt=!!Ge.extStandardDerivatives,Bt=Ge.extStandardDerivativesForceOff||Se.terrain&&Se.terrain.exaggeration()>0;return 0===Dt&&!Lt&&!Bt&&Rt},Se.identity=po,Se.identity$1=Ko,Se.invert=fo,Se.isFullscreen=function(){return!!mt.document.fullscreenElement||!!mt.document.webkitFullscreenElement},Se.isLngLatBehindGlobe=Vl,Se.isMapAuthenticated=function(Se){return Aa.has(Se)},Se.isMapboxURL=vt,Se.isSafariWithAntialiasingBug=function(Se){const Ge=Se.navigator?Se.navigator.userAgent:null;return!!H(Se)&&Ge&&(Ge.match(\"Version/15.4\")||Ge.match(\"Version/15.5\")||Ge.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/))},Se.latFromMercatorY=Xl,Se.latLngToECEF=Il,Se.len=lf,Se.length=ko,Se.length$1=function(Se){return Math.hypot(Se[0],Se[1],Se[2],Se[3])},Se.lngFromMercatorX=Kl,Se.loadVectorTile=yy,Se.makeRequest=ht,Se.mapValue=function(Se,Ge,mt,Dt,Lt){return M((Se-Ge)/(mt-Ge)*(Lt-Dt)+Dt,Dt,Lt)},Se.mercatorScale=Yl,Se.mercatorXfromLng=Nl,Se.mercatorYfromLat=Gl,Se.mercatorZfromAltitude=Zl,Se.mul=Ap,Se.mul$1=Yp,Se.multiply=yo,Se.multiply$1=ho,Se.multiply$2=zo,Se.nextPowerOfTwo=L,Se.normalize=Do,Se.normalize$1=uf,Se.normalize$2=No,Se.number=Er,Se.ortho=function(Se,Ge,mt,Dt,Lt,Rt,Bt){var Ft=1/(Ge-mt),Ot=1/(Dt-Lt),$t=1/(Rt-Bt);return Se[0]=-2*Ft,Se[1]=0,Se[2]=0,Se[3]=0,Se[4]=0,Se[5]=-2*Ot,Se[6]=0,Se[7]=0,Se[8]=0,Se[9]=0,Se[10]=2*$t,Se[11]=0,Se[12]=(Ge+mt)*Ft,Se[13]=(Lt+Dt)*Ot,Se[14]=(Bt+Rt)*$t,Se[15]=1,Se},Se.pbf=e_,Se.perspective=function(Se,Ge,mt,Dt,Lt){var Rt,Bt=1/Math.tan(Ge/2);return Se[0]=Bt/mt,Se[1]=0,Se[2]=0,Se[3]=0,Se[4]=0,Se[5]=Bt,Se[6]=0,Se[7]=0,Se[8]=0,Se[9]=0,Se[11]=-1,Se[12]=0,Se[13]=0,Se[15]=0,null!=Lt&&Lt!==1/0?(Se[10]=(Lt+Dt)*(Rt=1/(Dt-Lt)),Se[14]=2*Lt*Dt*Rt):(Se[10]=-1,Se[14]=-2*Dt),Se},Se.pick=function(Se,Ge){const mt={};for(let Dt=0;Dt<Ge.length;Dt++){const Lt=Ge[Dt];Lt in Se&&(mt[Lt]=Se[Lt])}return mt},Se.plugin=nd,Se.pointGeometry=an,Se.polesInViewport=function(Se){const Ge=po(new Float64Array(16));yo(Ge,Se.pixelMatrix,Se.globeMatrix);const mt=[0,Cf,0],Dt=[0,zf,0];return Fo(mt,mt,Ge),Fo(Dt,Dt,Ge),[mt[0]>0&&mt[0]<=Se.width&&mt[1]>0&&mt[1]<=Se.height&&!Vl(Se,new im(Se.center.lat,90)),Dt[0]>0&&Dt[0]<=Se.width&&Dt[1]>0&&Dt[1]<=Se.height&&!Vl(Se,new im(Se.center.lat,-90))]},Se.polygonContainsPoint=bu,Se.polygonIntersectsBox=wu,Se.polygonIntersectsPolygon=hu,Se.polygonizeBounds=function(Se,Ge,mt=0,Dt=!0){const Lt=new ln(mt,mt),Rt=Se.sub(Lt),Bt=Ge.add(Lt),Ft=[Rt,new ln(Bt.x,Rt.y),Bt,new ln(Rt.x,Bt.y)];return Dt&&Ft.push(Rt.clone()),Ft},Se.posAttributes=gf,Se.postMapLoadEvent=Vs,Se.postPerformanceEvent=Ta,Se.postTurnstileEvent=gs,Se.potpack=_p,Se.prevPowerOfTwo=function(Se){return Se<=1?1:Math.pow(2,Math.floor(Math.log(Se)/Math.LN2))},Se.radToDeg=_,Se.refProperties=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],Se.registerForPluginStateChange=function(Se){return Se({pluginStatus:qu,pluginURL:ed}),td.on(\"pluginStateChange\",Se),Se},Se.removeAuthState=function(Se){Aa.delete(Se)},Se.renderColorRamp=ju,Se.resample=tu,Se.rotateX=xo,Se.rotateX$1=Xo,Se.rotateY=vo,Se.rotateY$1=Jo,Se.rotateZ=function(Se,Ge,mt){var Dt=Math.sin(mt),Lt=Math.cos(mt),Rt=Ge[0],Bt=Ge[1],Ft=Ge[2],Ot=Ge[3],$t=Ge[4],Ni=Ge[5],tr=Ge[6],Lr=Ge[7];return Ge!==Se&&(Se[8]=Ge[8],Se[9]=Ge[9],Se[10]=Ge[10],Se[11]=Ge[11],Se[12]=Ge[12],Se[13]=Ge[13],Se[14]=Ge[14],Se[15]=Ge[15]),Se[0]=Rt*Lt+$t*Dt,Se[1]=Bt*Lt+Ni*Dt,Se[2]=Ft*Lt+tr*Dt,Se[3]=Ot*Lt+Lr*Dt,Se[4]=$t*Lt-Rt*Dt,Se[5]=Ni*Lt-Bt*Dt,Se[6]=tr*Lt-Ft*Dt,Se[7]=Lr*Lt-Ot*Dt,Se},Se.rotateZ$1=function(Se,Ge,mt){mt*=.5;var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=Ge[3],Ft=Math.sin(mt),Ot=Math.cos(mt);return Se[0]=Dt*Ot+Lt*Ft,Se[1]=Lt*Ot-Dt*Ft,Se[2]=Rt*Ot+Bt*Ft,Se[3]=Bt*Ot-Rt*Ft,Se},Se.scale=go,Se.scale$1=qo,Se.scale$2=Co,Se.scaleAndAdd=Po,Se.set=function(Se,Ge,mt,Dt){return Se[0]=Ge,Se[1]=mt,Se[2]=Dt,Se},Se.setCacheLimits=function(Se,Ge){An=Se,Pn=Ge},Se.setColumn=function(Se,Ge,mt){Se[4*Ge+0]=mt[0],Se[4*Ge+1]=mt[1],Se[4*Ge+2]=mt[2],Se[4*Ge+3]=mt[3]},Se.setRTLTextPlugin=function(Se,Ge,mt=!1){if(qu===Ou||qu===Nu||qu===Gu)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");ed=Wa.resolveURL(Se),qu=Ou,$u=Ge,ms(),mt||vs()},Se.smoothstep=T,Se.spec=Ha,Se.squaredLength=function(Se){var Ge=Se[0],mt=Se[1],Dt=Se[2];return Ge*Ge+mt*mt+Dt*Dt},Se.storeAuthState=function(Se,Ge){Ge?Aa.add(Se):Aa.delete(Se)},Se.sub=Cp,Se.subtract=To,Se.symbolSize=Km,Se.tileAABB=function(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){if(\"globe\"===Ot.name)return _l(Se,Ge,new ph(mt,Dt,Lt));const $t=Bd({z:mt,x:Dt,y:Lt},Ot);return new il([(Rt+$t.x/$t.scale)*Ge,Ge*($t.y/$t.scale),Bt],[(Rt+$t.x2/$t.scale)*Ge,Ge*($t.y2/$t.scale),Ft])},Se.tileCornersToBounds=Al,Se.tileTransform=Bd,Se.transformMat3=function(Se,Ge,mt){var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2];return Se[0]=Dt*mt[0]+Lt*mt[3]+Rt*mt[6],Se[1]=Dt*mt[1]+Lt*mt[4]+Rt*mt[7],Se[2]=Dt*mt[2]+Lt*mt[5]+Rt*mt[8],Se},Se.transformMat4=Fo,Se.transformMat4$1=Go,Se.transformQuat=Ro,Se.transitionTileAABBinECEF=bl,Se.translate=mo,Se.transpose=function(Se,Ge){if(Se===Ge){var mt=Ge[1],Dt=Ge[2],Lt=Ge[5];Se[1]=Ge[3],Se[2]=Ge[6],Se[3]=mt,Se[5]=Ge[7],Se[6]=Dt,Se[7]=Lt}else Se[0]=Ge[0],Se[1]=Ge[3],Se[2]=Ge[6],Se[3]=Ge[1],Se[4]=Ge[4],Se[5]=Ge[7],Se[6]=Ge[2],Se[7]=Ge[5],Se[8]=Ge[8];return Se},Se.triggerPluginCompletionEvent=ys,Se.uniqueId=D,Se.updateGlobeVertexNormal=function(Se,Ge,mt,Dt,Lt){const Rt=5*Ge+2;Se.float32[Rt+0]=mt,Se.float32[Rt+1]=Dt,Se.float32[Rt+2]=Lt},Se.validateCustomStyleLayer=function(Se){const Ge=[],mt=Se.id;return void 0===mt&&Ge.push({message:`layers.${mt}: missing required property \"id\"`}),void 0===Se.render&&Ge.push({message:`layers.${mt}: missing required method \"render\"`}),Se.renderingMode&&\"2d\"!==Se.renderingMode&&\"3d\"!==Se.renderingMode&&Ge.push({message:`layers.${mt}: property \"renderingMode\" must be either \"2d\" or \"3d\"`}),Ge},Se.validateFilter=Se=>Oi(Ai(Se)),Se.validateFog=Se=>Oi(Vi(Se)),Se.validateLayer=Se=>Oi(Ti(Se)),Se.validateLight=Se=>Oi(Pi(Se)),Se.validateSource=Se=>Oi(Ei(Se)),Se.validateStyle=Ui,Se.validateTerrain=Se=>Oi(Di(Se)),Se.values=E,Se.vectorTile=wm,Se.version=Lt,Se.warnOnce=N,Se.window=mt,Se.wrap=z}));define([\"./shared\"],(function(Se){function t(Se){if(\"number\"==typeof Se||\"boolean\"==typeof Se||\"string\"==typeof Se||null==Se)return JSON.stringify(Se);if(Array.isArray(Se)){let Ge=\"[\";for(const mt of Se)Ge+=`${t(mt)},`;return`${Ge}]`}let Ge=\"{\";for(const mt of Object.keys(Se).sort())Ge+=`${mt}:${t(Se[mt])},`;return`${Ge}}`}function r(Ge){let mt=\"\";for(const Dt of Se.refProperties)mt+=`/${t(Ge[Dt])}`;return mt}class o{constructor(Se){this.keyCache={},Se&&this.replace(Se)}replace(Se){this._layerConfigs={},this._layers={},this.update(Se,[])}update(Ge,mt){for(const mt of Ge)this._layerConfigs[mt.id]=mt,(this._layers[mt.id]=Se.createStyleLayer(mt)).compileFilter(),this.keyCache[mt.id]&&delete this.keyCache[mt.id];for(const Se of mt)delete this.keyCache[Se],delete this._layerConfigs[Se],delete this._layers[Se];this.familiesBySource={};const Dt=function(Se,Ge){const mt={};for(let Dt=0;Dt<Se.length;Dt++){const Lt=Ge&&Ge[Se[Dt].id]||r(Se[Dt]);Ge&&(Ge[Se[Dt].id]=Lt);let Rt=mt[Lt];Rt||(Rt=mt[Lt]=[]),Rt.push(Se[Dt])}const Dt=[];for(const Se in mt)Dt.push(mt[Se]);return Dt}(Se.values(this._layerConfigs),this.keyCache);for(const Se of Dt){const Ge=Se.map((Se=>this._layers[Se.id])),mt=Ge[0];if(\"none\"===mt.visibility)continue;const Dt=mt.source||\"\";let Lt=this.familiesBySource[Dt];Lt||(Lt=this.familiesBySource[Dt]={});const Rt=mt.sourceLayer||\"_geojsonTileLayer\";let Bt=Lt[Rt];Bt||(Bt=Lt[Rt]=[]),Bt.push(Ge)}}}class i{loadTile(Ge,mt){const{uid:Dt,encoding:Lt,rawImageData:Rt,padding:Bt,buildQuadTree:Ft}=Ge,Ot=Se.window.ImageBitmap&&Rt instanceof Se.window.ImageBitmap?this.getImageData(Rt,Bt):Rt;mt(null,new Se.DEMData(Dt,Ot,Lt,Bt<1,Ft))}getImageData(Se,Ge){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(Se.width,Se.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\",{willReadFrequently:!0})),this.offscreenCanvas.width=Se.width,this.offscreenCanvas.height=Se.height,this.offscreenCanvasContext.drawImage(Se,0,0,Se.width,Se.height);const mt=this.offscreenCanvasContext.getImageData(-Ge,-Ge,Se.width+2*Ge,Se.height+2*Ge);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),mt}}function n(Se,Ge){if(0!==Se.length){s(Se[0],Ge);for(var mt=1;mt<Se.length;mt++)s(Se[mt],!Ge)}}function s(Se,Ge){for(var mt=0,Dt=0,Lt=0,Rt=Se.length,Bt=Rt-1;Lt<Rt;Bt=Lt++){var Ft=(Se[Lt][0]-Se[Bt][0])*(Se[Bt][1]+Se[Lt][1]),Ot=mt+Ft;Dt+=Math.abs(mt)>=Math.abs(Ft)?mt-Ot+Ft:Ft-Ot+mt,mt=Ot}mt+Dt>=0!=!!Ge&&Se.reverse()}var mt=Se.getDefaultExportFromCjs((function e(Se,Ge){var mt,Dt=Se&&Se.type;if(\"FeatureCollection\"===Dt)for(mt=0;mt<Se.features.length;mt++)e(Se.features[mt],Ge);else if(\"GeometryCollection\"===Dt)for(mt=0;mt<Se.geometries.length;mt++)e(Se.geometries[mt],Ge);else if(\"Feature\"===Dt)e(Se.geometry,Ge);else if(\"Polygon\"===Dt)n(Se.coordinates,Ge);else if(\"MultiPolygon\"===Dt)for(mt=0;mt<Se.coordinates.length;mt++)n(Se.coordinates[mt],Ge);return Se}));const Dt=Se.VectorTileFeature.prototype.toGeoJSON;var Lt={exports:{}},Rt=Se.pointGeometry,Bt=Se.vectorTile.VectorTileFeature,Ft=p;function p(Se,mt){(this||Ge).options=mt||{},(this||Ge).features=Se,(this||Ge).length=Se.length}function g(Se,mt){(this||Ge).id=\"number\"==typeof Se.id?Se.id:void 0,(this||Ge).type=Se.type,(this||Ge).rawGeometry=1===Se.type?[Se.geometry]:Se.geometry,(this||Ge).properties=Se.tags,(this||Ge).extent=mt||4096}p.prototype.feature=function(Se){return new g((this||Ge).features[Se],(this||Ge).options.extent)},g.prototype.loadGeometry=function(){var Se=(this||Ge).rawGeometry;(this||Ge).geometry=[];for(var mt=0;mt<Se.length;mt++){for(var Dt=Se[mt],Lt=[],Bt=0;Bt<Dt.length;Bt++)Lt.push(new Rt(Dt[Bt][0],Dt[Bt][1]));(this||Ge).geometry.push(Lt)}return(this||Ge).geometry},g.prototype.bbox=function(){(this||Ge).geometry||this.loadGeometry();for(var Se=(this||Ge).geometry,mt=1/0,Dt=-1/0,Lt=1/0,Rt=-1/0,Bt=0;Bt<Se.length;Bt++)for(var Ft=Se[Bt],Ot=0;Ot<Ft.length;Ot++){var $t=Ft[Ot];mt=Math.min(mt,$t.x),Dt=Math.max(Dt,$t.x),Lt=Math.min(Lt,$t.y),Rt=Math.max(Rt,$t.y)}return[mt,Lt,Dt,Rt]},g.prototype.toGeoJSON=Bt.prototype.toGeoJSON;var Ot=Se.pbf,$t=Ft;function y(Se){var Ge=new Ot;return function(Se,Ge){for(var mt in Se.layers)Ge.writeMessage(3,v,Se.layers[mt])}(Se,Ge),Ge.finish()}function v(Se,Ge){var mt;Ge.writeVarintField(15,Se.version||1),Ge.writeStringField(1,Se.name||\"\"),Ge.writeVarintField(5,Se.extent||4096);var Dt={keys:[],values:[],keycache:{},valuecache:{}};for(mt=0;mt<Se.length;mt++)Dt.feature=Se.feature(mt),Ge.writeMessage(2,x,Dt);var Lt=Dt.keys;for(mt=0;mt<Lt.length;mt++)Ge.writeStringField(3,Lt[mt]);var Rt=Dt.values;for(mt=0;mt<Rt.length;mt++)Ge.writeMessage(4,b,Rt[mt])}function x(Se,Ge){var mt=Se.feature;void 0!==mt.id&&Ge.writeVarintField(1,mt.id),Ge.writeMessage(2,w,Se),Ge.writeVarintField(3,mt.type),Ge.writeMessage(4,P,mt)}function w(Se,Ge){var mt=Se.feature,Dt=Se.keys,Lt=Se.values,Rt=Se.keycache,Bt=Se.valuecache;for(var Ft in mt.properties){var Ot=mt.properties[Ft],$t=Rt[Ft];if(null!==Ot){void 0===$t&&(Dt.push(Ft),Rt[Ft]=$t=Dt.length-1),Ge.writeVarint($t);var Ni=typeof Ot;\"string\"!==Ni&&\"boolean\"!==Ni&&\"number\"!==Ni&&(Ot=JSON.stringify(Ot));var tr=Ni+\":\"+Ot,Lr=Bt[tr];void 0===Lr&&(Lt.push(Ot),Bt[tr]=Lr=Lt.length-1),Ge.writeVarint(Lr)}}}function S(Se,Ge){return(Ge<<3)+(7&Se)}function M(Se){return Se<<1^Se>>31}function P(Se,Ge){for(var mt=Se.loadGeometry(),Dt=Se.type,Lt=0,Rt=0,Bt=mt.length,Ft=0;Ft<Bt;Ft++){var Ot=mt[Ft],$t=1;1===Dt&&($t=Ot.length),Ge.writeVarint(S(1,$t));for(var Ni=3===Dt?Ot.length-1:Ot.length,tr=0;tr<Ni;tr++){1===tr&&1!==Dt&&Ge.writeVarint(S(2,Ni-1));var Lr=Ot[tr].x-Lt,Rr=Ot[tr].y-Rt;Ge.writeVarint(M(Lr)),Ge.writeVarint(M(Rr)),Lt+=Lr,Rt+=Rr}3===Dt&&Ge.writeVarint(S(7,1))}}function b(Se,Ge){var mt=typeof Se;\"string\"===mt?Ge.writeStringField(1,Se):\"boolean\"===mt?Ge.writeBooleanField(7,Se):\"number\"===mt&&(Se%1!=0?Ge.writeDoubleField(3,Se):Se<0?Ge.writeSVarintField(6,Se):Ge.writeVarintField(5,Se))}Lt.exports=y,Lt.exports.fromVectorTileJs=y,Lt.exports.fromGeojsonVt=function(Se,Ge){Ge=Ge||{};var mt={};for(var Dt in Se)mt[Dt]=new $t(Se[Dt].features,Ge),mt[Dt].name=Dt,mt[Dt].version=Ge.version,mt[Dt].extent=Ge.extent;return y({layers:mt})},Lt.exports.GeoJSONWrapper=$t;var Ni=Se.getDefaultExportFromCjs(Lt.exports);const tr={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:Se=>Se},Lr=Math.fround||(Rr=new Float32Array(1),Se=>(Rr[0]=+Se,Rr[0]));var Rr;const Qr=3,an=5,ln=6;class E{constructor(Se){this.options=Object.assign(Object.create(tr),Se),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Se){const{log:Ge,minZoom:mt,maxZoom:Dt}=this.options;Ge&&console.time(\"total time\");const Lt=`prepare ${Se.length} points`;Ge&&console.time(Lt),this.points=Se;const Rt=[];for(let Ge=0;Ge<Se.length;Ge++){const mt=Se[Ge];if(!mt.geometry)continue;const[Dt,Lt]=mt.geometry.coordinates,Bt=Lr(N(Dt)),Ft=Lr(Z(Lt));Rt.push(Bt,Ft,1/0,Ge,-1,1),this.options.reduce&&Rt.push(0)}let Bt=this.trees[Dt+1]=this._createTree(Rt);Ge&&console.timeEnd(Lt);for(let Se=Dt;Se>=mt;Se--){const mt=+Date.now();Bt=this.trees[Se]=this._createTree(this._cluster(Bt,Se)),Ge&&console.log(\"z%d: %d clusters in %dms\",Se,Bt.numItems,+Date.now()-mt)}return Ge&&console.timeEnd(\"total time\"),this}getClusters(Se,Ge){let mt=((Se[0]+180)%360+360)%360-180;const Dt=Math.max(-90,Math.min(90,Se[1]));let Lt=180===Se[2]?180:((Se[2]+180)%360+360)%360-180;const Rt=Math.max(-90,Math.min(90,Se[3]));if(Se[2]-Se[0]>=360)mt=-180,Lt=180;else if(mt>Lt){const Se=this.getClusters([mt,Dt,180,Rt],Ge),Bt=this.getClusters([-180,Dt,Lt,Rt],Ge);return Se.concat(Bt)}const Bt=this.trees[this._limitZoom(Ge)],Ft=Bt.range(N(mt),Z(Rt),N(Lt),Z(Dt)),Ot=Bt.data,$t=[];for(const Se of Ft){const Ge=this.stride*Se;$t.push(Ot[Ge+an]>1?j(Ot,Ge,this.clusterProps):this.points[Ot[Ge+Qr]])}return $t}getChildren(Se){const Ge=this._getOriginId(Se),mt=this._getOriginZoom(Se),Dt=\"No cluster with the specified id.\",Lt=this.trees[mt];if(!Lt)throw new Error(Dt);const Rt=Lt.data;if(Ge*this.stride>=Rt.length)throw new Error(Dt);const Bt=this.options.radius/(this.options.extent*Math.pow(2,mt-1)),Ft=Lt.within(Rt[Ge*this.stride],Rt[Ge*this.stride+1],Bt),Ot=[];for(const Ge of Ft){const mt=Ge*this.stride;Rt[mt+4]===Se&&Ot.push(Rt[mt+an]>1?j(Rt,mt,this.clusterProps):this.points[Rt[mt+Qr]])}if(0===Ot.length)throw new Error(Dt);return Ot}getLeaves(Se,Ge,mt){const Dt=[];return this._appendLeaves(Dt,Se,Ge=Ge||10,mt=mt||0,0),Dt}getTile(Se,Ge,mt){const Dt=this.trees[this._limitZoom(Se)],Lt=Math.pow(2,Se),{extent:Rt,radius:Bt}=this.options,Ft=Bt/Rt,Ot=(mt-Ft)/Lt,$t=(mt+1+Ft)/Lt,Ni={features:[]};return this._addTileFeatures(Dt.range((Ge-Ft)/Lt,Ot,(Ge+1+Ft)/Lt,$t),Dt.data,Ge,mt,Lt,Ni),0===Ge&&this._addTileFeatures(Dt.range(1-Ft/Lt,Ot,1,$t),Dt.data,Lt,mt,Lt,Ni),Ge===Lt-1&&this._addTileFeatures(Dt.range(0,Ot,Ft/Lt,$t),Dt.data,-1,mt,Lt,Ni),Ni.features.length?Ni:null}getClusterExpansionZoom(Se){let Ge=this._getOriginZoom(Se)-1;for(;Ge<=this.options.maxZoom;){const mt=this.getChildren(Se);if(Ge++,1!==mt.length)break;Se=mt[0].properties.cluster_id}return Ge}_appendLeaves(Se,Ge,mt,Dt,Lt){const Rt=this.getChildren(Ge);for(const Ge of Rt){const Rt=Ge.properties;if(Rt&&Rt.cluster?Lt+Rt.point_count<=Dt?Lt+=Rt.point_count:Lt=this._appendLeaves(Se,Rt.cluster_id,mt,Dt,Lt):Lt<Dt?Lt++:Se.push(Ge),Se.length===mt)break}return Lt}_createTree(Ge){const mt=new Se.KDBush(Ge.length/this.stride|0,this.options.nodeSize,Float32Array);for(let Se=0;Se<Ge.length;Se+=this.stride)mt.add(Ge[Se],Ge[Se+1]);return mt.finish(),mt.data=Ge,mt}_addTileFeatures(Se,Ge,mt,Dt,Lt,Rt){for(const Bt of Se){const Se=Bt*this.stride,Ft=Ge[Se+an]>1;let Ot,$t,Ni;if(Ft)Ot=F(Ge,Se,this.clusterProps),$t=Ge[Se],Ni=Ge[Se+1];else{const mt=this.points[Ge[Se+Qr]];Ot=mt.properties;const[Dt,Lt]=mt.geometry.coordinates;$t=N(Dt),Ni=Z(Lt)}const tr={type:1,geometry:[[Math.round(this.options.extent*($t*Lt-mt)),Math.round(this.options.extent*(Ni*Lt-Dt))]],tags:Ot};let Lr;Lr=Ft||this.options.generateId?Ge[Se+Qr]:this.points[Ge[Se+Qr]].id,void 0!==Lr&&(tr.id=Lr),Rt.features.push(tr)}}_limitZoom(Se){return Math.max(this.options.minZoom,Math.min(Math.floor(+Se),this.options.maxZoom+1))}_cluster(Se,Ge){const{radius:mt,extent:Dt,reduce:Lt,minPoints:Rt}=this.options,Bt=mt/(Dt*Math.pow(2,Ge)),Ft=Se.data,Ot=[],$t=this.stride;for(let mt=0;mt<Ft.length;mt+=$t){if(Ft[mt+2]<=Ge)continue;Ft[mt+2]=Ge;const Dt=Ft[mt],Ni=Ft[mt+1],tr=Se.within(Ft[mt],Ft[mt+1],Bt),Lr=Ft[mt+an];let Rr=Lr;for(const Se of tr){const mt=Se*$t;Ft[mt+2]>Ge&&(Rr+=Ft[mt+an])}if(Rr>Lr&&Rr>=Rt){let Se,Rt=Dt*Lr,Bt=Ni*Lr,Qr=-1;const ln=((mt/$t|0)<<5)+(Ge+1)+this.points.length;for(const Dt of tr){const Ot=Dt*$t;if(Ft[Ot+2]<=Ge)continue;Ft[Ot+2]=Ge;const Ni=Ft[Ot+an];Rt+=Ft[Ot]*Ni,Bt+=Ft[Ot+1]*Ni,Ft[Ot+4]=ln,Lt&&(Se||(Se=this._map(Ft,mt,!0),Qr=this.clusterProps.length,this.clusterProps.push(Se)),Lt(Se,this._map(Ft,Ot)))}Ft[mt+4]=ln,Ot.push(Rt/Rr,Bt/Rr,1/0,ln,-1,Rr),Lt&&Ot.push(Qr)}else{for(let Se=0;Se<$t;Se++)Ot.push(Ft[mt+Se]);if(Rr>1)for(const Se of tr){const mt=Se*$t;if(!(Ft[mt+2]<=Ge)){Ft[mt+2]=Ge;for(let Se=0;Se<$t;Se++)Ot.push(Ft[mt+Se])}}}}return Ot}_getOriginId(Se){return Se-this.points.length>>5}_getOriginZoom(Se){return(Se-this.points.length)%32}_map(Se,Ge,mt){if(Se[Ge+an]>1){const Dt=this.clusterProps[Se[Ge+ln]];return mt?Object.assign({},Dt):Dt}const Dt=this.points[Se[Ge+Qr]].properties,Lt=this.options.map(Dt);return mt&&Lt===Dt?Object.assign({},Lt):Lt}}function j(Se,Ge,mt){return{type:\"Feature\",id:Se[Ge+Qr],properties:F(Se,Ge,mt),geometry:{type:\"Point\",coordinates:[(Dt=Se[Ge],360*(Dt-.5)),J(Se[Ge+1])]}};var Dt}function F(Se,Ge,mt){const Dt=Se[Ge+an],Lt=Dt>=1e4?`${Math.round(Dt/1e3)}k`:Dt>=1e3?Math.round(Dt/100)/10+\"k\":Dt,Rt=Se[Ge+ln],Bt=-1===Rt?{}:Object.assign({},mt[Rt]);return Object.assign(Bt,{cluster:!0,cluster_id:Se[Ge+Qr],point_count:Dt,point_count_abbreviated:Lt})}function N(Se){return Se/360+.5}function Z(Se){const Ge=Math.sin(Se*Math.PI/180),mt=.5-.25*Math.log((1+Ge)/(1-Ge))/Math.PI;return mt<0?0:mt>1?1:mt}function J(Se){const Ge=(180-360*Se)*Math.PI/180;return 360*Math.atan(Math.exp(Ge))/Math.PI-90}function z(Se,Ge,mt,Dt){for(var Lt,Rt=Dt,Bt=mt-Ge>>1,Ft=mt-Ge,Ot=Se[Ge],$t=Se[Ge+1],Ni=Se[mt],tr=Se[mt+1],Lr=Ge+3;Lr<mt;Lr+=3){var Rr=G(Se[Lr],Se[Lr+1],Ot,$t,Ni,tr);if(Rr>Rt)Lt=Lr,Rt=Rr;else if(Rr===Rt){var Qr=Math.abs(Lr-Bt);Qr<Ft&&(Lt=Lr,Ft=Qr)}}Rt>Dt&&(Lt-Ge>3&&z(Se,Ge,Lt,Dt),Se[Lt+2]=Rt,mt-Lt>3&&z(Se,Lt,mt,Dt))}function G(Se,Ge,mt,Dt,Lt,Rt){var Bt=Lt-mt,Ft=Rt-Dt;if(0!==Bt||0!==Ft){var Ot=((Se-mt)*Bt+(Ge-Dt)*Ft)/(Bt*Bt+Ft*Ft);Ot>1?(mt=Lt,Dt=Rt):Ot>0&&(mt+=Bt*Ot,Dt+=Ft*Ot)}return(Bt=Se-mt)*Bt+(Ft=Ge-Dt)*Ft}function W(Se,Ge,mt,Dt){var Lt={id:void 0===Se?null:Se,type:Ge,geometry:mt,tags:Dt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(Se){var Ge=Se.geometry,mt=Se.type;if(\"Point\"===mt||\"MultiPoint\"===mt||\"LineString\"===mt)Y(Se,Ge);else if(\"Polygon\"===mt||\"MultiLineString\"===mt)for(var Dt=0;Dt<Ge.length;Dt++)Y(Se,Ge[Dt]);else if(\"MultiPolygon\"===mt)for(Dt=0;Dt<Ge.length;Dt++)for(var Lt=0;Lt<Ge[Dt].length;Lt++)Y(Se,Ge[Dt][Lt])}(Lt),Lt}function Y(Se,Ge){for(var mt=0;mt<Ge.length;mt+=3)Se.minX=Math.min(Se.minX,Ge[mt]),Se.minY=Math.min(Se.minY,Ge[mt+1]),Se.maxX=Math.max(Se.maxX,Ge[mt]),Se.maxY=Math.max(Se.maxY,Ge[mt+1])}function X(Se,Ge,mt,Dt){if(Ge.geometry){var Lt=Ge.geometry.coordinates,Rt=Ge.geometry.type,Bt=Math.pow(mt.tolerance/((1<<mt.maxZoom)*mt.extent),2),Ft=[],Ot=Ge.id;if(mt.promoteId?Ot=Ge.properties[mt.promoteId]:mt.generateId&&(Ot=Dt||0),\"Point\"===Rt)V(Lt,Ft);else if(\"MultiPoint\"===Rt)for(var $t=0;$t<Lt.length;$t++)V(Lt[$t],Ft);else if(\"LineString\"===Rt)D(Lt,Ft,Bt,!1);else if(\"MultiLineString\"===Rt){if(mt.lineMetrics){for($t=0;$t<Lt.length;$t++)D(Lt[$t],Ft=[],Bt,!1),Se.push(W(Ot,\"LineString\",Ft,Ge.properties));return}$(Lt,Ft,Bt,!1)}else if(\"Polygon\"===Rt)$(Lt,Ft,Bt,!0);else{if(\"MultiPolygon\"!==Rt){if(\"GeometryCollection\"===Rt){for($t=0;$t<Ge.geometry.geometries.length;$t++)X(Se,{id:Ot,geometry:Ge.geometry.geometries[$t],properties:Ge.properties},mt,Dt);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for($t=0;$t<Lt.length;$t++){var Ni=[];$(Lt[$t],Ni,Bt,!0),Ft.push(Ni)}}Se.push(W(Ot,Rt,Ft,Ge.properties))}}function V(Se,Ge){Ge.push(A(Se[0])),Ge.push(B(Se[1])),Ge.push(0)}function D(Se,Ge,mt,Dt){for(var Lt,Rt,Bt=0,Ft=0;Ft<Se.length;Ft++){var Ot=A(Se[Ft][0]),$t=B(Se[Ft][1]);Ge.push(Ot),Ge.push($t),Ge.push(0),Ft>0&&(Bt+=Dt?(Lt*$t-Ot*Rt)/2:Math.sqrt(Math.pow(Ot-Lt,2)+Math.pow($t-Rt,2))),Lt=Ot,Rt=$t}var Ni=Ge.length-3;Ge[2]=1,z(Ge,0,Ni,mt),Ge[Ni+2]=1,Ge.size=Math.abs(Bt),Ge.start=0,Ge.end=Ge.size}function $(Se,Ge,mt,Dt){for(var Lt=0;Lt<Se.length;Lt++){var Rt=[];D(Se[Lt],Rt,mt,Dt),Ge.push(Rt)}}function A(Se){return Se/360+.5}function B(Se){var Ge=Math.sin(Se*Math.PI/180),mt=.5-.25*Math.log((1+Ge)/(1-Ge))/Math.PI;return mt<0?0:mt>1?1:mt}function R(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){if(Dt/=Ge,Rt>=(mt/=Ge)&&Bt<Dt)return Se;if(Bt<mt||Rt>=Dt)return null;for(var Ot=[],$t=0;$t<Se.length;$t++){var Ni=Se[$t],tr=Ni.geometry,Lr=Ni.type,Rr=0===Lt?Ni.minX:Ni.minY,Qr=0===Lt?Ni.maxX:Ni.maxY;if(Rr>=mt&&Qr<Dt)Ot.push(Ni);else if(!(Qr<mt||Rr>=Dt)){var an=[];if(\"Point\"===Lr||\"MultiPoint\"===Lr)q(tr,an,mt,Dt,Lt);else if(\"LineString\"===Lr)Q(tr,an,mt,Dt,Lt,!1,Ft.lineMetrics);else if(\"MultiLineString\"===Lr)K(tr,an,mt,Dt,Lt,!1);else if(\"Polygon\"===Lr)K(tr,an,mt,Dt,Lt,!0);else if(\"MultiPolygon\"===Lr)for(var ln=0;ln<tr.length;ln++){var pn=[];K(tr[ln],pn,mt,Dt,Lt,!0),pn.length&&an.push(pn)}if(an.length){if(Ft.lineMetrics&&\"LineString\"===Lr){for(ln=0;ln<an.length;ln++)Ot.push(W(Ni.id,Lr,an[ln],Ni.tags));continue}\"LineString\"!==Lr&&\"MultiLineString\"!==Lr||(1===an.length?(Lr=\"LineString\",an=an[0]):Lr=\"MultiLineString\"),\"Point\"!==Lr&&\"MultiPoint\"!==Lr||(Lr=3===an.length?\"Point\":\"MultiPoint\"),Ot.push(W(Ni.id,Lr,an,Ni.tags))}}}return Ot.length?Ot:null}function q(Se,Ge,mt,Dt,Lt){for(var Rt=0;Rt<Se.length;Rt+=3){var Bt=Se[Rt+Lt];Bt>=mt&&Bt<=Dt&&(Ge.push(Se[Rt]),Ge.push(Se[Rt+1]),Ge.push(Se[Rt+2]))}}function Q(Se,Ge,mt,Dt,Lt,Rt,Bt){for(var Ft,Ot,$t=U(Se),Ni=0===Lt?ee:te,tr=Se.start,Lr=0;Lr<Se.length-3;Lr+=3){var Rr=Se[Lr],Qr=Se[Lr+1],an=Se[Lr+2],ln=Se[Lr+3],pn=Se[Lr+4],fn=0===Lt?Rr:Qr,mn=0===Lt?ln:pn,_n=!1;Bt&&(Ft=Math.sqrt(Math.pow(Rr-ln,2)+Math.pow(Qr-pn,2))),fn<mt?mn>mt&&(Ot=Ni($t,Rr,Qr,ln,pn,mt),Bt&&($t.start=tr+Ft*Ot)):fn>Dt?mn<Dt&&(Ot=Ni($t,Rr,Qr,ln,pn,Dt),Bt&&($t.start=tr+Ft*Ot)):H($t,Rr,Qr,an),mn<mt&&fn>=mt&&(Ot=Ni($t,Rr,Qr,ln,pn,mt),_n=!0),mn>Dt&&fn<=Dt&&(Ot=Ni($t,Rr,Qr,ln,pn,Dt),_n=!0),!Rt&&_n&&(Bt&&($t.end=tr+Ft*Ot),Ge.push($t),$t=U(Se)),Bt&&(tr+=Ft)}var bn=Se.length-3;Rr=Se[bn],Qr=Se[bn+1],an=Se[bn+2],(fn=0===Lt?Rr:Qr)>=mt&&fn<=Dt&&H($t,Rr,Qr,an),bn=$t.length-3,Rt&&bn>=3&&($t[bn]!==$t[0]||$t[bn+1]!==$t[1])&&H($t,$t[0],$t[1],$t[2]),$t.length&&Ge.push($t)}function U(Se){var Ge=[];return Ge.size=Se.size,Ge.start=Se.start,Ge.end=Se.end,Ge}function K(Se,Ge,mt,Dt,Lt,Rt){for(var Bt=0;Bt<Se.length;Bt++)Q(Se[Bt],Ge,mt,Dt,Lt,Rt,!1)}function H(Se,Ge,mt,Dt){Se.push(Ge),Se.push(mt),Se.push(Dt)}function ee(Se,Ge,mt,Dt,Lt,Rt){var Bt=(Rt-Ge)/(Dt-Ge);return Se.push(Rt),Se.push(mt+(Lt-mt)*Bt),Se.push(1),Bt}function te(Se,Ge,mt,Dt,Lt,Rt){var Bt=(Rt-mt)/(Lt-mt);return Se.push(Ge+(Dt-Ge)*Bt),Se.push(Rt),Se.push(1),Bt}function re(Se,Ge){for(var mt=[],Dt=0;Dt<Se.length;Dt++){var Lt,Rt=Se[Dt],Bt=Rt.type;if(\"Point\"===Bt||\"MultiPoint\"===Bt||\"LineString\"===Bt)Lt=oe(Rt.geometry,Ge);else if(\"MultiLineString\"===Bt||\"Polygon\"===Bt){Lt=[];for(var Ft=0;Ft<Rt.geometry.length;Ft++)Lt.push(oe(Rt.geometry[Ft],Ge))}else if(\"MultiPolygon\"===Bt)for(Lt=[],Ft=0;Ft<Rt.geometry.length;Ft++){for(var Ot=[],$t=0;$t<Rt.geometry[Ft].length;$t++)Ot.push(oe(Rt.geometry[Ft][$t],Ge));Lt.push(Ot)}mt.push(W(Rt.id,Bt,Lt,Rt.tags))}return mt}function oe(Se,Ge){var mt=[];mt.size=Se.size,void 0!==Se.start&&(mt.start=Se.start,mt.end=Se.end);for(var Dt=0;Dt<Se.length;Dt+=3)mt.push(Se[Dt]+Ge,Se[Dt+1],Se[Dt+2]);return mt}function ie(Se,Ge){if(Se.transformed)return Se;var mt,Dt,Lt,Rt=1<<Se.z,Bt=Se.x,Ft=Se.y;for(mt=0;mt<Se.features.length;mt++){var Ot=Se.features[mt],$t=Ot.geometry,Ni=Ot.type;if(Ot.geometry=[],1===Ni)for(Dt=0;Dt<$t.length;Dt+=2)Ot.geometry.push(ne($t[Dt],$t[Dt+1],Ge,Rt,Bt,Ft));else for(Dt=0;Dt<$t.length;Dt++){var tr=[];for(Lt=0;Lt<$t[Dt].length;Lt+=2)tr.push(ne($t[Dt][Lt],$t[Dt][Lt+1],Ge,Rt,Bt,Ft));Ot.geometry.push(tr)}}return Se.transformed=!0,Se}function ne(Se,Ge,mt,Dt,Lt,Rt){return[Math.round(mt*(Se*Dt-Lt)),Math.round(mt*(Ge*Dt-Rt))]}function se(Se,Ge,mt,Dt,Lt){for(var Rt=Ge===Lt.maxZoom?0:Lt.tolerance/((1<<Ge)*Lt.extent),Bt={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:mt,y:Dt,z:Ge,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},Ft=0;Ft<Se.length;Ft++){Bt.numFeatures++,ae(Bt,Se[Ft],Rt,Lt);var Ot=Se[Ft].minX,$t=Se[Ft].minY,Ni=Se[Ft].maxX,tr=Se[Ft].maxY;Ot<Bt.minX&&(Bt.minX=Ot),$t<Bt.minY&&(Bt.minY=$t),Ni>Bt.maxX&&(Bt.maxX=Ni),tr>Bt.maxY&&(Bt.maxY=tr)}return Bt}function ae(Se,Ge,mt,Dt){var Lt=Ge.geometry,Rt=Ge.type,Bt=[];if(\"Point\"===Rt||\"MultiPoint\"===Rt)for(var Ft=0;Ft<Lt.length;Ft+=3)Bt.push(Lt[Ft]),Bt.push(Lt[Ft+1]),Se.numPoints++,Se.numSimplified++;else if(\"LineString\"===Rt)le(Bt,Lt,Se,mt,!1,!1);else if(\"MultiLineString\"===Rt||\"Polygon\"===Rt)for(Ft=0;Ft<Lt.length;Ft++)le(Bt,Lt[Ft],Se,mt,\"Polygon\"===Rt,0===Ft);else if(\"MultiPolygon\"===Rt)for(var Ot=0;Ot<Lt.length;Ot++){var $t=Lt[Ot];for(Ft=0;Ft<$t.length;Ft++)le(Bt,$t[Ft],Se,mt,!0,0===Ft)}if(Bt.length){var Ni=Ge.tags||null;if(\"LineString\"===Rt&&Dt.lineMetrics){for(var tr in Ni={},Ge.tags)Ni[tr]=Ge.tags[tr];Ni.mapbox_clip_start=Lt.start/Lt.size,Ni.mapbox_clip_end=Lt.end/Lt.size}var Lr={geometry:Bt,type:\"Polygon\"===Rt||\"MultiPolygon\"===Rt?3:\"LineString\"===Rt||\"MultiLineString\"===Rt?2:1,tags:Ni};null!==Ge.id&&(Lr.id=Ge.id),Se.features.push(Lr)}}function le(Se,Ge,mt,Dt,Lt,Rt){var Bt=Dt*Dt;if(Dt>0&&Ge.size<(Lt?Bt:Dt))mt.numPoints+=Ge.length/3;else{for(var Ft=[],Ot=0;Ot<Ge.length;Ot+=3)(0===Dt||Ge[Ot+2]>Bt)&&(mt.numSimplified++,Ft.push(Ge[Ot]),Ft.push(Ge[Ot+1])),mt.numPoints++;Lt&&function(Se,Ge){for(var mt=0,Dt=0,Lt=Se.length,Rt=Lt-2;Dt<Lt;Rt=Dt,Dt+=2)mt+=(Se[Dt]-Se[Rt])*(Se[Dt+1]+Se[Rt+1]);if(mt>0===Ge)for(Dt=0,Lt=Se.length;Dt<Lt/2;Dt+=2){var Bt=Se[Dt],Ft=Se[Dt+1];Se[Dt]=Se[Lt-2-Dt],Se[Dt+1]=Se[Lt-1-Dt],Se[Lt-2-Dt]=Bt,Se[Lt-1-Dt]=Ft}}(Ft,Rt),Se.push(Ft)}}function ue(Se,mt){var Dt=(mt=(this||Ge).options=function(Se,Ge){for(var mt in Ge)Se[mt]=Ge[mt];return Se}(Object.create((this||Ge).options),mt)).debug;if(Dt&&console.time(\"preprocess data\"),mt.maxZoom<0||mt.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(mt.promoteId&&mt.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Lt=function(Se,Ge){var mt=[];if(\"FeatureCollection\"===Se.type)for(var Dt=0;Dt<Se.features.length;Dt++)X(mt,Se.features[Dt],Ge,Dt);else X(mt,\"Feature\"===Se.type?Se:{geometry:Se},Ge);return mt}(Se,mt);(this||Ge).tiles={},(this||Ge).tileCoords=[],Dt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",mt.indexMaxZoom,mt.indexMaxPoints),console.time(\"generate tiles\"),(this||Ge).stats={},(this||Ge).total=0),Lt=function(Se,Ge){var mt=Ge.buffer/Ge.extent,Dt=Se,Lt=R(Se,1,-1-mt,mt,0,-1,2,Ge),Rt=R(Se,1,1-mt,2+mt,0,-1,2,Ge);return(Lt||Rt)&&(Dt=R(Se,1,-mt,1+mt,0,-1,2,Ge)||[],Lt&&(Dt=re(Lt,1).concat(Dt)),Rt&&(Dt=Dt.concat(re(Rt,-1)))),Dt}(Lt,mt),Lt.length&&this.splitTile(Lt,0,0,0),Dt&&(Lt.length&&console.log(\"features: %d, points: %d\",(this||Ge).tiles[0].numFeatures,(this||Ge).tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",(this||Ge).total,JSON.stringify((this||Ge).stats)))}function he(Se,Ge,mt){return 32*((1<<Se)*mt+Ge)+Se}function ce(mt,Lt){const Rt=mt.tileID.canonical;if(!(this||Ge)._geoJSONIndex)return Lt(null,null);const Bt=(this||Ge)._geoJSONIndex.getTile(Rt.z,Rt.x,Rt.y);if(!Bt)return Lt(null,null);const Ft=new class{constructor(Ge){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=Se.EXTENT,this.length=Ge.length,this._features=Ge}feature(Ge){return new class{constructor(Ge){this._feature=Ge,this.extent=Se.EXTENT,this.type=Ge.type,this.properties=Ge.tags,\"id\"in Ge&&!isNaN(Ge.id)&&(this.id=parseInt(Ge.id,10))}loadGeometry(){if(1===this._feature.type){const Ge=[];for(const mt of this._feature.geometry)Ge.push([new Se.Point(mt[0],mt[1])]);return Ge}{const Ge=[];for(const mt of this._feature.geometry){const Dt=[];for(const Ge of mt)Dt.push(new Se.Point(Ge[0],Ge[1]));Ge.push(Dt)}return Ge}}toGeoJSON(Se,Ge,mt){return Dt.call(this,Se,Ge,mt)}}(this._features[Ge])}}(Bt.features);let Ot=Ni(Ft);0===Ot.byteOffset&&Ot.byteLength===Ot.buffer.byteLength||(Ot=new Uint8Array(Ot)),Lt(null,{vectorTile:Ft,rawData:Ot.buffer})}ue.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},ue.prototype.splitTile=function(Se,mt,Dt,Lt,Rt,Bt,Ft){for(var Ot=[Se,mt,Dt,Lt],$t=(this||Ge).options,Ni=$t.debug;Ot.length;){Lt=Ot.pop(),Dt=Ot.pop(),mt=Ot.pop(),Se=Ot.pop();var tr=1<<mt,Lr=he(mt,Dt,Lt),Rr=(this||Ge).tiles[Lr];if(!Rr&&(Ni>1&&console.time(\"creation\"),Rr=(this||Ge).tiles[Lr]=se(Se,mt,Dt,Lt,$t),(this||Ge).tileCoords.push({z:mt,x:Dt,y:Lt}),Ni)){Ni>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",mt,Dt,Lt,Rr.numFeatures,Rr.numPoints,Rr.numSimplified),console.timeEnd(\"creation\"));var Qr=\"z\"+mt;(this||Ge).stats[Qr]=((this||Ge).stats[Qr]||0)+1,(this||Ge).total++}if(Rr.source=Se,Rt){if(mt===$t.maxZoom||mt===Rt)continue;var an=1<<Rt-mt;if(Dt!==Math.floor(Bt/an)||Lt!==Math.floor(Ft/an))continue}else if(mt===$t.indexMaxZoom||Rr.numPoints<=$t.indexMaxPoints)continue;if(Rr.source=null,0!==Se.length){Ni>1&&console.time(\"clipping\");var ln,pn,fn,mn,_n,bn,wn=.5*$t.buffer/$t.extent,Tn=.5-wn,Sn=.5+wn,An=1+wn;ln=pn=fn=mn=null,_n=R(Se,tr,Dt-wn,Dt+Sn,0,Rr.minX,Rr.maxX,$t),bn=R(Se,tr,Dt+Tn,Dt+An,0,Rr.minX,Rr.maxX,$t),Se=null,_n&&(ln=R(_n,tr,Lt-wn,Lt+Sn,1,Rr.minY,Rr.maxY,$t),pn=R(_n,tr,Lt+Tn,Lt+An,1,Rr.minY,Rr.maxY,$t),_n=null),bn&&(fn=R(bn,tr,Lt-wn,Lt+Sn,1,Rr.minY,Rr.maxY,$t),mn=R(bn,tr,Lt+Tn,Lt+An,1,Rr.minY,Rr.maxY,$t),bn=null),Ni>1&&console.timeEnd(\"clipping\"),Ot.push(ln||[],mt+1,2*Dt,2*Lt),Ot.push(pn||[],mt+1,2*Dt,2*Lt+1),Ot.push(fn||[],mt+1,2*Dt+1,2*Lt),Ot.push(mn||[],mt+1,2*Dt+1,2*Lt+1)}}},ue.prototype.getTile=function(Se,mt,Dt){var Lt=(this||Ge).options,Rt=Lt.extent,Bt=Lt.debug;if(Se<0||Se>24)return null;var Ft=1<<Se,Ot=he(Se,mt=(mt%Ft+Ft)%Ft,Dt);if((this||Ge).tiles[Ot])return ie((this||Ge).tiles[Ot],Rt);Bt>1&&console.log(\"drilling down to z%d-%d-%d\",Se,mt,Dt);for(var $t,Ni=Se,tr=mt,Lr=Dt;!$t&&Ni>0;)Ni--,tr=Math.floor(tr/2),Lr=Math.floor(Lr/2),$t=(this||Ge).tiles[he(Ni,tr,Lr)];return $t&&$t.source?(Bt>1&&console.log(\"found parent tile z%d-%d-%d\",Ni,tr,Lr),Bt>1&&console.time(\"drilling down\"),this.splitTile($t.source,Ni,tr,Lr,Se,mt,Dt),Bt>1&&console.timeEnd(\"drilling down\"),(this||Ge).tiles[Ot]?ie((this||Ge).tiles[Ot],Rt):null):null};class fe extends Se.VectorTileWorkerSource{constructor(Se,Ge,mt,Dt,Lt){super(Se,Ge,mt,Dt,ce),Lt&&(this.loadGeoJSON=Lt)}loadData(Ge,Dt){const Lt=Ge&&Ge.request,Rt=Lt&&Lt.collectResourceTiming;this.loadGeoJSON(Ge,((Bt,Ft)=>{if(Bt||!Ft)return Dt(Bt);if(\"object\"!=typeof Ft)return Dt(new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`));{mt(Ft,!0);try{if(Ge.filter){const mt=Se.createExpression(Ge.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===mt.result)throw new Error(mt.value.map((Se=>`${Se.key}: ${Se.message}`)).join(\", \"));const Dt=Ft.features.filter((Se=>mt.value.evaluate({zoom:0},Se)));Ft={type:\"FeatureCollection\",features:Dt}}this._geoJSONIndex=Ge.cluster?new E(function({superclusterOptions:Ge,clusterProperties:mt}){if(!mt||!Ge)return Ge;const Dt={},Lt={},Rt={accumulated:null,zoom:0},Bt={properties:null},Ft=Object.keys(mt);for(const Ge of Ft){const[Rt,Bt]=mt[Ge],Ft=Se.createExpression(Bt),Ot=Se.createExpression(\"string\"==typeof Rt?[Rt,[\"accumulated\"],[\"get\",Ge]]:Rt);Dt[Ge]=Ft.value,Lt[Ge]=Ot.value}return Ge.map=Se=>{Bt.properties=Se;const Ge={};for(const Se of Ft)Ge[Se]=Dt[Se].evaluate(Rt,Bt);return Ge},Ge.reduce=(Se,Ge)=>{Bt.properties=Ge;for(const Ge of Ft)Rt.accumulated=Se[Ge],Se[Ge]=Lt[Ge].evaluate(Rt,Bt)},Ge}(Ge)).load(Ft.features):function(Se,Ge){return new ue(Se,Ge)}(Ft,Ge.geojsonVtOptions)}catch(Bt){return Dt(Bt)}this.loaded={};const Ot={};if(Rt){const mt=Se.getPerformanceMeasurement(Lt);mt&&(Ot.resourceTiming={},Ot.resourceTiming[Ge.source]=JSON.parse(JSON.stringify(mt)))}Dt(null,Ot)}}))}reloadTile(Se,Ge){const mt=this.loaded;return mt&&mt[Se.uid]?super.reloadTile(Se,Ge):this.loadTile(Se,Ge)}loadGeoJSON(Ge,mt){if(Ge.request)Se.getJSON(Ge.request,mt);else{if(\"string\"!=typeof Ge.data)return mt(new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`));try{return mt(null,JSON.parse(Ge.data))}catch(Se){return mt(new Error(`Input data given to '${Ge.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(Se,Ge){try{Ge(null,this._geoJSONIndex.getClusterExpansionZoom(Se.clusterId))}catch(Se){Ge(Se)}}getClusterChildren(Se,Ge){try{Ge(null,this._geoJSONIndex.getChildren(Se.clusterId))}catch(Se){Ge(Se)}}getClusterLeaves(Se,Ge){try{Ge(null,this._geoJSONIndex.getLeaves(Se.clusterId,Se.limit,Se.offset))}catch(Se){Ge(Se)}}}class pe{constructor(Ge){this.self=Ge,this.actor=new Se.Actor(Ge,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=Se.getProjection({name:\"mercator\"}),this.workerSourceTypes={vector:Se.VectorTileWorkerSource,geojson:fe},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(Se,Ge)=>{if(this.workerSourceTypes[Se])throw new Error(`Worker source with name \"${Se}\" already registered.`);this.workerSourceTypes[Se]=Ge},this.self.registerRTLTextPlugin=Ge=>{if(Se.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");Se.plugin.applyArabicShaping=Ge.applyArabicShaping,Se.plugin.processBidirectionalText=Ge.processBidirectionalText,Se.plugin.processStyledBidirectionalText=Ge.processStyledBidirectionalText}}clearCaches(Se,Ge,mt){delete this.layerIndexes[Se],delete this.availableImages[Se],delete this.workerSources[Se],delete this.demWorkerSources[Se],mt()}checkIfReady(Se,Ge,mt){mt()}setReferrer(Se,Ge){this.referrer=Ge}spriteLoaded(Ge,mt){this.isSpriteLoaded[Ge]=mt;for(const Dt in this.workerSources[Ge]){const Lt=this.workerSources[Ge][Dt];for(const Ge in Lt)Lt[Ge]instanceof Se.VectorTileWorkerSource&&(Lt[Ge].isSpriteLoaded=mt,Lt[Ge].fire(new Se.Event(\"isSpriteLoaded\")))}}setImages(Se,Ge,mt){this.availableImages[Se]=Ge;for(const mt in this.workerSources[Se]){const Dt=this.workerSources[Se][mt];for(const Se in Dt)Dt[Se].availableImages=Ge}mt()}enableTerrain(Se,Ge,mt){this.terrain=Ge,mt()}setProjection(Ge,mt){this.projections[Ge]=Se.getProjection(mt)}setLayers(Se,Ge,mt){this.getLayerIndex(Se).replace(Ge),mt()}updateLayers(Se,Ge,mt){this.getLayerIndex(Se).update(Ge.layers,Ge.removedIds),mt()}loadTile(Ge,mt,Dt){const Lt=this.enableTerrain?Se.extend({enableTerrain:this.terrain},mt):mt;Lt.projection=this.projections[Ge]||this.defaultProjection,this.getWorkerSource(Ge,mt.type,mt.source).loadTile(Lt,Dt)}loadDEMTile(Ge,mt,Dt){const Lt=this.enableTerrain?Se.extend({buildQuadTree:this.terrain},mt):mt;this.getDEMWorkerSource(Ge,mt.source).loadTile(Lt,Dt)}reloadTile(Ge,mt,Dt){const Lt=this.enableTerrain?Se.extend({enableTerrain:this.terrain},mt):mt;Lt.projection=this.projections[Ge]||this.defaultProjection,this.getWorkerSource(Ge,mt.type,mt.source).reloadTile(Lt,Dt)}abortTile(Se,Ge,mt){this.getWorkerSource(Se,Ge.type,Ge.source).abortTile(Ge,mt)}removeTile(Se,Ge,mt){this.getWorkerSource(Se,Ge.type,Ge.source).removeTile(Ge,mt)}removeSource(Se,Ge,mt){if(!this.workerSources[Se]||!this.workerSources[Se][Ge.type]||!this.workerSources[Se][Ge.type][Ge.source])return;const Dt=this.workerSources[Se][Ge.type][Ge.source];delete this.workerSources[Se][Ge.type][Ge.source],void 0!==Dt.removeSource?Dt.removeSource(Ge,mt):mt()}loadWorkerSource(Se,Ge,mt){try{this.self.importScripts(Ge.url),mt()}catch(Se){mt(Se.toString())}}syncRTLPluginState(Ge,mt,Dt){try{Se.plugin.setState(mt);const Ge=Se.plugin.getPluginURL();if(Se.plugin.isLoaded()&&!Se.plugin.isParsed()&&null!=Ge){this.self.importScripts(Ge);const mt=Se.plugin.isParsed();Dt(mt?void 0:new Error(`RTL Text Plugin failed to import scripts from ${Ge}`),mt)}}catch(Se){Dt(Se.toString())}}getAvailableImages(Se){let Ge=this.availableImages[Se];return Ge||(Ge=[]),Ge}getLayerIndex(Se){let Ge=this.layerIndexes[Se];return Ge||(Ge=this.layerIndexes[Se]=new o),Ge}getWorkerSource(Se,Ge,mt){if(this.workerSources[Se]||(this.workerSources[Se]={}),this.workerSources[Se][Ge]||(this.workerSources[Se][Ge]={}),!this.workerSources[Se][Ge][mt]){const Dt={send:(Ge,mt,Dt,Lt,Rt,Bt)=>{this.actor.send(Ge,mt,Dt,Se,Rt,Bt)},scheduler:this.actor.scheduler};this.workerSources[Se][Ge][mt]=new this.workerSourceTypes[Ge](Dt,this.getLayerIndex(Se),this.getAvailableImages(Se),this.isSpriteLoaded[Se])}return this.workerSources[Se][Ge][mt]}getDEMWorkerSource(Se,Ge){return this.demWorkerSources[Se]||(this.demWorkerSources[Se]={}),this.demWorkerSources[Se][Ge]||(this.demWorkerSources[Se][Ge]=new i),this.demWorkerSources[Se][Ge]}enforceCacheSizeLimit(Ge,mt){Se.enforceCacheSizeLimit(mt)}getWorkerPerformanceMetrics(Se,Ge,mt){mt(void 0,void 0)}}return\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new pe(self)),pe}));define([\"./shared\"],(function(Se){function t(Se,Ge){if(Array.isArray(Se)){if(!Array.isArray(Ge)||Se.length!==Ge.length)return!1;for(let mt=0;mt<Se.length;mt++)if(!t(Se[mt],Ge[mt]))return!1;return!0}if(\"object\"==typeof Se&&null!==Se&&null!==Ge){if(\"object\"!=typeof Ge)return!1;if(Object.keys(Se).length!==Object.keys(Ge).length)return!1;for(const mt in Se)if(!t(Se[mt],Ge[mt]))return!1;return!0}return Se===Ge}var Ge=o;function o(Se){return!function(Se){return\"undefined\"==typeof window||\"undefined\"==typeof document?\"not a browser\":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON?function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var Se,Ge,mt=new Blob([\"\"],{type:\"text/javascript\"}),Dt=URL.createObjectURL(mt);try{Ge=new Worker(Dt),Se=!0}catch(Ge){Se=!1}return Ge&&Ge.terminate(),URL.revokeObjectURL(Dt),Se}()?\"Uint8ClampedArray\"in window?ArrayBuffer.isView?function(){var Se=document.createElement(\"canvas\");Se.width=Se.height=1;var Ge=Se.getContext(\"2d\");if(!Ge)return!1;var mt=Ge.getImageData(0,0,1,1);return mt&&mt.width===Se.width}()?(void 0===mt[Ge=Se&&Se.failIfMajorPerformanceCaveat]&&(mt[Ge]=function(Se){var Ge,mt=function(Se){var Ge=document.createElement(\"canvas\"),mt=Object.create(o.webGLContextAttributes);return mt.failIfMajorPerformanceCaveat=Se,Ge.getContext(\"webgl\",mt)||Ge.getContext(\"experimental-webgl\",mt)}(Se);if(!mt)return!1;try{Ge=mt.createShader(mt.VERTEX_SHADER)}catch(Se){return!1}return!(!Ge||mt.isContextLost())&&(mt.shaderSource(Ge,\"void main() {}\"),mt.compileShader(Ge),!0===mt.getShaderParameter(Ge,mt.COMPILE_STATUS))}(Ge)),mt[Ge]?document.documentMode?\"insufficient ECMAScript 6 support\":void 0:\"insufficient WebGL support\"):\"insufficient Canvas/getImageData support\":\"insufficient ArrayBuffer support\":\"insufficient Uint8ClampedArray support\":\"insufficient worker support\":\"insufficient JSON support\":\"insufficient Object support\":\"insufficient Function support\":\"insufficent Array support\";var Ge}(Se)}var mt={};function n(Ge,mt,Dt){const Lt=Se.window.document.createElement(Ge);return void 0!==mt&&(Lt.className=mt),Dt&&Dt.appendChild(Lt),Lt}function s(Ge,mt,Dt){const Lt=Se.window.document.createElementNS(\"http://www.w3.org/2000/svg\",Ge);for(const Se of Object.keys(mt))Lt.setAttributeNS(null,Se,mt[Se]);return Dt&&Dt.appendChild(Lt),Lt}o.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};const Dt=Se.window.document&&Se.window.document.documentElement.style,Lt=Dt&&void 0!==Dt.userSelect?\"userSelect\":\"WebkitUserSelect\";let Rt;function h(){Dt&&Lt&&(Rt=Dt[Lt],Dt[Lt]=\"none\")}function u(){Dt&&Lt&&(Dt[Lt]=Rt)}function _(Ge){Ge.preventDefault(),Ge.stopPropagation(),Se.window.removeEventListener(\"click\",_,!0)}function d(){Se.window.addEventListener(\"click\",_,!0),Se.window.setTimeout((()=>{Se.window.removeEventListener(\"click\",_,!0)}),0)}function p(Se,Ge){const mt=Se.getBoundingClientRect();return g(Se,mt,Ge)}function m(Se,Ge){const mt=Se.getBoundingClientRect(),Dt=[];for(let Lt=0;Lt<Ge.length;Lt++)Dt.push(g(Se,mt,Ge[Lt]));return Dt}function f(Ge){return void 0!==Se.window.InstallTrigger&&2===Ge.button&&Ge.ctrlKey&&Se.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:Ge.button}function g(Ge,mt,Dt){const Lt=Ge.offsetWidth===mt.width?1:Ge.offsetWidth/mt.width;return new Se.Point((Dt.clientX-mt.left)*Lt,(Dt.clientY-mt.top)*Lt)}function v(Se,Ge){var mt=Ge[0],Dt=Ge[1],Lt=Ge[2],Rt=Ge[3],Bt=mt*Rt-Lt*Dt;return Bt?(Se[0]=Rt*(Bt=1/Bt),Se[1]=-Dt*Bt,Se[2]=-Lt*Bt,Se[3]=mt*Bt,Se):null}function x(Se){const{userImage:Ge}=Se;return!!(Ge&&Ge.render&&Ge.render())&&(Se.data.replace(new Uint8Array(Ge.data.buffer)),!0)}class y extends Se.Evented{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new Se.RGBAImage({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(Se){if(this.loaded!==Se&&(this.loaded=Se,Se)){for(const{ids:Se,callback:Ge}of this.requestors)this._notify(Se,Ge);this.requestors=[]}}hasImage(Se){return!!this.getImage(Se)}getImage(Se){return this.images[Se]}addImage(Se,Ge){this._validate(Se,Ge)&&(this.images[Se]=Ge)}_validate(Ge,mt){let Dt=!0;return this._validateStretch(mt.stretchX,mt.data&&mt.data.width)||(this.fire(new Se.ErrorEvent(new Error(`Image \"${Ge}\" has invalid \"stretchX\" value`))),Dt=!1),this._validateStretch(mt.stretchY,mt.data&&mt.data.height)||(this.fire(new Se.ErrorEvent(new Error(`Image \"${Ge}\" has invalid \"stretchY\" value`))),Dt=!1),this._validateContent(mt.content,mt)||(this.fire(new Se.ErrorEvent(new Error(`Image \"${Ge}\" has invalid \"content\" value`))),Dt=!1),Dt}_validateStretch(Se,Ge){if(!Se)return!0;let mt=0;for(const Dt of Se){if(Dt[0]<mt||Dt[1]<Dt[0]||Ge<Dt[1])return!1;mt=Dt[1]}return!0}_validateContent(Se,Ge){return!(Se&&(4!==Se.length||Se[0]<0||Ge.data.width<Se[0]||Se[1]<0||Ge.data.height<Se[1]||Se[2]<0||Ge.data.width<Se[2]||Se[3]<0||Ge.data.height<Se[3]||Se[2]<Se[0]||Se[3]<Se[1]))}updateImage(Se,Ge){Ge.version=this.images[Se].version+1,this.images[Se]=Ge,this.updatedImages[Se]=!0}removeImage(Se){const Ge=this.images[Se];delete this.images[Se],delete this.patterns[Se],Ge.userImage&&Ge.userImage.onRemove&&Ge.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(Se,Ge){let mt=!0;if(!this.isLoaded())for(const Ge of Se)this.images[Ge]||(mt=!1);this.isLoaded()||mt?this._notify(Se,Ge):this.requestors.push({ids:Se,callback:Ge})}_notify(Ge,mt){const Dt={};for(const mt of Ge){this.images[mt]||this.fire(new Se.Event(\"styleimagemissing\",{id:mt}));const Ge=this.images[mt];Ge?Dt[mt]={data:Ge.data.clone(),pixelRatio:Ge.pixelRatio,sdf:Ge.sdf,version:Ge.version,stretchX:Ge.stretchX,stretchY:Ge.stretchY,content:Ge.content,hasRenderCallback:Boolean(Ge.userImage&&Ge.userImage.render)}:Se.warnOnce(`Image \"${mt}\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.`)}mt(null,Dt)}getPixelSize(){const{width:Se,height:Ge}=this.atlasImage;return{width:Se,height:Ge}}getPattern(Ge){const mt=this.patterns[Ge],Dt=this.getImage(Ge);if(!Dt)return null;if(mt&&mt.position.version===Dt.version)return mt.position;if(mt)mt.position.version=Dt.version;else{const mt={w:Dt.data.width+2,h:Dt.data.height+2,x:0,y:0},Lt=new Se.ImagePosition(mt,Dt);this.patterns[Ge]={bin:mt,position:Lt}}return this._updatePatternAtlas(),this.patterns[Ge].position}bind(Ge){const mt=Ge.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new Se.Texture(Ge,this.atlasImage,mt.RGBA),this.atlasTexture&&this.atlasTexture.bind(mt.LINEAR,mt.CLAMP_TO_EDGE)}_updatePatternAtlas(){const Ge=[];for(const Se in this.patterns)Ge.push(this.patterns[Se].bin);const{w:mt,h:Dt}=Se.potpack(Ge),Lt=this.atlasImage;Lt.resize({width:mt||1,height:Dt||1});for(const Ge in this.patterns){const{bin:mt}=this.patterns[Ge],Dt=mt.x+1,Rt=mt.y+1,Bt=this.images[Ge].data,Ft=Bt.width,Ot=Bt.height;Se.RGBAImage.copy(Bt,Lt,{x:0,y:0},{x:Dt,y:Rt},{width:Ft,height:Ot}),Se.RGBAImage.copy(Bt,Lt,{x:0,y:Ot-1},{x:Dt,y:Rt-1},{width:Ft,height:1}),Se.RGBAImage.copy(Bt,Lt,{x:0,y:0},{x:Dt,y:Rt+Ot},{width:Ft,height:1}),Se.RGBAImage.copy(Bt,Lt,{x:Ft-1,y:0},{x:Dt-1,y:Rt},{width:1,height:Ot}),Se.RGBAImage.copy(Bt,Lt,{x:0,y:0},{x:Dt+Ft,y:Rt},{width:1,height:Ot})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(Se){for(const Ge of Se){if(this.callbackDispatchedThisFrame[Ge])continue;this.callbackDispatchedThisFrame[Ge]=!0;const Se=this.images[Ge];x(Se)&&this.updateImage(Ge,Se)}}}const Bt=new Se.Properties({anchor:new Se.DataConstantProperty(Se.spec.light.anchor),position:new class{constructor(){this.specification=Se.spec.light.position}possiblyEvaluate(Ge,mt){return function([Ge,mt,Dt]){const Lt=Se.degToRad(mt+90),Rt=Se.degToRad(Dt);return{x:Ge*Math.cos(Lt)*Math.sin(Rt),y:Ge*Math.sin(Lt)*Math.sin(Rt),z:Ge*Math.cos(Rt),azimuthal:mt,polar:Dt}}(Ge.expression.evaluate(mt))}interpolate(Ge,mt,Dt){return{x:Se.number(Ge.x,mt.x,Dt),y:Se.number(Ge.y,mt.y,Dt),z:Se.number(Ge.z,mt.z,Dt),azimuthal:Se.number(Ge.azimuthal,mt.azimuthal,Dt),polar:Se.number(Ge.polar,mt.polar,Dt)}}},color:new Se.DataConstantProperty(Se.spec.light.color),intensity:new Se.DataConstantProperty(Se.spec.light.intensity)});class w extends Se.Evented{constructor(Ge){super(),this._transitionable=new Se.Transitionable(Bt),this.setLight(Ge),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(Ge,mt={}){if(!this._validate(Se.validateLight,Ge,mt))for(const mt in Ge){const Dt=Ge[mt];Se.endsWith(mt,\"-transition\")?this._transitionable.setTransition(mt.slice(0,-11),Dt):this._transitionable.setValue(mt,Dt)}}updateTransitions(Se){this._transitioning=this._transitionable.transitioned(Se,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(Se){this.properties=this._transitioning.possiblyEvaluate(Se)}_validate(Ge,mt,Dt){return(!Dt||!1!==Dt.validate)&&Se.emitValidationErrors(this,Ge.call(Se.validateStyle,Se.extend({value:mt,style:{glyphs:!0,sprite:!0},styleSpec:Se.spec})))}}const Ft=new Se.Properties({source:new Se.DataConstantProperty(Se.spec.terrain.source),exaggeration:new Se.DataConstantProperty(Se.spec.terrain.exaggeration)});let Ot=class extends Se.Evented{constructor(Ge,mt){super(),this._transitionable=new Se.Transitionable(Ft),this.set(Ge),this._transitioning=this._transitionable.untransitioned(),this.drapeRenderMode=mt}get(){return this._transitionable.serialize()}set(Ge){for(const mt in Ge){const Dt=Ge[mt];Se.endsWith(mt,\"-transition\")?this._transitionable.setTransition(mt.slice(0,-11),Dt):this._transitionable.setValue(mt,Dt)}}updateTransitions(Se){this._transitioning=this._transitionable.transitioned(Se,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(Se){this.properties=this._transitioning.possiblyEvaluate(Se)}};function C(Ge,mt,Dt,Lt){const Rt=Se.smoothstep(45,65,Dt),[Bt,Ft]=M(Ge,Lt),Ot=Se.length(mt);let $t=1-Math.min(1,Math.exp((Ot-Bt)/(Ft-Bt)*-6));return $t*=$t*$t,$t=Math.min(1,1.00747*$t),$t*Rt*Ge.alpha}function M(Se,Ge){const mt=.5/Math.tan(.5*Ge);return[Se.range[0]+mt,Se.range[1]+mt]}const $t=new Se.Properties({range:new Se.DataConstantProperty(Se.spec.fog.range),color:new Se.DataConstantProperty(Se.spec.fog.color),\"high-color\":new Se.DataConstantProperty(Se.spec.fog[\"high-color\"]),\"space-color\":new Se.DataConstantProperty(Se.spec.fog[\"space-color\"]),\"horizon-blend\":new Se.DataConstantProperty(Se.spec.fog[\"horizon-blend\"]),\"star-intensity\":new Se.DataConstantProperty(Se.spec.fog[\"star-intensity\"])});class P extends Se.Evented{constructor(Ge,mt){super(),this._transitionable=new Se.Transitionable($t),this.set(Ge),this._transitioning=this._transitionable.untransitioned(),this._transform=mt}get state(){const Ge=this._transform,mt=\"globe\"===Ge.projection.name,Dt=Se.globeToMercatorTransition(Ge.zoom),Lt=this.properties.get(\"range\"),Rt=[.5,3];return{range:mt?[Se.number(Rt[0],Lt[0],Dt),Se.number(Rt[1],Lt[1],Dt)]:Lt,horizonBlend:this.properties.get(\"horizon-blend\"),alpha:this.properties.get(\"color\").a}}get(){return this._transitionable.serialize()}set(Ge,mt={}){if(!this._validate(Se.validateFog,Ge,mt)){for(const mt of Object.keys(Se.spec.fog))Ge&&void 0===Ge[mt]&&(Ge[mt]=Se.spec.fog[mt].default);for(const mt in Ge){const Dt=Ge[mt];Se.endsWith(mt,\"-transition\")?this._transitionable.setTransition(mt.slice(0,-11),Dt):this._transitionable.setValue(mt,Dt)}}}getOpacity(Ge){if(!this._transform.projection.supportsFog)return 0;const mt=this.properties&&this.properties.get(\"color\")||1;return(\"globe\"===this._transform.projection.name?1:Se.smoothstep(45,65,Ge))*mt.a}getOpacityAtLatLng(Ge,mt){return this._transform.projection.supportsFog?function(Ge,mt,Dt){const Lt=Se.MercatorCoordinate.fromLngLat(mt),Rt=Dt.elevation?Dt.elevation.getAtPointOrZero(Lt):0,Bt=[Lt.x,Lt.y,Rt];return Se.transformMat4(Bt,Bt,Dt.mercatorFogMatrix),C(Ge,Bt,Dt.pitch,Dt._fov)}(this.state,Ge,mt):0}getFovAdjustedRange(Se){return this._transform.projection.supportsFog?M(this.state,Se):[0,1]}updateTransitions(Se){this._transitioning=this._transitionable.transitioned(Se,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(Se){this.properties=this._transitioning.possiblyEvaluate(Se)}_validate(Ge,mt,Dt){return(!Dt||!1!==Dt.validate)&&Se.emitValidationErrors(this,Ge.call(Se.validateStyle,Se.extend({value:mt,style:{glyphs:!0,sprite:!0},styleSpec:Se.spec})))}}class S{constructor(Ge,mt){this.workerPool=Ge,this.actors=[],this.currentActor=0,this.id=Se.uniqueId();const Dt=this.workerPool.acquire(this.id);for(let Se=0;Se<Dt.length;Se++){const Ge=new S.Actor(Dt[Se],mt,this.id);Ge.name=`Worker ${Se}`,this.actors.push(Ge)}this.ready=!1,this.broadcast(\"checkIfReady\",null,(()=>{this.ready=!0}))}broadcast(Ge,mt,Dt){Se.asyncAll(this.actors,((Se,Dt)=>{Se.send(Ge,mt,Dt)}),Dt=Dt||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((Se=>{Se.remove()})),this.actors=[],this.workerPool.release(this.id)}}function D(Ge,mt,Dt){return mt*(Se.EXTENT/(Ge.tileSize*Math.pow(2,Dt-Ge.tileID.overscaledZ)))}S.Actor=Se.Actor;class L{constructor(Se,Ge,mt,Dt){this.screenBounds=Se,this.cameraPoint=Ge,this._screenRaycastCache={},this._cameraRaycastCache={},this.isAboveHorizon=mt,this.screenGeometry=this.bufferedScreenGeometry(0),this.screenGeometryMercator=this._bufferedScreenMercator(0,Dt)}static createFromScreenPoints(Ge,mt){let Dt,Lt;if(Ge instanceof Se.Point||\"number\"==typeof Ge[0]){const Rt=Se.Point.convert(Ge);Dt=[Rt],Lt=mt.isPointAboveHorizon(Rt)}else{const Rt=Se.Point.convert(Ge[0]),Bt=Se.Point.convert(Ge[1]);Dt=[Rt,Bt],Lt=Se.polygonizeBounds(Rt,Bt).every((Se=>mt.isPointAboveHorizon(Se)))}return new L(Dt,mt.getCameraPoint(),Lt,mt)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(Ge){return Se.polygonizeBounds(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],Ge)}bufferedCameraGeometry(Ge){const mt=this.screenBounds[0],Dt=1===this.screenBounds.length?this.screenBounds[0].add(new Se.Point(1,1)):this.screenBounds[1],Lt=Se.polygonizeBounds(mt,Dt,0,!1);return this.cameraPoint.y>Dt.y&&(this.cameraPoint.x>mt.x&&this.cameraPoint.x<Dt.x?Lt.splice(3,0,this.cameraPoint):this.cameraPoint.x>=Dt.x?Lt[2]=this.cameraPoint:this.cameraPoint.x<=mt.x&&(Lt[3]=this.cameraPoint)),Se.bufferConvexPolygon(Lt,Ge)}bufferedCameraGeometryGlobe(Ge){const mt=this.screenBounds[0],Dt=1===this.screenBounds.length?this.screenBounds[0].add(new Se.Point(1,1)):this.screenBounds[1],Lt=Se.polygonizeBounds(mt,Dt,Ge),Rt=this.cameraPoint.clone();switch(3*((Rt.y>mt.y)+(Rt.y>Dt.y))+((Rt.x>mt.x)+(Rt.x>Dt.x))){case 0:Lt[0]=Rt,Lt[4]=Rt.clone();break;case 1:Lt.splice(1,0,Rt);break;case 2:Lt[1]=Rt;break;case 3:Lt.splice(4,0,Rt);break;case 5:Lt.splice(2,0,Rt);break;case 6:Lt[3]=Rt;break;case 7:Lt.splice(3,0,Rt);break;case 8:Lt[2]=Rt}return Lt}containsTile(Ge,mt,Dt,Lt=0){const Rt=Ge.queryPadding/mt._pixelsPerMercatorPixel+1,Bt=Dt?this._bufferedCameraMercator(Rt,mt):this._bufferedScreenMercator(Rt,mt);let Ft=Ge.tileID.wrap+(Bt.unwrapped?Lt:0);const Ot=Bt.polygon.map((mt=>Se.getTilePoint(Ge.tileTransform,mt,Ft)));if(!Se.polygonIntersectsBox(Ot,0,0,Se.EXTENT,Se.EXTENT))return;Ft=Ge.tileID.wrap+(this.screenGeometryMercator.unwrapped?Lt:0);const $t=this.screenGeometryMercator.polygon.map((mt=>Se.getTileVec3(Ge.tileTransform,mt,Ft))),Ni=$t.map((Ge=>new Se.Point(Ge[0],Ge[1]))),tr=mt.getFreeCameraOptions().position||new Se.MercatorCoordinate(0,0,0),Lr=Se.getTileVec3(Ge.tileTransform,tr,Ft),Rr=$t.map((Ge=>{const mt=Se.sub(Ge,Ge,Lr);return Se.normalize(mt,mt),new Se.Ray(Lr,mt)})),Qr=D(Ge,1,mt.zoom)*mt._pixelsPerMercatorPixel;return{queryGeometry:this,tilespaceGeometry:Ni,tilespaceRays:Rr,bufferedTilespaceGeometry:Ot,bufferedTilespaceBounds:(an=Se.getBounds(Ot),an.min.x=Se.clamp(an.min.x,0,Se.EXTENT),an.min.y=Se.clamp(an.min.y,0,Se.EXTENT),an.max.x=Se.clamp(an.max.x,0,Se.EXTENT),an.max.y=Se.clamp(an.max.y,0,Se.EXTENT),an),tile:Ge,tileID:Ge.tileID,pixelToTileUnitsFactor:Qr};var an}_bufferedScreenMercator(Se,Ge){const mt=R(Se);if(this._screenRaycastCache[mt])return this._screenRaycastCache[mt];{let Dt;return Dt=\"globe\"===Ge.projection.name?this._projectAndResample(this.bufferedScreenGeometry(Se),Ge):{polygon:this.bufferedScreenGeometry(Se).map((Se=>Ge.pointCoordinate3D(Se))),unwrapped:!0},this._screenRaycastCache[mt]=Dt,Dt}}_bufferedCameraMercator(Se,Ge){const mt=R(Se);if(this._cameraRaycastCache[mt])return this._cameraRaycastCache[mt];{let Dt;return Dt=\"globe\"===Ge.projection.name?this._projectAndResample(this.bufferedCameraGeometryGlobe(Se),Ge):{polygon:this.bufferedCameraGeometry(Se).map((Se=>Ge.pointCoordinate3D(Se))),unwrapped:!0},this._cameraRaycastCache[mt]=Dt,Dt}}_projectAndResample(Ge,mt){const Dt=function(Ge,mt){const Dt=Se.multiply([],mt.pixelMatrix,mt.globeMatrix),Lt=[0,-Se.GLOBE_RADIUS,0,1],Rt=[0,Se.GLOBE_RADIUS,0,1],Bt=[0,0,0,1];Se.transformMat4$1(Lt,Lt,Dt),Se.transformMat4$1(Rt,Rt,Dt),Se.transformMat4$1(Bt,Bt,Dt);const Ft=new Se.Point(Lt[0]/Lt[3],Lt[1]/Lt[3]),Ot=new Se.Point(Rt[0]/Rt[3],Rt[1]/Rt[3]),$t=Se.polygonContainsPoint(Ge,Ft)&&Lt[3]<Bt[3],Ni=Se.polygonContainsPoint(Ge,Ot)&&Rt[3]<Bt[3];if(!$t&&!Ni)return null;const tr=function(Se,Ge,mt){for(let Dt=1;Dt<Se.length;Dt++){const Lt=z(Ge.pointCoordinate3D(Se[Dt-1]).x),Rt=z(Ge.pointCoordinate3D(Se[Dt]).x);if(mt<0){if(Lt<Rt)return{idx:Dt,t:-Lt/(Rt-1-Lt)}}else if(Rt<Lt)return{idx:Dt,t:(1-Lt)/(Rt+1-Lt)}}return null}(Ge,mt,$t?-1:1);if(!tr)return null;const{idx:Lr,t:Rr}=tr;let Qr=Lr>1?A(Ge.slice(0,Lr),mt):[],an=Lr<Ge.length?A(Ge.slice(Lr),mt):[];Qr=Qr.map((Ge=>new Se.Point(z(Ge.x),Ge.y))),an=an.map((Ge=>new Se.Point(z(Ge.x),Ge.y)));const ln=[...Qr];0===ln.length&&ln.push(an[an.length-1]);const pn=Se.number(ln[ln.length-1].y,(0===an.length?Qr[0]:an[0]).y,Rr);let fn;return fn=$t?[new Se.Point(0,pn),new Se.Point(0,0),new Se.Point(1,0),new Se.Point(1,pn)]:[new Se.Point(1,pn),new Se.Point(1,1),new Se.Point(0,1),new Se.Point(0,pn)],ln.push(...fn),0===an.length?ln.push(Qr[0]):ln.push(...an),{polygon:ln.map((Ge=>new Se.MercatorCoordinate(Ge.x,Ge.y))),unwrapped:!1}}(Ge,mt);if(Dt)return Dt;const Lt=function(Ge,mt){let Dt=!1,Lt=-1/0,Rt=0;for(let Se=0;Se<Ge.length-1;Se++)Ge[Se].x>Lt&&(Lt=Ge[Se].x,Rt=Se);for(let Se=0;Se<Ge.length-1;Se++){const mt=(Rt+Se)%(Ge.length-1),Lt=Ge[mt],Bt=Ge[mt+1];Math.abs(Lt.x-Bt.x)>.5&&(Lt.x<Bt.x?(Lt.x+=1,0===mt&&(Ge[Ge.length-1].x+=1)):(Bt.x+=1,mt+1===Ge.length-1&&(Ge[0].x+=1)),Dt=!0)}const Bt=Se.mercatorXfromLng(mt.center.lng);return Dt&&Bt<Math.abs(Bt-1)&&Ge.forEach((Se=>{Se.x-=1})),{polygon:Ge,unwrapped:Dt}}(A(Ge,mt).map((Ge=>new Se.Point(z(Ge.x),Ge.y))),mt);return{polygon:Lt.polygon.map((Ge=>new Se.MercatorCoordinate(Ge.x,Ge.y))),unwrapped:Lt.unwrapped}}}function A(Ge,mt){return Se.resample(Ge,(Se=>{const Ge=mt.pointCoordinate3D(Se);Se.x=Ge.x,Se.y=Ge.y}),1/256)}function z(Se){return Se<0?1+Se%1:Se%1}function R(Se){return 100*Se|0}function O(Ge,mt,Dt,Lt,Rt){const s=function(Dt,Lt){if(Dt)return Rt(Dt);if(Lt){Ge.url&&Lt.tiles&&Ge.tiles&&delete Ge.tiles;const Dt=Se.pick(Se.extend(Lt,Ge),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);Lt.vector_layers&&(Dt.vectorLayers=Lt.vector_layers,Dt.vectorLayerIds=Dt.vectorLayers.map((Se=>Se.id))),Dt.tiles=mt.canonicalizeTileset(Dt,Ge.url),Rt(null,Dt)}};return Ge.url?Se.getJSON(mt.transformRequest(mt.normalizeSourceURL(Ge.url,null,Dt,Lt),Se.ResourceType.Source),s):Se.exported.frame((()=>s(null,Ge)))}class B{constructor(Ge,mt,Dt){this.bounds=Se.LngLatBounds.convert(this.validateBounds(Ge)),this.minzoom=mt||0,this.maxzoom=Dt||24}validateBounds(Se){return Array.isArray(Se)&&4===Se.length?[Math.max(-180,Se[0]),Math.max(-90,Se[1]),Math.min(180,Se[2]),Math.min(90,Se[3])]:[-180,-90,180,90]}contains(Ge){const mt=Math.pow(2,Ge.z),Dt=Math.floor(Se.mercatorXfromLng(this.bounds.getWest())*mt),Lt=Math.floor(Se.mercatorYfromLat(this.bounds.getNorth())*mt),Rt=Math.ceil(Se.mercatorXfromLng(this.bounds.getEast())*mt),Bt=Math.ceil(Se.mercatorYfromLat(this.bounds.getSouth())*mt);return Ge.x>=Dt&&Ge.x<Rt&&Ge.y>=Lt&&Ge.y<Bt}}class k{constructor(Se,Ge,mt){this.context=Se;const Dt=Se.gl;this.buffer=Dt.createBuffer(),this.dynamicDraw=Boolean(mt),this.context.unbindVAO(),Se.bindElementBuffer.set(this.buffer),Dt.bufferData(Dt.ELEMENT_ARRAY_BUFFER,Ge.arrayBuffer,this.dynamicDraw?Dt.DYNAMIC_DRAW:Dt.STATIC_DRAW),this.dynamicDraw||Ge.destroy()}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(Se){const Ge=this.context.gl;this.context.unbindVAO(),this.bind(),Ge.bufferSubData(Ge.ELEMENT_ARRAY_BUFFER,0,Se.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const Ni={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class U{constructor(Se,Ge,mt,Dt){this.length=Ge.length,this.attributes=mt,this.itemSize=Ge.bytesPerElement,this.dynamicDraw=Dt,this.context=Se;const Lt=Se.gl;this.buffer=Lt.createBuffer(),Se.bindVertexBuffer.set(this.buffer),Lt.bufferData(Lt.ARRAY_BUFFER,Ge.arrayBuffer,this.dynamicDraw?Lt.DYNAMIC_DRAW:Lt.STATIC_DRAW),this.dynamicDraw||Ge.destroy()}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(Se){const Ge=this.context.gl;this.bind(),Ge.bufferSubData(Ge.ARRAY_BUFFER,0,Se.arrayBuffer)}enableAttributes(Se,Ge){for(let mt=0;mt<this.attributes.length;mt++){const Dt=Ge.attributes[this.attributes[mt].name];void 0!==Dt&&Se.enableVertexAttribArray(Dt)}}setVertexAttribPointers(Se,Ge,mt){for(let Dt=0;Dt<this.attributes.length;Dt++){const Lt=this.attributes[Dt],Rt=Ge.attributes[Lt.name];void 0!==Rt&&Se.vertexAttribPointer(Rt,Lt.components,Se[Ni[Lt.type]],!1,this.itemSize,Lt.offset+this.itemSize*(mt||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class N{constructor(Se){this.gl=Se.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(Se){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class j extends N{getDefault(){return Se.Color.transparent}set(Se){const Ge=this.current;(Se.r!==Ge.r||Se.g!==Ge.g||Se.b!==Ge.b||Se.a!==Ge.a||this.dirty)&&(this.gl.clearColor(Se.r,Se.g,Se.b,Se.a),this.current=Se,this.dirty=!1)}}class G extends N{getDefault(){return 1}set(Se){(Se!==this.current||this.dirty)&&(this.gl.clearDepth(Se),this.current=Se,this.dirty=!1)}}class Z extends N{getDefault(){return 0}set(Se){(Se!==this.current||this.dirty)&&(this.gl.clearStencil(Se),this.current=Se,this.dirty=!1)}}class V extends N{getDefault(){return[!0,!0,!0,!0]}set(Se){const Ge=this.current;(Se[0]!==Ge[0]||Se[1]!==Ge[1]||Se[2]!==Ge[2]||Se[3]!==Ge[3]||this.dirty)&&(this.gl.colorMask(Se[0],Se[1],Se[2],Se[3]),this.current=Se,this.dirty=!1)}}class W extends N{getDefault(){return!0}set(Se){(Se!==this.current||this.dirty)&&(this.gl.depthMask(Se),this.current=Se,this.dirty=!1)}}class X extends N{getDefault(){return 255}set(Se){(Se!==this.current||this.dirty)&&(this.gl.stencilMask(Se),this.current=Se,this.dirty=!1)}}class q extends N{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(Se){const Ge=this.current;(Se.func!==Ge.func||Se.ref!==Ge.ref||Se.mask!==Ge.mask||this.dirty)&&(this.gl.stencilFunc(Se.func,Se.ref,Se.mask),this.current=Se,this.dirty=!1)}}class $ extends N{getDefault(){const Se=this.gl;return[Se.KEEP,Se.KEEP,Se.KEEP]}set(Se){const Ge=this.current;(Se[0]!==Ge[0]||Se[1]!==Ge[1]||Se[2]!==Ge[2]||this.dirty)&&(this.gl.stencilOp(Se[0],Se[1],Se[2]),this.current=Se,this.dirty=!1)}}class H extends N{getDefault(){return!1}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Se?Ge.enable(Ge.STENCIL_TEST):Ge.disable(Ge.STENCIL_TEST),this.current=Se,this.dirty=!1}}class Y extends N{getDefault(){return[0,1]}set(Se){const Ge=this.current;(Se[0]!==Ge[0]||Se[1]!==Ge[1]||this.dirty)&&(this.gl.depthRange(Se[0],Se[1]),this.current=Se,this.dirty=!1)}}class K extends N{getDefault(){return!1}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Se?Ge.enable(Ge.DEPTH_TEST):Ge.disable(Ge.DEPTH_TEST),this.current=Se,this.dirty=!1}}class J extends N{getDefault(){return this.gl.LESS}set(Se){(Se!==this.current||this.dirty)&&(this.gl.depthFunc(Se),this.current=Se,this.dirty=!1)}}class Q extends N{getDefault(){return!1}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Se?Ge.enable(Ge.BLEND):Ge.disable(Ge.BLEND),this.current=Se,this.dirty=!1}}class ee extends N{getDefault(){const Se=this.gl;return[Se.ONE,Se.ZERO]}set(Se){const Ge=this.current;(Se[0]!==Ge[0]||Se[1]!==Ge[1]||this.dirty)&&(this.gl.blendFunc(Se[0],Se[1]),this.current=Se,this.dirty=!1)}}class te extends N{getDefault(){return Se.Color.transparent}set(Se){const Ge=this.current;(Se.r!==Ge.r||Se.g!==Ge.g||Se.b!==Ge.b||Se.a!==Ge.a||this.dirty)&&(this.gl.blendColor(Se.r,Se.g,Se.b,Se.a),this.current=Se,this.dirty=!1)}}class ie extends N{getDefault(){return this.gl.FUNC_ADD}set(Se){(Se!==this.current||this.dirty)&&(this.gl.blendEquation(Se),this.current=Se,this.dirty=!1)}}class oe extends N{getDefault(){return!1}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Se?Ge.enable(Ge.CULL_FACE):Ge.disable(Ge.CULL_FACE),this.current=Se,this.dirty=!1}}class re extends N{getDefault(){return this.gl.BACK}set(Se){(Se!==this.current||this.dirty)&&(this.gl.cullFace(Se),this.current=Se,this.dirty=!1)}}class ne extends N{getDefault(){return this.gl.CCW}set(Se){(Se!==this.current||this.dirty)&&(this.gl.frontFace(Se),this.current=Se,this.dirty=!1)}}let tr,Lr=class extends N{getDefault(){return null}set(Se){(Se!==this.current||this.dirty)&&(this.gl.useProgram(Se),this.current=Se,this.dirty=!1)}};class le extends N{getDefault(){return this.gl.TEXTURE0}set(Se){(Se!==this.current||this.dirty)&&(this.gl.activeTexture(Se),this.current=Se,this.dirty=!1)}}class ce extends N{getDefault(){const Se=this.gl;return[0,0,Se.drawingBufferWidth,Se.drawingBufferHeight]}set(Se){const Ge=this.current;(Se[0]!==Ge[0]||Se[1]!==Ge[1]||Se[2]!==Ge[2]||Se[3]!==Ge[3]||this.dirty)&&(this.gl.viewport(Se[0],Se[1],Se[2],Se[3]),this.current=Se,this.dirty=!1)}}class he extends N{getDefault(){return null}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Ge.bindFramebuffer(Ge.FRAMEBUFFER,Se),this.current=Se,this.dirty=!1}}class ue extends N{getDefault(){return null}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Ge.bindRenderbuffer(Ge.RENDERBUFFER,Se),this.current=Se,this.dirty=!1}}class _e extends N{getDefault(){return null}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Ge.bindTexture(Ge.TEXTURE_2D,Se),this.current=Se,this.dirty=!1}}class de extends N{getDefault(){return null}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Ge.bindBuffer(Ge.ARRAY_BUFFER,Se),this.current=Se,this.dirty=!1}}class pe extends N{getDefault(){return null}set(Se){const Ge=this.gl;Ge.bindBuffer(Ge.ELEMENT_ARRAY_BUFFER,Se),this.current=Se,this.dirty=!1}}class me extends N{constructor(Se){super(Se),this.vao=Se.extVertexArrayObject}getDefault(){return null}set(Se){this.vao&&(Se!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(Se),this.current=Se,this.dirty=!1)}}class fe extends N{getDefault(){return 4}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Ge.pixelStorei(Ge.UNPACK_ALIGNMENT,Se),this.current=Se,this.dirty=!1}}class ge extends N{getDefault(){return!1}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Ge.pixelStorei(Ge.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Se),this.current=Se,this.dirty=!1}}class ve extends N{getDefault(){return!1}set(Se){if(Se===this.current&&!this.dirty)return;const Ge=this.gl;Ge.pixelStorei(Ge.UNPACK_FLIP_Y_WEBGL,Se),this.current=Se,this.dirty=!1}}class xe extends N{constructor(Se,Ge){super(Se),this.context=Se,this.parent=Ge}getDefault(){return null}}class ye extends xe{setDirty(){this.dirty=!0}set(Se){if(Se===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const Ge=this.gl;Ge.framebufferTexture2D(Ge.FRAMEBUFFER,Ge.COLOR_ATTACHMENT0,Ge.TEXTURE_2D,Se,0),this.current=Se,this.dirty=!1}}class be extends xe{attachment(){return this.gl.DEPTH_ATTACHMENT}set(Se){if(Se===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const Ge=this.gl;Ge.framebufferRenderbuffer(Ge.FRAMEBUFFER,this.attachment(),Ge.RENDERBUFFER,Se),this.current=Se,this.dirty=!1}}class we extends be{attachment(){return this.gl.DEPTH_STENCIL_ATTACHMENT}}class Te{constructor(Se,Ge,mt,Dt){this.context=Se,this.width=Ge,this.height=mt;const Lt=this.framebuffer=Se.gl.createFramebuffer();this.colorAttachment=new ye(Se,Lt),Dt&&(this.depthAttachment=new be(Se,Lt))}destroy(){const Se=this.context.gl,Ge=this.colorAttachment.get();if(Ge&&Se.deleteTexture(Ge),this.depthAttachment){const Ge=this.depthAttachment.get();Ge&&Se.deleteRenderbuffer(Ge)}Se.deleteFramebuffer(this.framebuffer)}}class Ee{constructor(Se,Ge=!1){if(this.gl=Se,this.isWebGL2=Ge,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),Ge){const Ge=Se;this.extVertexArrayObject={createVertexArrayOES:Ge.createVertexArray.bind(Se),deleteVertexArrayOES:Ge.deleteVertexArray.bind(Se),bindVertexArrayOES:Ge.bindVertexArray.bind(Se)}}this.clearColor=new j(this),this.clearDepth=new G(this),this.clearStencil=new Z(this),this.colorMask=new V(this),this.depthMask=new W(this),this.stencilMask=new X(this),this.stencilFunc=new q(this),this.stencilOp=new $(this),this.stencilTest=new H(this),this.depthRange=new Y(this),this.depthTest=new K(this),this.depthFunc=new J(this),this.blend=new Q(this),this.blendFunc=new ee(this),this.blendColor=new te(this),this.blendEquation=new ie(this),this.cullFace=new oe(this),this.cullFaceSide=new re(this),this.frontFace=new ne(this),this.program=new Lr(this),this.activeTexture=new le(this),this.viewport=new ce(this),this.bindFramebuffer=new he(this),this.bindRenderbuffer=new ue(this),this.bindTexture=new _e(this),this.bindVertexBuffer=new de(this),this.bindElementBuffer=new pe(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new me(this),this.pixelStoreUnpack=new fe(this),this.pixelStoreUnpackPremultiplyAlpha=new ge(this),this.pixelStoreUnpackFlipY=new ve(this),this.extTextureFilterAnisotropic=Se.getExtension(\"EXT_texture_filter_anisotropic\")||Se.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||Se.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=Se.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureFilterAnisotropicForceOff=!1,this.extStandardDerivativesForceOff=!1,this.extDebugRendererInfo=Se.getExtension(\"WEBGL_debug_renderer_info\"),this.extDebugRendererInfo&&(this.renderer=Se.getParameter(this.extDebugRendererInfo.UNMASKED_RENDERER_WEBGL),this.vendor=Se.getParameter(this.extDebugRendererInfo.UNMASKED_VENDOR_WEBGL)),Ge||(this.extTextureHalfFloat=Se.getExtension(\"OES_texture_half_float\")),(Ge||this.extTextureHalfFloat&&Se.getExtension(\"OES_texture_half_float_linear\"))&&(this.extRenderToTextureHalfFloat=Se.getExtension(\"EXT_color_buffer_half_float\")),this.extStandardDerivatives=Ge||Se.getExtension(\"OES_standard_derivatives\"),this.extTimerQuery=Se.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=Se.getParameter(Se.MAX_TEXTURE_SIZE)}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(Se,Ge){return new k(this,Se,Ge)}createVertexBuffer(Se,Ge,mt){return new U(this,Se,Ge,mt)}createRenderbuffer(Se,Ge,mt){const Dt=this.gl,Lt=Dt.createRenderbuffer();return this.bindRenderbuffer.set(Lt),Dt.renderbufferStorage(Dt.RENDERBUFFER,Se,Ge,mt),this.bindRenderbuffer.set(null),Lt}createFramebuffer(Se,Ge,mt){return new Te(this,Se,Ge,mt)}clear({color:Se,depth:Ge,stencil:mt}){const Dt=this.gl;let Lt=0;Se&&(Lt|=Dt.COLOR_BUFFER_BIT,this.clearColor.set(Se),this.colorMask.set([!0,!0,!0,!0])),void 0!==Ge&&(Lt|=Dt.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(Ge),this.depthMask.set(!0)),void 0!==mt&&(Lt|=Dt.STENCIL_BUFFER_BIT,this.clearStencil.set(mt),this.stencilMask.set(255)),Dt.clear(Lt)}setCullFace(Se){!1===Se.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(Se.mode),this.frontFace.set(Se.frontFace))}setDepthMode(Se){Se.func!==this.gl.ALWAYS||Se.mask?(this.depthTest.set(!0),this.depthFunc.set(Se.func),this.depthMask.set(Se.mask),this.depthRange.set(Se.range)):this.depthTest.set(!1)}setStencilMode(Se){Se.test.func!==this.gl.ALWAYS||Se.mask?(this.stencilTest.set(!0),this.stencilMask.set(Se.mask),this.stencilOp.set([Se.fail,Se.depthFail,Se.pass]),this.stencilFunc.set({func:Se.test.func,ref:Se.ref,mask:Se.test.mask})):this.stencilTest.set(!1)}setColorMode(Ge){t(Ge.blendFunction,Se.ColorMode.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(Ge.blendFunction),this.blendColor.set(Ge.blendColor)),this.colorMask.set(Ge.mask)}unbindVAO(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)}}class Ce extends Se.Evented{constructor(Ge,mt,Dt,Lt){if(super(),this.id=Ge,this.dispatcher=Dt,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,Se.extend(this,Se.pick(mt,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=Se.extend({type:\"vector\"},mt),this._collectResourceTiming=mt.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(Lt),this._tileWorkers={},this._deduped=new Se.DedupedRequest}load(Ge){this._loaded=!1,this.fire(new Se.Event(\"dataloading\",{dataType:\"source\"}));const mt=Array.isArray(this.map._language)?this.map._language.join():this.map._language,Dt=this.map._worldview;this._tileJSONRequest=O(this._options,this.map._requestManager,mt,Dt,((Lt,Rt)=>{this._tileJSONRequest=null,this._loaded=!0,Lt?(mt&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${mt}`),Dt&&2!==Dt.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${Dt}`),this.fire(new Se.ErrorEvent(Lt))):Rt&&(Se.extend(this,Rt),Rt.bounds&&(this.tileBounds=new B(Rt.bounds,this.minzoom,this.maxzoom)),Se.postTurnstileEvent(Rt.tiles,this.map._requestManager._customAccessToken),this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))),Ge&&Ge(Lt)}))}loaded(){return this._loaded}hasTile(Se){return!this.tileBounds||this.tileBounds.contains(Se.canonical)}onAdd(Se){this.map=Se,this.load()}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)))}setTiles(Se){return this._options.tiles=Se,this.reload(),this}setUrl(Se){return this.url=Se,this._options.url=Se,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return Se.extend({},this._options)}loadTile(Ge,mt){const Dt=this.map._requestManager.normalizeTileURL(Ge.tileID.canonical.url(this.tiles,this.scheme)),Lt={request:this.map._requestManager.transformRequest(Dt,Se.ResourceType.Tile),data:void 0,uid:Ge.uid,tileID:Ge.tileID,tileZoom:Ge.tileZoom,zoom:Ge.tileID.overscaledZ,tileSize:this.tileSize*Ge.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:Se.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,isSymbolTile:Ge.isSymbolTile};if(Lt.request.collectResourceTiming=this._collectResourceTiming,Ge.actor&&\"expired\"!==Ge.state)\"loading\"===Ge.state?Ge.reloadCallback=mt:Ge.request=Ge.actor.send(\"reloadTile\",Lt,n.bind(this));else if(Ge.actor=this._tileWorkers[Dt]=this._tileWorkers[Dt]||this.dispatcher.getActor(),this.dispatcher.ready)Ge.request=Ge.actor.send(\"loadTile\",Lt,n.bind(this),void 0,!0);else{const mt=Se.loadVectorTile.call({deduped:this._deduped},Lt,((Se,mt)=>{Se||!mt?n.call(this,Se):(Lt.data={cacheControl:mt.cacheControl,expires:mt.expires,rawData:mt.rawData.slice(0)},Ge.actor&&Ge.actor.send(\"loadTile\",Lt,n.bind(this),void 0,!0))}),!0);Ge.request={cancel:mt}}function n(Dt,Lt){return delete Ge.request,Ge.aborted?mt(null):Dt&&404!==Dt.status?mt(Dt):(Lt&&Lt.resourceTiming&&(Ge.resourceTiming=Lt.resourceTiming),this.map._refreshExpiredTiles&&Lt&&Ge.setExpiryData(Lt),Ge.loadVectorData(Lt,this.map.painter),Se.cacheEntryPossiblyAdded(this.dispatcher),mt(null),void(Ge.reloadCallback&&(this.loadTile(Ge,Ge.reloadCallback),Ge.reloadCallback=null)))}}abortTile(Se){Se.request&&(Se.request.cancel(),delete Se.request),Se.actor&&Se.actor.send(\"abortTile\",{uid:Se.uid,type:this.type,source:this.id})}unloadTile(Se){Se.unloadVectorData(),Se.actor&&Se.actor.send(\"removeTile\",{uid:Se.uid,type:this.type,source:this.id})}hasTransition(){return!1}afterUpdate(){this._tileWorkers={}}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}class Me extends Se.Evented{constructor(Ge,mt,Dt,Lt){super(),this.id=Ge,this.dispatcher=Dt,this.setEventedParent(Lt),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=Se.extend({type:\"raster\"},mt),Se.extend(this,Se.pick(mt,[\"url\",\"scheme\",\"tileSize\"]))}load(Ge){this._loaded=!1,this.fire(new Se.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=O(this._options,this.map._requestManager,null,null,((mt,Dt)=>{this._tileJSONRequest=null,this._loaded=!0,mt?this.fire(new Se.ErrorEvent(mt)):Dt&&(Se.extend(this,Dt),Dt.bounds&&(this.tileBounds=new B(Dt.bounds,this.minzoom,this.maxzoom)),Se.postTurnstileEvent(Dt.tiles),this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))),Ge&&Ge(mt)}))}loaded(){return this._loaded}onAdd(Se){this.map=Se,this.load()}reload(){this.cancelTileJSONRequest(),this.load((()=>this.map.style._clearSource(this.id)))}setTiles(Se){return this._options.tiles=Se,this.reload(),this}setUrl(Se){return this.url=Se,this._options.url=Se,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return Se.extend({},this._options)}hasTile(Se){return!this.tileBounds||this.tileBounds.contains(Se.canonical)}loadTile(Ge,mt){const Dt=Se.exported.devicePixelRatio>=2,Lt=this.map._requestManager.normalizeTileURL(Ge.tileID.canonical.url(this.tiles,this.scheme),Dt,this.tileSize);Ge.request=Se.getImage(this.map._requestManager.transformRequest(Lt,Se.ResourceType.Tile),((Dt,Lt,Rt,Bt)=>(delete Ge.request,Ge.aborted?(Ge.state=\"unloaded\",mt(null)):Dt?(Ge.state=\"errored\",mt(Dt)):Lt?(this.map._refreshExpiredTiles&&Ge.setExpiryData({cacheControl:Rt,expires:Bt}),Ge.setTexture(Lt,this.map.painter),Ge.state=\"loaded\",Se.cacheEntryPossiblyAdded(this.dispatcher),void mt(null)):mt(null))))}static loadTileData(Se,Ge,mt){Se.setTexture(Ge,mt)}static unloadTileData(Se,Ge){Se.texture&&Ge.saveTileTexture(Se.texture)}abortTile(Se,Ge){Se.request&&(Se.request.cancel(),delete Se.request),Ge()}unloadTile(Se,Ge){Se.texture&&this.map.painter.saveTileTexture(Se.texture),Ge()}hasTransition(){return!1}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}function Ie(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t=[Ge,Dt,Rt,mt,Lt,Bt,1,1,1],Ni=[Ft,Ot,1],tr=Se.adjoint([],$t),[Lr,Rr,Qr]=Se.transformMat3(Ni,Ni,Se.transpose(tr,tr));return Se.multiply$1($t,[Lr,0,0,0,Rr,0,0,0,Qr],$t)}class Pe extends Se.Evented{constructor(Se,Ge,mt,Dt){super(),this.id=Se,this.dispatcher=mt,this.coordinates=Ge.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(Dt),this.options=Ge,this._dirty=!1}load(Ge,mt){this._loaded=mt||!1,this.fire(new Se.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._imageRequest=Se.getImage(this.map._requestManager.transformRequest(this.url,Se.ResourceType.Image),((mt,Dt)=>{if(this._imageRequest=null,this._loaded=!0,mt)this.fire(new Se.ErrorEvent(mt));else if(Dt){const{HTMLImageElement:mt}=Se.window;this.image=Dt instanceof mt?Se.exported.getImageData(Dt):Dt,this._dirty=!0,this.width=this.image.width,this.height=this.image.height,Ge&&(this.coordinates=Ge),this._finishLoading()}}))}loaded(){return this._loaded}updateImage(Se){return this.image&&Se.url?(this._imageRequest&&Se.url!==this.options.url&&(this._imageRequest.cancel(),this._imageRequest=null),this.options.url=Se.url,this.load(Se.coordinates,this._loaded),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(Se){this.map=Se,this.load()}onRemove(){this._imageRequest&&(this._imageRequest.cancel(),this._imageRequest=null),this.texture&&this.texture.destroy()}setCoordinates(Ge){this.coordinates=Ge,this._boundsArray=void 0;const mt=Ge.map(Se.MercatorCoordinate.fromLngLat);return this.tileID=function(Ge){let mt=1/0,Dt=1/0,Lt=-1/0,Rt=-1/0;for(const Se of Ge)mt=Math.min(mt,Se.x),Dt=Math.min(Dt,Se.y),Lt=Math.max(Lt,Se.x),Rt=Math.max(Rt,Se.y);const Bt=Math.max(Lt-mt,Rt-Dt),Ft=Math.max(0,Math.floor(-Math.log(Bt)/Math.LN2)),Ot=Math.pow(2,Ft);return new Se.CanonicalTileID(Ft,Math.floor((mt+Lt)/2*Ot),Math.floor((Dt+Rt)/2*Ot))}(mt),this.minzoom=this.maxzoom=this.tileID.z,this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}_clear(){this._boundsArray=void 0}_prepareData(Ge){for(const Se in this.tiles){const Ge=this.tiles[Se];\"loaded\"!==Ge.state&&(Ge.state=\"loaded\",Ge.texture=this.texture)}if(this._boundsArray)return;const mt=Se.tileTransform(this.tileID,this.map.transform.projection),[Dt,Lt,Rt,Bt]=this.coordinates.map((Ge=>{const Dt=mt.projection.project(Ge[0],Ge[1]);return Se.getTilePoint(mt,Dt)._round()}));this.perspectiveTransform=function(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni){const tr=Ie(0,0,Ge,0,0,mt,Ge,mt),Lr=Ie(Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni);return Se.multiply$1(Lr,Se.adjoint(tr,tr),Lr),[Lr[6]/Lr[8]*Ge/Se.EXTENT,Lr[7]/Lr[8]*mt/Se.EXTENT]}(this.width,this.height,Dt.x,Dt.y,Lt.x,Lt.y,Bt.x,Bt.y,Rt.x,Rt.y);const Ft=this._boundsArray=new Se.StructArrayLayout4i8;Ft.emplaceBack(Dt.x,Dt.y,0,0),Ft.emplaceBack(Lt.x,Lt.y,Se.EXTENT,0),Ft.emplaceBack(Bt.x,Bt.y,0,Se.EXTENT),Ft.emplaceBack(Rt.x,Rt.y,Se.EXTENT,Se.EXTENT),this.boundsBuffer&&this.boundsBuffer.destroy(),this.boundsBuffer=Ge.createVertexBuffer(Ft,Se.boundsAttributes.members),this.boundsSegments=Se.SegmentVector.simpleSegment(0,0,4,2)}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const Ge=this.map.painter.context,mt=Ge.gl;this._dirty&&(this.texture?this.texture.update(this.image):(this.texture=new Se.Texture(Ge,this.image,mt.RGBA),this.texture.bind(mt.LINEAR,mt.CLAMP_TO_EDGE)),this._dirty=!1),this._prepareData(Ge)}loadTile(Se,Ge){this.tileID&&this.tileID.equals(Se.tileID.canonical)?(this.tiles[String(Se.tileID.wrap)]=Se,Se.buckets={},Ge(null)):(Se.state=\"errored\",Ge(null))}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}const Rr={vector:Ce,raster:Me,\"raster-dem\":class extends Me{constructor(Ge,mt,Dt,Lt){super(Ge,mt,Dt,Lt),this.type=\"raster-dem\",this.maxzoom=22,this._options=Se.extend({type:\"raster-dem\"},mt),this.encoding=mt.encoding||\"mapbox\"}loadTile(Ge,mt){const Dt=this.map._requestManager.normalizeTileURL(Ge.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize);function r(Se,Dt){Se&&(Ge.state=\"errored\",mt(Se)),Dt&&(Ge.dem=Dt,Ge.dem.onDeserialize(),Ge.needsHillshadePrepare=!0,Ge.needsDEMTextureUpload=!0,Ge.state=\"loaded\",mt(null))}Ge.request=Se.getImage(this.map._requestManager.transformRequest(Dt,Se.ResourceType.Tile),function(Dt,Lt,Rt,Bt){if(delete Ge.request,Ge.aborted)Ge.state=\"unloaded\",mt(null);else if(Dt)Ge.state=\"errored\",mt(Dt);else if(Lt){this.map._refreshExpiredTiles&&Ge.setExpiryData({cacheControl:Rt,expires:Bt});const mt=Se.window.ImageBitmap&&Lt instanceof Se.window.ImageBitmap&&(null==tr&&(tr=Se.window.OffscreenCanvas&&new Se.window.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof Se.window.createImageBitmap),tr),Dt=1-(Lt.width-Se.prevPowerOfTwo(Lt.width))/2;Dt<1||Ge.neighboringTiles||(Ge.neighboringTiles=this._getNeighboringTiles(Ge.tileID));const Ft=mt?Lt:Se.exported.getImageData(Lt,Dt),Ot={uid:Ge.uid,coord:Ge.tileID,source:this.id,rawImageData:Ft,encoding:this.encoding,padding:Dt};Ge.actor&&\"expired\"!==Ge.state||(Ge.actor=this.dispatcher.getActor(),Ge.actor.send(\"loadDEMTile\",Ot,r.bind(this),void 0,!0))}}.bind(this))}_getNeighboringTiles(Ge){const mt=Ge.canonical,Dt=Math.pow(2,mt.z),Lt=(mt.x-1+Dt)%Dt,Rt=0===mt.x?Ge.wrap-1:Ge.wrap,Bt=(mt.x+1+Dt)%Dt,Ft=mt.x+1===Dt?Ge.wrap+1:Ge.wrap,Ot={};return Ot[new Se.OverscaledTileID(Ge.overscaledZ,Rt,mt.z,Lt,mt.y).key]={backfilled:!1},Ot[new Se.OverscaledTileID(Ge.overscaledZ,Ft,mt.z,Bt,mt.y).key]={backfilled:!1},mt.y>0&&(Ot[new Se.OverscaledTileID(Ge.overscaledZ,Rt,mt.z,Lt,mt.y-1).key]={backfilled:!1},Ot[new Se.OverscaledTileID(Ge.overscaledZ,Ge.wrap,mt.z,mt.x,mt.y-1).key]={backfilled:!1},Ot[new Se.OverscaledTileID(Ge.overscaledZ,Ft,mt.z,Bt,mt.y-1).key]={backfilled:!1}),mt.y+1<Dt&&(Ot[new Se.OverscaledTileID(Ge.overscaledZ,Rt,mt.z,Lt,mt.y+1).key]={backfilled:!1},Ot[new Se.OverscaledTileID(Ge.overscaledZ,Ge.wrap,mt.z,mt.x,mt.y+1).key]={backfilled:!1},Ot[new Se.OverscaledTileID(Ge.overscaledZ,Ft,mt.z,Bt,mt.y+1).key]={backfilled:!1}),Ot}unloadTile(Se){Se.demTexture&&this.map.painter.saveTileTexture(Se.demTexture),Se.fbo&&(Se.fbo.destroy(),delete Se.fbo),Se.dem&&delete Se.dem,delete Se.neighboringTiles,Se.state=\"unloaded\"}},geojson:class extends Se.Evented{constructor(Ge,mt,Dt,Lt){super(),this.id=Ge,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._loaded=!1,this.actor=Dt.getActor(),this.setEventedParent(Lt),this._data=mt.data,this._options=Se.extend({},mt),this._collectResourceTiming=mt.collectResourceTiming,void 0!==mt.maxzoom&&(this.maxzoom=mt.maxzoom),mt.type&&(this.type=mt.type),mt.attribution&&(this.attribution=mt.attribution),this.promoteId=mt.promoteId;const Rt=Se.EXTENT/this.tileSize;this.workerOptions=Se.extend({source:this.id,cluster:mt.cluster||!1,geojsonVtOptions:{buffer:(void 0!==mt.buffer?mt.buffer:128)*Rt,tolerance:(void 0!==mt.tolerance?mt.tolerance:.375)*Rt,extent:Se.EXTENT,maxZoom:this.maxzoom,lineMetrics:mt.lineMetrics||!1,generateId:mt.generateId||!1},superclusterOptions:{maxZoom:void 0!==mt.clusterMaxZoom?mt.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,mt.clusterMinPoints||2),extent:Se.EXTENT,radius:(void 0!==mt.clusterRadius?mt.clusterRadius:50)*Rt,log:!1,generateId:mt.generateId||!1},clusterProperties:mt.clusterProperties,filter:mt.filter},mt.workerOptions)}onAdd(Se){this.map=Se,this.setData(this._data)}setData(Se){return this._data=Se,this._updateWorkerData(),this}getClusterExpansionZoom(Se,Ge){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:Se,source:this.id},Ge),this}getClusterChildren(Se,Ge){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:Se,source:this.id},Ge),this}getClusterLeaves(Se,Ge,mt,Dt){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:Se,limit:Ge,offset:mt},Dt),this}_updateWorkerData(){if(this._pendingLoad)return void(this._coalesce=!0);this.fire(new Se.Event(\"dataloading\",{dataType:\"source\"})),this._loaded=!1;const Ge=Se.extend({},this.workerOptions),mt=this._data;\"string\"==typeof mt?(Ge.request=this.map._requestManager.transformRequest(Se.exported.resolveURL(mt),Se.ResourceType.Source),Ge.request.collectResourceTiming=this._collectResourceTiming):Ge.data=JSON.stringify(mt),this._pendingLoad=this.actor.send(`${this.type}.loadData`,Ge,((Ge,mt)=>{if(this._loaded=!0,this._pendingLoad=null,Ge)this.fire(new Se.ErrorEvent(Ge));else{const Ge={dataType:\"source\",sourceDataType:this._metadataFired?\"content\":\"metadata\"};this._collectResourceTiming&&mt&&mt.resourceTiming&&mt.resourceTiming[this.id]&&(Ge.resourceTiming=mt.resourceTiming[this.id]),this.fire(new Se.Event(\"data\",Ge)),this._metadataFired=!0}this._coalesce&&(this._updateWorkerData(),this._coalesce=!1)}))}loaded(){return this._loaded}loadTile(Ge,mt){const Dt=Ge.actor?\"reloadTile\":\"loadTile\";Ge.actor=this.actor,Ge.request=this.actor.send(Dt,{type:this.type,uid:Ge.uid,tileID:Ge.tileID,tileZoom:Ge.tileZoom,zoom:Ge.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:Se.exported.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},((Se,Lt)=>(delete Ge.request,Ge.unloadVectorData(),Ge.aborted?mt(null):Se?mt(Se):(Ge.loadVectorData(Lt,this.map.painter,\"reloadTile\"===Dt),mt(null)))),void 0,\"loadTile\"===Dt)}abortTile(Se){Se.request&&(Se.request.cancel(),delete Se.request),Se.aborted=!0}unloadTile(Se){Se.unloadVectorData(),this.actor.send(\"removeTile\",{uid:Se.uid,type:this.type,source:this.id})}onRemove(){this._pendingLoad&&this._pendingLoad.cancel()}serialize(){return Se.extend({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}},video:class extends Pe{constructor(Se,Ge,mt,Dt){super(Se,Ge,mt,Dt),this.roundZoom=!0,this.type=\"video\",this.options=Ge}load(){this._loaded=!1;const Ge=this.options;this.urls=[];for(const mt of Ge.urls)this.urls.push(this.map._requestManager.transformRequest(mt,Se.ResourceType.Source).url);Se.getVideo(this.urls,((Ge,mt)=>{this._loaded=!0,Ge?this.fire(new Se.ErrorEvent(Ge)):mt&&(this.video=mt,this.video.loop=!0,this.video.setAttribute(\"playsinline\",\"\"),this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(Ge){if(this.video){const mt=this.video.seekable;Ge<mt.start(0)||Ge>mt.end(0)?this.fire(new Se.ErrorEvent(new Se.ValidationError(`sources.${this.id}`,null,`Playback for this video can be set only between the ${mt.start(0)} and ${mt.end(0)}-second mark.`))):this.video.currentTime=Ge}}getVideo(){return this.video}onAdd(Se){this.map||(this.map=Se,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const Ge=this.map.painter.context,mt=Ge.gl;this.texture?this.video.paused||(this.texture.bind(mt.LINEAR,mt.CLAMP_TO_EDGE),mt.texSubImage2D(mt.TEXTURE_2D,0,0,0,mt.RGBA,mt.UNSIGNED_BYTE,this.video)):(this.texture=new Se.Texture(Ge,this.video,mt.RGBA),this.texture.bind(mt.LINEAR,mt.CLAMP_TO_EDGE),this.width=this.video.videoWidth,this.height=this.video.videoHeight),this._prepareData(Ge)}serialize(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},image:Pe,canvas:class extends Pe{constructor(Ge,mt,Dt,Lt){super(Ge,mt,Dt,Lt),mt.coordinates?Array.isArray(mt.coordinates)&&4===mt.coordinates.length&&!mt.coordinates.some((Se=>!Array.isArray(Se)||2!==Se.length||Se.some((Se=>\"number\"!=typeof Se))))||this.fire(new Se.ErrorEvent(new Se.ValidationError(`sources.${Ge}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new Se.ErrorEvent(new Se.ValidationError(`sources.${Ge}`,null,'missing required property \"coordinates\"'))),mt.animate&&\"boolean\"!=typeof mt.animate&&this.fire(new Se.ErrorEvent(new Se.ValidationError(`sources.${Ge}`,null,'optional \"animate\" property must be a boolean value'))),mt.canvas?\"string\"==typeof mt.canvas||mt.canvas instanceof Se.window.HTMLCanvasElement||this.fire(new Se.ErrorEvent(new Se.ValidationError(`sources.${Ge}`,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 Se.ErrorEvent(new Se.ValidationError(`sources.${Ge}`,null,'missing required property \"canvas\"'))),this.options=mt,this.animate=void 0===mt.animate||mt.animate}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof Se.window.HTMLCanvasElement?this.options.canvas:Se.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new Se.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}getCanvas(){return this.canvas}onAdd(Se){this.map=Se,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let Ge=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,Ge=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,Ge=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const mt=this.map.painter.context;this.texture?(Ge||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new Se.Texture(mt,this.canvas,mt.gl.RGBA,{premultiply:!0}),this._prepareData(mt)}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const Se of[this.canvas.width,this.canvas.height])if(isNaN(Se)||Se<=0)return!0;return!1}},custom:class extends Se.Evented{constructor(Ge,mt,Dt,Lt){super(),this.id=Ge,this.type=\"custom\",this._dataType=\"raster\",this._dispatcher=Dt,this._implementation=mt,this.setEventedParent(Lt),this.scheme=\"xyz\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this._loaded=!1,this.roundZoom=!0,this._implementation||this.fire(new Se.ErrorEvent(new Error(`Missing implementation for ${this.id} custom source`))),this._implementation.loadTile||this.fire(new Se.ErrorEvent(new Error(`Missing loadTile implementation for ${this.id} custom source`))),this._implementation.bounds&&(this.tileBounds=new B(this._implementation.bounds,this.minzoom,this.maxzoom)),mt.update=this._update.bind(this),mt.clearTiles=this._clearTiles.bind(this),mt.coveringTiles=this._coveringTiles.bind(this),Se.extend(this,Se.pick(mt,[\"dataType\",\"scheme\",\"minzoom\",\"maxzoom\",\"tileSize\",\"attribution\",\"minTileCacheSize\",\"maxTileCacheSize\"]))}serialize(){return Se.pick(this,[\"type\",\"scheme\",\"minzoom\",\"maxzoom\",\"tileSize\",\"attribution\"])}load(){this._loaded=!0,this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))}loaded(){return this._loaded}onAdd(Ge){this._map=Ge,this._loaded=!1,this.fire(new Se.Event(\"dataloading\",{dataType:\"source\"})),this._implementation.onAdd&&this._implementation.onAdd(Ge),this.load()}onRemove(Se){this._implementation.onRemove&&this._implementation.onRemove(Se)}hasTile(Se){if(this._implementation.hasTile){const{x:Ge,y:mt,z:Dt}=Se.canonical;return this._implementation.hasTile({x:Ge,y:mt,z:Dt})}return!this.tileBounds||this.tileBounds.contains(Se.canonical)}loadTile(Ge,mt){const{x:Dt,y:Lt,z:Rt}=Ge.tileID.canonical,Bt=new Se.window.AbortController;Ge.request=Promise.resolve(this._implementation.loadTile({x:Dt,y:Lt,z:Rt},{signal:Bt.signal})).then(function(Dt){return delete Ge.request,Ge.aborted?(Ge.state=\"unloaded\",mt(null)):void 0===Dt?(Ge.state=\"errored\",mt(null)):null===Dt?(this.loadTileData(Ge,{width:this.tileSize,height:this.tileSize,data:null}),Ge.state=\"loaded\",mt(null)):function(Ge){return Ge instanceof Se.window.ImageData||Ge instanceof Se.window.HTMLCanvasElement||Ge instanceof Se.window.ImageBitmap||Ge instanceof Se.window.HTMLImageElement}(Dt)?(this.loadTileData(Ge,Dt),Ge.state=\"loaded\",void mt(null)):(Ge.state=\"errored\",mt(new Error(`Can't infer data type for ${this.id}, only raster data supported at the moment`)))}.bind(this)).catch((Se=>{20!==Se.code&&(Ge.state=\"errored\",mt(Se))})),Ge.request.cancel=()=>Bt.abort()}loadTileData(Se,Ge){Me.loadTileData(Se,Ge,this._map.painter)}unloadTileData(Se){Me.unloadTileData(Se,this._map.painter)}unloadTile(Se,Ge){if(this.unloadTileData(Se),this._implementation.unloadTile){const{x:Ge,y:mt,z:Dt}=Se.tileID.canonical;this._implementation.unloadTile({x:Ge,y:mt,z:Dt})}Ge()}abortTile(Se,Ge){Se.request&&Se.request.cancel&&(Se.request.cancel(),delete Se.request),Ge()}hasTransition(){return!1}_coveringTiles(){return this._map.transform.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,roundZoom:this.roundZoom}).map((Se=>({x:Se.canonical.x,y:Se.canonical.y,z:Se.canonical.z})))}_clearTiles(){this._map.style._clearSource(this.id)}_update(){this.fire(new Se.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"}))}}},De=function(Ge,mt,Dt,Lt){const Rt=new Rr[mt.type](Ge,mt,Dt,Lt);if(Rt.id!==Ge)throw new Error(`Expected Source id to be ${Ge} instead of ${Rt.id}`);return Se.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],Rt),Rt};function Le(Ge,mt){const Dt=Se.identity([]);return Se.scale(Dt,Dt,[.5*Ge.width,.5*-Ge.height,1]),Se.translate(Dt,Dt,[1,-1,0]),Se.multiply(Dt,Dt,Ge.calculateProjMatrix(mt.toUnwrapped())),Float32Array.from(Dt)}function Ae(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft=!1){const Ot=Se.tilesIn(Dt,Bt,Ft);Ot.sort(Re);const $t=[];for(const Dt of Ot)$t.push({wrappedTileID:Dt.tile.tileID.wrapped().key,queryResults:Dt.tile.queryRenderedFeatures(Ge,mt,Se._state,Dt,Lt,Rt,Le(Se.transform,Dt.tile.tileID),Ft)});const Ni=function(Se){const Ge={},mt={};for(const Dt of Se){const Se=Dt.queryResults,Lt=Dt.wrappedTileID,Rt=mt[Lt]=mt[Lt]||{};for(const mt in Se){const Dt=Se[mt],Lt=Rt[mt]=Rt[mt]||{},Bt=Ge[mt]=Ge[mt]||[];for(const Se of Dt)Lt[Se.featureIndex]||(Lt[Se.featureIndex]=!0,Bt.push(Se))}}return Ge}($t);for(const Ge in Ni)Ni[Ge].forEach((Ge=>{const mt=Ge.feature,Dt=mt.layer;Dt&&\"background\"!==Dt.type&&\"sky\"!==Dt.type&&(mt.source=Dt.source,Dt[\"source-layer\"]&&(mt.sourceLayer=Dt[\"source-layer\"]),mt.state=void 0!==mt.id?Se.getFeatureState(Dt[\"source-layer\"],mt.id):{})}));return Ni}function ze(Se,Ge){const mt=Se.getRenderableIds().map((Ge=>Se.getTileByID(Ge))),Dt=[],Lt={};for(let Se=0;Se<mt.length;Se++){const Rt=mt[Se],Bt=Rt.tileID.canonical.key;Lt[Bt]||(Lt[Bt]=!0,Rt.querySourceFeatures(Dt,Ge))}return Dt}function Re(Se,Ge){const mt=Se.tileID,Dt=Ge.tileID;return mt.overscaledZ-Dt.overscaledZ||mt.canonical.y-Dt.canonical.y||mt.wrap-Dt.wrap||mt.canonical.x-Dt.canonical.x}function Oe(){return null!=Lc.workerClass?new Lc.workerClass:new Se.window.Worker(Lc.workerUrl)}const Qr=\"mapboxgl_preloaded_worker_pool\";class ke{constructor(){this.active={}}acquire(Se){if(!this.workers)for(this.workers=[];this.workers.length<ke.workerCount;)this.workers.push(new Oe);return this.active[Se]=!0,this.workers.slice()}release(Se){delete this.active[Se],0===this.numActive()&&(this.workers.forEach((Se=>{Se.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[Qr]}numActive(){return Object.keys(this.active).length}}let an;function Ue(){return an||(an=new ke),an}function Ne(Ge,mt){const Dt={};for(const Se in Ge)\"ref\"!==Se&&(Dt[Se]=Ge[Se]);return Se.refProperties.forEach((Se=>{Se in mt&&(Dt[Se]=mt[Se])})),Dt}function je(Se){Se=Se.slice();const Ge=Object.create(null);for(let mt=0;mt<Se.length;mt++)Ge[Se[mt].id]=Se[mt];for(let mt=0;mt<Se.length;mt++)\"ref\"in Se[mt]&&(Se[mt]=Ne(Se[mt],Ge[Se[mt].ref]));return Se}ke.workerCount=2;const ln={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\",setTerrain:\"setTerrain\",setFog:\"setFog\",setProjection:\"setProjection\"};function Ze(Se,Ge,mt){mt.push({command:ln.addSource,args:[Se,Ge[Se]]})}function Ve(Se,Ge,mt){Ge.push({command:ln.removeSource,args:[Se]}),mt[Se]=!0}function We(Se,Ge,mt,Dt){Ve(Se,mt,Dt),Ze(Se,Ge,mt)}function Xe(Se,Ge,mt){let Dt;for(Dt in Se[mt])if(Se[mt].hasOwnProperty(Dt)&&\"data\"!==Dt&&!t(Se[mt][Dt],Ge[mt][Dt]))return!1;for(Dt in Ge[mt])if(Ge[mt].hasOwnProperty(Dt)&&\"data\"!==Dt&&!t(Se[mt][Dt],Ge[mt][Dt]))return!1;return!0}function qe(Se,Ge,mt,Dt,Lt,Rt){let Bt;for(Bt in Ge=Ge||{},Se=Se||{})Se.hasOwnProperty(Bt)&&(t(Se[Bt],Ge[Bt])||mt.push({command:Rt,args:[Dt,Bt,Ge[Bt],Lt]}));for(Bt in Ge)Ge.hasOwnProperty(Bt)&&!Se.hasOwnProperty(Bt)&&(t(Se[Bt],Ge[Bt])||mt.push({command:Rt,args:[Dt,Bt,Ge[Bt],Lt]}))}function $e(Se){return Se.id}function He(Se,Ge){return Se[Ge.id]=Ge,Se}class Ye{constructor(Se,Ge){this.reset(Se,Ge)}reset(Se,Ge){this.points=Se||[],this._distances=[0];for(let Se=1;Se<this.points.length;Se++)this._distances[Se]=this._distances[Se-1]+this.points[Se].dist(this.points[Se-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(Ge||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(Ge){if(1===this.points.length)return this.points[0];Ge=Se.clamp(Ge,0,1);let mt=1,Dt=this._distances[mt];const Lt=Ge*this.paddedLength+this.padding;for(;Dt<Lt&&mt<this._distances.length;)Dt=this._distances[++mt];const Rt=mt-1,Bt=this._distances[Rt],Ft=Dt-Bt,Ot=Ft>0?(Lt-Bt)/Ft:0;return this.points[Rt].mult(1-Ot).add(this.points[mt].mult(Ot))}}class Ke{constructor(Se,Ge,mt){const Dt=this.boxCells=[],Lt=this.circleCells=[];this.xCellCount=Math.ceil(Se/mt),this.yCellCount=Math.ceil(Ge/mt);for(let Se=0;Se<this.xCellCount*this.yCellCount;Se++)Dt.push([]),Lt.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=Se,this.height=Ge,this.xScale=this.xCellCount/Se,this.yScale=this.yCellCount/Ge,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(Se,Ge,mt,Dt,Lt){this._forEachCell(Ge,mt,Dt,Lt,this._insertBoxCell,this.boxUid++),this.boxKeys.push(Se),this.bboxes.push(Ge),this.bboxes.push(mt),this.bboxes.push(Dt),this.bboxes.push(Lt)}insertCircle(Se,Ge,mt,Dt){this._forEachCell(Ge-Dt,mt-Dt,Ge+Dt,mt+Dt,this._insertCircleCell,this.circleUid++),this.circleKeys.push(Se),this.circles.push(Ge),this.circles.push(mt),this.circles.push(Dt)}_insertBoxCell(Se,Ge,mt,Dt,Lt,Rt){this.boxCells[Lt].push(Rt)}_insertCircleCell(Se,Ge,mt,Dt,Lt,Rt){this.circleCells[Lt].push(Rt)}_query(Se,Ge,mt,Dt,Lt,Rt){if(mt<0||Se>this.width||Dt<0||Ge>this.height)return!Lt&&[];const Bt=[];if(Se<=0&&Ge<=0&&this.width<=mt&&this.height<=Dt){if(Lt)return!0;for(let Se=0;Se<this.boxKeys.length;Se++)Bt.push({key:this.boxKeys[Se],x1:this.bboxes[4*Se],y1:this.bboxes[4*Se+1],x2:this.bboxes[4*Se+2],y2:this.bboxes[4*Se+3]});for(let Se=0;Se<this.circleKeys.length;Se++){const Ge=this.circles[3*Se],mt=this.circles[3*Se+1],Dt=this.circles[3*Se+2];Bt.push({key:this.circleKeys[Se],x1:Ge-Dt,y1:mt-Dt,x2:Ge+Dt,y2:mt+Dt})}return Rt?Bt.filter(Rt):Bt}return this._forEachCell(Se,Ge,mt,Dt,this._queryCell,Bt,{hitTest:Lt,seenUids:{box:{},circle:{}}},Rt),Lt?Bt.length>0:Bt}_queryCircle(Se,Ge,mt,Dt,Lt){const Rt=Se-mt,Bt=Se+mt,Ft=Ge-mt,Ot=Ge+mt;if(Bt<0||Rt>this.width||Ot<0||Ft>this.height)return!Dt&&[];const $t=[];return this._forEachCell(Rt,Ft,Bt,Ot,this._queryCellCircle,$t,{hitTest:Dt,circle:{x:Se,y:Ge,radius:mt},seenUids:{box:{},circle:{}}},Lt),Dt?$t.length>0:$t}query(Se,Ge,mt,Dt,Lt){return this._query(Se,Ge,mt,Dt,!1,Lt)}hitTest(Se,Ge,mt,Dt,Lt){return this._query(Se,Ge,mt,Dt,!0,Lt)}hitTestCircle(Se,Ge,mt,Dt){return this._queryCircle(Se,Ge,mt,!0,Dt)}_queryCell(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Bt.seenUids,$t=this.boxCells[Lt];if(null!==$t){const Lt=this.bboxes;for(const Ni of $t)if(!Ot.box[Ni]){Ot.box[Ni]=!0;const $t=4*Ni;if(Se<=Lt[$t+2]&&Ge<=Lt[$t+3]&&mt>=Lt[$t+0]&&Dt>=Lt[$t+1]&&(!Ft||Ft(this.boxKeys[Ni]))){if(Bt.hitTest)return Rt.push(!0),!0;Rt.push({key:this.boxKeys[Ni],x1:Lt[$t],y1:Lt[$t+1],x2:Lt[$t+2],y2:Lt[$t+3]})}}}const Ni=this.circleCells[Lt];if(null!==Ni){const Lt=this.circles;for(const $t of Ni)if(!Ot.circle[$t]){Ot.circle[$t]=!0;const Ni=3*$t;if(this._circleAndRectCollide(Lt[Ni],Lt[Ni+1],Lt[Ni+2],Se,Ge,mt,Dt)&&(!Ft||Ft(this.circleKeys[$t]))){if(Bt.hitTest)return Rt.push(!0),!0;{const Se=Lt[Ni],Ge=Lt[Ni+1],mt=Lt[Ni+2];Rt.push({key:this.circleKeys[$t],x1:Se-mt,y1:Ge-mt,x2:Se+mt,y2:Ge+mt})}}}}}_queryCellCircle(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Bt.circle,$t=Bt.seenUids,Ni=this.boxCells[Lt];if(null!==Ni){const Se=this.bboxes;for(const Ge of Ni)if(!$t.box[Ge]){$t.box[Ge]=!0;const mt=4*Ge;if(this._circleAndRectCollide(Ot.x,Ot.y,Ot.radius,Se[mt+0],Se[mt+1],Se[mt+2],Se[mt+3])&&(!Ft||Ft(this.boxKeys[Ge])))return Rt.push(!0),!0}}const tr=this.circleCells[Lt];if(null!==tr){const Se=this.circles;for(const Ge of tr)if(!$t.circle[Ge]){$t.circle[Ge]=!0;const mt=3*Ge;if(this._circlesCollide(Se[mt],Se[mt+1],Se[mt+2],Ot.x,Ot.y,Ot.radius)&&(!Ft||Ft(this.circleKeys[Ge])))return Rt.push(!0),!0}}}_forEachCell(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=this._convertToXCellCoord(Se),$t=this._convertToYCellCoord(Ge),Ni=this._convertToXCellCoord(mt),tr=this._convertToYCellCoord(Dt);for(let Lr=Ot;Lr<=Ni;Lr++)for(let Ot=$t;Ot<=tr;Ot++)if(Lt.call(this,Se,Ge,mt,Dt,this.xCellCount*Ot+Lr,Rt,Bt,Ft))return}_convertToXCellCoord(Se){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(Se*this.xScale)))}_convertToYCellCoord(Se){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(Se*this.yScale)))}_circlesCollide(Se,Ge,mt,Dt,Lt,Rt){const Bt=Dt-Se,Ft=Lt-Ge,Ot=mt+Rt;return Ot*Ot>Bt*Bt+Ft*Ft}_circleAndRectCollide(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft=(Rt-Dt)/2,Ot=Math.abs(Se-(Dt+Ft));if(Ot>Ft+mt)return!1;const $t=(Bt-Lt)/2,Ni=Math.abs(Ge-(Lt+$t));if(Ni>$t+mt)return!1;if(Ot<=Ft||Ni<=$t)return!0;const tr=Ot-Ft,Lr=Ni-$t;return tr*tr+Lr*Lr<=mt*mt}}const pn={unknown:0,flipRequired:1,flipNotRequired:2},fn=Math.tan(85*Math.PI/180);function et(Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Se.create();if(Dt)if(\"globe\"===Bt.name){const Ge=Se.calculateGlobeLabelMatrix(Rt,mt);Se.multiply(Ot,Ot,Ge)}else{const Ge=v([],Ft);Ot[0]=Ge[0],Ot[1]=Ge[1],Ot[4]=Ge[2],Ot[5]=Ge[3],Lt||Se.rotateZ(Ot,Ot,Rt.angle)}else Se.multiply(Ot,Rt.labelPlaneMatrix,Ge);return Ot}function tt(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft=et(Se,Ge,mt,Dt,Lt,Rt,Bt);return\"globe\"===Rt.name&&mt||(Ft[2]=Ft[6]=Ft[10]=Ft[14]=0),Ft}function it(Ge,mt,Dt,Lt,Rt,Bt,Ft){if(Dt){if(\"globe\"===Bt.name){const Ot=et(Ge,mt,Dt,Lt,Rt,Bt,Ft);return Se.invert(Ot,Ot),Se.multiply(Ot,Ge,Ot),Ot}{const mt=Se.clone(Ge),Dt=Se.identity([]);return Dt[0]=Ft[0],Dt[1]=Ft[1],Dt[4]=Ft[2],Dt[5]=Ft[3],Se.multiply(mt,mt,Dt),Lt||Se.rotateZ(mt,mt,-Rt.angle),mt}}return Rt.glCoordMatrix}function ot(Ge,mt,Dt,Lt){const Rt=[Ge,mt,Dt,1];Dt?Se.transformMat4$1(Rt,Rt,Lt):pt(Rt,Rt,Lt);const Bt=Rt[3];return Rt[0]/=Bt,Rt[1]/=Bt,Rt[2]/=Bt,Rt}function rt(Se,Ge){return Math.min(.5+Se/Ge*.5,1.5)}function nt(Se,Ge){const mt=Se[0]/Se[3],Dt=Se[1]/Se[3];return mt>=-Ge[0]&&mt<=Ge[0]&&Dt>=-Ge[1]&&Dt<=Ge[1]}function st(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni){const tr=Dt.transform,Lr=Lt?Ge.textSizeData:Ge.iconSizeData,Rr=Se.evaluateSizeForZoom(Lr,Dt.transform.zoom),Qr=\"globe\"===tr.projection.name,an=[256/Dt.width*2+1,256/Dt.height*2+1],ln=Lt?Ge.text.dynamicLayoutVertexArray:Ge.icon.dynamicLayoutVertexArray;ln.clear();let pn=null;Qr&&(pn=Lt?Ge.text.globeExtVertexArray:Ge.icon.globeExtVertexArray);const fn=Ge.lineVertexArray,mn=Lt?Ge.text.placedSymbolArray:Ge.icon.placedSymbolArray,_n=Dt.transform.width/Dt.transform.height;let bn,wn=!1;for(let Lt=0;Lt<mn.length;Lt++){const Qr=mn.get(Lt),{numGlyphs:Tn,writingMode:Sn}=Qr;if(Sn!==Se.WritingMode.vertical||wn||bn===Se.WritingMode.horizontal||(wn=!0),bn=Sn,(Qr.hidden||Sn===Se.WritingMode.vertical)&&!wn){dt(Tn,ln);continue}wn=!1;const An=new Se.Point(Qr.tileAnchorX,Qr.tileAnchorY);let{x:Pn,y:kn,z:eo}=tr.projection.projectTilePoint(An.x,An.y,Ni.canonical);if($t){const[Se,Ge,mt]=$t(An);Pn+=Se,kn+=Ge,eo+=mt}const ao=[Pn,kn,eo,1];if(Se.transformMat4$1(ao,ao,mt),!nt(ao,an)){dt(Tn,ln);continue}const Oo=rt(Dt.transform.cameraToCenterDistance,ao[3]),Qo=Se.evaluateSizeForFeature(Lr,Rr,Qr),ts=Ft?Qo/Oo:Qo*Oo,cs=ot(Pn,kn,eo,Rt);if(cs[3]<=0){dt(Tn,ln);continue}let hs={};const us=Ft?null:$t,ds=ct(Qr,ts,!1,Ot,mt,Rt,Bt,Ge.glyphOffsetArray,fn,ln,pn,cs,An,hs,_n,us,tr.projection,Ni,Ft);wn=ds.useVertical,us&&ds.needsFlipping&&(hs={}),(ds.notEnoughRoom||wn||ds.needsFlipping&&ct(Qr,ts,!0,Ot,mt,Rt,Bt,Ge.glyphOffsetArray,fn,ln,pn,cs,An,hs,_n,us,tr.projection,Ni,Ft).notEnoughRoom)&&dt(Tn,ln)}Lt?(Ge.text.dynamicLayoutVertexBuffer.updateData(ln),pn&&Ge.text.globeExtVertexBuffer.updateData(pn)):(Ge.icon.dynamicLayoutVertexBuffer.updateData(ln),pn&&Ge.icon.globeExtVertexBuffer.updateData(pn))}function at(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an){const{lineStartIndex:ln,glyphStartIndex:pn,segment:fn}=Ft,mn=pn+Ft.numGlyphs,_n=ln+Ft.lineLength,bn=Ge.getoffsetX(pn),wn=Ge.getoffsetX(mn-1),Tn=_t(Se*bn,mt,Dt,Lt,Rt,Bt,fn,ln,_n,Ot,$t,Ni,tr,Lr,!0,Rr,Qr,an);if(!Tn)return null;const Sn=_t(Se*wn,mt,Dt,Lt,Rt,Bt,fn,ln,_n,Ot,$t,Ni,tr,Lr,!0,Rr,Qr,an);return Sn?{first:Tn,last:Sn}:null}function lt(Ge,mt,Dt,Lt){return Ge===Se.WritingMode.horizontal&&Math.abs(Lt)>Math.abs(Dt)?{useVertical:!0}:Ge===Se.WritingMode.vertical?Lt>0?{needsFlipping:!0}:null:mt!==pn.unknown&&function(Se,Ge){return 0===Se||Math.abs(Ge/Se)>fn}(Dt,Lt)?mt===pn.flipRequired?{needsFlipping:!0}:null:Dt<0?{needsFlipping:!0}:null}function ct(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,fn,mn,_n){const bn=mt/24,wn=Ge.lineOffsetX*bn,Tn=Ge.lineOffsetY*bn,{lineStartIndex:Sn,glyphStartIndex:An,numGlyphs:Pn,segment:kn,writingMode:eo,flipState:ao}=Ge,Oo=Sn+Ge.lineLength,D=Ge=>{if(tr){const[mt,Dt,Lt]=Ge.up,Rt=Ni.length;Se.updateGlobeVertexNormal(tr,Rt+0,mt,Dt,Lt),Se.updateGlobeVertexNormal(tr,Rt+1,mt,Dt,Lt),Se.updateGlobeVertexNormal(tr,Rt+2,mt,Dt,Lt),Se.updateGlobeVertexNormal(tr,Rt+3,mt,Dt,Lt)}const[mt,Dt,Lt]=Ge.point;Se.addDynamicAttributes(Ni,mt,Dt,Lt,Ge.angle)};if(Pn>1){const Se=at(bn,Ot,wn,Tn,Dt,Lr,Rr,Ge,$t,Bt,Qr,ln,!1,fn,mn,_n);if(!Se)return{notEnoughRoom:!0};if(Lt&&!Dt){let[mt,Dt,Lt]=Se.first.point,[Rt,Bt,Ot]=Se.last.point;[mt,Dt]=ot(mt,Dt,Lt,Ft),[Rt,Bt]=ot(Rt,Bt,Ot,Ft);const $t=lt(eo,ao,(Rt-mt)*an,Bt-Dt);if(Ge.flipState=$t&&$t.needsFlipping?pn.flipRequired:pn.flipNotRequired,$t)return $t}D(Se.first);for(let Se=An+1;Se<An+Pn-1;Se++){const Ge=_t(bn*Ot.getoffsetX(Se),wn,Tn,Dt,Lr,Rr,kn,Sn,Oo,$t,Bt,Qr,ln,!1,!1,fn,mn,_n);if(!Ge)return Ni.length-=4*(Se-An),{notEnoughRoom:!0};D(Ge)}D(Se.last)}else{if(Lt&&!Dt){const mt=ot(Rr.x,Rr.y,0,Rt),Dt=Sn+kn+1,Lt=new Se.Point($t.getx(Dt),$t.gety(Dt)),Bt=ot(Lt.x,Lt.y,0,Rt),Ft=Bt[3]>0?Bt:ut(Rr,Lt,mt,1,Rt,void 0,fn,mn.canonical),Ot=lt(eo,ao,(Ft[0]-mt[0])*an,Ft[1]-mt[1]);if(Ge.flipState=Ot&&Ot.needsFlipping?pn.flipRequired:pn.flipNotRequired,Ot)return Ot}const mt=_t(bn*Ot.getoffsetX(An),wn,Tn,Dt,Lr,Rr,kn,Sn,Oo,$t,Bt,Qr,ln,!1,!1,fn,mn,_n);if(!mt)return{notEnoughRoom:!0};D(mt)}return{}}function ht(Se,Ge,mt,Dt,Lt){const{x:Rt,y:Bt,z:Ft}=Dt.projectTilePoint(Se.x,Se.y,Ge);if(!Lt)return ot(Rt,Bt,Ft,mt);const[Ot,$t,Ni]=Lt(Se);return ot(Rt+Ot,Bt+$t,Ft+Ni,mt)}function ut(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot){const $t=ht(Ge.sub(mt)._unit()._add(Ge),Ot,Rt,Ft,Bt);return Se.sub($t,Dt,$t),Se.normalize($t,$t),Se.scaleAndAdd($t,Dt,$t,Lt)}function _t(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn,fn){const mn=Lt?Ge-mt:Ge+mt;let _n=mn>0?1:-1,bn=0;Lt&&(_n*=-1,bn=Math.PI),_n<0&&(bn+=Math.PI);let wn=Ot+Ft+(_n>0?0:1)|0,Tn=Rt,Sn=Rt,An=0,Pn=0;const kn=Math.abs(mn),eo=[],ao=[];let Oo=Bt,Qo=Oo;const A=()=>ut(Qo,Oo,Sn,kn-An+1,tr,Rr,ln,pn.canonical);for(;An+Pn<=kn;){if(wn+=_n,wn<Ot||wn>=$t)return null;if(Sn=Tn,Qo=Oo,eo.push(Sn),Qr&&ao.push(Qo),Oo=new Se.Point(Ni.getx(wn),Ni.gety(wn)),Tn=Lr[wn],!Tn){const Se=ht(Oo,pn.canonical,tr,ln,Rr);Tn=Se[3]>0?Lr[wn]=Se:A()}An+=Pn,Pn=Se.distance(Sn,Tn)}an&&Rr&&(Lr[wn]&&(Tn=A(),Pn=Se.distance(Sn,Tn)),Lr[wn]=Tn);const ts=(kn-An)/Pn,cs=Oo.sub(Qo)._mult(ts)._add(Qo),hs=Se.sub([],Tn,Sn),us=Se.scaleAndAdd([],Sn,hs,ts);let ds=[0,0,1],ps=hs[0],fs=hs[1];if(fn&&(ds=ln.upVector(pn.canonical,cs.x,cs.y),0!==ds[0]||0!==ds[1]||1!==ds[2])){const Ge=[ds[2],0,-ds[0]],mt=Se.cross([],ds,Ge);Se.normalize(Ge,Ge),Se.normalize(mt,mt),ps=Se.dot(hs,Ge),fs=Se.dot(hs,mt)}if(Dt){const Ge=Se.cross([],ds,hs);Se.normalize(Ge,Ge),Se.scaleAndAdd(us,us,Ge,Dt*_n)}const gs=bn+Math.atan2(fs,ps);return eo.push(us),Qr&&ao.push(cs),{point:us,angle:gs,path:eo,tilePath:ao,up:ds}}function dt(Se,Ge){const mt=Ge.length,Dt=mt+4*Se;Ge.resize(Dt),Ge.float32.fill(-1/0,4*mt,4*Dt)}function pt(Se,Ge,mt){const Dt=Ge[0],Lt=Ge[1];return Se[0]=mt[0]*Dt+mt[4]*Lt+mt[12],Se[1]=mt[1]*Dt+mt[5]*Lt+mt[13],Se[3]=mt[3]*Dt+mt[7]*Lt+mt[15],Se}const mn=100;class ft{constructor(Se,Ge,mt=new Ke(Se.width+200,Se.height+200,25),Dt=new Ke(Se.width+200,Se.height+200,25)){this.transform=Se,this.grid=mt,this.ignoredGrid=Dt,this.pitchfactor=Math.cos(Se._pitch)*Se.cameraToCenterDistance,this.screenRightBoundary=Se.width+mn,this.screenBottomBoundary=Se.height+mn,this.gridRightBoundary=Se.width+200,this.gridBottomBoundary=Se.height+200,this.fogState=Ge}placeCollisionBox(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){let Ot=mt.projectedAnchorX,$t=mt.projectedAnchorY,Ni=mt.projectedAnchorZ;const tr=mt.elevation,Lr=mt.tileID,Rr=Se.getProjection();if(tr&&Lr){const[Se,Ge,Dt]=Rr.upVector(Lr.canonical,mt.tileAnchorX,mt.tileAnchorY),Lt=Rr.upVectorScale(Lr.canonical,this.transform.center.lat,this.transform.worldSize).metersToTile;Ot+=Se*tr*Lt,$t+=Ge*tr*Lt,Ni+=Dt*tr*Lt}const Qr=this.projectAndGetPerspectiveRatio(Bt,Ot,$t,Ni,mt.tileID,\"globe\"===Rr.name||!!tr||this.transform.pitch>0,Rr),an=Rt*Qr.perspectiveRatio,ln=(mt.x1*Ge+Dt.x-mt.padding)*an+Qr.point.x,pn=(mt.y1*Ge+Dt.y-mt.padding)*an+Qr.point.y,fn=(mt.x2*Ge+Dt.x+mt.padding)*an+Qr.point.x,mn=(mt.y2*Ge+Dt.y+mt.padding)*an+Qr.point.y,_n=Qr.perspectiveRatio<=.55||Qr.occluded;return!this.isInsideGrid(ln,pn,fn,mn)||!Lt&&this.grid.hitTest(ln,pn,fn,mn,Ft)||_n?{box:[],offscreen:!1,occluded:Qr.occluded}:{box:[ln,pn,fn,mn],offscreen:this.isOffscreen(ln,pn,fn,mn),occluded:!1}}placeCollisionCircles(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an){const ln=[],pn=this.transform.elevation,fn=Ge.getProjection(),_n=pn?pn.getAtTileOffsetFunc(an,this.transform.center.lat,this.transform.worldSize,fn):null,bn=new Se.Point(Dt.tileAnchorX,Dt.tileAnchorY);let{x:wn,y:Tn,z:Sn}=fn.projectTilePoint(bn.x,bn.y,an.canonical);if(_n){const[Se,Ge,mt]=_n(bn);wn+=Se,Tn+=Ge,Sn+=mt}const An=\"globe\"===fn.name,Pn=this.projectAndGetPerspectiveRatio(Ft,wn,Tn,Sn,an,An||!!pn||this.transform.pitch>0,fn),{perspectiveRatio:kn}=Pn,eo=(tr?Bt/kn:Bt*kn)/Se.ONE_EM,ao=ot(wn,Tn,Sn,Ot),Oo=Pn.signedDistanceFromCamera>0?at(eo,Rt,Dt.lineOffsetX*eo,Dt.lineOffsetY*eo,!1,ao,bn,Dt,Lt,Ot,{},pn&&!tr?_n:null,tr&&!!pn,fn,an,tr):null;let Qo=!1,ts=!1,cs=!0;if(Oo&&!Pn.occluded){const Ge=.5*Rr*kn+Qr,Dt=new Se.Point(-100,-100),Lt=new Se.Point(this.screenRightBoundary,this.screenBottomBoundary),Rt=new Ye,{first:Bt,last:Ft}=Oo,Ot=Bt.path.length;let tr=[];for(let Se=Ot-1;Se>=1;Se--)tr.push(Bt.path[Se]);for(let Se=1;Se<Ft.path.length;Se++)tr.push(Ft.path[Se]);const an=2.5*Ge;$t&&(tr=tr.map((([Se,Ge,mt],Dt)=>(_n&&!An&&(mt=_n(Dt<Ot-1?Bt.tilePath[Ot-1-Dt]:Ft.tilePath[Dt-Ot+2])[2]),ot(Se,Ge,mt,$t)))),tr.some((Se=>Se[3]<=0))&&(tr=[]));let pn=[];if(tr.length>0){let Ge=1/0,mt=-1/0,Rt=1/0,Bt=-1/0;for(const Se of tr)Ge=Math.min(Ge,Se[0]),Rt=Math.min(Rt,Se[1]),mt=Math.max(mt,Se[0]),Bt=Math.max(Bt,Se[1]);mt>=Dt.x&&Ge<=Lt.x&&Bt>=Dt.y&&Rt<=Lt.y&&(pn=[tr.map((Ge=>new Se.Point(Ge[0],Ge[1])))],(Ge<Dt.x||mt>Lt.x||Rt<Dt.y||Bt>Lt.y)&&(pn=Se.clipLine(pn,Dt.x,Dt.y,Lt.x,Lt.y)))}for(const Se of pn){Rt.reset(Se,.25*Ge);let Dt=0;Dt=Rt.length<=.5*Ge?1:Math.ceil(Rt.paddedLength/an)+1;for(let Se=0;Se<Dt;Se++){const Lt=Se/Math.max(Dt-1,1),Bt=Rt.lerp(Lt),Ft=Bt.x+mn,Ot=Bt.y+mn;ln.push(Ft,Ot,Ge,0);const $t=Ft-Ge,tr=Ot-Ge,Rr=Ft+Ge,Qr=Ot+Ge;if(cs=cs&&this.isOffscreen($t,tr,Rr,Qr),ts=ts||this.isInsideGrid($t,tr,Rr,Qr),!mt&&this.grid.hitTestCircle(Ft,Ot,Ge,Lr)&&(Qo=!0,!Ni))return{circles:[],offscreen:!1,collisionDetected:Qo,occluded:!1}}}}return{circles:!Ni&&Qo||!ts?[]:ln,offscreen:cs,collisionDetected:Qo,occluded:Pn.occluded}}queryRenderedSymbols(Ge){if(0===Ge.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};const mt=[];let Dt=1/0,Lt=1/0,Rt=-1/0,Bt=-1/0;for(const Ft of Ge){const Ge=new Se.Point(Ft.x+mn,Ft.y+mn);Dt=Math.min(Dt,Ge.x),Lt=Math.min(Lt,Ge.y),Rt=Math.max(Rt,Ge.x),Bt=Math.max(Bt,Ge.y),mt.push(Ge)}const Ft=this.grid.query(Dt,Lt,Rt,Bt).concat(this.ignoredGrid.query(Dt,Lt,Rt,Bt)),Ot={},$t={};for(const Ge of Ft){const Dt=Ge.key;if(void 0===Ot[Dt.bucketInstanceId]&&(Ot[Dt.bucketInstanceId]={}),Ot[Dt.bucketInstanceId][Dt.featureIndex])continue;const Lt=[new Se.Point(Ge.x1,Ge.y1),new Se.Point(Ge.x2,Ge.y1),new Se.Point(Ge.x2,Ge.y2),new Se.Point(Ge.x1,Ge.y2)];Se.polygonIntersectsPolygon(mt,Lt)&&(Ot[Dt.bucketInstanceId][Dt.featureIndex]=!0,void 0===$t[Dt.bucketInstanceId]&&($t[Dt.bucketInstanceId]=[]),$t[Dt.bucketInstanceId].push(Dt.featureIndex))}return $t}insertCollisionBox(Se,Ge,mt,Dt,Lt){(Ge?this.ignoredGrid:this.grid).insert({bucketInstanceId:mt,featureIndex:Dt,collisionGroupID:Lt},Se[0],Se[1],Se[2],Se[3])}insertCollisionCircles(Se,Ge,mt,Dt,Lt){const Rt=Ge?this.ignoredGrid:this.grid,Bt={bucketInstanceId:mt,featureIndex:Dt,collisionGroupID:Lt};for(let Ge=0;Ge<Se.length;Ge+=4)Rt.insertCircle(Bt,Se[Ge],Se[Ge+1],Se[Ge+2])}projectAndGetPerspectiveRatio(Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=[mt,Dt,Lt,1];let $t=!1;if(Lt||this.transform.pitch>0){if(Se.transformMat4$1(Ot,Ot,Ge),this.fogState&&Rt&&\"globe\"!==Ft.name){const Ge=function(Ge,mt,Dt,Lt,Rt,Bt){const Ft=Bt.calculateFogTileMatrix(Rt),Ot=[mt,Dt,Lt];return Se.transformMat4(Ot,Ot,Ft),C(Ge,Ot,Bt.pitch,Bt._fov)}(this.fogState,mt,Dt,Lt,Rt.toUnwrapped(),this.transform);$t=Ge>.9}}else pt(Ot,Ot,Ge);const Ni=Ot[3];return{point:new Se.Point((Ot[0]/Ni+1)/2*this.transform.width+mn,(-Ot[1]/Ni+1)/2*this.transform.height+mn),perspectiveRatio:Math.min(.5+this.transform.getCameraToCenterDistance(Ft)/Ni*.5,1.5),signedDistanceFromCamera:Ni,occluded:Bt&&Ot[2]>Ni||$t}}isOffscreen(Se,Ge,mt,Dt){return mt<mn||Se>=this.screenRightBoundary||Dt<mn||Ge>this.screenBottomBoundary}isInsideGrid(Se,Ge,mt,Dt){return mt>=0&&Se<this.gridRightBoundary&&Dt>=0&&Ge<this.gridBottomBoundary}getViewportMatrix(){const Ge=Se.identity([]);return Se.translate(Ge,Ge,[-100,-100,0]),Ge}}function gt(Ge,mt,Dt){const Lt=mt.createTileMatrix(Ge,Ge.worldSize,Dt.toUnwrapped());return Se.multiply(new Float32Array(16),Ge.projMatrix,Lt)}function vt(Se,Ge,mt){if(Ge.projection.name===mt.projection.name)return Se.projMatrix;const Dt=mt.clone();return Dt.setProjection(Ge.projection),gt(Dt,Ge.getProjection(),Se)}function xt(Se,Ge,mt){return Ge.name===mt.projection.name?Se.projMatrix:gt(mt,Ge,Se)}class yt{constructor(Se,Ge,mt,Dt){this.opacity=Se?Math.max(0,Math.min(1,Se.opacity+(Se.placed?Ge:-Ge))):Dt&&mt?1:0,this.placed=mt}isHidden(){return 0===this.opacity&&!this.placed}}class bt{constructor(Se,Ge,mt,Dt,Lt,Rt=!1){this.text=new yt(Se?Se.text:null,Ge,mt,Lt),this.icon=new yt(Se?Se.icon:null,Ge,Dt,Lt),this.clipped=Rt}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class wt{constructor(Se,Ge,mt,Dt=!1){this.text=Se,this.icon=Ge,this.skipFade=mt,this.clipped=Dt}}class Tt{constructor(){this.invProjMatrix=Se.create(),this.viewportMatrix=Se.create(),this.circles=[]}}class Et{constructor(Se,Ge,mt,Dt,Lt){this.bucketInstanceId=Se,this.featureIndex=Ge,this.sourceLayerIndex=mt,this.bucketIndex=Dt,this.tileID=Lt}}class Ct{constructor(Se){this.crossSourceCollisions=Se,this.maxGroupID=0,this.collisionGroups={}}get(Se){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[Se]){const Ge=++this.maxGroupID;this.collisionGroups[Se]={ID:Ge,predicate:Se=>Se.collisionGroupID===Ge}}return this.collisionGroups[Se]}}function Mt(Ge,mt,Dt,Lt,Rt){const{horizontalAlign:Bt,verticalAlign:Ft}=Se.getAnchorAlignment(Ge),Ot=-(Bt-.5)*mt,$t=-(Ft-.5)*Dt,Ni=Se.evaluateVariableOffset(Ge,Lt);return new Se.Point(Ot+Ni[0]*Rt,$t+Ni[1]*Rt)}function It(Ge,mt,Dt,Lt,Rt){const Bt=new Se.Point(Ge,mt);return Dt&&Bt._rotate(Lt?Rt:-Rt),Bt}class Pt{constructor(Se,Ge,mt,Dt,Lt){this.transform=Se.clone(),this.projection=Se.projection.name,this.collisionIndex=new ft(this.transform,Lt),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=Ge,this.retainedQueryData={},this.collisionGroups=new Ct(mt),this.collisionCircleArrays={},this.prevPlacement=Dt,Dt&&(Dt.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(Ge,mt,Dt,Lt){const Rt=Dt.getBucket(mt),Bt=Dt.latestFeatureIndex;if(!Rt||!Bt||mt.id!==Rt.layerIds[0])return;const Ft=Rt.layers[0].layout,Ot=Dt.collisionBoxArray,$t=Math.pow(2,this.transform.zoom-Dt.tileID.overscaledZ),Ni=Dt.tileSize/Se.EXTENT,tr=Dt.tileID.toUnwrapped();this.transform.setProjection(Rt.projection);const Lr=(Rr=Dt.tileID,Qr=Rt.getProjection(),an=this.transform,Qr.name===this.projection?an.calculateProjMatrix(Rr.toUnwrapped()):gt(an,Qr,Rr));var Rr,Qr,an;const ln=\"map\"===Ft.get(\"text-pitch-alignment\"),pn=\"map\"===Ft.get(\"text-rotation-alignment\");mt.compileFilter();const fn=mt.dynamicFilter(),mn=mt.dynamicFilterNeedsFeature(),_n=this.transform.calculatePixelsToTileUnitsMatrix(Dt),bn=tt(Lr,Dt.tileID.canonical,ln,pn,this.transform,Rt.getProjection(),_n);let wn=null;if(ln){const Ge=it(Lr,Dt.tileID.canonical,ln,pn,this.transform,Rt.getProjection(),_n);wn=Se.multiply([],this.transform.labelPlaneMatrix,Ge)}let Tn=null;fn&&Dt.latestFeatureIndex&&(Tn={unwrappedTileID:tr,dynamicFilter:fn,dynamicFilterNeedsFeature:mn,featureIndex:Dt.latestFeatureIndex}),this.retainedQueryData[Rt.bucketInstanceId]=new Et(Rt.bucketInstanceId,Bt,Rt.sourceLayerIndex,Rt.index,Dt.tileID);const Sn={bucket:Rt,layout:Ft,posMatrix:Lr,textLabelPlaneMatrix:bn,labelToScreenMatrix:wn,clippingData:Tn,scale:$t,textPixelRatio:Ni,holdingForFade:Dt.holdingForFade(),collisionBoxArray:Ot,partiallyEvaluatedTextSize:Se.evaluateSizeForZoom(Rt.textSizeData,this.transform.zoom),partiallyEvaluatedIconSize:Se.evaluateSizeForZoom(Rt.iconSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(Rt.sourceID)};if(Lt)for(const Se of Rt.sortKeyRanges){const{sortKey:mt,symbolInstanceStart:Dt,symbolInstanceEnd:Lt}=Se;Ge.push({sortKey:mt,symbolInstanceStart:Dt,symbolInstanceEnd:Lt,parameters:Sn})}else Ge.push({symbolInstanceStart:0,symbolInstanceEnd:Rt.symbolInstances.length,parameters:Sn})}attemptAnchorPlacement(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn){const{textOffset0:fn,textOffset1:mn,crossTileID:_n}=tr,bn=[fn,mn],wn=Mt(Se,mt,Dt,bn,Lt),Tn=this.collisionIndex.placeCollisionBox(Rr,Lt,Ge,It(wn.x,wn.y,Rt,Bt,this.transform.angle),Ni,Ft,Ot,$t.predicate);if(an){const Se=Rr.getSymbolInstanceIconSize(pn,this.transform.zoom,tr.placedIconSymbolIndex);if(0===this.collisionIndex.placeCollisionBox(Rr,Se,an,It(wn.x,wn.y,Rt,Bt,this.transform.angle),Ni,Ft,Ot,$t.predicate).box.length)return}if(Tn.box.length>0){let Ge;return this.prevPlacement&&this.prevPlacement.variableOffsets[_n]&&this.prevPlacement.placements[_n]&&this.prevPlacement.placements[_n].text&&(Ge=this.prevPlacement.variableOffsets[_n].anchor),this.variableOffsets[_n]={textOffset:bn,width:mt,height:Dt,anchor:Se,textScale:Lt,prevAnchor:Ge},this.markUsedJustification(Rr,Se,tr,Qr),Rr.allowVerticalPlacement&&(this.markUsedOrientation(Rr,Qr,tr),this.placedOrientations[_n]=Qr),{shift:wn,placedGlyphBoxes:Tn}}}placeLayerBucketPart(Ge,mt,Dt,Lt){const{bucket:Rt,layout:Bt,posMatrix:Ft,textLabelPlaneMatrix:Ot,labelToScreenMatrix:$t,clippingData:Ni,textPixelRatio:tr,holdingForFade:Lr,collisionBoxArray:Rr,partiallyEvaluatedTextSize:Qr,partiallyEvaluatedIconSize:an,collisionGroup:ln}=Ge.parameters,pn=Bt.get(\"text-optional\"),fn=Bt.get(\"icon-optional\"),mn=Bt.get(\"text-allow-overlap\"),_n=Bt.get(\"icon-allow-overlap\"),bn=\"map\"===Bt.get(\"text-rotation-alignment\"),wn=\"map\"===Bt.get(\"text-pitch-alignment\"),Tn=\"none\"!==Bt.get(\"icon-text-fit\"),Sn=\"viewport-y\"===Bt.get(\"symbol-z-order\");this.transform.setProjection(Rt.projection);let An=mn&&(_n||!Rt.hasIconData()||fn),Pn=_n&&(mn||!Rt.hasTextData()||pn);!Rt.collisionArrays&&Rr&&Rt.deserializeCollisionBoxes(Rr),Dt&&Lt&&Rt.updateCollisionDebugBuffers(this.transform.zoom,Rr);const I=(Ge,Lt,Rr)=>{const{crossTileID:Sn,numVerticalGlyphVertices:kn}=Ge;if(Ni){const Dt={zoom:this.transform.zoom,pitch:this.transform.pitch};let Lt=null;if(Ni.dynamicFilterNeedsFeature){const Se=this.retainedQueryData[Rt.bucketInstanceId];Lt=Ni.featureIndex.loadFeature({featureIndex:Ge.featureIndex,bucketIndex:Se.bucketIndex,sourceLayerIndex:Se.sourceLayerIndex,layoutVertexArrayOffset:0})}if(!(0,Ni.dynamicFilter)(Dt,Lt,this.retainedQueryData[Rt.bucketInstanceId].tileID.canonical,new Se.Point(Ge.tileAnchorX,Ge.tileAnchorY),this.transform.calculateDistanceTileData(Ni.unwrappedTileID)))return this.placements[Sn]=new wt(!1,!1,!1,!0),void mt.add(Sn)}if(mt.has(Sn))return;if(Lr)return void(this.placements[Sn]=new wt(!1,!1,!1));let eo=!1,ao=!1,Oo=!0,Qo=!1,ts=!1,cs=null,hs={box:null,offscreen:null,occluded:null},us={box:null,offscreen:null,occluded:null},ds=null,ps=null,fs=null,gs=0,bs=0,Vs=0;Rr.textFeatureIndex?gs=Rr.textFeatureIndex:Ge.useRuntimeCollisionCircles&&(gs=Ge.featureIndex),Rr.verticalTextFeatureIndex&&(bs=Rr.verticalTextFeatureIndex);const G=Se=>{Se.tileID=this.retainedQueryData[Rt.bucketInstanceId].tileID;const Ge=this.transform.elevation;(Ge||Se.elevation)&&(Se.elevation=Ge?Ge.getAtTileOffset(Se.tileID,Se.tileAnchorX,Se.tileAnchorY):0)},_a=Rr.textBox;if(_a){G(_a);const i=mt=>{let Dt=Se.WritingMode.horizontal;if(Rt.allowVerticalPlacement&&!mt&&this.prevPlacement){const Se=this.prevPlacement.placedOrientations[Sn];Se&&(this.placedOrientations[Sn]=Se,Dt=Se,this.markUsedOrientation(Rt,Dt,Ge))}return Dt},o=(Ge,mt)=>{if(Rt.allowVerticalPlacement&&kn>0&&Rr.verticalTextBox){for(const Dt of Rt.writingModes)if(Dt===Se.WritingMode.vertical?(hs=mt(),us=hs):hs=Ge(),hs&&hs.box&&hs.box.length)break}else hs=Ge()};if(Bt.get(\"text-variable-anchor\")){let mt=Bt.get(\"text-variable-anchor\");if(this.prevPlacement&&this.prevPlacement.variableOffsets[Sn]){const Se=this.prevPlacement.variableOffsets[Sn];mt.indexOf(Se.anchor)>0&&(mt=mt.filter((Ge=>Ge!==Se.anchor)),mt.unshift(Se.anchor))}const c=(Se,Dt,Bt)=>{const Ot=Rt.getSymbolInstanceTextSize(Qr,Ge,this.transform.zoom,Lt),$t=(Se.x2-Se.x1)*Ot+2*Se.padding,Ni=(Se.y2-Se.y1)*Ot+2*Se.padding,Lr=Tn&&!_n?Dt:null;Lr&&G(Lr);let Rr={box:[],offscreen:!1,occluded:!1};const pn=mn?2*mt.length:mt.length;for(let Dt=0;Dt<pn;++Dt){const pn=this.attemptAnchorPlacement(mt[Dt%mt.length],Se,$t,Ni,Ot,bn,wn,tr,Ft,ln,Dt>=mt.length,Ge,Lt,Rt,Bt,Lr,Qr,an);if(pn&&(Rr=pn.placedGlyphBoxes,Rr&&Rr.box&&Rr.box.length)){eo=!0,cs=pn.shift;break}}return Rr};o((()=>c(_a,Rr.iconBox,Se.WritingMode.horizontal)),(()=>{const Ge=Rr.verticalTextBox;return Ge&&G(Ge),Rt.allowVerticalPlacement&&!(hs&&hs.box&&hs.box.length)&&kn>0&&Ge?c(Ge,Rr.verticalIconBox,Se.WritingMode.vertical):{box:null,offscreen:null,occluded:null}})),hs&&(eo=hs.box,Oo=hs.offscreen,Qo=hs.occluded);const Dt=i(!(!hs||!hs.box));if(!eo&&this.prevPlacement){const Se=this.prevPlacement.variableOffsets[Sn];Se&&(this.variableOffsets[Sn]=Se,this.markUsedJustification(Rt,Se.anchor,Ge,Dt))}}else{const s=(mt,Dt)=>{const Bt=Rt.getSymbolInstanceTextSize(Qr,Ge,this.transform.zoom,Lt),Ot=this.collisionIndex.placeCollisionBox(Rt,Bt,mt,new Se.Point(0,0),mn,tr,Ft,ln.predicate);return Ot&&Ot.box&&Ot.box.length&&(this.markUsedOrientation(Rt,Dt,Ge),this.placedOrientations[Sn]=Dt),Ot};o((()=>s(_a,Se.WritingMode.horizontal)),(()=>{const Ge=Rr.verticalTextBox;return Rt.allowVerticalPlacement&&kn>0&&Ge?(G(Ge),s(Ge,Se.WritingMode.vertical)):{box:null,offscreen:null,occluded:null}})),i(!!(hs&&hs.box&&hs.box.length))}}if(ds=hs,eo=ds&&ds.box&&ds.box.length>0,Oo=ds&&ds.offscreen,Qo=ds&&ds.occluded,Ge.useRuntimeCollisionCircles){const mt=Rt.text.placedSymbolArray.get(Ge.centerJustifiedTextSymbolIndex>=0?Ge.centerJustifiedTextSymbolIndex:Ge.verticalPlacedTextSymbolIndex),Lt=Se.evaluateSizeForFeature(Rt.textSizeData,Qr,mt),Ni=Bt.get(\"text-padding\");ps=this.collisionIndex.placeCollisionCircles(Rt,mn,mt,Rt.lineVertexArray,Rt.glyphOffsetArray,Lt,Ft,Ot,$t,Dt,wn,ln.predicate,Ge.collisionCircleDiameter*Lt/Se.ONE_EM,Ni,this.retainedQueryData[Rt.bucketInstanceId].tileID),eo=mn||ps.circles.length>0&&!ps.collisionDetected,Oo=Oo&&ps.offscreen,Qo=ps.occluded}if(Rr.iconFeatureIndex&&(Vs=Rr.iconFeatureIndex),Rr.iconBox){const i=mt=>{G(mt);const Dt=Tn&&cs?It(cs.x,cs.y,bn,wn,this.transform.angle):new Se.Point(0,0),Lt=Rt.getSymbolInstanceIconSize(an,this.transform.zoom,Ge.placedIconSymbolIndex);return this.collisionIndex.placeCollisionBox(Rt,Lt,mt,Dt,_n,tr,Ft,ln.predicate)};us&&us.box&&us.box.length&&Rr.verticalIconBox?(fs=i(Rr.verticalIconBox),ao=fs.box.length>0):(fs=i(Rr.iconBox),ao=fs.box.length>0),Oo=Oo&&fs.offscreen,ts=fs.occluded}const Ta=pn||0===Ge.numHorizontalGlyphVertices&&0===kn,Ma=fn||0===Ge.numIconVertices;if(Ta||Ma?Ma?Ta||(ao=ao&&eo):eo=ao&&eo:ao=eo=ao&&eo,eo&&ds&&ds.box&&this.collisionIndex.insertCollisionBox(ds.box,Bt.get(\"text-ignore-placement\"),Rt.bucketInstanceId,us&&us.box&&bs?bs:gs,ln.ID),ao&&fs&&this.collisionIndex.insertCollisionBox(fs.box,Bt.get(\"icon-ignore-placement\"),Rt.bucketInstanceId,Vs,ln.ID),ps&&(eo&&this.collisionIndex.insertCollisionCircles(ps.circles,Bt.get(\"text-ignore-placement\"),Rt.bucketInstanceId,gs,ln.ID),Dt)){const Se=Rt.bucketInstanceId;let Ge=this.collisionCircleArrays[Se];void 0===Ge&&(Ge=this.collisionCircleArrays[Se]=new Tt);for(let Se=0;Se<ps.circles.length;Se+=4)Ge.circles.push(ps.circles[Se+0]),Ge.circles.push(ps.circles[Se+1]),Ge.circles.push(ps.circles[Se+2]),Ge.circles.push(ps.collisionDetected?1:0)}const Sa=\"globe\"!==Rt.projection.name;An=An&&(Sa||!Qo),Pn=Pn&&(Sa||!ts),this.placements[Sn]=new wt(eo||An,ao||Pn,Oo||Rt.justReloaded),mt.add(Sn)};if(Sn){const Se=Rt.getSortedSymbolIndexes(this.transform.angle);for(let Ge=Se.length-1;Ge>=0;--Ge){const mt=Se[Ge];I(Rt.symbolInstances.get(mt),mt,Rt.collisionArrays[mt])}}else for(let Se=Ge.symbolInstanceStart;Se<Ge.symbolInstanceEnd;Se++)I(Rt.symbolInstances.get(Se),Se,Rt.collisionArrays[Se]);if(Dt&&Rt.bucketInstanceId in this.collisionCircleArrays){const Ge=this.collisionCircleArrays[Rt.bucketInstanceId];Se.invert(Ge.invProjMatrix,Ft),Ge.viewportMatrix=this.collisionIndex.getViewportMatrix()}Rt.justReloaded=!1}markUsedJustification(Ge,mt,Dt,Lt){const{leftJustifiedTextSymbolIndex:Rt,centerJustifiedTextSymbolIndex:Bt,rightJustifiedTextSymbolIndex:Ft,verticalPlacedTextSymbolIndex:Ot,crossTileID:$t}=Dt,Ni=Se.getAnchorJustification(mt),tr=Lt===Se.WritingMode.vertical?Ot:\"left\"===Ni?Rt:\"center\"===Ni?Bt:\"right\"===Ni?Ft:-1;Rt>=0&&(Ge.text.placedSymbolArray.get(Rt).crossTileID=tr>=0&&Rt!==tr?0:$t),Bt>=0&&(Ge.text.placedSymbolArray.get(Bt).crossTileID=tr>=0&&Bt!==tr?0:$t),Ft>=0&&(Ge.text.placedSymbolArray.get(Ft).crossTileID=tr>=0&&Ft!==tr?0:$t),Ot>=0&&(Ge.text.placedSymbolArray.get(Ot).crossTileID=tr>=0&&Ot!==tr?0:$t)}markUsedOrientation(Ge,mt,Dt){const Lt=mt===Se.WritingMode.horizontal||mt===Se.WritingMode.horizontalOnly?mt:0,Rt=mt===Se.WritingMode.vertical?mt:0,{leftJustifiedTextSymbolIndex:Bt,centerJustifiedTextSymbolIndex:Ft,rightJustifiedTextSymbolIndex:Ot,verticalPlacedTextSymbolIndex:$t}=Dt,Ni=Ge.text.placedSymbolArray;Bt>=0&&(Ni.get(Bt).placedOrientation=Lt),Ft>=0&&(Ni.get(Ft).placedOrientation=Lt),Ot>=0&&(Ni.get(Ot).placedOrientation=Lt),$t>=0&&(Ni.get($t).placedOrientation=Rt)}commit(Se){this.commitTime=Se,this.zoomAtLastRecencyCheck=this.transform.zoom;const Ge=this.prevPlacement;let mt=!1;this.prevZoomAdjustment=Ge?Ge.zoomAdjustment(this.transform.zoom):0;const Dt=Ge?Ge.symbolFadeChange(Se):1,Lt=Ge?Ge.opacities:{},Rt=Ge?Ge.variableOffsets:{},Bt=Ge?Ge.placedOrientations:{};for(const Se in this.placements){const Ge=this.placements[Se],Rt=Lt[Se];Rt?(this.opacities[Se]=new bt(Rt,Dt,Ge.text,Ge.icon,null,Ge.clipped),mt=mt||Ge.text!==Rt.text.placed||Ge.icon!==Rt.icon.placed):(this.opacities[Se]=new bt(null,Dt,Ge.text,Ge.icon,Ge.skipFade,Ge.clipped),mt=mt||Ge.text||Ge.icon)}for(const Se in Lt){const Ge=Lt[Se];if(!this.opacities[Se]){const Lt=new bt(Ge,Dt,!1,!1);Lt.isHidden()||(this.opacities[Se]=Lt,mt=mt||Ge.text.placed||Ge.icon.placed)}}for(const Se in Rt)this.variableOffsets[Se]||!this.opacities[Se]||this.opacities[Se].isHidden()||(this.variableOffsets[Se]=Rt[Se]);for(const Se in Bt)this.placedOrientations[Se]||!this.opacities[Se]||this.opacities[Se].isHidden()||(this.placedOrientations[Se]=Bt[Se]);mt?this.lastPlacementChangeTime=Se:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=Ge?Ge.lastPlacementChangeTime:Se)}updateLayerOpacities(Se,Ge){const mt=new Set;for(const Dt of Ge){const Ge=Dt.getBucket(Se);Ge&&Dt.latestFeatureIndex&&Se.id===Ge.layerIds[0]&&this.updateBucketOpacities(Ge,mt,Dt.collisionBoxArray)}}updateBucketOpacities(Ge,mt,Dt){Ge.hasTextData()&&Ge.text.opacityVertexArray.clear(),Ge.hasIconData()&&Ge.icon.opacityVertexArray.clear(),Ge.hasIconCollisionBoxData()&&Ge.iconCollisionBox.collisionVertexArray.clear(),Ge.hasTextCollisionBoxData()&&Ge.textCollisionBox.collisionVertexArray.clear();const Lt=Ge.layers[0].layout,Rt=!!Ge.layers[0].dynamicFilter(),Bt=new bt(null,0,!1,!1,!0),Ft=Lt.get(\"text-allow-overlap\"),Ot=Lt.get(\"icon-allow-overlap\"),$t=Lt.get(\"text-variable-anchor\"),Ni=\"map\"===Lt.get(\"text-rotation-alignment\"),tr=\"map\"===Lt.get(\"text-pitch-alignment\"),Lr=\"none\"!==Lt.get(\"icon-text-fit\"),Rr=new bt(null,0,Ft&&(Ot||!Ge.hasIconData()||Lt.get(\"icon-optional\")),Ot&&(Ft||!Ge.hasTextData()||Lt.get(\"text-optional\")),!0);!Ge.collisionArrays&&Dt&&(Ge.hasIconCollisionBoxData()||Ge.hasTextCollisionBoxData())&&Ge.deserializeCollisionBoxes(Dt);const p=(Se,Ge,mt)=>{for(let Dt=0;Dt<Ge/4;Dt++)Se.opacityVertexArray.emplaceBack(mt)};let Qr=0;for(let Dt=0;Dt<Ge.symbolInstances.length;Dt++){const Lt=Ge.symbolInstances.get(Dt),{numHorizontalGlyphVertices:Ft,numVerticalGlyphVertices:Ot,crossTileID:an,numIconVertices:ln}=Lt,pn=mt.has(an);let fn=this.opacities[an];pn?fn=Bt:fn||(fn=Rr,this.opacities[an]=fn),mt.add(an);const mn=Ft>0||Ot>0,_n=ln>0,bn=this.placedOrientations[an],wn=bn===Se.WritingMode.vertical,Tn=bn===Se.WritingMode.horizontal||bn===Se.WritingMode.horizontalOnly;if(!mn&&!_n||fn.isHidden()||Qr++,mn){const Se=kt(fn.text);p(Ge.text,Ft,wn?kn:Se),p(Ge.text,Ot,Tn?kn:Se);const mt=fn.text.isHidden(),{leftJustifiedTextSymbolIndex:Dt,centerJustifiedTextSymbolIndex:Rt,rightJustifiedTextSymbolIndex:Bt,verticalPlacedTextSymbolIndex:$t}=Lt,Ni=Ge.text.placedSymbolArray,tr=mt||wn?1:0;Dt>=0&&(Ni.get(Dt).hidden=tr),Rt>=0&&(Ni.get(Rt).hidden=tr),Bt>=0&&(Ni.get(Bt).hidden=tr),$t>=0&&(Ni.get($t).hidden=mt||Tn?1:0);const Lr=this.variableOffsets[an];Lr&&this.markUsedJustification(Ge,Lr.anchor,Lt,bn);const Rr=this.placedOrientations[an];Rr&&(this.markUsedJustification(Ge,\"left\",Lt,Rr),this.markUsedOrientation(Ge,Rr,Lt))}if(_n){const Se=kt(fn.icon),{placedIconSymbolIndex:mt,verticalPlacedIconSymbolIndex:Dt}=Lt,Rt=Ge.icon.placedSymbolArray,Bt=fn.icon.isHidden()?1:0;mt>=0&&(p(Ge.icon,ln,wn?kn:Se),Rt.get(mt).hidden=Bt),Dt>=0&&(p(Ge.icon,Lt.numVerticalIconVertices,Tn?kn:Se),Rt.get(Dt).hidden=Bt)}if(Ge.hasIconCollisionBoxData()||Ge.hasTextCollisionBoxData()){const mt=Ge.collisionArrays[Dt];if(mt){let Dt=new Se.Point(0,0),Lt=!0;if(mt.textBox||mt.verticalTextBox){if($t){const Se=this.variableOffsets[an];Se?(Dt=Mt(Se.anchor,Se.width,Se.height,Se.textOffset,Se.textScale),Ni&&Dt._rotate(tr?this.transform.angle:-this.transform.angle)):Lt=!1}Rt&&(Lt=!fn.clipped),mt.textBox&&St(Ge.textCollisionBox.collisionVertexArray,fn.text.placed,!Lt||wn,Dt.x,Dt.y),mt.verticalTextBox&&St(Ge.textCollisionBox.collisionVertexArray,fn.text.placed,!Lt||Tn,Dt.x,Dt.y)}const Bt=Lt&&Boolean(!Tn&&mt.verticalIconBox);mt.iconBox&&St(Ge.iconCollisionBox.collisionVertexArray,fn.icon.placed,Bt,Lr?Dt.x:0,Lr?Dt.y:0),mt.verticalIconBox&&St(Ge.iconCollisionBox.collisionVertexArray,fn.icon.placed,!Bt,Lr?Dt.x:0,Lr?Dt.y:0)}}}if(Ge.fullyClipped=0===Qr,Ge.sortFeatures(this.transform.angle),this.retainedQueryData[Ge.bucketInstanceId]&&(this.retainedQueryData[Ge.bucketInstanceId].featureSortOrder=Ge.featureSortOrder),Ge.hasTextData()&&Ge.text.opacityVertexBuffer&&Ge.text.opacityVertexBuffer.updateData(Ge.text.opacityVertexArray),Ge.hasIconData()&&Ge.icon.opacityVertexBuffer&&Ge.icon.opacityVertexBuffer.updateData(Ge.icon.opacityVertexArray),Ge.hasIconCollisionBoxData()&&Ge.iconCollisionBox.collisionVertexBuffer&&Ge.iconCollisionBox.collisionVertexBuffer.updateData(Ge.iconCollisionBox.collisionVertexArray),Ge.hasTextCollisionBoxData()&&Ge.textCollisionBox.collisionVertexBuffer&&Ge.textCollisionBox.collisionVertexBuffer.updateData(Ge.textCollisionBox.collisionVertexArray),Ge.bucketInstanceId in this.collisionCircleArrays){const Se=this.collisionCircleArrays[Ge.bucketInstanceId];Ge.placementInvProjMatrix=Se.invProjMatrix,Ge.placementViewportMatrix=Se.viewportMatrix,Ge.collisionCircleArray=Se.circles,delete this.collisionCircleArrays[Ge.bucketInstanceId]}}symbolFadeChange(Se){return 0===this.fadeDuration?1:(Se-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(Se){return Math.max(0,(this.transform.zoom-Se)/1.5)}hasTransitions(Se){return this.stale||Se-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(Se,Ge){const mt=this.zoomAtLastRecencyCheck===Ge?1-this.zoomAdjustment(Ge):1;return this.zoomAtLastRecencyCheck=Ge,this.commitTime+this.fadeDuration*mt>Se}setStale(){this.stale=!0}}function St(Se,Ge,mt,Dt,Lt){Se.emplaceBack(Ge?1:0,mt?1:0,Dt||0,Lt||0),Se.emplaceBack(Ge?1:0,mt?1:0,Dt||0,Lt||0),Se.emplaceBack(Ge?1:0,mt?1:0,Dt||0,Lt||0),Se.emplaceBack(Ge?1:0,mt?1:0,Dt||0,Lt||0)}const _n=Math.pow(2,25),bn=Math.pow(2,24),wn=Math.pow(2,17),Tn=Math.pow(2,16),Sn=Math.pow(2,9),An=Math.pow(2,8),Pn=Math.pow(2,1);function kt(Se){if(0===Se.opacity&&!Se.placed)return 0;if(1===Se.opacity&&Se.placed)return 4294967295;const Ge=Se.placed?1:0,mt=Math.floor(127*Se.opacity);return mt*_n+Ge*bn+mt*wn+Ge*Tn+mt*Sn+Ge*An+mt*Pn+Ge}const kn=0;class Ut{constructor(Se){this._sortAcrossTiles=\"viewport-y\"!==Se.layout.get(\"symbol-z-order\")&&void 0!==Se.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs=new Set,this._bucketParts=[]}continuePlacement(Se,Ge,mt,Dt,Lt){const Rt=this._bucketParts;for(;this._currentTileIndex<Se.length;)if(Ge.getBucketParts(Rt,Dt,Se[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,Lt())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,Rt.sort(((Se,Ge)=>Se.sortKey-Ge.sortKey)));this._currentPartIndex<Rt.length;){const Se=Rt[this._currentPartIndex];if(Ge.placeLayerBucketPart(Se,this._seenCrossTileIDs,mt,0===Se.symbolInstanceStart),this._currentPartIndex++,Lt())return!0}return!1}}class Nt{constructor(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft){this.placement=new Pt(Se,Lt,Rt,Bt,Ft),this._currentPlacementIndex=Ge.length-1,this._forceFullPlacement=mt,this._showCollisionBoxes=Dt,this._done=!1}isDone(){return this._done}continuePlacement(Ge,mt,Dt){const Lt=Se.exported.now(),n=()=>{const Ge=Se.exported.now()-Lt;return!this._forceFullPlacement&&Ge>2};for(;this._currentPlacementIndex>=0;){const Se=mt[Ge[this._currentPlacementIndex]],Lt=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===Se.type&&(!Se.minzoom||Se.minzoom<=Lt)&&(!Se.maxzoom||Se.maxzoom>Lt)){if(this._inProgressLayer||(this._inProgressLayer=new Ut(Se)),this._inProgressLayer.continuePlacement(Dt[Se.source],this.placement,this._showCollisionBoxes,Se,n))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(Se){return this.placement.commit(Se),this.placement}}const eo=512/Se.EXTENT/2;class Gt{constructor(Ge,mt,Dt){this.tileID=Ge,this.bucketInstanceId=Dt,this.index=new Se.KDBush(mt.length,16,Int32Array),this.keys=[],this.crossTileIDs=[];const Lt=Ge.canonical.x*Se.EXTENT,Rt=Ge.canonical.y*Se.EXTENT;for(let Se=0;Se<mt.length;Se++){const{key:Ge,crossTileID:Dt,tileAnchorX:Bt,tileAnchorY:Ft}=mt.get(Se),Ot=Math.floor((Lt+Bt)*eo),$t=Math.floor((Rt+Ft)*eo);this.index.add(Ot,$t),this.keys.push(Ge),this.crossTileIDs.push(Dt)}this.index.finish()}findMatches(Ge,mt,Dt){const Lt=this.tileID.canonical.z<mt.canonical.z?1:Math.pow(2,this.tileID.canonical.z-mt.canonical.z),Rt=eo/Math.pow(2,mt.canonical.z-this.tileID.canonical.z),Bt=mt.canonical.x*Se.EXTENT,Ft=mt.canonical.y*Se.EXTENT;for(let Se=0;Se<Ge.length;Se++){const mt=Ge.get(Se);if(mt.crossTileID)continue;const{key:Ot,tileAnchorX:$t,tileAnchorY:Ni}=mt,tr=Math.floor((Bt+$t)*Rt),Lr=Math.floor((Ft+Ni)*Rt),Rr=this.index.range(tr-Lt,Lr-Lt,tr+Lt,Lr+Lt);for(const Se of Rr){const Ge=this.crossTileIDs[Se];if(this.keys[Se]===Ot&&!Dt.has(Ge)){Dt.add(Ge),mt.crossTileID=Ge;break}}}}}class Zt{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Vt{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(Se){const Ge=Math.round((Se-this.lng)/360);if(0!==Ge)for(const Se in this.indexes){const mt=this.indexes[Se],Dt={};for(const Se in mt){const Lt=mt[Se];Lt.tileID=Lt.tileID.unwrapTo(Lt.tileID.wrap+Ge),Dt[Lt.tileID.key]=Lt}this.indexes[Se]=Dt}this.lng=Se}addBucket(Se,Ge,mt){if(this.indexes[Se.overscaledZ]&&this.indexes[Se.overscaledZ][Se.key]){if(this.indexes[Se.overscaledZ][Se.key].bucketInstanceId===Ge.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(Se.overscaledZ,this.indexes[Se.overscaledZ][Se.key])}for(let Se=0;Se<Ge.symbolInstances.length;Se++)Ge.symbolInstances.get(Se).crossTileID=0;this.usedCrossTileIDs[Se.overscaledZ]||(this.usedCrossTileIDs[Se.overscaledZ]=new Set);const Dt=this.usedCrossTileIDs[Se.overscaledZ];for(const mt in this.indexes){const Lt=this.indexes[mt];if(Number(mt)>Se.overscaledZ)for(const mt in Lt){const Rt=Lt[mt];Rt.tileID.isChildOf(Se)&&Rt.findMatches(Ge.symbolInstances,Se,Dt)}else{const Rt=Lt[Se.scaledTo(Number(mt)).key];Rt&&Rt.findMatches(Ge.symbolInstances,Se,Dt)}}for(let Se=0;Se<Ge.symbolInstances.length;Se++){const Lt=Ge.symbolInstances.get(Se);Lt.crossTileID||(Lt.crossTileID=mt.generate(),Dt.add(Lt.crossTileID))}return void 0===this.indexes[Se.overscaledZ]&&(this.indexes[Se.overscaledZ]={}),this.indexes[Se.overscaledZ][Se.key]=new Gt(Se,Ge.symbolInstances,Ge.bucketInstanceId),!0}removeBucketCrossTileIDs(Se,Ge){for(const mt of Ge.crossTileIDs)this.usedCrossTileIDs[Se].delete(mt)}removeStaleBuckets(Se){let Ge=!1;for(const mt in this.indexes){const Dt=this.indexes[mt];for(const Lt in Dt)Se[Dt[Lt].bucketInstanceId]||(this.removeBucketCrossTileIDs(mt,Dt[Lt]),delete Dt[Lt],Ge=!0)}return Ge}}class Wt{constructor(){this.layerIndexes={},this.crossTileIDs=new Zt,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(Se,Ge,mt,Dt){let Lt=this.layerIndexes[Se.id];void 0===Lt&&(Lt=this.layerIndexes[Se.id]=new Vt);let Rt=!1;const Bt={};\"globe\"!==Dt.name&&Lt.handleWrapJump(mt);for(const mt of Ge){const Ge=mt.getBucket(Se);Ge&&Se.id===Ge.layerIds[0]&&(Ge.bucketInstanceId||(Ge.bucketInstanceId=++this.maxBucketInstanceId),Lt.addBucket(mt.tileID,Ge,this.crossTileIDs)&&(Rt=!0),Bt[Ge.bucketInstanceId]=!0)}return Lt.removeStaleBuckets(Bt)&&(Rt=!0),Rt}pruneUnusedLayers(Se){const Ge={};Se.forEach((Se=>{Ge[Se]=!0}));for(const Se in this.layerIndexes)Ge[Se]||delete this.layerIndexes[Se]}}const Xt=(Ge,mt)=>Se.emitValidationErrors(Ge,mt&&mt.filter((Se=>\"source.canvas\"!==Se.identifier))),ao=Se.pick(ln,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\",\"setTerrain\",\"setFog\",\"setProjection\"]),Oo=Se.pick(ln,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Qo={version:8,layers:[],sources:{}},ts={fill:!0,line:!0,background:!0,hillshade:!0,raster:!0};class Kt extends Se.Evented{constructor(Ge,mt={}){super(),this.map=Ge,this.dispatcher=new S(Ue(),this),this.imageManager=new y,this.imageManager.setEventedParent(this),this.glyphManager=new Se.GlyphManager(Ge._requestManager,mt.localFontFamily?Se.LocalGlyphMode.all:mt.localIdeographFontFamily?Se.LocalGlyphMode.ideographs:Se.LocalGlyphMode.none,mt.localFontFamily||mt.localIdeographFontFamily),this.crossTileSymbolIndex=new Wt,this._layers={},this._num3DLayers=0,this._numSymbolLayers=0,this._numCircleLayers=0,this._serializedLayers={},this._sourceCaches={},this._otherSourceCaches={},this._symbolSourceCaches={},this._loaded=!1,this._availableImages=[],this._order=[],this._drapedFirstOrder=[],this._markersNeedUpdate=!1,this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",Se.getReferrer());const Dt=this;this._rtlTextPluginCallback=Kt.registerForPluginStateChange((Ge=>{Dt.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:Ge.pluginStatus,pluginURL:Ge.pluginURL},((Ge,mt)=>{if(Se.triggerPluginCompletionEvent(Ge),mt&&mt.every((Se=>Se)))for(const Se in Dt._sourceCaches){const Ge=Dt._sourceCaches[Se],mt=Ge.getSource().type;\"vector\"!==mt&&\"geojson\"!==mt||Ge.reload()}}))})),this.on(\"data\",(Se=>{if(\"source\"!==Se.dataType||\"metadata\"!==Se.sourceDataType)return;const Ge=this.getSource(Se.sourceId);if(Ge&&Ge.vectorLayerIds)for(const Se in this._layers){const mt=this._layers[Se];mt.source===Ge.id&&this._validateLayer(mt)}}))}loadURL(Ge,mt={}){this.fire(new Se.Event(\"dataloading\",{dataType:\"style\"}));const Dt=\"boolean\"==typeof mt.validate?mt.validate:!Se.isMapboxURL(Ge);Ge=this.map._requestManager.normalizeStyleURL(Ge,mt.accessToken);const Lt=this.map._requestManager.transformRequest(Ge,Se.ResourceType.Style);this._request=Se.getJSON(Lt,((Ge,mt)=>{this._request=null,Ge?this.fire(new Se.ErrorEvent(Ge)):mt&&this._load(mt,Dt)}))}loadJSON(Ge,mt={}){this.fire(new Se.Event(\"dataloading\",{dataType:\"style\"})),this._request=Se.exported.frame((()=>{this._request=null,this._load(Ge,!1!==mt.validate)}))}loadEmpty(){this.fire(new Se.Event(\"dataloading\",{dataType:\"style\"})),this._load(Qo,!1)}_updateLayerCount(Se,Ge){const mt=Ge?1:-1;Se.is3D()&&(this._num3DLayers+=mt),\"circle\"===Se.type&&(this._numCircleLayers+=mt),\"symbol\"===Se.type&&(this._numSymbolLayers+=mt)}_load(Ge,mt){if(mt&&Xt(this,Se.validateStyle(Ge)))return;this._loaded=!0,this.stylesheet=Se.clone$1(Ge),this._updateMapProjection();for(const Se in Ge.sources)this.addSource(Se,Ge.sources[Se],{validate:!1});this._changed=!1,Ge.sprite?this._loadSprite(Ge.sprite):(this.imageManager.setLoaded(!0),this.dispatcher.broadcast(\"spriteLoaded\",!0)),this.glyphManager.setURL(Ge.glyphs);const Dt=je(this.stylesheet.layers);this._order=Dt.map((Se=>Se.id)),this._layers={},this._serializedLayers={};for(const Ge of Dt){const mt=Se.createStyleLayer(Ge);mt.setEventedParent(this,{layer:{id:mt.id}}),this._layers[mt.id]=mt,this._serializedLayers[mt.id]=mt.serialize(),this._updateLayerCount(mt,!0)}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.stylesheet.terrain&&!this.terrainSetForDrapingOnly()&&this._createTerrain(this.stylesheet.terrain,1),this.stylesheet.fog&&this._createFog(this.stylesheet.fog),this._updateDrapeFirstLayers(),this.fire(new Se.Event(\"data\",{dataType:\"style\"})),this.fire(new Se.Event(\"style.load\"))}terrainSetForDrapingOnly(){return!!this.terrain&&0===this.terrain.drapeRenderMode}setProjection(Se){Se?this.stylesheet.projection=Se:delete this.stylesheet.projection,this._updateMapProjection()}applyProjectionUpdate(){this._loaded&&(this.dispatcher.broadcast(\"setProjection\",this.map.transform.projectionOptions),this.map.transform.projection.requiresDraping?this.getTerrain()||this.stylesheet.terrain||this.setTerrainForDraping():this.terrainSetForDrapingOnly()&&this.setTerrain(null))}_updateMapProjection(){this.map._useExplicitProjection?this.applyProjectionUpdate():this.map._prioritizeAndUpdateProjection(null,this.stylesheet.projection)}_loadSprite(Ge){this._spriteRequest=function(Ge,mt,Dt){let Lt,Rt,Bt;const Ft=Se.exported.devicePixelRatio>1?\"@2x\":\"\";let Ot=Se.getJSON(mt.transformRequest(mt.normalizeSpriteURL(Ge,Ft,\".json\"),Se.ResourceType.SpriteJSON),((Se,Ge)=>{Ot=null,Bt||(Bt=Se,Lt=Ge,h())})),$t=Se.getImage(mt.transformRequest(mt.normalizeSpriteURL(Ge,Ft,\".png\"),Se.ResourceType.SpriteImage),((Se,Ge)=>{$t=null,Bt||(Bt=Se,Rt=Ge,h())}));function h(){if(Bt)Dt(Bt);else if(Lt&&Rt){const Ge=Se.exported.getImageData(Rt),mt={};for(const Dt in Lt){const{width:Rt,height:Bt,x:Ft,y:Ot,sdf:$t,pixelRatio:Ni,stretchX:tr,stretchY:Lr,content:Rr}=Lt[Dt],Qr=new Se.RGBAImage({width:Rt,height:Bt});Se.RGBAImage.copy(Ge,Qr,{x:Ft,y:Ot},{x:0,y:0},{width:Rt,height:Bt}),mt[Dt]={data:Qr,pixelRatio:Ni,sdf:$t,stretchX:tr,stretchY:Lr,content:Rr}}Dt(null,mt)}}return{cancel(){Ot&&(Ot.cancel(),Ot=null),$t&&($t.cancel(),$t=null)}}}(Ge,this.map._requestManager,((Ge,mt)=>{if(this._spriteRequest=null,Ge)this.fire(new Se.ErrorEvent(Ge));else if(mt)for(const Se in mt)this.imageManager.addImage(Se,mt[Se]);this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.dispatcher.broadcast(\"spriteLoaded\",!0),this.fire(new Se.Event(\"data\",{dataType:\"style\"}))}))}_validateLayer(Ge){const mt=this.getSource(Ge.source);if(!mt)return;const Dt=Ge.sourceLayer;Dt&&(\"geojson\"===mt.type||mt.vectorLayerIds&&-1===mt.vectorLayerIds.indexOf(Dt))&&this.fire(new Se.ErrorEvent(new Error(`Source layer \"${Dt}\" does not exist on source \"${mt.id}\" as specified by style layer \"${Ge.id}\"`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const Se in this._sourceCaches)if(!this._sourceCaches[Se].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeLayers(Se){const Ge=[];for(const mt of Se){const Se=this._layers[mt];\"custom\"!==Se.type&&Ge.push(Se.serialize())}return Ge}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.fog&&this.fog.hasTransition())return!0;for(const Se in this._sourceCaches)if(this._sourceCaches[Se].hasTransition())return!0;for(const Se in this._layers)if(this._layers[Se].hasTransition())return!0;return!1}get order(){return this.map._optimizeForTerrain&&this.terrain?this._drapedFirstOrder:this._order}isLayerDraped(Se){return!!this.terrain&&(\"function\"==typeof Se.isLayerDraped?Se.isLayerDraped():ts[Se.type])}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading\")}update(Ge){if(!this._loaded)return;const mt=this._changed;if(this._changed){const Se=Object.keys(this._updatedLayers),mt=Object.keys(this._removedLayers);(Se.length||mt.length)&&this._updateWorkerLayers(Se,mt);for(const Se in this._updatedSources){const Ge=this._updatedSources[Se];\"reload\"===Ge?this._reloadSource(Se):\"clear\"===Ge&&this._clearSource(Se)}this._updateTilesForChangedImages();for(const Se in this._updatedPaintProps)this._layers[Se].updateTransitions(Ge);this.light.updateTransitions(Ge),this.fog&&this.fog.updateTransitions(Ge),this._resetUpdates()}const Dt={};for(const Se in this._sourceCaches){const Ge=this._sourceCaches[Se];Dt[Se]=Ge.used,Ge.used=!1}for(const Se of this._order){const mt=this._layers[Se];if(mt.recalculate(Ge,this._availableImages),!mt.isHidden(Ge.zoom)){const Se=this._getLayerSourceCache(mt);Se&&(Se.used=!0)}const Dt=this.map.painter;if(Dt){const Se=mt.getProgramIds();if(!Se)continue;const Lt=mt.getProgramConfiguration(Ge.zoom);for(const Ge of Se)Dt.useProgram(Ge,Lt)}}for(const Ge in Dt){const mt=this._sourceCaches[Ge];Dt[Ge]!==mt.used&&mt.getSource().fire(new Se.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:mt.getSource().id}))}this.light.recalculate(Ge),this.terrain&&this.terrain.recalculate(Ge),this.fog&&this.fog.recalculate(Ge),this.z=Ge.zoom,this._markersNeedUpdate&&(this._updateMarkersOpacity(),this._markersNeedUpdate=!1),mt&&this.fire(new Se.Event(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){const Se=Object.keys(this._changedImages);if(Se.length){for(const Ge in this._sourceCaches)this._sourceCaches[Ge].reloadTilesForDependencies([\"icons\",\"patterns\"],Se);this._changedImages={}}}_updateWorkerLayers(Se,Ge){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(Se),removedIds:Ge})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}}setState(Ge){if(this._checkLoaded(),Xt(this,Se.validateStyle(Ge)))return!1;(Ge=Se.clone$1(Ge)).layers=je(Ge.layers);const mt=function(Se,Ge){if(!Se)return[{command:ln.setStyle,args:[Ge]}];let mt=[];try{if(!t(Se.version,Ge.version))return[{command:ln.setStyle,args:[Ge]}];t(Se.center,Ge.center)||mt.push({command:ln.setCenter,args:[Ge.center]}),t(Se.zoom,Ge.zoom)||mt.push({command:ln.setZoom,args:[Ge.zoom]}),t(Se.bearing,Ge.bearing)||mt.push({command:ln.setBearing,args:[Ge.bearing]}),t(Se.pitch,Ge.pitch)||mt.push({command:ln.setPitch,args:[Ge.pitch]}),t(Se.sprite,Ge.sprite)||mt.push({command:ln.setSprite,args:[Ge.sprite]}),t(Se.glyphs,Ge.glyphs)||mt.push({command:ln.setGlyphs,args:[Ge.glyphs]}),t(Se.transition,Ge.transition)||mt.push({command:ln.setTransition,args:[Ge.transition]}),t(Se.light,Ge.light)||mt.push({command:ln.setLight,args:[Ge.light]}),t(Se.fog,Ge.fog)||mt.push({command:ln.setFog,args:[Ge.fog]}),t(Se.projection,Ge.projection)||mt.push({command:ln.setProjection,args:[Ge.projection]});const Dt={},Lt=[];!function(Se,Ge,mt,Dt){let Lt;for(Lt in Ge=Ge||{},Se=Se||{})Se.hasOwnProperty(Lt)&&(Ge.hasOwnProperty(Lt)||Ve(Lt,mt,Dt));for(Lt in Ge){if(!Ge.hasOwnProperty(Lt))continue;const Rt=Ge[Lt];Se.hasOwnProperty(Lt)?t(Se[Lt],Rt)||(\"geojson\"===Se[Lt].type&&\"geojson\"===Rt.type&&Xe(Se,Ge,Lt)?mt.push({command:ln.setGeoJSONSourceData,args:[Lt,Rt.data]}):We(Lt,Ge,mt,Dt)):Ze(Lt,Ge,mt)}}(Se.sources,Ge.sources,Lt,Dt);const Rt=[];Se.layers&&Se.layers.forEach((Se=>{Se.source&&Dt[Se.source]?mt.push({command:ln.removeLayer,args:[Se.id]}):Rt.push(Se)}));let Bt=Se.terrain;Bt&&Dt[Bt.source]&&(mt.push({command:ln.setTerrain,args:[void 0]}),Bt=void 0),mt=mt.concat(Lt),t(Bt,Ge.terrain)||mt.push({command:ln.setTerrain,args:[Ge.terrain]}),function(Se,Ge,mt){Ge=Ge||[];const Dt=(Se=Se||[]).map($e),Lt=Ge.map($e),Rt=Se.reduce(He,{}),Bt=Ge.reduce(He,{}),Ft=Dt.slice(),Ot=Object.create(null);let $t,Ni,tr,Lr,Rr,Qr,an;for($t=0,Ni=0;$t<Dt.length;$t++)tr=Dt[$t],Bt.hasOwnProperty(tr)?Ni++:(mt.push({command:ln.removeLayer,args:[tr]}),Ft.splice(Ft.indexOf(tr,Ni),1));for($t=0,Ni=0;$t<Lt.length;$t++)tr=Lt[Lt.length-1-$t],Ft[Ft.length-1-$t]!==tr&&(Rt.hasOwnProperty(tr)?(mt.push({command:ln.removeLayer,args:[tr]}),Ft.splice(Ft.lastIndexOf(tr,Ft.length-Ni),1)):Ni++,Qr=Ft[Ft.length-$t],mt.push({command:ln.addLayer,args:[Bt[tr],Qr]}),Ft.splice(Ft.length-$t,0,tr),Ot[tr]=!0);for($t=0;$t<Lt.length;$t++)if(tr=Lt[$t],Lr=Rt[tr],Rr=Bt[tr],!Ot[tr]&&!t(Lr,Rr))if(t(Lr.source,Rr.source)&&t(Lr[\"source-layer\"],Rr[\"source-layer\"])&&t(Lr.type,Rr.type)){for(an in qe(Lr.layout,Rr.layout,mt,tr,null,ln.setLayoutProperty),qe(Lr.paint,Rr.paint,mt,tr,null,ln.setPaintProperty),t(Lr.filter,Rr.filter)||mt.push({command:ln.setFilter,args:[tr,Rr.filter]}),t(Lr.minzoom,Rr.minzoom)&&t(Lr.maxzoom,Rr.maxzoom)||mt.push({command:ln.setLayerZoomRange,args:[tr,Rr.minzoom,Rr.maxzoom]}),Lr)Lr.hasOwnProperty(an)&&\"layout\"!==an&&\"paint\"!==an&&\"filter\"!==an&&\"metadata\"!==an&&\"minzoom\"!==an&&\"maxzoom\"!==an&&(0===an.indexOf(\"paint.\")?qe(Lr[an],Rr[an],mt,tr,an.slice(6),ln.setPaintProperty):t(Lr[an],Rr[an])||mt.push({command:ln.setLayerProperty,args:[tr,an,Rr[an]]}));for(an in Rr)Rr.hasOwnProperty(an)&&!Lr.hasOwnProperty(an)&&\"layout\"!==an&&\"paint\"!==an&&\"filter\"!==an&&\"metadata\"!==an&&\"minzoom\"!==an&&\"maxzoom\"!==an&&(0===an.indexOf(\"paint.\")?qe(Lr[an],Rr[an],mt,tr,an.slice(6),ln.setPaintProperty):t(Lr[an],Rr[an])||mt.push({command:ln.setLayerProperty,args:[tr,an,Rr[an]]}))}else mt.push({command:ln.removeLayer,args:[tr]}),Qr=Ft[Ft.lastIndexOf(tr)+1],mt.push({command:ln.addLayer,args:[Rr,Qr]})}(Rt,Ge.layers,mt)}catch(Se){console.warn(\"Unable to compute style diff:\",Se),mt=[{command:ln.setStyle,args:[Ge]}]}return mt}(this.serialize(),Ge).filter((Se=>!(Se.command in Oo)));if(0===mt.length)return!1;const Dt=mt.filter((Se=>!(Se.command in ao)));if(Dt.length>0)throw new Error(`Unimplemented: ${Dt.map((Se=>Se.command)).join(\", \")}.`);return mt.forEach((Se=>{\"setTransition\"!==Se.command&&\"setProjection\"!==Se.command&&this[Se.command].apply(this,Se.args)})),this.stylesheet=Ge,this._updateMapProjection(),!0}addImage(Ge,mt){return this.getImage(Ge)?this.fire(new Se.ErrorEvent(new Error(\"An image with this name already exists.\"))):(this.imageManager.addImage(Ge,mt),this._afterImageUpdated(Ge),this)}updateImage(Se,Ge){this.imageManager.updateImage(Se,Ge)}getImage(Se){return this.imageManager.getImage(Se)}removeImage(Ge){return this.getImage(Ge)?(this.imageManager.removeImage(Ge),this._afterImageUpdated(Ge),this):this.fire(new Se.ErrorEvent(new Error(\"No image with this name exists.\")))}_afterImageUpdated(Ge){this._availableImages=this.imageManager.listImages(),this._changedImages[Ge]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new Se.Event(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this._availableImages.slice()}addSource(Ge,mt,Dt={}){if(this._checkLoaded(),void 0!==this.getSource(Ge))throw new Error(\"There is already a source with this ID\");if(!mt.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(mt).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(mt.type)>=0&&this._validate(Se.validateSource,`sources.${Ge}`,mt,null,Dt))return;this.map&&this.map._collectResourceTiming&&(mt.collectResourceTiming=!0);const Lt=De(Ge,mt,this.dispatcher,this);Lt.setEventedParent(this,(()=>({isSourceLoaded:this._isSourceCacheLoaded(Ge),source:Lt.serialize(),sourceId:Ge})));const n=mt=>{const Dt=(mt?\"symbol:\":\"other:\")+Ge,Rt=this._sourceCaches[Dt]=new Se.SourceCache(Dt,Lt,mt);(mt?this._symbolSourceCaches:this._otherSourceCaches)[Ge]=Rt,Rt.style=this,Rt.onAdd(this.map)};n(!1),\"vector\"!==mt.type&&\"geojson\"!==mt.type||n(!0),Lt.onAdd&&Lt.onAdd(this.map),this._changed=!0}removeSource(Ge){this._checkLoaded();const mt=this.getSource(Ge);if(!mt)throw new Error(\"There is no source with this ID\");for(const mt in this._layers)if(this._layers[mt].source===Ge)return this.fire(new Se.ErrorEvent(new Error(`Source \"${Ge}\" cannot be removed while layer \"${mt}\" is using it.`)));if(this.terrain&&this.terrain.get().source===Ge)return this.fire(new Se.ErrorEvent(new Error(`Source \"${Ge}\" cannot be removed while terrain is using it.`)));const Dt=this._getSourceCaches(Ge);for(const Ge of Dt)delete this._sourceCaches[Ge.id],delete this._updatedSources[Ge.id],Ge.fire(new Se.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:Ge.getSource().id})),Ge.setEventedParent(null),Ge.clearTiles();return delete this._otherSourceCaches[Ge],delete this._symbolSourceCaches[Ge],mt.setEventedParent(null),mt.onRemove&&mt.onRemove(this.map),this._changed=!0,this}setGeoJSONSourceData(Se,Ge){this._checkLoaded(),this.getSource(Se).setData(Ge),this._changed=!0}getSource(Se){const Ge=this._getSourceCache(Se);return Ge&&Ge.getSource()}_getSources(){const Se=[];for(const Ge in this._otherSourceCaches){const mt=this._getSourceCache(Ge);mt&&Se.push(mt.getSource())}return Se}addLayer(Ge,mt,Dt={}){this._checkLoaded();const Lt=Ge.id;if(this.getLayer(Lt))return void this.fire(new Se.ErrorEvent(new Error(`Layer with id \"${Lt}\" already exists on this map`)));let Rt;if(\"custom\"===Ge.type){if(Xt(this,Se.validateCustomStyleLayer(Ge)))return;Rt=Se.createStyleLayer(Ge)}else{if(\"object\"==typeof Ge.source&&(this.addSource(Lt,Ge.source),Ge=Se.clone$1(Ge),Ge=Se.extend(Ge,{source:Lt})),this._validate(Se.validateLayer,`layers.${Lt}`,Ge,{arrayIndex:-1},Dt))return;Rt=Se.createStyleLayer(Ge),this._validateLayer(Rt),Rt.setEventedParent(this,{layer:{id:Lt}}),this._serializedLayers[Rt.id]=Rt.serialize(),this._updateLayerCount(Rt,!0)}const Bt=mt?this._order.indexOf(mt):this._order.length;if(mt&&-1===Bt)return void this.fire(new Se.ErrorEvent(new Error(`Layer with id \"${mt}\" does not exist on this map.`)));this._order.splice(Bt,0,Lt),this._layerOrderChanged=!0,this._layers[Lt]=Rt;const Ft=this._getLayerSourceCache(Rt);if(this._removedLayers[Lt]&&Rt.source&&Ft&&\"custom\"!==Rt.type){const Se=this._removedLayers[Lt];delete this._removedLayers[Lt],Se.type!==Rt.type?this._updatedSources[Rt.source]=\"clear\":(this._updatedSources[Rt.source]=\"reload\",Ft.pause())}this._updateLayer(Rt),Rt.onAdd&&Rt.onAdd(this.map),this._updateDrapeFirstLayers()}moveLayer(Ge,mt){if(this._checkLoaded(),this._changed=!0,!this._layers[Ge])return void this.fire(new Se.ErrorEvent(new Error(`The layer '${Ge}' does not exist in the map's style and cannot be moved.`)));if(Ge===mt)return;const Dt=this._order.indexOf(Ge);this._order.splice(Dt,1);const Lt=mt?this._order.indexOf(mt):this._order.length;mt&&-1===Lt?this.fire(new Se.ErrorEvent(new Error(`Layer with id \"${mt}\" does not exist on this map.`))):(this._order.splice(Lt,0,Ge),this._layerOrderChanged=!0,this._updateDrapeFirstLayers())}removeLayer(Ge){this._checkLoaded();const mt=this._layers[Ge];if(!mt)return void this.fire(new Se.ErrorEvent(new Error(`The layer '${Ge}' does not exist in the map's style and cannot be removed.`)));mt.setEventedParent(null),this._updateLayerCount(mt,!1);const Dt=this._order.indexOf(Ge);this._order.splice(Dt,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[Ge]=mt,delete this._layers[Ge],delete this._serializedLayers[Ge],delete this._updatedLayers[Ge],delete this._updatedPaintProps[Ge],mt.onRemove&&mt.onRemove(this.map),this._updateDrapeFirstLayers()}getLayer(Se){return this._layers[Se]}hasLayer(Se){return Se in this._layers}hasLayerType(Se){for(const Ge in this._layers)if(this._layers[Ge].type===Se)return!0;return!1}setLayerZoomRange(Ge,mt,Dt){this._checkLoaded();const Lt=this.getLayer(Ge);Lt?Lt.minzoom===mt&&Lt.maxzoom===Dt||(null!=mt&&(Lt.minzoom=mt),null!=Dt&&(Lt.maxzoom=Dt),this._updateLayer(Lt)):this.fire(new Se.ErrorEvent(new Error(`The layer '${Ge}' does not exist in the map's style and cannot have zoom extent.`)))}setFilter(Ge,mt,Dt={}){this._checkLoaded();const Lt=this.getLayer(Ge);if(Lt){if(!t(Lt.filter,mt))return null==mt?(Lt.filter=void 0,void this._updateLayer(Lt)):void(this._validate(Se.validateFilter,`layers.${Lt.id}.filter`,mt,{layerType:Lt.type},Dt)||(Lt.filter=Se.clone$1(mt),this._updateLayer(Lt)))}else this.fire(new Se.ErrorEvent(new Error(`The layer '${Ge}' does not exist in the map's style and cannot be filtered.`)))}getFilter(Ge){const mt=this.getLayer(Ge);return mt&&Se.clone$1(mt.filter)}setLayoutProperty(Ge,mt,Dt,Lt={}){this._checkLoaded();const Rt=this.getLayer(Ge);Rt?t(Rt.getLayoutProperty(mt),Dt)||(Rt.setLayoutProperty(mt,Dt,Lt),this._updateLayer(Rt)):this.fire(new Se.ErrorEvent(new Error(`The layer '${Ge}' does not exist in the map's style and cannot be styled.`)))}getLayoutProperty(Ge,mt){const Dt=this.getLayer(Ge);if(Dt)return Dt.getLayoutProperty(mt);this.fire(new Se.ErrorEvent(new Error(`The layer '${Ge}' does not exist in the map's style.`)))}setPaintProperty(Ge,mt,Dt,Lt={}){this._checkLoaded();const Rt=this.getLayer(Ge);Rt?t(Rt.getPaintProperty(mt),Dt)||(Rt.setPaintProperty(mt,Dt,Lt)&&this._updateLayer(Rt),this._changed=!0,this._updatedPaintProps[Ge]=!0):this.fire(new Se.ErrorEvent(new Error(`The layer '${Ge}' does not exist in the map's style and cannot be styled.`)))}getPaintProperty(Se,Ge){const mt=this.getLayer(Se);return mt&&mt.getPaintProperty(Ge)}setFeatureState(Ge,mt){this._checkLoaded();const Dt=Ge.source,Lt=Ge.sourceLayer,Rt=this.getSource(Dt);if(!Rt)return void this.fire(new Se.ErrorEvent(new Error(`The source '${Dt}' does not exist in the map's style.`)));const Bt=Rt.type;if(\"geojson\"===Bt&&Lt)return void this.fire(new Se.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));if(\"vector\"===Bt&&!Lt)return void this.fire(new Se.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));void 0===Ge.id&&this.fire(new Se.ErrorEvent(new Error(\"The feature id parameter must be provided.\")));const Ft=this._getSourceCaches(Dt);for(const Se of Ft)Se.setFeatureState(Lt,Ge.id,mt)}removeFeatureState(Ge,mt){this._checkLoaded();const Dt=Ge.source,Lt=this.getSource(Dt);if(!Lt)return void this.fire(new Se.ErrorEvent(new Error(`The source '${Dt}' does not exist in the map's style.`)));const Rt=Lt.type,Bt=\"vector\"===Rt?Ge.sourceLayer:void 0;if(\"vector\"===Rt&&!Bt)return void this.fire(new Se.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));if(mt&&\"string\"!=typeof Ge.id&&\"number\"!=typeof Ge.id)return void this.fire(new Se.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));const Ft=this._getSourceCaches(Dt);for(const Se of Ft)Se.removeFeatureState(Bt,Ge.id,mt)}getFeatureState(Ge){this._checkLoaded();const mt=Ge.source,Dt=Ge.sourceLayer,Lt=this.getSource(mt);if(Lt){if(\"vector\"!==Lt.type||Dt)return void 0===Ge.id&&this.fire(new Se.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),this._getSourceCaches(mt)[0].getFeatureState(Dt,Ge.id);this.fire(new Se.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}else this.fire(new Se.ErrorEvent(new Error(`The source '${mt}' does not exist in the map's style.`)))}getTransition(){return Se.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){const Ge={};for(const Se in this._sourceCaches){const mt=this._sourceCaches[Se].getSource();Ge[mt.id]||(Ge[mt.id]=mt.serialize())}return Se.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,terrain:this.getTerrain()||void 0,fog:this.stylesheet.fog,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,projection:this.stylesheet.projection,sources:Ge,layers:this._serializeLayers(this._order)},(Se=>void 0!==Se))}_updateLayer(Se){this._updatedLayers[Se.id]=!0;const Ge=this._getLayerSourceCache(Se);Se.source&&!this._updatedSources[Se.source]&&Ge&&\"raster\"!==Ge.getSource().type&&(this._updatedSources[Se.source]=\"reload\",Ge.pause()),this._changed=!0,Se.invalidateCompiledFilter()}_flattenAndSortRenderedFeatures(Se){const t=Se=>\"fill-extrusion\"===this._layers[Se].type,Ge={},mt=[];for(let Dt=this._order.length-1;Dt>=0;Dt--){const Lt=this._order[Dt];if(t(Lt)){Ge[Lt]=Dt;for(const Ge of Se){const Se=Ge[Lt];if(Se)for(const Ge of Se)mt.push(Ge)}}}mt.sort(((Se,Ge)=>Ge.intersectionZ-Se.intersectionZ));const Dt=[];for(let Lt=this._order.length-1;Lt>=0;Lt--){const Rt=this._order[Lt];if(t(Rt))for(let Se=mt.length-1;Se>=0;Se--){const Rt=mt[Se].feature;if(Ge[Rt.layer.id]<Lt)break;Dt.push(Rt),mt.pop()}else for(const Ge of Se){const Se=Ge[Rt];if(Se)for(const Ge of Se)Dt.push(Ge.feature)}}return Dt}queryRenderedFeatures(Ge,mt,Dt){mt&&mt.filter&&this._validate(Se.validateFilter,\"queryRenderedFeatures.filter\",mt.filter,null,mt);const Lt={};if(mt&&mt.layers){if(!Array.isArray(mt.layers))return this.fire(new Se.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(const Ge of mt.layers){const mt=this._layers[Ge];if(!mt)return this.fire(new Se.ErrorEvent(new Error(`The layer '${Ge}' does not exist in the map's style and cannot be queried for features.`))),[];Lt[mt.source]=!0}}const Rt=[];mt.availableImages=this._availableImages;const Bt=mt&&mt.layers?mt.layers.some((Se=>{const Ge=this.getLayer(Se);return Ge&&Ge.is3D()})):this.has3DLayers(),Ft=L.createFromScreenPoints(Ge,Dt);for(const Se in this._sourceCaches){const Ge=this._sourceCaches[Se].getSource().id;mt.layers&&!Lt[Ge]||Rt.push(Ae(this._sourceCaches[Se],this._layers,this._serializedLayers,Ft,mt,Dt,Bt,!!this.map._showQueryGeometry))}return this.placement&&Rt.push(function(Se,Ge,mt,Dt,Lt,Rt,Bt){const Ft={},Ot=Rt.queryRenderedSymbols(Dt),$t=[];for(const Se of Object.keys(Ot).map(Number))$t.push(Bt[Se]);$t.sort(Re);for(const mt of $t){const Dt=mt.featureIndex.lookupSymbolFeatures(Ot[mt.bucketInstanceId],Ge,mt.bucketIndex,mt.sourceLayerIndex,Lt.filter,Lt.layers,Lt.availableImages,Se);for(const Se in Dt){const Ge=Ft[Se]=Ft[Se]||[],Lt=Dt[Se];Lt.sort(((Se,Ge)=>{const Dt=mt.featureSortOrder;if(Dt){const mt=Dt.indexOf(Se.featureIndex);return Dt.indexOf(Ge.featureIndex)-mt}return Ge.featureIndex-Se.featureIndex}));for(const Se of Lt)Ge.push(Se)}}for(const Ge in Ft)Ft[Ge].forEach((Dt=>{const Lt=Dt.feature,Rt=mt(Se[Ge]);if(!Rt)return;const Bt=Rt.getFeatureState(Lt.layer[\"source-layer\"],Lt.id);Lt.source=Lt.layer.source,Lt.layer[\"source-layer\"]&&(Lt.sourceLayer=Lt.layer[\"source-layer\"]),Lt.state=Bt}));return Ft}(this._layers,this._serializedLayers,this._getLayerSourceCache.bind(this),Ft.screenGeometry,mt,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(Rt)}querySourceFeatures(Ge,mt){mt&&mt.filter&&this._validate(Se.validateFilter,\"querySourceFeatures.filter\",mt.filter,null,mt);const Dt=this._getSourceCaches(Ge);let Lt=[];for(const Se of Dt)Lt=Lt.concat(ze(Se,mt));return Lt}addSourceType(Se,Ge,mt){return Kt.getSourceType(Se)?mt(new Error(`A source type called \"${Se}\" already exists.`)):(Kt.setSourceType(Se,Ge),Ge.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:Se,url:Ge.workerSourceURL},mt):mt(null,null))}getLight(){return this.light.getLight()}setLight(Se,Ge={}){this._checkLoaded();const mt=this.light.getLight();let Dt=!1;for(const Ge in Se)if(!t(Se[Ge],mt[Ge])){Dt=!0;break}if(!Dt)return;const Lt=this._setTransitionParameters({duration:300,delay:0});this.light.setLight(Se,Ge),this.light.updateTransitions(Lt)}getTerrain(){return this.terrain&&1===this.terrain.drapeRenderMode?this.terrain.get():null}setTerrainForDraping(){this.setTerrain({source:\"\",exaggeration:0},0)}setTerrain(Ge,mt=1){if(this._checkLoaded(),!Ge)return delete this.terrain,delete this.stylesheet.terrain,this.dispatcher.broadcast(\"enableTerrain\",!1),this._force3DLayerUpdate(),void(this._markersNeedUpdate=!0);let Dt=Ge;if(1===mt){if(\"object\"==typeof Dt.source){const Ge=\"terrain-dem-src\";this.addSource(Ge,Dt.source),Dt=Se.clone$1(Dt),Dt=Se.extend(Dt,{source:Ge})}if(this._validate(Se.validateTerrain,\"terrain\",Dt))return}if(!this.terrain||this.terrain&&mt!==this.terrain.drapeRenderMode){if(!Dt)return;this._createTerrain(Dt,mt)}else{const Ge=this.terrain,mt=Ge.get();for(const Ge of Object.keys(Se.spec.terrain))!Dt.hasOwnProperty(Ge)&&Se.spec.terrain[Ge].default&&(Dt[Ge]=Se.spec.terrain[Ge].default);for(const Se in Dt)if(!t(Dt[Se],mt[Se])){Ge.set(Dt),this.stylesheet.terrain=Dt;const Se=this._setTransitionParameters({duration:0});Ge.updateTransitions(Se);break}}this._updateDrapeFirstLayers(),this._markersNeedUpdate=!0}_createFog(Se){const Ge=this.fog=new P(Se,this.map.transform);this.stylesheet.fog=Se;const mt=this._setTransitionParameters({duration:0});Ge.updateTransitions(mt)}_updateMarkersOpacity(){0!==this.map._markers.length&&this.map._requestDomTask((()=>{for(const Se of this.map._markers)Se._evaluateOpacity()}))}getFog(){return this.fog?this.fog.get():null}setFog(Se){if(this._checkLoaded(),!Se)return delete this.fog,delete this.stylesheet.fog,void(this._markersNeedUpdate=!0);if(this.fog){const Ge=this.fog,mt=Ge.get();0===Object.keys(Se).length&&Ge.set(Se);for(const Dt in Se)if(!t(Se[Dt],mt[Dt])){Ge.set(Se),this.stylesheet.fog=Se;const mt=this._setTransitionParameters({duration:0});Ge.updateTransitions(mt);break}}else this._createFog(Se);this._markersNeedUpdate=!0}_setTransitionParameters(Ge){return{now:Se.exported.now(),transition:Se.extend(Ge,this.stylesheet.transition)}}_updateDrapeFirstLayers(){if(!this.map._optimizeForTerrain||!this.terrain)return;const Se=this._order.filter((Se=>this.isLayerDraped(this._layers[Se]))),Ge=this._order.filter((Se=>!this.isLayerDraped(this._layers[Se])));this._drapedFirstOrder=[],this._drapedFirstOrder.push(...Se),this._drapedFirstOrder.push(...Ge)}_createTerrain(Se,Ge){const mt=this.terrain=new Ot(Se,Ge);this.stylesheet.terrain=Se,this.dispatcher.broadcast(\"enableTerrain\",!this.terrainSetForDrapingOnly()),this._force3DLayerUpdate();const Dt=this._setTransitionParameters({duration:0});mt.updateTransitions(Dt)}_force3DLayerUpdate(){for(const Se in this._layers){const Ge=this._layers[Se];\"fill-extrusion\"===Ge.type&&this._updateLayer(Ge)}}_forceSymbolLayerUpdate(){for(const Se in this._layers){const Ge=this._layers[Se];\"symbol\"===Ge.type&&this._updateLayer(Ge)}}_validate(Ge,mt,Dt,Lt,Rt={}){return(!Rt||!1!==Rt.validate)&&Xt(this,Ge.call(Se.validateStyle,Se.extend({key:mt,style:this.serialize(),value:Dt,styleSpec:Se.spec},Lt)))}_remove(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),Se.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(const Se in this._layers)this._layers[Se].setEventedParent(null);for(const Se in this._sourceCaches)this._sourceCaches[Se].clearTiles(),this._sourceCaches[Se].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()}_clearSource(Se){const Ge=this._getSourceCaches(Se);for(const Se of Ge)Se.clearTiles()}_reloadSource(Se){const Ge=this._getSourceCaches(Se);for(const Se of Ge)Se.resume(),Se.reload()}_reloadSources(){for(const Se of this._getSources())Se.reload&&Se.reload()}_updateSources(Se){for(const Ge in this._sourceCaches)this._sourceCaches[Ge].update(Se)}_generateCollisionBoxes(){for(const Se in this._sourceCaches){const Ge=this._sourceCaches[Se];Ge.resume(),Ge.reload()}}_updatePlacement(Ge,mt,Dt,Lt,Rt=!1){let Bt=!1,Ft=!1;const Ot={};for(const Se of this._order){const mt=this._layers[Se];if(\"symbol\"!==mt.type)continue;if(!Ot[mt.source]){const Se=this._getLayerSourceCache(mt);if(!Se)continue;Ot[mt.source]=Se.getRenderableIds(!0).map((Ge=>Se.getTileByID(Ge))).sort(((Se,Ge)=>Ge.tileID.overscaledZ-Se.tileID.overscaledZ||(Se.tileID.isLessThan(Ge.tileID)?-1:1)))}const Dt=this.crossTileSymbolIndex.addLayer(mt,Ot[mt.source],Ge.center.lng,Ge.projection);Bt=Bt||Dt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),Rt=Rt||this._layerOrderChanged||0===Dt,this._layerOrderChanged&&this.fire(new Se.Event(\"neworder\")),(Rt||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(Se.exported.now(),Ge.zoom))&&(this.pauseablePlacement=new Nt(Ge,this._order,Rt,mt,Dt,Lt,this.placement,this.fog&&Ge.projection.supportsFog?this.fog.state:null),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Ot),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(Se.exported.now()),Ft=!0),Bt&&this.pauseablePlacement.placement.setStale()),Ft||Bt)for(const Se of this._order){const Ge=this._layers[Se];\"symbol\"===Ge.type&&this.placement.updateLayerOpacities(Ge,Ot[Ge.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(Se.exported.now())}_releaseSymbolFadeTiles(){for(const Se in this._sourceCaches)this._sourceCaches[Se].releaseSymbolFadeTiles()}getImages(Se,Ge,mt){this.imageManager.getImages(Ge.icons,mt),this._updateTilesForChangedImages();const o=Se=>{Se&&Se.setDependencies(Ge.tileID.key,Ge.type,Ge.icons)};o(this._otherSourceCaches[Ge.source]),o(this._symbolSourceCaches[Ge.source])}getGlyphs(Se,Ge,mt){this.glyphManager.getGlyphs(Ge.stacks,mt)}getResource(Ge,mt,Dt){return Se.makeRequest(mt,Dt)}_getSourceCache(Se){return this._otherSourceCaches[Se]}_getLayerSourceCache(Se){return\"symbol\"===Se.type?this._symbolSourceCaches[Se.source]:this._otherSourceCaches[Se.source]}_getSourceCaches(Se){const Ge=[];return this._otherSourceCaches[Se]&&Ge.push(this._otherSourceCaches[Se]),this._symbolSourceCaches[Se]&&Ge.push(this._symbolSourceCaches[Se]),Ge}_isSourceCacheLoaded(Ge){const mt=this._getSourceCaches(Ge);return 0===mt.length?(this.fire(new Se.ErrorEvent(new Error(`There is no source with ID '${Ge}'`))),!1):mt.every((Se=>Se.loaded()))}has3DLayers(){return this._num3DLayers>0}hasSymbolLayers(){return this._numSymbolLayers>0}hasCircleLayers(){return this._numCircleLayers>0}_clearWorkerCaches(){this.dispatcher.broadcast(\"clearCaches\")}destroy(){this._clearWorkerCaches(),this.terrainSetForDrapingOnly()&&(delete this.terrain,delete this.stylesheet.terrain)}}Kt.getSourceType=function(Se){return Rr[Se]},Kt.setSourceType=function(Se,Ge){Rr[Se]=Ge},Kt.registerForPluginStateChange=Se.registerForPluginStateChange;var cs=\"\\n#define EPSILON 0.0000001\\n#define PI 3.141592653589793\\n#define EXTENT 8192.0\\n#define HALF_PI PI/2.0\\n#define QUARTER_PI PI/4.0\\n#define RAD_TO_DEG 180.0/PI\\n#define DEG_TO_RAD PI/180.0\\n#define GLOBE_RADIUS EXTENT/PI/2.0\",hs=\"attribute highp vec3 a_pos_3f;uniform lowp mat4 u_matrix;varying highp vec3 v_uv;void main() {const mat3 half_neg_pi_around_x=mat3(1.0,0.0, 0.0,0.0,0.0,-1.0,0.0,1.0, 0.0);v_uv=half_neg_pi_around_x*a_pos_3f;vec4 pos=u_matrix*vec4(a_pos_3f,1.0);gl_Position=pos.xyww;}\",us=\"\\n#define ELEVATION_SCALE 7.0\\n#define ELEVATION_OFFSET 450.0\\n#ifdef PROJECTION_GLOBE_VIEW\\nuniform vec3 u_tile_tl_up;uniform vec3 u_tile_tr_up;uniform vec3 u_tile_br_up;uniform vec3 u_tile_bl_up;uniform float u_tile_up_scale;vec3 elevationVector(vec2 pos) {vec2 uv=pos/EXTENT;vec3 up=normalize(mix(\\nmix(u_tile_tl_up,u_tile_tr_up,uv.xxx),mix(u_tile_bl_up,u_tile_br_up,uv.xxx),uv.yyy));return up*u_tile_up_scale;}\\n#else\\nvec3 elevationVector(vec2 pos) { return vec3(0,0,1); }\\n#endif\\nconst float skirtOffset=24575.0;vec3 decomposeToPosAndSkirt(vec2 posWithComposedSkirt)\\n{float skirt=float(posWithComposedSkirt.x >=skirtOffset);vec2 pos=posWithComposedSkirt-vec2(skirt*skirtOffset,0.0);return vec3(pos,skirt);}\\n#ifdef TERRAIN\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nuniform highp sampler2D u_dem;uniform highp sampler2D u_dem_prev;\\n#else\\nuniform sampler2D u_dem;uniform sampler2D u_dem_prev;\\n#endif\\nuniform vec4 u_dem_unpack;uniform vec2 u_dem_tl;uniform vec2 u_dem_tl_prev;uniform float u_dem_scale;uniform float u_dem_scale_prev;uniform float u_dem_size;uniform float u_dem_lerp;uniform float u_exaggeration;uniform float u_meter_to_dem;uniform mat4 u_label_plane_matrix_inv;uniform sampler2D u_depth;uniform vec2 u_depth_size_inv;vec4 tileUvToDemSample(vec2 uv,float dem_size,float dem_scale,vec2 dem_tl) {vec2 pos=dem_size*(uv*dem_scale+dem_tl)+1.0;vec2 f=fract(pos);return vec4((pos-f+0.5)/(dem_size+2.0),f);}float decodeElevation(vec4 v) {return dot(vec4(v.xyz*255.0,-1.0),u_dem_unpack);}float currentElevation(vec2 apos) {\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale+u_dem_tl)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem,pos).a;\\n#else\\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale,u_dem_tl);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem,pos));\\n#ifdef TERRAIN_DEM_NEAREST_FILTER\\nreturn u_exaggeration*tl;\\n#endif\\nfloat tr=decodeElevation(texture2D(u_dem,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\\n#endif\\n}float prevElevation(vec2 apos) {\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale_prev+u_dem_tl_prev)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture2D(u_dem_prev,pos).a;\\n#else\\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale_prev,u_dem_tl_prev);vec2 pos=r.xy;vec2 f=r.zw;float tl=decodeElevation(texture2D(u_dem_prev,pos));float tr=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,0.0)));float bl=decodeElevation(texture2D(u_dem_prev,pos+vec2(0.0,dd)));float br=decodeElevation(texture2D(u_dem_prev,pos+vec2(dd,dd)));return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\\n#endif\\n}\\n#ifdef TERRAIN_VERTEX_MORPHING\\nfloat elevation(vec2 apos) {\\n#ifdef ZERO_EXAGGERATION\\nreturn 0.0;\\n#endif\\nfloat nextElevation=currentElevation(apos);float prevElevation=prevElevation(apos);return mix(prevElevation,nextElevation,u_dem_lerp);}\\n#else\\nfloat elevation(vec2 apos) {\\n#ifdef ZERO_EXAGGERATION\\nreturn 0.0;\\n#endif\\nreturn currentElevation(apos);}\\n#endif\\nhighp float unpack_depth(highp vec4 rgba_depth)\\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}bool isOccluded(vec4 frag) {vec3 coord=frag.xyz/frag.w;float depth=unpack_depth(texture2D(u_depth,(coord.xy+1.0)*0.5));return coord.z > depth+0.0005;}float occlusionFade(vec4 frag) {vec3 coord=frag.xyz/frag.w;vec3 df=vec3(5.0*u_depth_size_inv,0.0);vec2 uv=0.5*coord.xy+0.5;vec4 depth=vec4(\\nunpack_depth(texture2D(u_depth,uv-df.xz)),unpack_depth(texture2D(u_depth,uv+df.xz)),unpack_depth(texture2D(u_depth,uv-df.zy)),unpack_depth(texture2D(u_depth,uv+df.zy))\\n);return dot(vec4(0.25),vec4(1.0)-clamp(300.0*(vec4(coord.z-0.001)-depth),0.0,1.0));}vec4 fourSample(vec2 pos,vec2 off) {\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nfloat tl=texture2D(u_dem,pos).a;float tr=texture2D(u_dem,pos+vec2(off.x,0.0)).a;float bl=texture2D(u_dem,pos+vec2(0.0,off.y)).a;float br=texture2D(u_dem,pos+off).a;\\n#else\\nvec4 demtl=vec4(texture2D(u_dem,pos).xyz*255.0,-1.0);float tl=dot(demtl,u_dem_unpack);vec4 demtr=vec4(texture2D(u_dem,pos+vec2(off.x,0.0)).xyz*255.0,-1.0);float tr=dot(demtr,u_dem_unpack);vec4 dembl=vec4(texture2D(u_dem,pos+vec2(0.0,off.y)).xyz*255.0,-1.0);float bl=dot(dembl,u_dem_unpack);vec4 dembr=vec4(texture2D(u_dem,pos+off).xyz*255.0,-1.0);float br=dot(dembr,u_dem_unpack);\\n#endif\\nreturn vec4(tl,tr,bl,br);}float flatElevation(vec2 pack) {vec2 apos=floor(pack/8.0);vec2 span=10.0*(pack-apos*8.0);vec2 uvTex=(apos-vec2(1.0,1.0))/8190.0;float size=u_dem_size+2.0;float dd=1.0/size;vec2 pos=u_dem_size*(uvTex*u_dem_scale+u_dem_tl)+1.0;vec2 f=fract(pos);pos=(pos-f+0.5)*dd;vec4 h=fourSample(pos,vec2(dd));float z=mix(mix(h.x,h.y,f.x),mix(h.z,h.w,f.x),f.y);vec2 w=floor(0.5*(span*u_meter_to_dem-1.0));vec2 d=dd*w;h=fourSample(pos-d,2.0*d+vec2(dd));vec4 diff=abs(h.xzxy-h.ywzw);vec2 slope=min(vec2(0.25),u_meter_to_dem*0.5*(diff.xz+diff.yw)/(2.0*w+vec2(1.0)));vec2 fix=slope*span;float base=z+max(fix.x,fix.y);return u_exaggeration*base;}float elevationFromUint16(float word) {return u_exaggeration*(word/ELEVATION_SCALE-ELEVATION_OFFSET);}\\n#else\\nfloat elevation(vec2 pos) { return 0.0; }bool isOccluded(vec4 frag) { return false; }float occlusionFade(vec4 frag) { return 1.0; }\\n#endif\",ds=\"#ifdef FOG\\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump mat4 u_fog_matrix;varying vec3 v_fog_pos;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}vec3 fog_position(vec3 pos) {return (u_fog_matrix*vec4(pos,1.0)).xyz;}vec3 fog_position(vec2 pos) {return fog_position(vec3(pos,0.0));}float fog(vec3 pos) {float depth=length(pos);float opacity=fog_opacity(fog_range(depth));return opacity*fog_horizon_blending(pos/depth);}\\n#endif\",ps=\"#ifdef FOG\\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump float u_fog_temporal_offset;varying vec3 v_fog_pos;uniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform highp vec2 u_viewport;uniform float u_globe_transition;uniform int u_is_globe;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}float globe_glow_progress() {highp vec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);highp vec3 dir=normalize(ray_dir);highp vec3 closest_point=dot(u_globe_pos,dir)*dir;highp float sdf=length(closest_point-u_globe_pos)/u_globe_radius;return sdf+PI*0.5;}float fog_opacity(vec3 pos) {float depth=length(pos);return fog_opacity(fog_range(depth));}vec3 fog_apply(vec3 color,vec3 pos) {float depth=length(pos);float opacity;if (u_is_globe==1) {float glow_progress=globe_glow_progress();float t=mix(glow_progress,depth,u_globe_transition);opacity=fog_opacity(fog_range(t));} else {opacity=fog_opacity(fog_range(depth));opacity*=fog_horizon_blending(pos/depth);}return mix(color,u_fog_color.rgb,opacity);}vec4 fog_apply_from_vert(vec4 color,float fog_opac) {float alpha=EPSILON+color.a;color.rgb=mix(color.rgb/alpha,u_fog_color.rgb,fog_opac)*alpha;return color;}vec3 fog_apply_sky_gradient(vec3 camera_ray,vec3 sky_color) {float horizon_blend=fog_horizon_blending(normalize(camera_ray));return mix(sky_color,u_fog_color.rgb,horizon_blend);}vec4 fog_apply_premultiplied(vec4 color,vec3 pos) {float alpha=EPSILON+color.a;color.rgb=fog_apply(color.rgb/alpha,pos)*alpha;return color;}vec3 fog_dither(vec3 color) {vec2 dither_seed=gl_FragCoord.xy+u_fog_temporal_offset;return dither(color,dither_seed);}vec4 fog_dither(vec4 color) {return vec4(fog_dither(color.rgb),color.a);}\\n#endif\";let fs={},gs={};const bs=[];hi(cs,bs),hi(us,bs),hi(ds,bs),hi(ps,bs),fs=ui(\"\",us),gs=ui(ps,ds);const Vs=ui(\"\\n#if __VERSION__ >=300\\n#define varying in\\n#define gl_FragColor glFragColor\\n#define texture2D texture\\n#define textureCube texture\\nout vec4 glFragColor;\\n#endif\\nhighp vec3 hash(highp vec2 p) {highp vec3 p3=fract(p.xyx*vec3(443.8975,397.2973,491.1871));p3+=dot(p3,p3.yxz+19.19);return fract((p3.xxy+p3.yzz)*p3.zyx);}vec3 dither(vec3 color,highp vec2 seed) {vec3 rnd=hash(seed)+hash(seed+0.59374)-0.5;return color+rnd/255.0;}highp float unpack_depth(highp vec4 rgba_depth)\\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}highp vec4 pack_depth(highp float ndc_z) {highp float depth=ndc_z*0.5+0.5;const highp vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);const highp vec4 bit_mask =vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);highp vec4 res=fract(depth*bit_shift);res-=res.xxyz*bit_mask;return res;}\",\"\\n#if __VERSION__ >=300\\n#define attribute in\\n#define varying out\\n#define texture2D texture\\n#endif\\nfloat wrap(float n,float min,float max) {float d=max-min;float w=mod(mod(n-min,d)+d,d)+min;return (w==min) ? max : w;}\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 mercator_tile_position(mat4 matrix,vec2 tile_anchor,vec3 tile_id,vec2 mercator_center) {\\n#ifndef PROJECTED_POS_ON_VIEWPORT\\nfloat tiles=tile_id.z;vec2 mercator=(tile_anchor/EXTENT+tile_id.xy)/tiles;mercator-=mercator_center;mercator.x=wrap(mercator.x,-0.5,0.5);vec4 mercator_tile=vec4(mercator.xy*EXTENT,EXTENT/(2.0*PI),1.0);mercator_tile=matrix*mercator_tile;return mercator_tile.xyz;\\n#else\\nreturn vec3(0.0);\\n#endif\\n}vec3 mix_globe_mercator(vec3 globe,vec3 mercator,float t) {return mix(globe,mercator,t);}mat3 globe_mercator_surface_vectors(vec3 pos_normal,vec3 up_dir,float zoom_transition) {vec3 normal=zoom_transition==0.0 ? pos_normal : normalize(mix(pos_normal,up_dir,zoom_transition));vec3 xAxis=normalize(vec3(normal.z,0.0,-normal.x));vec3 yAxis=normalize(cross(normal,xAxis));return mat3(xAxis,yAxis,normal);}\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(\\nunpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}const vec4 AWAY=vec4(-1000.0,-1000.0,-1000.0,1);//Normalized device coordinate that is not rendered.\"),_a=cs,Ta=\"\\n#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\";var Ma={background:ui(\"uniform vec4 u_color;uniform float u_opacity;\\n#ifdef LIGHTING_3D_MODE\\nvarying vec4 v_color;\\n#endif\\nvoid main() {vec4 out_color;\\n#ifdef LIGHTING_3D_MODE\\nout_color=v_color;\\n#else\\nout_color=u_color;\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#ifdef LIGHTING_3D_MODE\\nuniform vec4 u_color;varying vec4 v_color;\\n#endif\\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0,1);\\n#ifdef LIGHTING_3D_MODE\\nv_color=apply_lighting(u_color);\\n#endif\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),backgroundPattern:ui(\"uniform vec2 u_pattern_tl;uniform vec2 u_pattern_br;uniform vec2 u_texsize;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos;void main() {vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(u_pattern_tl/u_texsize,u_pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_pattern_size,u_tile_units_to_pixels,a_pos);\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),circle:ui(\"varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(\\nantialiased_blur,0.0,extrude_length-radius/(radius+stroke_width)\\n);vec4 out_color=mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_apply_premultiplied(out_color,v_fog_pos);\\n#endif\\ngl_FragColor=out_color*(v_visibility*opacity_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"#define NUM_VISIBILITY_RINGS 2\\n#define INV_SQRT2 0.70710678\\n#define ELEVATION_BIAS 0.0001\\n#define NUM_SAMPLES_PER_RING 16\\nuniform mat4 u_matrix;uniform mat2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\\n#endif\\nvarying vec3 v_data;varying float v_visibility;\\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\\nvec2 calc_offset(vec2 extrusion,float radius,float stroke_width, float view_scale) {return extrusion*(radius+stroke_width)*u_extrude_scale*view_scale;}float cantilevered_elevation(vec2 pos,float radius,float stroke_width,float view_scale) {vec2 c1=pos+calc_offset(vec2(-1,-1),radius,stroke_width,view_scale);vec2 c2=pos+calc_offset(vec2(1,-1),radius,stroke_width,view_scale);vec2 c3=pos+calc_offset(vec2(1,1),radius,stroke_width,view_scale);vec2 c4=pos+calc_offset(vec2(-1,1),radius,stroke_width,view_scale);float h1=elevation(c1)+ELEVATION_BIAS;float h2=elevation(c2)+ELEVATION_BIAS;float h3=elevation(c3)+ELEVATION_BIAS;float h4=elevation(c4)+ELEVATION_BIAS;return max(h4,max(h3,max(h1,h2)));}float circle_elevation(vec2 pos) {\\n#if defined(TERRAIN)\\nreturn elevation(pos)+ELEVATION_BIAS;\\n#else\\nreturn 0.0;\\n#endif\\n}vec4 project_vertex(vec2 extrusion,vec4 world_center,vec4 projected_center,float radius,float stroke_width, float view_scale,mat3 surface_vectors) {vec2 sample_offset=calc_offset(extrusion,radius,stroke_width,view_scale);\\n#ifdef PITCH_WITH_MAP\\n#ifdef PROJECTION_GLOBE_VIEW\\nreturn u_matrix*( world_center+vec4(sample_offset.x*surface_vectors[0]+sample_offset.y*surface_vectors[1],0) );\\n#else\\nreturn u_matrix*( world_center+vec4(sample_offset,0,0) );\\n#endif\\n#else\\nreturn projected_center+vec4(sample_offset,0,0);\\n#endif\\n}float get_sample_step() {\\n#ifdef PITCH_WITH_MAP\\nreturn 2.0*PI/float(NUM_SAMPLES_PER_RING);\\n#else\\nreturn PI/float(NUM_SAMPLES_PER_RING);\\n#endif\\n}void main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);vec4 world_center;mat3 surface_vectors;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 pos_normal_3=a_pos_normal_3/16384.0;surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(circle_center)*circle_elevation(circle_center);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*circle_elevation(circle_center);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,circle_center,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;vec3 pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);world_center=vec4(pos,1);\\n#else \\nsurface_vectors=mat3(1.0);float height=circle_elevation(circle_center);world_center=vec4(circle_center,height,1);\\n#endif\\nvec4 projected_center=u_matrix*world_center;float view_scale=0.0;\\n#ifdef PITCH_WITH_MAP\\n#ifdef SCALE_WITH_MAP\\nview_scale=1.0;\\n#else\\nview_scale=projected_center.w/u_camera_to_center_distance;\\n#endif\\n#else\\n#ifdef SCALE_WITH_MAP\\nview_scale=u_camera_to_center_distance;\\n#else\\nview_scale=projected_center.w;\\n#endif\\n#endif\\ngl_Position=project_vertex(extrude,world_center,projected_center,radius,stroke_width,view_scale,surface_vectors);float visibility=0.0;\\n#ifdef TERRAIN\\nfloat step=get_sample_step();vec4 occlusion_world_center;vec4 occlusion_projected_center;\\n#ifdef PITCH_WITH_MAP\\nfloat cantilevered_height=cantilevered_elevation(circle_center,radius,stroke_width,view_scale);occlusion_world_center=vec4(circle_center,cantilevered_height,1);occlusion_projected_center=u_matrix*occlusion_world_center;\\n#else\\nocclusion_world_center=world_center;occlusion_projected_center=projected_center;\\n#endif\\nfor(int ring=0; ring < NUM_VISIBILITY_RINGS; ring++) {float scale=(float(ring)+1.0)/float(NUM_VISIBILITY_RINGS);for(int i=0; i < NUM_SAMPLES_PER_RING; i++) {vec2 extrusion=vec2(cos(step*float(i)),-sin(step*float(i)))*scale;vec4 frag_pos=project_vertex(extrusion,occlusion_world_center,occlusion_projected_center,radius,stroke_width,view_scale,surface_vectors);visibility+=float(!isOccluded(frag_pos));}}visibility/=float(NUM_VISIBILITY_RINGS)*float(NUM_SAMPLES_PER_RING);\\n#else\\nvisibility=1.0;\\n#endif\\n#ifdef PROJECTION_GLOBE_VIEW\\nvisibility=1.0;\\n#endif\\nv_visibility=visibility;lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);\\n#ifdef FOG\\nv_fog_pos=fog_position(world_center.xyz);\\n#endif\\n}\"),clippingMask:ui(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:ui(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef FOG\\nif (u_is_globe==0) {gl_FragColor.r*=pow(1.0-fog_opacity(v_fog_pos),2.0);}\\n#endif\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\\n#endif\\nvarying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 tilePos=floor(a_pos*0.5);vec3 pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 pos_normal_3=a_pos_normal_3/16384.0;mat3 surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(tilePos)*elevation(tilePos);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*elevation(tilePos);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,tilePos,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\\n#else\\npos=vec3(tilePos+extrude,elevation(tilePos));\\n#endif\\ngl_Position=u_matrix*vec4(pos,1);\\n#ifdef FOG\\nv_fog_pos=fog_position(pos);\\n#endif\\n}\"),heatmapTexture:ui(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=vec4(a_pos,0,1);v_pos=a_pos*0.5+0.5;}\"),collisionBox:ui(\"varying float v_placed;varying float v_notUsed;void main() {vec4 red =vec4(1.0,0.0,0.0,1.0);vec4 blue=vec4(0.0,0.0,1.0,0.5);gl_FragColor =mix(red,blue,step(0.5,v_placed))*0.5;gl_FragColor*=mix(1.0,0.1,step(0.5,v_notUsed));}\",\"attribute vec3 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;attribute float a_size_scale;attribute vec2 a_padding;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_pos+elevationVector(a_anchor_pos)*elevation(a_anchor_pos),1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(\\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,1.5);gl_Position=projectedPoint;gl_Position.xy+=(a_extrude*a_size_scale+a_shift+a_padding)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:ui(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos_2f;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd  =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz  /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos_2f;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(\\nmix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(\\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:ui(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;\\n#endif\\nvarying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {float h=elevation(a_pos);v_uv=a_pos/8192.0;\\n#ifdef PROJECTION_GLOBE_VIEW\\ngl_Position=u_matrix*vec4(a_pos_3+elevationVector(a_pos)*h,1);\\n#else\\ngl_Position=u_matrix*vec4(a_pos*u_overlay_scale,h,1);\\n#endif\\n}\"),fill:ui(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\nvec4 out_color=color;\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),fillOutline:ui(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=outline_color;\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),fillOutlinePattern:ui(\"uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;varying vec2 v_pos_world;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);float dist=length(v_pos_world-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;varying vec2 v_pos_world;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);v_pos_world=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),fillPattern:ui(\"uniform vec2 u_texsize;uniform sampler2D u_image;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),fillExtrusion:ui(\"varying vec4 v_color;\\n#ifdef RENDER_SHADOWS\\nvarying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\\n#endif\\n#ifdef FAUX_AO\\nuniform lowp vec2 u_ao;varying vec3 v_ao;\\n#endif\\n#ifdef ZERO_ROOF_RADIUS\\nvarying vec4 v_roof_color;\\n#endif\\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\\nvarying highp vec3 v_normal;\\n#endif\\nvoid main() {\\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\\nvec3 normal=v_normal;\\n#endif\\nfloat z;vec4 color;\\n#ifdef ZERO_ROOF_RADIUS\\nz=float(normal.z > 0.00001);color=mix(v_color,v_roof_color,z);\\n#else\\ncolor=v_color;\\n#endif\\n#ifdef FAUX_AO\\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;\\n#ifdef ZERO_ROOF_RADIUS\\nconcave*=(1.0-z);\\n#endif\\nfloat x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);color.rgb=color.rgb*shade;\\n#endif\\n#ifdef RENDER_SHADOWS\\n#ifdef ZERO_ROOF_RADIUS\\nnormal=mix(normal,vec3(0.0,0.0,1.0),z);\\n#endif\\ncolor.xyz=shadowed_color_normal(color.xyz,normalize(normal),v_pos_light_view_0,v_pos_light_view_1,v_depth);\\n#endif\\n#ifdef FOG\\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\\n#endif\\ngl_FragColor=color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform float u_edge_radius;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\\n#endif\\nvarying vec4 v_color;\\n#ifdef RENDER_SHADOWS\\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying highp vec4 v_pos_light_view_0;varying highp vec4 v_pos_light_view_1;varying float v_depth;\\n#endif\\n#ifdef ZERO_ROOF_RADIUS\\nvarying vec4 v_roof_color;\\n#endif\\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\\nvarying highp vec3 v_normal;\\n#endif\\n#ifdef FAUX_AO\\nuniform lowp vec2 u_ao;varying vec3 v_ao;\\n#endif\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec4 pos_nx=floor(a_pos_normal_ed*0.5);vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));\\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS)\\nv_normal=normal;\\n#endif\\nbase=max(0.0,base);height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\\n#if defined(HAS_CENTROID) || defined(TERRAIN)\\ncentroid_pos=a_centroid_pos;\\n#endif\\nfloat ele=0.0;float h=0.0;float c_ele;vec3 pos;\\n#ifdef TERRAIN\\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);pos=vec3(pos_nx.xy,h);\\n#else\\nh=t > 0.0 ? height : base;pos=vec3(pos_nx.xy,h);\\n#endif\\n#ifdef PROJECTION_GLOBE_VIEW\\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*h);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,pos.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*pos.z;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\\n#endif\\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(pos,1),AWAY,hidden);\\n#ifdef RENDER_SHADOWS\\nv_pos_light_view_0=u_light_matrix_0*vec4(pos,1);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1);v_depth=gl_Position.w;\\n#endif\\nfloat NdotL=0.0;float colorvalue=0.0;\\n#ifdef LIGHTING_3D_MODE\\nNdotL=calculate_NdotL(normal);\\n#else\\ncolorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;NdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),NdotL);\\n#endif\\nif (normal.y !=0.0) {float r=0.84;\\n#ifndef LIGHTING_3D_MODE\\nr=mix(0.7,0.98,1.0-u_lightintensity);\\n#endif\\nNdotL*=(\\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}v_color=vec4(0.0,0.0,0.0,1.0);\\n#ifdef FAUX_AO\\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\\n#ifdef TERRAIN\\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\\n#endif\\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\\n#ifdef PROJECTION_GLOBE_VIEW\\ntop_height+=u_height_lift;\\n#endif\\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nv_color=apply_lighting(color,NdotL);\\n#else\\nv_color.rgb+=clamp(color.rgb*NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\\n#endif\\nv_color*=u_opacity;\\n#ifdef ZERO_ROOF_RADIUS\\nv_roof_color=vec4(0.0,0.0,0.0,1.0);\\n#ifdef LIGHTING_3D_MODE\\nv_roof_color=apply_lighting(color,calculate_NdotL(vec3(0.0,0.0,1.0)));\\n#else\\nfloat roofNdotL=clamp(u_lightpos.z,0.0,1.0);roofNdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),roofNdotL);v_roof_color.rgb+=clamp(color.rgb*roofNdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));\\n#endif\\nv_roof_color*=u_opacity;\\n#endif\\n#ifdef FOG\\nv_fog_pos=fog_position(pos);\\n#endif\\n}\"),fillExtrusionPattern:ui(\"uniform vec2 u_texsize;uniform sampler2D u_image;\\n#ifdef FAUX_AO\\nuniform lowp vec2 u_ao;varying vec3 v_ao;\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nvarying float v_NdotL;\\n#endif\\nvarying vec2 v_pos;varying vec4 v_lighting;uniform lowp float u_opacity;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec4 out_color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color,v_NdotL)*u_opacity;\\n#else\\nout_color=out_color*v_lighting;\\n#endif\\n#ifdef FAUX_AO\\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;float x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);out_color.rgb=out_color.rgb*shade;\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=out_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform float u_tile_units_to_pixels;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec4 a_pos_normal_ed;attribute vec2 a_centroid_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_pos_3;attribute vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\\n#endif\\nvarying vec2 v_pos;varying vec4 v_lighting;\\n#ifdef FAUX_AO\\nuniform lowp vec2 u_ao;varying vec3 v_ao;\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nvarying float v_NdotL;\\n#endif\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec4 pos_nx=floor(a_pos_normal_ed*0.5);mediump vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;mediump vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));float edgedistance=a_pos_normal_ed.w;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;base=max(0.0,base);height=max(0.0,height);float t=top_up_ny.x;float z=t > 0.0 ? height : base;vec2 centroid_pos=vec2(0.0);\\n#if defined(HAS_CENTROID) || defined(TERRAIN)\\ncentroid_pos=a_centroid_pos;\\n#endif\\nfloat ele=0.0;float h=z;vec3 p;float c_ele;\\n#ifdef TERRAIN\\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);p=vec3(pos_nx.xy,h);\\n#else\\np=vec3(pos_nx.xy,z);\\n#endif\\n#ifdef PROJECTION_GLOBE_VIEW\\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*(p.z+lift));vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,p.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*p.z;p=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\\n#endif\\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(p,1),AWAY,hidden);vec2 pos=normal.z==1.0\\n? pos_nx.xy\\n: vec2(edgedistance,z*u_height_factor);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float NdotL=0.0;\\n#ifdef LIGHTING_3D_MODE\\nNdotL=calculate_NdotL(normal);\\n#else\\nNdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),NdotL);\\n#endif\\nif (normal.y !=0.0) {float r=0.84;\\n#ifndef LIGHTING_3D_MODE\\nr=mix(0.7,0.98,1.0-u_lightintensity);\\n#endif\\nNdotL*=(\\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\\n#ifdef FAUX_AO\\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\\n#ifdef TERRAIN\\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\\n#endif\\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\\n#ifdef PROJECTION_GLOBE_VIEW\\ntop_height+=u_height_lift;\\n#endif\\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nv_NdotL=NdotL;\\n#else\\nv_lighting.rgb+=clamp(NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;\\n#endif \\n#ifdef FOG\\nv_fog_pos=fog_position(p);\\n#endif\\n}\"),hillshadePrepare:ui(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord) {\\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\\nreturn texture2D(u_image,coord).a/4.0;\\n#else\\nvec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;\\n#endif\\n}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y));float b=getElevation(v_pos+vec2(0,-epsilon.y));float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y));float d=getElevation(v_pos+vec2(-epsilon.x,0));float e=getElevation(v_pos+vec2(epsilon.x,0));float f=getElevation(v_pos+vec2(-epsilon.x,epsilon.y));float g=getElevation(v_pos+vec2(0,epsilon.y));float h=getElevation(v_pos+vec2(epsilon.x,epsilon.y));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2(\\n(c+e+e+h)-(a+d+d+f),(f+g+g+h)-(a+b+b+c)\\n)/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(\\nderiv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:ui(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef LIGHTING_3D_MODE\\ngl_FragColor=apply_lighting(gl_FragColor);\\n#endif\\n#ifdef FOG\\ngl_FragColor=fog_dither(fog_apply_premultiplied(gl_FragColor,v_fog_pos));\\n#endif\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),line:ui(\"uniform lowp float u_device_pixel_ratio;uniform float u_alpha_discard_threshold;uniform highp vec2 u_trim_offset;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec4 v_uv;\\n#ifdef RENDER_LINE_DASH\\nuniform sampler2D u_dash_image;varying vec2 v_tex;\\n#endif\\n#ifdef RENDER_LINE_GRADIENT\\nuniform sampler2D u_gradient_image;\\n#endif\\nuniform float u_border_width;uniform vec4 u_border_color;float luminance(vec3 c) {return (c.r+c.r+c.b+c.g+c.g+c.g)*0.1667;}\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 dash\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nfloat linearstep(float edge0,float edge1,float x) {return  clamp((x-edge0)/(edge1-edge0),0.0,1.0);}void main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize lowp vec4 dash\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);\\n#ifdef RENDER_LINE_DASH\\nfloat sdfdist=texture2D(u_dash_image,v_tex).a;float sdfgamma=1.0/(2.0*u_device_pixel_ratio)/dash.z;alpha*=linearstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);\\n#endif\\nhighp vec4 out_color;\\n#ifdef RENDER_LINE_GRADIENT\\nout_color=texture2D(u_gradient_image,v_uv.xy);\\n#else\\nout_color=color;\\n#endif\\nfloat trimmed=1.0;\\n#ifdef RENDER_LINE_TRIM_OFFSET\\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {out_color=vec4(0,0,0,0);trimmed=0.0;}}\\n#endif\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\\n#endif\\n#ifdef RENDER_LINE_ALPHA_DISCARD\\nif (alpha < u_alpha_discard_threshold) {discard;}\\n#endif\\n#ifdef RENDER_LINE_BORDER\\nfloat edgeBlur=(u_border_width+1.0/u_device_pixel_ratio);float alpha2=clamp(min(dist-(v_width2.t-edgeBlur),v_width2.s-dist)/edgeBlur,0.0,1.0);if (alpha2 < 1.) {float smoothAlpha=smoothstep(0.6,1.0,alpha2);\\n#ifdef RENDER_LINE_BORDER_AUTO\\nfloat Y=(out_color.a > 0.01) ? luminance(out_color.rgb/out_color.a) : 1.;float adjustment=(Y > 0.) ? 0.5/Y : 0.45;if (out_color.a > 0.25 && Y < 0.25) {vec3 borderColor=(Y > 0.) ? out_color.rgb : vec3(1,1,1)*out_color.a;out_color.rgb=out_color.rgb+borderColor*(adjustment*(1.0-smoothAlpha));} else {out_color.rgb*=(0.6 +0.4*smoothAlpha);}\\n#else\\nout_color.rgb=mix(u_border_color.rgb*u_border_color.a*trimmed,out_color.rgb,smoothAlpha);\\n#endif\\n}\\n#endif\\ngl_FragColor=out_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define EXTRUDE_SCALE 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;\\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\\nattribute highp vec4 a_packed;\\n#endif\\n#ifdef RENDER_LINE_DASH\\nattribute float a_linesofar;\\n#endif\\nuniform mat4 u_matrix;uniform mat2 u_pixels_to_tile_units;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec4 v_uv;\\n#ifdef RENDER_LINE_DASH\\nuniform vec2 u_texsize;uniform float u_tile_units_to_pixels;varying vec2 v_tex;\\n#endif\\n#ifdef RENDER_LINE_GRADIENT\\nuniform float u_image_height;\\n#endif\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 dash\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize lowp vec4 dash\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*EXTRUDE_SCALE;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*EXTRUDE_SCALE*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\\n#ifndef RENDER_TO_TEXTURE\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#else\\nv_gamma_scale=1.0;\\n#endif\\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\\nfloat a_uv_x=a_packed[0];float a_split_index=a_packed[1];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];\\n#ifdef RENDER_LINE_GRADIENT\\nhighp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec4(a_uv_x,a_split_index*texel_height-half_texel_height,a_clip_start,a_clip_end);\\n#else\\nv_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\\n#endif\\n#endif\\n#ifdef RENDER_LINE_DASH\\nfloat scale=dash.z==0.0 ? 0.0 : u_tile_units_to_pixels/dash.z;float height=dash.y;v_tex=vec2(a_linesofar*scale/floorwidth,(-normal.y*height+dash.x+0.5)/u_texsize.y);\\n#endif\\nv_width2=vec2(outset,inset);\\n#ifdef FOG\\nv_fog_pos=fog_position(pos);\\n#endif\\n}\"),linePattern:ui(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_tile_units_to_pixels;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;vec2 pattern_size=vec2(display_size.x/u_tile_units_to_pixels,display_size.y);float aspect=display_size.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x=mod(v_linesofar/pattern_size.x*aspect,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(x,y));vec4 color=texture2D(u_image,pos);\\n#ifdef LIGHTING_3D_MODE\\ncolor=apply_lighting(color);\\n#endif\\n#ifdef FOG\\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\\n#endif\\ngl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_linesofar;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mat2 u_pixels_to_tile_units;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern\\n#pragma mapbox: define lowp float pixel_ratio\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern\\n#pragma mapbox: initialize lowp float pixel_ratio\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\\n#ifndef RENDER_TO_TEXTURE\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#else\\nv_gamma_scale=1.0;\\n#endif\\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;\\n#ifdef FOG\\nv_fog_pos=fog_position(pos);\\n#endif\\n}\"),raster:ui(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(\\ndot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);vec3 out_color=mix(u_high_vec,u_low_vec,rgb);\\n#ifdef LIGHTING_3D_MODE\\nout_color=apply_lighting(out_color);\\n#endif\\n#ifdef FOG\\nout_color=fog_dither(fog_apply(out_color,v_fog_pos));\\n#endif\\ngl_FragColor=vec4(out_color*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform vec2 u_perspective_transform;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {float w=1.0+dot(a_texture_pos,u_perspective_transform);gl_Position=u_matrix*vec4(a_pos*w,0,w);v_pos0=a_texture_pos/8192.0;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;\\n#ifdef FOG\\nv_fog_pos=fog_position(a_pos);\\n#endif\\n}\"),symbolIcon:ui(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\\n#endif\\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform vec3 u_up_vector;\\n#ifdef PROJECTION_GLOBE_VIEW\\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\\n#endif\\nvarying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_min_font_scale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\\n#else\\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\\n#endif\\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjected_point;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetProjected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\\n#else\\noffsetProjected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\\n#endif\\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetProjected_point.xy/offsetProjected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\\n#else\\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\\n#endif\\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*max(a_min_font_scale,font_scale)+a_pxoffset/16.0);\\n#ifdef TERRAIN\\n#ifdef PITCH_WITH_MAP_TERRAIN\\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\\n#endif\\n#endif\\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#else\\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#endif\\nfloat projection_transition_fade=1.0;\\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\\n#endif\\nv_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change))*projection_transition_fade;}\"),symbolSDF:ui(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_pixeloffset;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\\n#endif\\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;\\n#ifdef PROJECTION_GLOBE_VIEW\\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\\n#endif\\nvarying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\\n#else\\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\\n#endif\\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetprojected_point;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetprojected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\\n#else\\noffsetprojected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\\n#endif\\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetprojected_point.xy/offsetprojected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\\n#else\\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\\n#endif\\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset);\\n#ifdef TERRAIN\\n#ifdef PITCH_WITH_MAP_TERRAIN\\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\\n#endif\\n#endif\\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#else\\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#endif\\nfloat gamma_scale=gl_Position.w;float projection_transition_fade=1.0;\\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\\n#endif\\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade);}\"),symbolTextAndIcon:ui(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_tex_size;attribute vec4 a_projected_pos;attribute float a_fade_opacity;\\n#ifdef PROJECTION_GLOBE_VIEW\\nattribute vec3 a_globe_anchor;attribute vec3 a_globe_normal;\\n#endif\\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform vec2 u_texsize_icon;\\n#ifdef PROJECTION_GLOBE_VIEW\\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\\n#endif\\nvarying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;vec3 h=elevationVector(tile_anchor)*elevation(tile_anchor);float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\\n#else\\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\\n#endif\\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offset_projected_point=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projected_point.xy/projected_point.w;vec2 b=offset_projected_point.xy/offset_projected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\\n#else\\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\\n#endif\\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*font_scale);\\n#ifdef TERRAIN\\n#ifdef PITCH_WITH_MAP_TERRAIN\\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\\n#endif\\n#endif\\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;\\n#ifdef PROJECTION_GLOBE_VIEW\\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#else\\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,float(projected_point.w <=0.0 || occlusion_fade==0.0));\\n#endif\\nfloat gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float projection_transition_fade=1.0;\\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\\n#endif\\nv_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity*projection_transition_fade,is_sdf);}\"),terrainRaster:ui(\"uniform sampler2D u_image0;varying vec2 v_pos0;\\n#ifdef FOG\\nvarying float v_fog_opacity;\\n#endif\\n#ifdef RENDER_SHADOWS\\nvarying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\\n#endif\\nvoid main() {vec4 color=texture2D(u_image0,v_pos0);\\n#ifdef RENDER_SHADOWS\\ncolor.xyz=shadowed_color(color.xyz,v_pos_light_view_0,v_pos_light_view_1,v_depth);\\n#endif\\n#ifdef FOG\\n#ifdef ZERO_EXAGGERATION\\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\\n#else\\ncolor=fog_dither(fog_apply_from_vert(color,v_fog_opacity));\\n#endif\\n#endif\\ngl_FragColor=color;\\n#ifdef TERRAIN_WIREFRAME\\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\\n#endif\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_skirt_height;attribute vec2 a_pos;varying vec2 v_pos0;\\n#ifdef FOG\\nvarying float v_fog_opacity;\\n#endif\\n#ifdef RENDER_SHADOWS\\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;varying vec4 v_pos_light_view_0;varying vec4 v_pos_light_view_1;varying float v_depth;\\n#endif\\nconst float wireframeOffset=0.00015;void main() {vec3 decomposedPosAndSkirt=decomposeToPosAndSkirt(a_pos);float skirt=decomposedPosAndSkirt.z;vec2 decodedPos=decomposedPosAndSkirt.xy;float elevation=elevation(decodedPos)-skirt*u_skirt_height;\\n#ifdef TERRAIN_WIREFRAME\\nelevation+=wireframeOffset;\\n#endif\\nv_pos0=decodedPos/8192.0;gl_Position=u_matrix*vec4(decodedPos,elevation,1.0);\\n#ifdef FOG\\n#ifdef ZERO_EXAGGERATION\\nv_fog_pos=fog_position(decodedPos);\\n#else\\nv_fog_opacity=fog(fog_position(vec3(decodedPos,elevation)));\\n#endif\\n#endif\\n#ifdef RENDER_SHADOWS\\nvec3 pos=vec3(decodedPos,elevation);v_pos_light_view_0=u_light_matrix_0*vec4(pos,1.);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1.);v_depth=gl_Position.w;\\n#endif\\n}\"),terrainDepth:ui(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nvarying float v_depth;void main() {gl_FragColor=pack_depth(v_depth);}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;varying float v_depth;void main() {float elevation=elevation(a_pos);gl_Position=u_matrix*vec4(a_pos,elevation,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),skybox:ui(\"\\nvarying lowp vec3 v_uv;uniform lowp samplerCube u_cubemap;uniform lowp float u_opacity;uniform highp float u_temporal_offset;uniform highp vec3 u_sun_direction;float sun_disk(highp vec3 ray_direction,highp vec3 sun_direction) {highp float cos_angle=dot(normalize(ray_direction),sun_direction);const highp float cos_sun_angular_diameter=0.99996192306;const highp float smoothstep_delta=1e-5;return smoothstep(\\ncos_sun_angular_diameter-smoothstep_delta,cos_sun_angular_diameter+smoothstep_delta,cos_angle);}float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec3 uv=v_uv;const float y_bias=0.015;uv.y+=y_bias;uv.y=pow(abs(uv.y),1.0/5.0);uv.y=map(uv.y,0.0,1.0,-1.0,1.0);vec3 sky_color=textureCube(u_cubemap,uv).rgb;\\n#ifdef FOG\\nsky_color=fog_apply_sky_gradient(v_uv.xzy,sky_color);\\n#endif\\nsky_color.rgb=dither(sky_color.rgb,gl_FragCoord.xy+u_temporal_offset);sky_color+=0.1*sun_disk(v_uv,u_sun_direction);gl_FragColor=vec4(sky_color*u_opacity,u_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",hs),skyboxGradient:ui(\"varying highp vec3 v_uv;uniform lowp sampler2D u_color_ramp;uniform highp vec3 u_center_direction;uniform lowp float u_radius;uniform lowp float u_opacity;uniform highp float u_temporal_offset;void main() {float progress=acos(dot(normalize(v_uv),u_center_direction))/u_radius;vec4 color=texture2D(u_color_ramp,vec2(progress,0.5));\\n#ifdef FOG\\ncolor.rgb=fog_apply_sky_gradient(v_uv.xzy,color.rgb/color.a)*color.a;\\n#endif\\ncolor*=u_opacity;color.rgb=dither(color.rgb,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",hs),skyboxCapture:ui(\"\\nvarying highp vec3 v_position;uniform highp float u_sun_intensity;uniform highp float u_luminance;uniform lowp vec3 u_sun_direction;uniform highp vec4 u_color_tint_r;uniform highp vec4 u_color_tint_m;\\n#ifdef GL_ES\\nprecision highp float;\\n#endif\\n#define BETA_R                  vec3(5.5e-6,13.0e-6,22.4e-6)\\n#define BETA_M                  vec3(21e-6,21e-6,21e-6)\\n#define MIE_G                   0.76\\n#define DENSITY_HEIGHT_SCALE_R  8000.0\\n#define DENSITY_HEIGHT_SCALE_M  1200.0\\n#define PLANET_RADIUS           6360e3\\n#define ATMOSPHERE_RADIUS       6420e3\\n#define SAMPLE_STEPS            10\\n#define DENSITY_STEPS           4\\nfloat ray_sphere_exit(vec3 orig,vec3 dir,float radius) {float a=dot(dir,dir);float b=2.0*dot(dir,orig);float c=dot(orig,orig)-radius*radius;float d=sqrt(b*b-4.0*a*c);return (-b+d)/(2.0*a);}vec3 extinction(vec2 density) {return exp(-vec3(BETA_R*u_color_tint_r.a*density.x+BETA_M*u_color_tint_m.a*density.y));}vec2 local_density(vec3 point) {float height=max(length(point)-PLANET_RADIUS,0.0);float exp_r=exp(-height/DENSITY_HEIGHT_SCALE_R);float exp_m=exp(-height/DENSITY_HEIGHT_SCALE_M);return vec2(exp_r,exp_m);}float phase_ray(float cos_angle) {return (3.0/(16.0*PI))*(1.0+cos_angle*cos_angle);}float phase_mie(float cos_angle) {return (3.0/(8.0*PI))*((1.0-MIE_G*MIE_G)*(1.0+cos_angle*cos_angle))/((2.0+MIE_G*MIE_G)*pow(1.0+MIE_G*MIE_G-2.0*MIE_G*cos_angle,1.5));}vec2 density_to_atmosphere(vec3 point,vec3 light_dir) {float ray_len=ray_sphere_exit(point,light_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(DENSITY_STEPS);vec2 density_point_to_atmosphere=vec2(0.0);for (int i=0; i < DENSITY_STEPS;++i) {vec3 point_on_ray=point+light_dir*((float(i)+0.5)*step_len);density_point_to_atmosphere+=local_density(point_on_ray)*step_len;;}return density_point_to_atmosphere;}vec3 atmosphere(vec3 ray_dir,vec3 sun_direction,float sun_intensity) {vec2 density_orig_to_point=vec2(0.0);vec3 scatter_r=vec3(0.0);vec3 scatter_m=vec3(0.0);vec3 origin=vec3(0.0,PLANET_RADIUS,0.0);float ray_len=ray_sphere_exit(origin,ray_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(SAMPLE_STEPS);for (int i=0; i < SAMPLE_STEPS;++i) {vec3 point_on_ray=origin+ray_dir*((float(i)+0.5)*step_len);vec2 density=local_density(point_on_ray)*step_len;density_orig_to_point+=density;vec2 density_point_to_atmosphere=density_to_atmosphere(point_on_ray,sun_direction);vec2 density_orig_to_atmosphere=density_orig_to_point+density_point_to_atmosphere;vec3 extinction=extinction(density_orig_to_atmosphere);scatter_r+=density.x*extinction;scatter_m+=density.y*extinction;}float cos_angle=dot(ray_dir,sun_direction);float phase_r=phase_ray(cos_angle);float phase_m=phase_mie(cos_angle);vec3 beta_r=BETA_R*u_color_tint_r.rgb*u_color_tint_r.a;vec3 beta_m=BETA_M*u_color_tint_m.rgb*u_color_tint_m.a;return (scatter_r*phase_r*beta_r+scatter_m*phase_m*beta_m)*sun_intensity;}const float A=0.15;const float B=0.50;const float C=0.10;const float D=0.20;const float E=0.02;const float F=0.30;vec3 uncharted2_tonemap(vec3 x) {return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}void main() {vec3 ray_direction=v_position;ray_direction.y=pow(ray_direction.y,5.0);const float y_bias=0.015;ray_direction.y+=y_bias;vec3 color=atmosphere(normalize(ray_direction),u_sun_direction,u_sun_intensity);float white_scale=1.0748724675633854;color=uncharted2_tonemap((log2(2.0/pow(u_luminance,4.0)))*color)*white_scale;gl_FragColor=vec4(color,1.0);}\",\"attribute highp vec3 a_pos_3f;uniform mat3 u_matrix_3f;varying highp vec3 v_position;float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec4 pos=vec4(u_matrix_3f*a_pos_3f,1.0);v_position=pos.xyz;v_position.y*=-1.0;v_position.y=map(v_position.y,-1.0,1.0,0.0,1.0);gl_Position=vec4(a_pos_3f.xy,0.0,1.0);}\"),globeRaster:ui(\"uniform sampler2D u_image0;varying vec2 v_pos0;\\n#ifndef FOG\\nuniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform vec2 u_viewport;\\n#endif\\nvoid main() {vec4 color;\\n#ifdef CUSTOM_ANTIALIASING\\nvec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);vec3 dir=normalize(ray_dir);vec3 closest_point=dot(u_globe_pos,dir)*dir;float norm_dist_from_center=1.0-length(closest_point-u_globe_pos)/u_globe_radius;const float antialias_pixel=2.0;float antialias_factor=antialias_pixel*fwidth(norm_dist_from_center);float antialias=smoothstep(0.0,antialias_factor,norm_dist_from_center);vec4 raster=texture2D(u_image0,v_pos0);color=vec4(raster.rgb*antialias,raster.a*antialias);\\n#else\\ncolor=texture2D(u_image0,v_pos0);\\n#endif\\n#ifdef FOG\\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\\n#endif\\ngl_FragColor=color;\\n#ifdef TERRAIN_WIREFRAME\\ngl_FragColor=vec4(1.0,0.0,0.0,0.8);\\n#endif\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_proj_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform float u_zoom_transition;uniform vec2 u_merc_center;uniform mat3 u_grid_matrix;uniform float u_skirt_height;\\n#ifdef GLOBE_POLES\\nattribute vec3 a_globe_pos;attribute vec2 a_uv;\\n#else\\nattribute vec2 a_pos;\\n#endif\\nvarying vec2 v_pos0;const float wireframeOffset=1e3;float mercatorXfromLng(float lng) {return (180.0+lng)/360.0;}float mercatorYfromLat(float lat) {return (180.0-(RAD_TO_DEG*log(tan(QUARTER_PI+lat/2.0*DEG_TO_RAD))))/360.0;}vec3 latLngToECEF(vec2 latLng) {latLng=DEG_TO_RAD*latLng;float cosLat=cos(latLng[0]);float sinLat=sin(latLng[0]);float cosLng=cos(latLng[1]);float sinLng=sin(latLng[1]);float sx=cosLat*sinLng*GLOBE_RADIUS;float sy=-sinLat*GLOBE_RADIUS;float sz=cosLat*cosLng*GLOBE_RADIUS;return vec3(sx,sy,sz);}void main() {\\n#ifdef GLOBE_POLES\\nvec3 globe_pos=a_globe_pos;vec2 uv=a_uv;\\n#else\\nfloat tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];vec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float uvY=mercatorY*tiles-idy;float mercatorX=mercatorXfromLng(latLng[1]);float uvX=mercatorX*tiles-idx;vec3 globe_pos=latLngToECEF(latLng.xy);vec2 merc_pos=vec2(mercatorX,mercatorY);vec2 uv=vec2(uvX,uvY);\\n#endif\\nv_pos0=uv;vec2 tile_pos=uv*EXTENT;vec3 globe_derived_up_vector=normalize(globe_pos)*u_tile_up_scale;\\n#ifdef GLOBE_POLES\\nvec3 up_vector=globe_derived_up_vector;\\n#else\\nvec3 up_vector=elevationVector(tile_pos);\\n#endif\\nfloat height=elevation(tile_pos);\\n#ifdef TERRAIN_WIREFRAME\\nheight+=wireframeOffset;\\n#endif\\nglobe_pos+=up_vector*height;\\n#ifndef GLOBE_POLES\\nglobe_pos-=globe_derived_up_vector*u_skirt_height*decomposed_pos_and_skirt.z;\\n#endif\\n#ifdef GLOBE_POLES\\nvec4 interpolated_pos=u_globe_matrix*vec4(globe_pos,1.0);\\n#else\\nvec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {merc_world_pos=vec4(merc_pos,height-u_skirt_height*decomposed_pos_and_skirt.z,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition),1.0);\\n#endif\\ngl_Position=u_proj_matrix*interpolated_pos;\\n#ifdef FOG\\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\\n#endif\\n}\"),globeAtmosphere:ui(\"uniform float u_transition;uniform highp float u_fadeout_range;uniform highp float u_temporal_offset;uniform vec3 u_start_color;uniform vec4 u_color;uniform vec4 u_space_color;uniform vec4 u_high_color;uniform float u_star_intensity;uniform float u_star_size;uniform float u_star_density;uniform float u_horizon_angle;uniform mat4 u_rotation_matrix;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;highp float random(highp vec3 p) {p=fract(p*vec3(23.2342,97.1231,91.2342));p+=dot(p.zxy,p.yxz+123.1234);return fract(p.x*p.y);}float stars(vec3 p,float scale,vec2 offset) {vec2 uv_scale=(u_viewport/u_star_size)*scale;vec3 position=vec3(p.xy*uv_scale+offset*u_viewport,p.z);vec3 q=fract(position)-0.5;vec3 id=floor(position);float random_visibility=step(random(id),u_star_density);float circle=smoothstep(0.5+u_star_intensity,0.5,length(q));return circle*random_visibility;}void main() {highp vec3 dir=normalize(v_ray_dir);float globe_pos_dot_dir;\\n#ifdef PROJECTION_GLOBE_VIEW\\nglobe_pos_dot_dir=dot(u_globe_pos,dir);highp vec3 closest_point_forward=abs(globe_pos_dot_dir)*dir;float norm_dist_from_center=length(closest_point_forward-u_globe_pos)/u_globe_radius;if (norm_dist_from_center < 0.98) {discard;return;}\\n#endif\\nhighp vec3 horizon_dir=normalize(v_horizon_dir);float horizon_angle_mercator=dir.y < horizon_dir.y ?\\n0.0 : max(acos(dot(dir,horizon_dir)),0.0);float horizon_angle;\\n#ifdef PROJECTION_GLOBE_VIEW\\nhighp vec3 closest_point=globe_pos_dot_dir*dir;float closest_point_to_center=length(closest_point-u_globe_pos);float theta=asin(clamp(closest_point_to_center/length(u_globe_pos),-1.0,1.0));horizon_angle=globe_pos_dot_dir < 0.0 ?\\nPI-theta-u_horizon_angle : theta-u_horizon_angle;float angle_t=pow(u_transition,10.0);horizon_angle=mix(horizon_angle,horizon_angle_mercator,angle_t);\\n#else\\nhorizon_angle=horizon_angle_mercator;\\n#endif\\nhorizon_angle/=PI;float t=exp(-horizon_angle/u_fadeout_range);float alpha_0=u_color.a;float alpha_1=u_high_color.a;float alpha_2=u_space_color.a;vec3 color_stop_0=u_color.rgb;vec3 color_stop_1=u_high_color.rgb;vec3 color_stop_2=u_space_color.rgb;vec3 c0=mix(color_stop_2,color_stop_1,alpha_1);vec3 c1=mix(c0,color_stop_0,alpha_0);vec3 c2=mix(c0,c1,t);vec3 c =mix(color_stop_2,c2,t);float a0=mix(alpha_2,1.0,alpha_1);float a1=mix(a0,1.0,alpha_0);float a2=mix(a0,a1,t);float a =mix(alpha_2,a2,t);vec2 uv=gl_FragCoord.xy/u_viewport-0.5;float aspect_ratio=u_viewport.x/u_viewport.y;vec4 uv_dir=vec4(normalize(vec3(uv.x*aspect_ratio,uv.y,1.0)),1.0);uv_dir=u_rotation_matrix*uv_dir;vec3 n=abs(uv_dir.xyz);vec2 uv_remap=(n.x > n.y && n.x > n.z) ? uv_dir.yz/uv_dir.x:\\n(n.y > n.x && n.y > n.z) ? uv_dir.zx/uv_dir.y:\\nuv_dir.xy/uv_dir.z;uv_remap.x/=aspect_ratio;vec3 D=vec3(uv_remap,1.0);highp float star_field=0.0;if (u_star_intensity > 0.0) {star_field+=stars(D,1.2,vec2(0.0,0.0));star_field+=stars(D,1.0,vec2(1.0,0.0));star_field+=stars(D,0.8,vec2(0.0,1.0));star_field+=stars(D,0.6,vec2(1.0,1.0));star_field*=(1.0-pow(t,0.25+(1.0-u_high_color.a)*0.75));c+=star_field*alpha_2;}c=dither(c,gl_FragCoord.xy+u_temporal_offset);gl_FragColor=vec4(c,a);}\",\"attribute vec3 a_pos;attribute vec2 a_uv;uniform vec3 u_frustum_tl;uniform vec3 u_frustum_tr;uniform vec3 u_frustum_br;uniform vec3 u_frustum_bl;uniform float u_horizon;varying highp vec3 v_ray_dir;varying highp vec3 v_horizon_dir;void main() {v_ray_dir=mix(\\nmix(u_frustum_tl,u_frustum_tr,a_uv.x),mix(u_frustum_bl,u_frustum_br,a_uv.x),a_uv.y);v_horizon_dir=mix(\\nmix(u_frustum_tl,u_frustum_bl,u_horizon),mix(u_frustum_tr,u_frustum_br,u_horizon),a_uv.x);gl_Position=vec4(a_pos,1.0);}\")};function hi(Se,Ge){const mt=Se.replace(/\\s*\\/\\/[^\\n]*\\n/g,\"\\n\").split(\"\\n\");for(let Se of mt)if(Se=Se.trim(),\"#\"===Se[0]&&Se.includes(\"if\")&&!Se.includes(\"endif\")){Se=Se.replace(\"#\",\"\").replace(/ifdef|ifndef|elif|if/g,\"\").replace(/!|defined|\\(|\\)|\\|\\||&&/g,\"\").replace(/\\s+/g,\" \").trim();const mt=Se.split(\" \");for(const Se of mt)Ge.includes(Se)||Ge.push(Se)}}function ui(Se,Ge){const mt=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Dt=Ge.match(/attribute (highp |mediump |lowp )?([\\w]+) ([\\w]+)/g),Lt={},Rt=[...bs];return hi(Se,Rt),hi(Ge,Rt),{fragmentSource:Se=Se.replace(mt,((Se,Ge,mt,Dt,Rt)=>(Lt[Rt]=!0,\"define\"===Ge?`\\n#ifndef HAS_UNIFORM_u_${Rt}\\nvarying ${mt} ${Dt} ${Rt};\\n#else\\nuniform ${mt} ${Dt} u_${Rt};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${Rt}\\n    ${mt} ${Dt} ${Rt} = u_${Rt};\\n#endif\\n`))),vertexSource:Ge=Ge.replace(mt,((Se,Ge,mt,Dt,Rt)=>{const Bt=\"float\"===Dt?\"vec2\":\"vec4\",Ft=Rt.match(/color/)?\"color\":Bt;return Lt[Rt]?\"define\"===Ge?`\\n#ifndef HAS_UNIFORM_u_${Rt}\\nuniform lowp float u_${Rt}_t;\\nattribute ${mt} ${Bt} a_${Rt};\\nvarying ${mt} ${Dt} ${Rt};\\n#else\\nuniform ${mt} ${Dt} u_${Rt};\\n#endif\\n`:\"vec4\"===Ft?`\\n#ifndef HAS_UNIFORM_u_${Rt}\\n    ${Rt} = a_${Rt};\\n#else\\n    ${mt} ${Dt} ${Rt} = u_${Rt};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${Rt}\\n    ${Rt} = unpack_mix_${Ft}(a_${Rt}, u_${Rt}_t);\\n#else\\n    ${mt} ${Dt} ${Rt} = u_${Rt};\\n#endif\\n`:\"define\"===Ge?`\\n#ifndef HAS_UNIFORM_u_${Rt}\\nuniform lowp float u_${Rt}_t;\\nattribute ${mt} ${Bt} a_${Rt};\\n#else\\nuniform ${mt} ${Dt} u_${Rt};\\n#endif\\n`:\"vec4\"===Ft?`\\n#ifndef HAS_UNIFORM_u_${Rt}\\n    ${mt} ${Dt} ${Rt} = a_${Rt};\\n#else\\n    ${mt} ${Dt} ${Rt} = u_${Rt};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${Rt}\\n    ${mt} ${Dt} ${Rt} = unpack_mix_${Ft}(a_${Rt}, u_${Rt}_t);\\n#else\\n    ${mt} ${Dt} ${Rt} = u_${Rt};\\n#endif\\n`})),staticAttributes:Dt,usedDefines:Rt}}class _i{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffers=[],this.vao=null}bind(Se,Ge,mt,Dt,Lt,Rt,Bt){this.context=Se;let Ft=this.boundPaintVertexBuffers.length!==Dt.length;for(let Se=0;!Ft&&Se<Dt.length;Se++)this.boundPaintVertexBuffers[Se]!==Dt[Se]&&(Ft=!0);let Ot=this.boundDynamicVertexBuffers.length!==Bt.length;for(let Se=0;!Ot&&Se<Bt.length;Se++)this.boundDynamicVertexBuffers[Se]!==Bt[Se]&&(Ot=!0);if(!Se.extVertexArrayObject||!this.vao||this.boundProgram!==Ge||this.boundLayoutVertexBuffer!==mt||Ft||Ot||this.boundIndexBuffer!==Lt||this.boundVertexOffset!==Rt)this.freshBind(Ge,mt,Dt,Lt,Rt,Bt);else{Se.bindVertexArrayOES.set(this.vao);for(const Se of Bt)Se&&Se.bind();Lt&&Lt.dynamicDraw&&Lt.bind()}}freshBind(Se,Ge,mt,Dt,Lt,Rt){let Bt;const Ft=Se.numAttributes,Ot=this.context,$t=Ot.gl;if(Ot.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Ot.extVertexArrayObject.createVertexArrayOES(),Ot.bindVertexArrayOES.set(this.vao),Bt=0,this.boundProgram=Se,this.boundLayoutVertexBuffer=Ge,this.boundPaintVertexBuffers=mt,this.boundIndexBuffer=Dt,this.boundVertexOffset=Lt,this.boundDynamicVertexBuffers=Rt;else{Bt=Ot.currentNumAttributes||0;for(let Se=Ft;Se<Bt;Se++)$t.disableVertexAttribArray(Se)}Ge.enableAttributes($t,Se),Ge.bind(),Ge.setVertexAttribPointers($t,Se,Lt);for(const Ge of mt)Ge.enableAttributes($t,Se),Ge.bind(),Ge.setVertexAttribPointers($t,Se,Lt);for(const Ge of Rt)Ge&&(Ge.enableAttributes($t,Se),Ge.bind(),Ge.setVertexAttribPointers($t,Se,Lt));Dt&&Dt.bind(),Ot.currentNumAttributes=Ft}destroy(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)}}function di(Ge,mt){const Dt=Math.pow(2,mt.canonical.z),Lt=mt.canonical.y;return[new Se.MercatorCoordinate(0,Lt/Dt).toLngLat().lat,new Se.MercatorCoordinate(0,(Lt+1)/Dt).toLngLat().lat]}function pi(Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Ge.context,$t=Ot.gl,Ni=Dt.fbo;if(!Ni)return;Ge.prepareDrawTile();const tr=Ge.useProgram(\"hillshade\");Ot.activeTexture.set($t.TEXTURE0),$t.bindTexture($t.TEXTURE_2D,Ni.colorAttachment.get());const Lr=((Se,Ge,mt,Dt)=>{const Lt=mt.paint.get(\"hillshade-shadow-color\"),Rt=mt.paint.get(\"hillshade-highlight-color\"),Bt=mt.paint.get(\"hillshade-accent-color\");let Ft=mt.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===mt.paint.get(\"hillshade-illumination-anchor\")&&(Ft-=Se.transform.angle);const Ot=!Se.options.moving;return{u_matrix:Dt||Se.transform.calculateProjMatrix(Ge.tileID.toUnwrapped(),Ot),u_image:0,u_latrange:di(0,Ge.tileID),u_light:[mt.paint.get(\"hillshade-exaggeration\"),Ft],u_shadow:Lt,u_highlight:Rt,u_accent:Bt}})(Ge,Dt,Lt,Ge.terrain?mt.projMatrix:null);Ge.prepareDrawProgram(Ot,tr,mt.toUnwrapped());const{tileBoundsBuffer:Rr,tileBoundsIndexBuffer:Qr,tileBoundsSegments:an}=Ge.getTileBoundsBuffers(Dt);tr.draw(Ot,$t.TRIANGLES,Rt,Bt,Ft,Se.CullFaceMode.disabled,Lr,Lt.id,Rr,Qr,an)}function mi(Ge,mt,Dt){if(!mt.needsDEMTextureUpload)return;const Lt=Ge.context,Rt=Lt.gl;Lt.pixelStoreUnpackPremultiplyAlpha.set(!1),mt.demTexture=mt.demTexture||Ge.getTileTexture(Dt.stride);const Bt=Dt.getPixels();mt.demTexture?mt.demTexture.update(Bt,{premultiply:!1}):mt.demTexture=new Se.Texture(Lt,Bt,Rt.RGBA,{premultiply:!1}),mt.needsDEMTextureUpload=!1}function fi(Ge,mt,Dt,Lt,Rt,Bt){const Ft=Ge.context,Ot=Ft.gl;if(!mt.dem)return;const $t=mt.dem;if(Ft.activeTexture.set(Ot.TEXTURE1),mi(Ge,mt,$t),!mt.demTexture)return;mt.demTexture.bind(Ot.NEAREST,Ot.CLAMP_TO_EDGE);const Ni=$t.dim;Ft.activeTexture.set(Ot.TEXTURE0);let tr=mt.fbo;if(!tr){const Ge=new Se.Texture(Ft,{width:Ni,height:Ni,data:null},Ot.RGBA);Ge.bind(Ot.LINEAR,Ot.CLAMP_TO_EDGE),tr=mt.fbo=Ft.createFramebuffer(Ni,Ni,!0),tr.colorAttachment.set(Ge.texture)}Ft.bindFramebuffer.set(tr.framebuffer),Ft.viewport.set([0,0,Ni,Ni]);const{tileBoundsBuffer:Lr,tileBoundsIndexBuffer:Rr,tileBoundsSegments:Qr}=Ge.getMercatorTileBoundsBuffers();Ge.useProgram(\"hillshadePrepare\").draw(Ft,Ot.TRIANGLES,Lt,Rt,Bt,Se.CullFaceMode.disabled,((Ge,mt)=>{const Dt=mt.stride,Lt=Se.create();return Se.ortho(Lt,0,Se.EXTENT,-Se.EXTENT,0,0,1),Se.translate(Lt,Lt,[0,-Se.EXTENT,0]),{u_matrix:Lt,u_image:1,u_dimension:[Dt,Dt],u_zoom:Ge.overscaledZ,u_unpack:mt.unpackVector}})(mt.tileID,$t),Dt.id,Lr,Rr,Qr),mt.needsHillshadePrepare=!1}const gi=Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_image0:new Se.Uniform1i(Ge),u_skirt_height:new Se.Uniform1f(Ge)}),vi=(Se,Ge)=>({u_matrix:Se,u_image0:0,u_skirt_height:Ge}),xi=(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr)=>({u_proj_matrix:Float32Array.from(Se),u_globe_matrix:Ge,u_normalize_matrix:Float32Array.from(Dt),u_merc_matrix:mt,u_zoom_transition:Lt,u_merc_center:Rt,u_image0:0,u_frustum_tl:Bt,u_frustum_tr:Ft,u_frustum_br:Ot,u_frustum_bl:$t,u_globe_pos:Ni,u_globe_radius:tr,u_viewport:Lr,u_grid_matrix:Qr?Float32Array.from(Qr):new Float32Array(9),u_skirt_height:Rr});function yi(Se,Ge){return null!=Se&&null!=Ge&&!(!Se.hasData()||!Ge.hasData())&&null!=Se.demTexture&&null!=Ge.demTexture&&Se.tileID.key!==Ge.tileID.key}const Sa=new class{constructor(){this.operations={}}newMorphing(Se,Ge,mt,Dt,Lt){if(Se in this.operations){const Ge=this.operations[Se];Ge.to.tileID.key!==mt.tileID.key&&(Ge.queued=mt)}else this.operations[Se]={startTime:Dt,phase:0,duration:Lt,from:Ge,to:mt,queued:null}}getMorphValuesForProxy(Se){if(!(Se in this.operations))return null;const Ge=this.operations[Se];return{from:Ge.from,to:Ge.to,phase:Ge.phase}}update(Se){for(const Ge in this.operations){const mt=this.operations[Ge];for(mt.phase=(Se-mt.startTime)/mt.duration;mt.phase>=1||!this._validOp(mt);)if(!this._nextOp(mt,Se)){delete this.operations[Ge];break}}}_nextOp(Se,Ge){return!!Se.queued&&(Se.from=Se.to,Se.to=Se.queued,Se.queued=null,Se.phase=0,Se.startTime=Ge,!0)}_validOp(Se){return Se.from.hasData()&&Se.to.hasData()}},Aa={0:null,1:\"TERRAIN_VERTEX_MORPHING\",2:\"TERRAIN_WIREFRAME\"};function Ti(Se){return 6*Math.pow(1.5,22-Se)}function Ei(Se,Ge){const mt=1<<Se.z;return!Ge&&(0===Se.x||Se.x===mt-1)||0===Se.y||Se.y===mt-1}const Ci=Se=>({u_matrix:Se});function Mi(Ge,mt,Dt,Lt,Rt){if(Rt>0){const Bt=Se.exported.now(),Ft=(Bt-Ge.timeAdded)/Rt,Ot=mt?(Bt-mt.timeAdded)/Rt:-1,$t=Dt.getSource(),Ni=Lt.coveringZoomLevel({tileSize:$t.tileSize,roundZoom:$t.roundZoom}),tr=!mt||Math.abs(mt.tileID.overscaledZ-Ni)>Math.abs(Ge.tileID.overscaledZ-Ni),Lr=tr&&Ge.refreshedUponExpiration?1:Se.clamp(tr?Ft:1-Ot,0,1);return Ge.refreshedUponExpiration&&Ft>=1&&(Ge.refreshedUponExpiration=!1),mt?{opacity:1,mix:1-Lr}:{opacity:Lr,mix:0}}return{opacity:1,mix:0}}class Ii extends Se.SourceCache{constructor(Se){const Ge={type:\"raster-dem\",maxzoom:Se.transform.maxZoom},mt=new S(Ue(),null),Dt=De(\"mock-dem\",Ge,mt,Se.style);super(\"mock-dem\",Dt,!1),Dt.setEventedParent(this),this._sourceLoaded=!0}_loadTile(Se,Ge){Se.state=\"loaded\",Ge(null)}}class Pi extends Se.SourceCache{constructor(Se){const Ge=De(\"proxy\",{type:\"geojson\",maxzoom:Se.transform.maxZoom},new S(Ue(),null),Se.style);super(\"proxy\",Ge,!1),Ge.setEventedParent(this),this.map=this.getSource().map=Se,this.used=this._sourceLoaded=!0,this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}update(Ge,mt,Dt){if(Ge.freezeTileCoverage)return;this.transform=Ge;const Lt=Ge.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}).reduce(((mt,Dt)=>{if(mt[Dt.key]=\"\",!this._tiles[Dt.key]){const mt=new Se.Tile(Dt,this._source.tileSize*Dt.overscaleFactor(),Ge.tileZoom);mt.state=\"loaded\",this._tiles[Dt.key]=mt}return mt}),{});for(const Se in this._tiles)Se in Lt||(this.freeFBO(Se),this._tiles[Se].unloadVectorData(),delete this._tiles[Se])}freeFBO(Se){const Ge=this.proxyCachedFBO[Se];if(void 0!==Ge){const mt=Object.values(Ge);this.renderCachePool.push(...mt),delete this.proxyCachedFBO[Se]}}deallocRenderCache(){this.renderCache.forEach((Se=>Se.fb.destroy())),this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}}class Si extends Se.OverscaledTileID{constructor(Se,Ge,mt){super(Se.overscaledZ,Se.wrap,Se.canonical.z,Se.canonical.x,Se.canonical.y),this.proxyTileKey=Ge,this.projMatrix=mt}}class Di extends Se.Elevation{constructor(Ge,mt){super(),this.painter=Ge,this.terrainTileForTile={},this.prevTerrainTileForTile={};const[Dt,Lt,Rt]=function(Ge){const mt=new Se.StructArrayLayout2i4,Dt=new Se.StructArrayLayout3ui6,Lt=131;mt.reserve(17161),Dt.reserve(33800);const Rt=Se.EXTENT/128,Bt=Se.EXTENT+Rt/2,Ft=Bt+Rt;for(let Ge=-Rt;Ge<Ft;Ge+=Rt)for(let Dt=-Rt;Dt<Ft;Dt+=Rt){const Lt=Dt<0||Dt>Bt||Ge<0||Ge>Bt?24575:0,Rt=Se.clamp(Math.round(Dt),0,Se.EXTENT),Ft=Se.clamp(Math.round(Ge),0,Se.EXTENT);mt.emplaceBack(Rt+Lt,Ft)}const l=(Se,Ge)=>{const mt=Ge*Lt+Se;Dt.emplaceBack(mt+1,mt,mt+Lt),Dt.emplaceBack(mt+Lt,mt+Lt+1,mt+1)};for(let Se=1;Se<129;Se++)for(let Ge=1;Ge<129;Ge++)l(Ge,Se);return[0,129].forEach((Se=>{for(let Ge=0;Ge<130;Ge++)l(Ge,Se),l(Se,Ge)})),[mt,Dt,32768]}(),Bt=Ge.context;this.gridBuffer=Bt.createVertexBuffer(Dt,Se.posAttributes.members),this.gridIndexBuffer=Bt.createIndexBuffer(Lt),this.gridSegments=Se.SegmentVector.simpleSegment(0,0,Dt.length,Lt.length),this.gridNoSkirtSegments=Se.SegmentVector.simpleSegment(0,0,Dt.length,Rt),this.proxyCoords=[],this.proxiedCoords={},this._visibleDemTiles=[],this._drapedRenderBatches=[],this._sourceTilesOverlap={},this.proxySourceCache=new Pi(mt.map),this.orthoMatrix=Se.create(),Se.ortho(this.orthoMatrix,\"globe\"===this.painter.transform.projection.name?.015:0,Se.EXTENT,0,Se.EXTENT,0,1);const Ft=Bt.gl;this._overlapStencilMode=new Se.StencilMode({func:Ft.GEQUAL,mask:255},0,255,Ft.KEEP,Ft.KEEP,Ft.REPLACE),this._previousZoom=Ge.transform.zoom,this.pool=[],this._findCoveringTileCache={},this._tilesDirty={},this.style=mt,this._useVertexMorphing=!0,this._exaggeration=1,this._mockSourceCache=new Ii(mt.map)}set style(Se){Se.on(\"data\",this._onStyleDataEvent.bind(this)),Se.on(\"neworder\",this._checkRenderCacheEfficiency.bind(this)),this._style=Se,this._checkRenderCacheEfficiency(),this._style.map.on(\"moveend\",(()=>{this._clearLineLayersFromRenderCache()}))}update(Ge,mt,Dt){if(Ge&&Ge.terrain){this._style!==Ge&&(this.style=Ge),this.enabled=!0;const Lt=Ge.terrain.properties;this.sourceCache=0===Ge.terrain.drapeRenderMode?this._mockSourceCache:Ge._getSourceCache(Lt.get(\"source\")),this._exaggeration=Lt.get(\"exaggeration\");const n=()=>{this.sourceCache.used&&Se.warnOnce(`Raster DEM source '${this.sourceCache.id}' is used both for terrain and as layer source.\\nThis leads to lower resolution of hillshade. For full hillshade resolution but higher memory consumption, define another raster DEM source.`);const Ge=this.getScaledDemTileSize();this.sourceCache.update(mt,Ge,!0),this.resetTileLookupCache(this.sourceCache.id)};this.sourceCache.usedForTerrain||(this.resetTileLookupCache(this.sourceCache.id),this.sourceCache.usedForTerrain=!0,n(),this._initializing=!0),n(),mt.updateElevation(!0,Dt),this.resetTileLookupCache(this.proxySourceCache.id),this.proxySourceCache.update(mt),this._emptyDEMTextureDirty=!0}else this._disable()}resetTileLookupCache(Se){this._findCoveringTileCache[Se]={}}getScaledDemTileSize(){return this.sourceCache.getSource().tileSize/128*this.proxySourceCache.getSource().tileSize}_checkRenderCacheEfficiency(){const Ge=this.renderCacheEfficiency(this._style);this._style.map._optimizeForTerrain||100!==Ge.efficiency&&Se.warnOnce(`Terrain render cache efficiency is not optimal (${Ge.efficiency}%) and performance\\n                may be affected negatively, consider placing all background, fill and line layers before layer\\n                with id '${Ge.firstUndrapedLayer}' or create a map using optimizeForTerrain: true option.`)}_onStyleDataEvent(Se){Se.coord&&\"source\"===Se.dataType?this._clearRenderCacheForTile(Se.sourceCacheId,Se.coord):\"style\"===Se.dataType&&(this._invalidateRenderCache=!0)}_disable(){if(this.enabled&&(this.enabled=!1,this._sharedDepthStencil=void 0,this.proxySourceCache.deallocRenderCache(),this._style))for(const Se in this._style._sourceCaches)this._style._sourceCaches[Se].usedForTerrain=!1}destroy(){this._disable(),this._emptyDEMTexture&&this._emptyDEMTexture.destroy(),this._emptyDepthBufferTexture&&this._emptyDepthBufferTexture.destroy(),this.pool.forEach((Se=>Se.fb.destroy())),this.pool=[],this._depthFBO&&(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0)}_source(){return this.enabled?this.sourceCache:null}isUsingMockSource(){return this.sourceCache===this._mockSourceCache}exaggeration(){return this._exaggeration}get visibleDemTiles(){return this._visibleDemTiles}get drapeBufferSize(){const Se=2*this.proxySourceCache.getSource().tileSize;return[Se,Se]}set useVertexMorphing(Se){this._useVertexMorphing=Se}updateTileBinding(Ge){if(!this.enabled)return;this.prevTerrainTileForTile=this.terrainTileForTile;const mt=this.proxySourceCache,Dt=this.painter.transform;this._initializing&&(this._initializing=0===Dt._centerAltitude&&-1===this.getAtPointOrZero(Se.MercatorCoordinate.fromLngLat(Dt.center),-1),this._emptyDEMTextureDirty=!this._initializing);const Lt=this.proxyCoords=mt.getIds().map((Se=>{const Ge=mt.getTileByID(Se).tileID;return Ge.projMatrix=Dt.calculateProjMatrix(Ge.toUnwrapped()),Ge}));!function(Ge,mt){const Dt=mt.transform.pointCoordinate(mt.transform.getCameraPoint()),Lt=new Se.Point(Dt.x,Dt.y);Ge.sort(((Ge,mt)=>{if(mt.overscaledZ-Ge.overscaledZ)return mt.overscaledZ-Ge.overscaledZ;const Dt=new Se.Point(Ge.canonical.x+(1<<Ge.canonical.z)*Ge.wrap,Ge.canonical.y),Rt=new Se.Point(mt.canonical.x+(1<<mt.canonical.z)*mt.wrap,mt.canonical.y),Bt=Lt.mult(1<<Ge.canonical.z);return Bt.x-=.5,Bt.y-=.5,Bt.distSqr(Dt)-Bt.distSqr(Rt)}))}(Lt,this.painter),this._previousZoom=Dt.zoom;const Rt=this.proxyToSource||{};this.proxyToSource={},Lt.forEach((Se=>{this.proxyToSource[Se.key]={}})),this.terrainTileForTile={};const Bt=this._style._sourceCaches;for(const Se in Bt){const mt=Bt[Se];if(!mt.used)continue;if(mt!==this.sourceCache&&this.resetTileLookupCache(mt.id),this._setupProxiedCoordsForOrtho(mt,Ge[Se],Rt),mt.usedForTerrain)continue;const Dt=Ge[Se];mt.getSource().reparseOverscaled&&this._assignTerrainTiles(Dt)}this.proxiedCoords[mt.id]=Lt.map((Se=>new Si(Se,Se.key,this.orthoMatrix))),this._assignTerrainTiles(Lt),this._prepareDEMTextures(),this._setupDrapedRenderBatches(),this._initFBOPool(),this._setupRenderCache(Rt),this.renderingToTexture=!1,this._updateTimestamp=Se.exported.now();const Ft={};this._visibleDemTiles=[];for(const Se of this.proxyCoords){const Ge=this.terrainTileForTile[Se.key];if(!Ge)continue;const mt=Ge.tileID.key;mt in Ft||(this._visibleDemTiles.push(Ge),Ft[mt]=mt)}}_assignTerrainTiles(Se){this._initializing||Se.forEach((Se=>{if(this.terrainTileForTile[Se.key])return;const Ge=this._findTileCoveringTileID(Se,this.sourceCache);Ge&&(this.terrainTileForTile[Se.key]=Ge)}))}_prepareDEMTextures(){const Se=this.painter.context,Ge=Se.gl;for(const mt in this.terrainTileForTile){const Dt=this.terrainTileForTile[mt],Lt=Dt.dem;!Lt||Dt.demTexture&&!Dt.needsDEMTextureUpload||(Se.activeTexture.set(Ge.TEXTURE1),mi(this.painter,Dt,Lt))}}_prepareDemTileUniforms(Se,Ge,mt,Dt){if(!Ge||null==Ge.demTexture)return!1;const Lt=Se.tileID.canonical,Rt=Math.pow(2,Ge.tileID.canonical.z-Lt.z),Bt=Dt||\"\";return mt[`u_dem_tl${Bt}`]=[Lt.x*Rt%1,Lt.y*Rt%1],mt[`u_dem_scale${Bt}`]=Rt,!0}get emptyDEMTexture(){return!this._emptyDEMTextureDirty&&this._emptyDEMTexture?this._emptyDEMTexture:this._updateEmptyDEMTexture()}get emptyDepthBufferTexture(){const Ge=this.painter.context,mt=Ge.gl;if(!this._emptyDepthBufferTexture){const Dt=new Se.RGBAImage({width:1,height:1},Uint8Array.of(255,255,255,255));this._emptyDepthBufferTexture=new Se.Texture(Ge,Dt,mt.RGBA,{premultiply:!1})}return this._emptyDepthBufferTexture}_getLoadedAreaMinimum(){let Se=0;const Ge=this._visibleDemTiles.reduce(((Ge,mt)=>{if(!mt.dem)return Ge;const Dt=mt.dem.tree.minimums[0];return Dt>0&&Se++,Ge+Dt}),0);return Se?Ge/Se:0}_updateEmptyDEMTexture(){const Ge=this.painter.context,mt=Ge.gl;Ge.activeTexture.set(mt.TEXTURE2);const Dt=this._getLoadedAreaMinimum(),Lt=new Se.RGBAImage({width:1,height:1},new Uint8Array(Se.DEMData.pack(Dt,this.sourceCache.getSource().encoding)));this._emptyDEMTextureDirty=!1;let Rt=this._emptyDEMTexture;return Rt?Rt.update(Lt,{premultiply:!1}):Rt=this._emptyDEMTexture=new Se.Texture(Ge,Lt,mt.RGBA,{premultiply:!1}),Rt}setupElevationDraw(Ge,mt,Dt){const Lt=this.painter.context,Rt=Lt.gl,Bt=(Ft=this.sourceCache.getSource().encoding,{u_dem:2,u_dem_prev:4,u_dem_unpack:Se.DEMData.getUnpackVector(Ft),u_dem_tl:[0,0],u_dem_tl_prev:[0,0],u_dem_scale:0,u_dem_scale_prev:0,u_dem_size:0,u_dem_lerp:1,u_depth:3,u_depth_size_inv:[0,0],u_exaggeration:0});var Ft;Bt.u_dem_size=this.sourceCache.getSource().tileSize,Bt.u_exaggeration=this.exaggeration();let Ot=null,$t=null,Ni=1;if(Dt&&Dt.morphing&&this._useVertexMorphing){const Se=Dt.morphing.srcDemTile,mt=Dt.morphing.dstDemTile;Ni=Dt.morphing.phase,Se&&mt&&(this._prepareDemTileUniforms(Ge,Se,Bt,\"_prev\")&&($t=Se),this._prepareDemTileUniforms(Ge,mt,Bt)&&(Ot=mt))}if($t&&Ot?(Lt.activeTexture.set(Rt.TEXTURE2),Ot.demTexture.bind(Rt.NEAREST,Rt.CLAMP_TO_EDGE,Rt.NEAREST),Lt.activeTexture.set(Rt.TEXTURE4),$t.demTexture.bind(Rt.NEAREST,Rt.CLAMP_TO_EDGE,Rt.NEAREST),Bt.u_dem_lerp=Ni):(Ot=this.terrainTileForTile[Ge.tileID.key],Lt.activeTexture.set(Rt.TEXTURE2),(this._prepareDemTileUniforms(Ge,Ot,Bt)?Ot.demTexture:this.emptyDEMTexture).bind(Rt.NEAREST,Rt.CLAMP_TO_EDGE)),Lt.activeTexture.set(Rt.TEXTURE3),Dt&&Dt.useDepthForOcclusion?(this._depthTexture&&this._depthTexture.bind(Rt.NEAREST,Rt.CLAMP_TO_EDGE),this._depthFBO&&(Bt.u_depth_size_inv=[1/this._depthFBO.width,1/this._depthFBO.height])):(this.emptyDepthBufferTexture.bind(Rt.NEAREST,Rt.CLAMP_TO_EDGE),Bt.u_depth_size_inv=[1,1]),Dt&&Dt.useMeterToDem&&Ot){const Ge=(1<<Ot.tileID.canonical.z)*Se.mercatorZfromAltitude(1,this.painter.transform.center.lat)*this.sourceCache.getSource().tileSize;Bt.u_meter_to_dem=Ge}if(Dt&&Dt.labelPlaneMatrixInv&&(Bt.u_label_plane_matrix_inv=Dt.labelPlaneMatrixInv),mt.setTerrainUniformValues(Lt,Bt),\"globe\"===this.painter.transform.projection.name){const Se=this.globeUniformValues(this.painter.transform,Ge.tileID.canonical,Dt&&Dt.useDenormalizedUpVectorScale);mt.setGlobeUniformValues(Lt,Se)}}globeUniformValues(Ge,mt,Dt){const Lt=Ge.projection;return{u_tile_tl_up:Lt.upVector(mt,0,0),u_tile_tr_up:Lt.upVector(mt,Se.EXTENT,0),u_tile_br_up:Lt.upVector(mt,Se.EXTENT,Se.EXTENT),u_tile_bl_up:Lt.upVector(mt,0,Se.EXTENT),u_tile_up_scale:Dt?Se.globeMetersToEcef(1):Lt.upVectorScale(mt,Ge.center.lat,Ge.worldSize).metersToTile}}renderToBackBuffer(Ge){const mt=this.painter,Dt=this.painter.context;0!==Ge.length&&(Dt.bindFramebuffer.set(null),Dt.viewport.set([0,0,mt.width,mt.height]),mt.gpuTimingDeferredRenderStart(),this.renderingToTexture=!1,function(Ge,mt,Dt,Lt,Rt){if(\"globe\"===Ge.transform.projection.name)!function(Ge,mt,Dt,Lt,Rt){const Bt=Ge.context,Ft=Bt.gl;let Ot,$t;const Ni=Ge.options.showTerrainWireframe?2:0,tr=Ge.transform,Lr=Se.globeUseCustomAntiAliasing(Ge,Bt,tr),d=(Se,mt)=>{if($t===Se)return;const Dt=[Aa[Se],\"PROJECTION_GLOBE_VIEW\"];Lr&&Dt.push(\"CUSTOM_ANTIALIASING\"),mt&&Dt.push(Aa[Ni]),Ot=Ge.useProgram(\"globeRaster\",null,Dt),$t=Se},Rr=Ge.colorModeForRenderPass(),Qr=new Se.DepthMode(Ft.LEQUAL,Se.DepthMode.ReadWrite,Ge.depthRangeFor3D);Sa.update(Rt);const an=Se.calculateGlobeMercatorMatrix(tr),ln=[Se.mercatorXfromLng(tr.center.lng),Se.mercatorYfromLat(tr.center.lat)],pn=Ni?[!1,!0]:[!1],fn=Ge.globeSharedBuffers,mn=[tr.width*Se.exported.devicePixelRatio,tr.height*Se.exported.devicePixelRatio],_n=Float32Array.from(tr.globeMatrix),bn={useDenormalizedUpVectorScale:!0};if(pn.forEach((Ni=>{const tr=Ge.transform,Lr=Ti(tr.zoom)*mt.exaggeration();$t=-1;const pn=Ni?Ft.LINES:Ft.TRIANGLES;for(const $t of Lt){const Lt=Dt.getTile($t),wn=Se.StencilMode.disabled,Tn=mt.prevTerrainTileForTile[$t.key],Sn=mt.terrainTileForTile[$t.key];yi(Tn,Sn)&&Sa.newMorphing($t.key,Tn,Sn,Rt,250),Bt.activeTexture.set(Ft.TEXTURE0),Lt.texture.bind(Ft.LINEAR,Ft.CLAMP_TO_EDGE);const An=Sa.getMorphValuesForProxy($t.key),Pn=An?1:0;An&&Se.extend$1(bn,{morphing:{srcDemTile:An.from,dstDemTile:An.to,phase:Se.easeCubicInOut(An.phase)}});const kn=Se.tileCornersToBounds($t.canonical),eo=Se.getLatitudinalLod(kn.getCenter().lat),ao=Se.getGridMatrix($t.canonical,kn,eo,tr.worldSize/tr._pixelsPerMercatorPixel),Oo=Se.globeNormalizeECEF(Se.globeTileBounds($t.canonical)),Qo=xi(tr.projMatrix,_n,an,Oo,Se.globeToMercatorTransition(tr.zoom),ln,tr.frustumCorners.TL,tr.frustumCorners.TR,tr.frustumCorners.BR,tr.frustumCorners.BL,tr.globeCenterInViewSpace,tr.globeRadius,mn,Lr,ao);if(d(Pn,Ni),mt.setupElevationDraw(Lt,Ot,bn),Ge.prepareDrawProgram(Bt,Ot,$t.toUnwrapped()),fn){const[mt,Dt,Lt]=Ni?fn.getWirefameBuffers(Ge.context,eo):fn.getGridBuffers(eo,0!==Lr);Ot.draw(Bt,pn,Qr,wn,Rr,Se.CullFaceMode.backCCW,Qo,\"globe_raster\",mt,Dt,Lt)}}})),fn){const Rt=[\"GLOBE_POLES\",\"PROJECTION_GLOBE_VIEW\"];Lr&&Rt.push(\"CUSTOM_ANTIALIASING\"),Ot=Ge.useProgram(\"globeRaster\",null,Rt);for(const Rt of Lt){const{x:Lt,y:$t,z:Ni}=Rt.canonical,Lr=0===$t,an=$t===(1<<Ni)-1,[pn,_n,wn,Tn]=fn.getPoleBuffers(Ni);if(Tn&&(Lr||an)){const $t=Dt.getTile(Rt);Bt.activeTexture.set(Ft.TEXTURE0),$t.texture.bind(Ft.LINEAR,Ft.CLAMP_TO_EDGE);let fn=Se.globePoleMatrixForTile(Ni,Lt,tr);const Sn=Se.globeNormalizeECEF(Se.globeTileBounds(Rt.canonical)),C=(Ge,mt)=>Ge.draw(Bt,Ft.TRIANGLES,Qr,Se.StencilMode.disabled,Rr,Se.CullFaceMode.disabled,xi(tr.projMatrix,fn,fn,Sn,0,ln,tr.frustumCorners.TL,tr.frustumCorners.TR,tr.frustumCorners.BR,tr.frustumCorners.BL,tr.globeCenterInViewSpace,tr.globeRadius,mn,0),\"globe_pole_raster\",mt,wn,Tn);mt.setupElevationDraw($t,Ot,bn),Ge.prepareDrawProgram(Bt,Ot,Rt.toUnwrapped()),Lr&&C(Ot,pn),an&&(fn=Se.scale(Se.create(),fn,[1,-1,1]),C(Ot,_n))}}}}(Ge,mt,Dt,Lt,Rt);else{const Bt=Ge.context,Ft=Bt.gl;let Ot,$t;const Ni=Ge.options.showTerrainWireframe?2:0,u=(Se,mt)=>{if($t===Se)return;const Dt=[Aa[Se]];mt&&Dt.push(Aa[Ni]),Ot=Ge.useProgram(\"terrainRaster\",null,Dt),$t=Se},tr=Ge.colorModeForRenderPass(),Lr=new Se.DepthMode(Ft.LEQUAL,Se.DepthMode.ReadWrite,Ge.depthRangeFor3D);Sa.update(Rt);const Rr=Ge.transform,Qr=Ti(Rr.zoom)*mt.exaggeration();(Ni?[!1,!0]:[!1]).forEach((Ni=>{$t=-1;const an=Ni?Ft.LINES:Ft.TRIANGLES,[ln,pn]=Ni?mt.getWirefameBuffer():[mt.gridIndexBuffer,mt.gridSegments];for(const $t of Lt){const Lt=Dt.getTile($t),fn=Se.StencilMode.disabled,mn=mt.prevTerrainTileForTile[$t.key],_n=mt.terrainTileForTile[$t.key];yi(mn,_n)&&Sa.newMorphing($t.key,mn,_n,Rt,250),Bt.activeTexture.set(Ft.TEXTURE0),Lt.texture.bind(Ft.LINEAR,Ft.CLAMP_TO_EDGE,Ft.LINEAR_MIPMAP_NEAREST);const bn=Sa.getMorphValuesForProxy($t.key),wn=bn?1:0;let Tn;bn&&(Tn={morphing:{srcDemTile:bn.from,dstDemTile:bn.to,phase:Se.easeCubicInOut(bn.phase)}});const Sn=vi($t.projMatrix,Ei($t.canonical,Rr.renderWorldCopies)?Qr/10:Qr);u(wn,Ni),mt.setupElevationDraw(Lt,Ot,Tn),Ge.prepareDrawProgram(Bt,Ot,$t.toUnwrapped()),Ot.draw(Bt,an,Lr,fn,tr,Se.CullFaceMode.backCCW,Sn,\"terrain_raster\",mt.gridBuffer,ln,pn)}}))}}(mt,this,this.proxySourceCache,Ge,this._updateTimestamp),this.renderingToTexture=!0,mt.gpuTimingDeferredRenderEnd(),Ge.splice(0,Ge.length))}renderBatch(Ge){if(0===this._drapedRenderBatches.length)return Ge+1;this.renderingToTexture=!0;const mt=this.painter,Dt=this.painter.context,Lt=this.proxySourceCache,Rt=this.proxiedCoords[Lt.id],Bt=this._drapedRenderBatches.shift(),Ft=[],Ot=mt.style.order;let $t=0;for(const Ni of Rt){const Rt=Lt.getTileByID(Ni.proxyTileKey),tr=Lt.proxyCachedFBO[Ni.key]?Lt.proxyCachedFBO[Ni.key][Ge]:void 0,Lr=void 0!==tr?Lt.renderCache[tr]:this.pool[$t++],Rr=void 0!==tr;if(Rt.texture=Lr.tex,Rr&&!Lr.dirty){Ft.push(Rt.tileID);continue}let Qr;Dt.bindFramebuffer.set(Lr.fb.framebuffer),this.renderedToTile=!1,Lr.dirty&&(Dt.clear({color:Se.Color.transparent,stencil:0}),Lr.dirty=!1);for(let Se=Bt.start;Se<=Bt.end;++Se){const Ge=mt.style._layers[Ot[Se]];if(Ge.isHidden(mt.transform.zoom))continue;const Lt=mt.style._getLayerSourceCache(Ge),Rt=Lt?this.proxyToSource[Ni.key][Lt.id]:[Ni];if(!Rt)continue;const Bt=Rt;Dt.viewport.set([0,0,Lr.fb.width,Lr.fb.height]),Qr!==(Lt?Lt.id:null)&&(this._setupStencil(Lr,Rt,Ge,Lt),Qr=Lt?Lt.id:null),mt.renderLayer(mt,Lt,Ge,Bt)}this.renderedToTile?(Lr.dirty=!0,Ft.push(Rt.tileID)):Rr||--$t,5===$t&&($t=0,this.renderToBackBuffer(Ft))}return this.renderToBackBuffer(Ft),this.renderingToTexture=!1,Dt.bindFramebuffer.set(null),Dt.viewport.set([0,0,mt.width,mt.height]),Bt.end+1}postRender(){}renderCacheEfficiency(Se){const Ge=Se.order.length;if(0===Ge)return{efficiency:100};let mt,Dt=0,Lt=0,Rt=!1;for(let Bt=0;Bt<Ge;++Bt){const Ge=Se._layers[Se.order[Bt]];this._style.isLayerDraped(Ge)?(Rt&&++Dt,++Lt):Rt||(Rt=!0,mt=Ge.id)}return 0===Lt?{efficiency:100}:{efficiency:100*(1-Dt/Lt),firstUndrapedLayer:mt}}getMinElevationBelowMSL(){let Se=0;return this._visibleDemTiles.filter((Se=>Se.dem)).forEach((Ge=>{Se=Math.min(Se,Ge.dem.tree.minimums[0])})),0===Se?Se:(Se-30)*this._exaggeration}raycast(Se,Ge,mt){if(!this._visibleDemTiles)return null;const Dt=this._visibleDemTiles.filter((Se=>Se.dem)).map((Dt=>{const Lt=Dt.tileID,Rt=1<<Lt.overscaledZ,{x:Bt,y:Ft}=Lt.canonical,Ot=Bt/Rt,$t=(Bt+1)/Rt,Ni=Ft/Rt,tr=(Ft+1)/Rt;return{minx:Ot,miny:Ni,maxx:$t,maxy:tr,t:Dt.dem.tree.raycastRoot(Ot,Ni,$t,tr,Se,Ge,mt),tile:Dt}}));Dt.sort(((Se,Ge)=>(null!==Se.t?Se.t:Number.MAX_VALUE)-(null!==Ge.t?Ge.t:Number.MAX_VALUE)));for(const Lt of Dt){if(null==Lt.t)return null;const Dt=Lt.tile.dem.tree.raycast(Lt.minx,Lt.miny,Lt.maxx,Lt.maxy,Se,Ge,mt);if(null!=Dt)return Dt}return null}_createFBO(){const Ge=this.painter.context,mt=Ge.gl,Dt=this.drapeBufferSize;Ge.activeTexture.set(mt.TEXTURE0);const Lt=new Se.Texture(Ge,{width:Dt[0],height:Dt[1],data:null},mt.RGBA);Lt.bind(mt.LINEAR,mt.CLAMP_TO_EDGE);const Rt=Ge.createFramebuffer(Dt[0],Dt[1],!1);return Rt.colorAttachment.set(Lt.texture),Rt.depthAttachment=new we(Ge,Rt.framebuffer),void 0===this._sharedDepthStencil?(this._sharedDepthStencil=Ge.createRenderbuffer(Ge.gl.DEPTH_STENCIL,Dt[0],Dt[1]),this._stencilRef=0,Rt.depthAttachment.set(this._sharedDepthStencil),Ge.clear({stencil:0})):Rt.depthAttachment.set(this._sharedDepthStencil),Ge.extTextureFilterAnisotropic&&!Ge.extTextureFilterAnisotropicForceOff&&mt.texParameterf(mt.TEXTURE_2D,Ge.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,Ge.extTextureFilterAnisotropicMax),{fb:Rt,tex:Lt,dirty:!1}}_initFBOPool(){for(;this.pool.length<Math.min(5,this.proxyCoords.length);)this.pool.push(this._createFBO())}_shouldDisableRenderCache(){if(this._style.light&&this._style.light.hasTransition())return!0;for(const Se in this._style._sourceCaches)if(this._style._sourceCaches[Se].hasTransition())return!0;return this._style.order.some((Se=>{const Ge=this._style._layers[Se],mt=Ge.isHidden(this.painter.transform.zoom);return\"custom\"===Ge.type?!mt&&Ge.shouldRedrape():!mt&&Ge.hasTransition()}))}_clearLineLayersFromRenderCache(){let Ge=!1;for(const Se of this._style._getSources())if(Se instanceof Ce){Ge=!0;break}if(!Ge)return;const mt={};for(let Ge=0;Ge<this._style.order.length;++Ge){const Dt=this._style._layers[this._style.order[Ge]],Lt=this._style._getLayerSourceCache(Dt);if(Lt&&!mt[Lt.id]&&!Dt.isHidden(this.painter.transform.zoom)&&\"line\"===Dt.type&&Dt.widthExpression()instanceof Se.ZoomDependentExpression){mt[Lt.id]=!0;for(const Se of this.proxyCoords){const Ge=this.proxyToSource[Se.key][Lt.id];if(Ge)for(const Se of Ge)this._clearRenderCacheForTile(Lt.id,Se)}}}}_clearRasterLayersFromRenderCache(){let Se=!1;for(const Ge in this._style._sourceCaches)if(this._style._sourceCaches[Ge]._source instanceof Me){Se=!0;break}if(!Se)return;const Ge={};for(let Se=0;Se<this._style.order.length;++Se){const mt=this._style._layers[this._style.order[Se]],Dt=this._style._getLayerSourceCache(mt);if(!Dt||Ge[Dt.id])continue;if(mt.isHidden(this.painter.transform.zoom)||\"raster\"!==mt.type)continue;const Lt=mt.paint.get(\"raster-fade-duration\");for(const Se of this.proxyCoords){const Ge=this.proxyToSource[Se.key][Dt.id];if(Ge)for(const Se of Ge){const Ge=Mi(Dt.getTile(Se),Dt.findLoadedParent(Se,0),Dt,this.painter.transform,Lt);(1!==Ge.opacity||0!==Ge.mix)&&this._clearRenderCacheForTile(Dt.id,Se)}}}}_setupDrapedRenderBatches(){const Se=this._style.order,Ge=Se.length;if(0===Ge)return;const mt=[];let Dt,Lt=0,Rt=this._style._layers[Se[Lt]];for(;!this._style.isLayerDraped(Rt)&&Rt.isHidden(this.painter.transform.zoom)&&++Lt<Ge;)Rt=this._style._layers[Se[Lt]];for(;Lt<Ge;++Lt){const Ge=this._style._layers[Se[Lt]];Ge.isHidden(this.painter.transform.zoom)||(this._style.isLayerDraped(Ge)?void 0===Dt&&(Dt=Lt):void 0!==Dt&&(mt.push({start:Dt,end:Lt-1}),Dt=void 0))}void 0!==Dt&&mt.push({start:Dt,end:Lt-1}),this._drapedRenderBatches=mt}_setupRenderCache(Se){const Ge=this.proxySourceCache;if(this._shouldDisableRenderCache()||this._invalidateRenderCache){if(this._invalidateRenderCache=!1,Ge.renderCache.length>Ge.renderCachePool.length){const Se=Object.values(Ge.proxyCachedFBO);Ge.proxyCachedFBO={};for(let mt=0;mt<Se.length;++mt){const Dt=Object.values(Se[mt]);Ge.renderCachePool.push(...Dt)}}return}this._clearRasterLayersFromRenderCache();const mt=this.proxyCoords,Dt=this._tilesDirty;for(let Lt=mt.length-1;Lt>=0;Lt--){const Rt=mt[Lt];if(Ge.getTileByID(Rt.key),void 0!==Ge.proxyCachedFBO[Rt.key]){const mt=Se[Rt.key],Lt=this.proxyToSource[Rt.key];let Bt=0;for(const Se in Lt){const Ge=Lt[Se],Rt=mt[Se];if(!Rt||Rt.length!==Ge.length||Ge.some(((Ge,mt)=>Ge!==Rt[mt]||Dt[Se]&&Dt[Se].hasOwnProperty(Ge.key)))){Bt=-1;break}++Bt}for(const Se in Ge.proxyCachedFBO[Rt.key])Ge.renderCache[Ge.proxyCachedFBO[Rt.key][Se]].dirty=Bt<0||Bt!==Object.values(mt).length}}const Lt=[...this._drapedRenderBatches];Lt.sort(((Se,Ge)=>Ge.end-Ge.start-(Se.end-Se.start)));for(const Se of Lt)for(const Dt of mt){if(Ge.proxyCachedFBO[Dt.key])continue;let mt=Ge.renderCachePool.pop();void 0===mt&&Ge.renderCache.length<50&&(mt=Ge.renderCache.length,Ge.renderCache.push(this._createFBO())),void 0!==mt&&(Ge.proxyCachedFBO[Dt.key]={},Ge.proxyCachedFBO[Dt.key][Se.start]=mt,Ge.renderCache[mt].dirty=!0)}this._tilesDirty={}}_setupStencil(Se,Ge,mt,Dt){if(!Dt||!this._sourceTilesOverlap[Dt.id])return void(this._overlapStencilType&&(this._overlapStencilType=!1));const Lt=this.painter.context,Rt=Lt.gl;if(Ge.length<=1)return void(this._overlapStencilType=!1);let Bt;if(mt.isTileClipped())Bt=Ge.length,this._overlapStencilMode.test={func:Rt.EQUAL,mask:255},this._overlapStencilType=\"Clip\";else{if(!(Ge[0].overscaledZ>Ge[Ge.length-1].overscaledZ))return void(this._overlapStencilType=!1);Bt=1,this._overlapStencilMode.test={func:Rt.GREATER,mask:255},this._overlapStencilType=\"Mask\"}this._stencilRef+Bt>255&&(Lt.clear({stencil:0}),this._stencilRef=0),this._stencilRef+=Bt,this._overlapStencilMode.ref=this._stencilRef,mt.isTileClipped()&&this._renderTileClippingMasks(Ge,this._overlapStencilMode.ref)}clipOrMaskOverlapStencilType(){return\"Clip\"===this._overlapStencilType||\"Mask\"===this._overlapStencilType}stencilModeForRTTOverlap(Ge){return this.renderingToTexture&&this._overlapStencilType?(\"Clip\"===this._overlapStencilType&&(this._overlapStencilMode.ref=this.painter._tileClippingMaskIDs[Ge.key]),this._overlapStencilMode):Se.StencilMode.disabled}_renderTileClippingMasks(Ge,mt){const Dt=this.painter,Lt=this.painter.context,Rt=Lt.gl;Dt._tileClippingMaskIDs={},Lt.setColorMode(Se.ColorMode.disabled),Lt.setDepthMode(Se.DepthMode.disabled);const Bt=Dt.useProgram(\"clippingMask\");for(const Ft of Ge){const Ge=Dt._tileClippingMaskIDs[Ft.key]=--mt;Bt.draw(Lt,Rt.TRIANGLES,Se.DepthMode.disabled,new Se.StencilMode({func:Rt.ALWAYS,mask:0},Ge,255,Rt.KEEP,Rt.KEEP,Rt.REPLACE),Se.ColorMode.disabled,Se.CullFaceMode.disabled,Ci(Ft.projMatrix),\"$clipping\",Dt.tileExtentBuffer,Dt.quadTriangleIndexBuffer,Dt.tileExtentSegments)}}pointCoordinate(Ge){const mt=this.painter.transform;if(Ge.x<0||Ge.x>mt.width||Ge.y<0||Ge.y>mt.height)return null;const Dt=[Ge.x,Ge.y,1,1];Se.transformMat4$1(Dt,Dt,mt.pixelMatrixInverse),Se.scale$1(Dt,Dt,1/Dt[3]),Dt[0]/=mt.worldSize,Dt[1]/=mt.worldSize;const Lt=mt._camera.position,Rt=Se.mercatorZfromAltitude(1,mt.center.lat),Bt=[Lt[0],Lt[1],Lt[2]/Rt,0],Ft=Se.subtract([],Dt.slice(0,3),Bt);Se.normalize(Ft,Ft);const Ot=this.raycast(Bt,Ft,this._exaggeration);return null!==Ot&&Ot?(Se.scaleAndAdd(Bt,Bt,Ft,Ot),Bt[3]=Bt[2],Bt[2]*=Rt,Bt):null}drawDepth(){const Ge=this.painter,mt=Ge.context,Dt=this.proxySourceCache,Lt=Math.ceil(Ge.width),Rt=Math.ceil(Ge.height);if(!this._depthFBO||this._depthFBO.width===Lt&&this._depthFBO.height===Rt||(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),!this._depthFBO){const Ge=mt.gl,Dt=mt.createFramebuffer(Lt,Rt,!0);mt.activeTexture.set(Ge.TEXTURE0);const Bt=new Se.Texture(mt,{width:Lt,height:Rt,data:null},Ge.RGBA);Bt.bind(Ge.NEAREST,Ge.CLAMP_TO_EDGE),Dt.colorAttachment.set(Bt.texture);const Ft=mt.createRenderbuffer(mt.gl.DEPTH_COMPONENT16,Lt,Rt);Dt.depthAttachment.set(Ft),this._depthFBO=Dt,this._depthTexture=Bt}mt.bindFramebuffer.set(this._depthFBO.framebuffer),mt.viewport.set([0,0,Lt,Rt]),function(Ge,mt,Dt,Lt){if(\"globe\"===Ge.transform.projection.name)return;const Rt=Ge.context,Bt=Rt.gl;Rt.clear({depth:1});const Ft=Ge.useProgram(\"terrainDepth\"),Ot=new Se.DepthMode(Bt.LESS,Se.DepthMode.ReadWrite,Ge.depthRangeFor3D);for(const Ge of Lt){const Lt=Dt.getTile(Ge),$t=vi(Ge.projMatrix,0);mt.setupElevationDraw(Lt,Ft),Ft.draw(Rt,Bt.TRIANGLES,Ot,Se.StencilMode.disabled,Se.ColorMode.unblended,Se.CullFaceMode.backCCW,$t,\"terrain_depth\",mt.gridBuffer,mt.gridIndexBuffer,mt.gridNoSkirtSegments)}}(Ge,this,Dt,this.proxyCoords)}_setupProxiedCoordsForOrtho(Se,Ge,mt){if(Se.getSource()instanceof Pe)return this._setupProxiedCoordsForImageSource(Se,Ge,mt);this._findCoveringTileCache[Se.id]=this._findCoveringTileCache[Se.id]||{};const Dt=this.proxiedCoords[Se.id]=[],Lt=this.proxyCoords;for(let Ge=0;Ge<Lt.length;Ge++){const Rt=Lt[Ge],Bt=this._findTileCoveringTileID(Rt,Se);if(Bt){const Ge=this._createProxiedId(Rt,Bt,mt[Rt.key]&&mt[Rt.key][Se.id]);Dt.push(Ge),this.proxyToSource[Rt.key][Se.id]=[Ge]}}let Rt=!1;for(let Lt=0;Lt<Ge.length;Lt++){const Bt=Se.getTile(Ge[Lt]);if(!Bt||!Bt.hasData())continue;const Ft=this._findTileCoveringTileID(Bt.tileID,this.proxySourceCache);if(Ft&&Ft.tileID.canonical.z!==Bt.tileID.canonical.z){const Ge=this.proxyToSource[Ft.tileID.key][Se.id],Lt=this._createProxiedId(Ft.tileID,Bt,mt[Ft.tileID.key]&&mt[Ft.tileID.key][Se.id]);Ge?Ge.splice(Ge.length-1,0,Lt):this.proxyToSource[Ft.tileID.key][Se.id]=[Lt],Dt.push(Lt),Rt=!0}}this._sourceTilesOverlap[Se.id]=Rt}_setupProxiedCoordsForImageSource(Ge,mt,Dt){if(!Ge.getSource().loaded())return;const Lt=this.proxiedCoords[Ge.id]=[],Rt=this.proxyCoords,Bt=Ge.getSource(),Ft=new Se.Point(Bt.tileID.x,Bt.tileID.y)._div(1<<Bt.tileID.z),Ot=Bt.coordinates.map(Se.MercatorCoordinate.fromLngLat).reduce(((Se,Ge)=>(Se.min.x=Math.min(Se.min.x,Ge.x-Ft.x),Se.min.y=Math.min(Se.min.y,Ge.y-Ft.y),Se.max.x=Math.max(Se.max.x,Ge.x-Ft.x),Se.max.y=Math.max(Se.max.y,Ge.y-Ft.y),Se)),{min:new Se.Point(Number.MAX_VALUE,Number.MAX_VALUE),max:new Se.Point(-Number.MAX_VALUE,-Number.MAX_VALUE)}),c=(Ge,mt)=>{const Dt=Ge.wrap+Ge.canonical.x/(1<<Ge.canonical.z),Lt=Ge.canonical.y/(1<<Ge.canonical.z),Rt=Se.EXTENT/(1<<Ge.canonical.z),Bt=mt.wrap+mt.canonical.x/(1<<mt.canonical.z),Ft=mt.canonical.y/(1<<mt.canonical.z);return Dt+Rt<Bt+Ot.min.x||Dt>Bt+Ot.max.x||Lt+Rt<Ft+Ot.min.y||Lt>Ft+Ot.max.y};for(let Se=0;Se<Rt.length;Se++){const Bt=Rt[Se];for(let Se=0;Se<mt.length;Se++){const Rt=Ge.getTile(mt[Se]);if(!Rt||!Rt.hasData())continue;if(c(Bt,Rt.tileID))continue;const Ft=this._createProxiedId(Bt,Rt,Dt[Bt.key]&&Dt[Bt.key][Ge.id]),Ot=this.proxyToSource[Bt.key][Ge.id];Ot?Ot.push(Ft):this.proxyToSource[Bt.key][Ge.id]=[Ft],Lt.push(Ft)}}}_createProxiedId(Ge,mt,Dt){let Lt=this.orthoMatrix;if(Dt){const Se=Dt.find((Se=>Se.key===mt.tileID.key));if(Se)return Se}if(mt.tileID.key!==Ge.key){const Dt=Ge.canonical.z-mt.tileID.canonical.z;let Rt,Bt,Ft;Lt=Se.create();const Ot=mt.tileID.wrap-Ge.wrap<<Ge.overscaledZ;Dt>0?(Rt=Se.EXTENT>>Dt,Bt=Rt*((mt.tileID.canonical.x<<Dt)-Ge.canonical.x+Ot),Ft=Rt*((mt.tileID.canonical.y<<Dt)-Ge.canonical.y)):(Rt=Se.EXTENT<<-Dt,Bt=Se.EXTENT*(mt.tileID.canonical.x-(Ge.canonical.x+Ot<<-Dt)),Ft=Se.EXTENT*(mt.tileID.canonical.y-(Ge.canonical.y<<-Dt))),Se.ortho(Lt,0,Rt,0,Rt,0,1),Se.translate(Lt,Lt,[Bt,Ft,0])}return new Si(mt.tileID,Ge.key,Lt)}_findTileCoveringTileID(Ge,mt){let Dt=mt.getTile(Ge);if(Dt&&Dt.hasData())return Dt;const Lt=this._findCoveringTileCache[mt.id],Rt=Lt[Ge.key];if(Dt=Rt?mt.getTileByID(Rt):null,Dt&&Dt.hasData()||null===Rt)return Dt;let Bt=Dt?Dt.tileID:Ge,Ft=Bt.overscaledZ;const Ot=mt.getSource().minzoom,$t=[];if(!Rt){const Lt=mt.getSource().maxzoom;if(Ge.canonical.z>=Lt){const Dt=Ge.canonical.z-Lt;mt.getSource().reparseOverscaled?(Ft=Math.max(Ge.canonical.z+2,mt.transform.tileZoom),Bt=new Se.OverscaledTileID(Ft,Ge.wrap,Lt,Ge.canonical.x>>Dt,Ge.canonical.y>>Dt)):0!==Dt&&(Ft=Lt,Bt=new Se.OverscaledTileID(Ft,Ge.wrap,Lt,Ge.canonical.x>>Dt,Ge.canonical.y>>Dt))}Bt.key!==Ge.key&&($t.push(Bt.key),Dt=mt.getTile(Bt))}const h=Se=>{$t.forEach((Ge=>{Lt[Ge]=Se})),$t.length=0};for(Ft-=1;Ft>=Ot&&(!Dt||!Dt.hasData());Ft--){Dt&&h(Dt.tileID.key);const Se=Bt.calculateScaledKey(Ft);if(Dt=mt.getTileByID(Se),Dt&&Dt.hasData())break;const Ge=Lt[Se];if(null===Ge)break;void 0===Ge?$t.push(Se):Dt=mt.getTileByID(Ge)}return h(Dt?Dt.tileID.key:null),Dt&&Dt.hasData()?Dt:null}findDEMTileFor(Se){return this.enabled?this._findTileCoveringTileID(Se,this.sourceCache):null}prepareDrawTile(){this.renderedToTile=!0}_clearRenderCacheForTile(Se,Ge){let mt=this._tilesDirty[Se];mt||(mt=this._tilesDirty[Se]={}),mt[Ge.key]=!0}getWirefameBuffer(){if(!this.wireframeSegments){const Ge=function(Ge){let mt=0;const Dt=new Se.StructArrayLayout2ui4,Lt=131;for(let Se=1;Se<129;Se++){for(let Ge=1;Ge<129;Ge++)mt=Se*Lt+Ge,Dt.emplaceBack(mt,mt+1),Dt.emplaceBack(mt,mt+Lt),Dt.emplaceBack(mt+1,mt+Lt),128===Se&&Dt.emplaceBack(mt+Lt,mt+Lt+1);Dt.emplaceBack(mt+1,mt+1+Lt)}return Dt}();this.wireframeIndexBuffer=this.painter.context.createIndexBuffer(Ge),this.wireframeSegments=Se.SegmentVector.simpleSegment(0,0,this.gridBuffer.length,Ge.length)}return[this.wireframeIndexBuffer,this.wireframeSegments]}}class Li{static cacheKey(Se,Ge,mt,Dt){let Lt=`${Ge}${Dt?Dt.cacheKey:\"\"}`;for(const Ge of mt)Se.usedDefines.includes(Ge)&&(Lt+=`/${Ge}`);return Lt}constructor(Ge,mt,Dt,Lt,Rt,Bt){const Ft=Ge.gl;this.program=Ft.createProgram();const Ot=function(Se){const Ge=[];for(let mt=0;mt<Se.length;mt++){if(null===Se[mt])continue;const Dt=Se[mt].split(\" \");Ge.push(Dt.pop())}return Ge}(Dt.staticAttributes),$t=Lt?Lt.getBinderAttributes():[],Ni=Ot.concat($t);let tr=Lt?Lt.defines():[];tr=tr.concat(Bt.map((Se=>`#define ${Se}`)));const Lr=Ge.isWebGL2?\"#version 300 es\\n\":\"\",Rr=Lr+tr.concat(Ge.extStandardDerivatives&&0===Lr.length?\"#extension GL_OES_standard_derivatives : enable\\n\".concat(Ta):Ta,Ta,_a,Vs.fragmentSource,gs.fragmentSource,Dt.fragmentSource).join(\"\\n\"),Qr=Lr+tr.concat(\"\\n#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\",_a,Vs.vertexSource,gs.vertexSource,fs.vertexSource,Dt.vertexSource).join(\"\\n\"),an=Ft.createShader(Ft.FRAGMENT_SHADER);if(Ft.isContextLost())return void(this.failedToCreate=!0);Ft.shaderSource(an,Rr),Ft.compileShader(an),Ft.attachShader(this.program,an);const ln=Ft.createShader(Ft.VERTEX_SHADER);if(Ft.isContextLost())this.failedToCreate=!0;else{Ft.shaderSource(ln,Qr),Ft.compileShader(ln),Ft.attachShader(this.program,ln),this.attributes={},this.numAttributes=Ni.length;for(let Se=0;Se<this.numAttributes;Se++)Ni[Se]&&(Ft.bindAttribLocation(this.program,Se,Ni[Se]),this.attributes[Ni[Se]]=Se);Ft.linkProgram(this.program),Ft.deleteShader(ln),Ft.deleteShader(an),this.fixedUniforms=Rt(Ge),this.binderUniforms=Lt?Lt.getUniforms(Ge):[],Bt.includes(\"TERRAIN\")&&(this.terrainUniforms=(Ge=>({u_dem:new Se.Uniform1i(Ge),u_dem_prev:new Se.Uniform1i(Ge),u_dem_unpack:new Se.Uniform4f(Ge),u_dem_tl:new Se.Uniform2f(Ge),u_dem_scale:new Se.Uniform1f(Ge),u_dem_tl_prev:new Se.Uniform2f(Ge),u_dem_scale_prev:new Se.Uniform1f(Ge),u_dem_size:new Se.Uniform1f(Ge),u_dem_lerp:new Se.Uniform1f(Ge),u_exaggeration:new Se.Uniform1f(Ge),u_depth:new Se.Uniform1i(Ge),u_depth_size_inv:new Se.Uniform2f(Ge),u_meter_to_dem:new Se.Uniform1f(Ge),u_label_plane_matrix_inv:new Se.UniformMatrix4f(Ge)}))(Ge)),Bt.includes(\"GLOBE\")&&(this.globeUniforms=(Ge=>({u_tile_tl_up:new Se.Uniform3f(Ge),u_tile_tr_up:new Se.Uniform3f(Ge),u_tile_br_up:new Se.Uniform3f(Ge),u_tile_bl_up:new Se.Uniform3f(Ge),u_tile_up_scale:new Se.Uniform1f(Ge)}))(Ge)),Bt.includes(\"FOG\")&&(this.fogUniforms=(Ge=>({u_fog_matrix:new Se.UniformMatrix4f(Ge),u_fog_range:new Se.Uniform2f(Ge),u_fog_color:new Se.Uniform4f(Ge),u_fog_horizon_blend:new Se.Uniform1f(Ge),u_fog_temporal_offset:new Se.Uniform1f(Ge),u_frustum_tl:new Se.Uniform3f(Ge),u_frustum_tr:new Se.Uniform3f(Ge),u_frustum_br:new Se.Uniform3f(Ge),u_frustum_bl:new Se.Uniform3f(Ge),u_globe_pos:new Se.Uniform3f(Ge),u_globe_radius:new Se.Uniform1f(Ge),u_globe_transition:new Se.Uniform1f(Ge),u_is_globe:new Se.Uniform1i(Ge),u_viewport:new Se.Uniform2f(Ge)}))(Ge))}}setTerrainUniformValues(Se,Ge){if(!this.terrainUniforms)return;const mt=this.terrainUniforms;if(!this.failedToCreate){Se.program.set(this.program);for(const Se in Ge)mt[Se]&&mt[Se].set(this.program,Se,Ge[Se])}}setGlobeUniformValues(Se,Ge){if(!this.globeUniforms)return;const mt=this.globeUniforms;if(!this.failedToCreate){Se.program.set(this.program);for(const Se in Ge)mt[Se]&&mt[Se].set(this.program,Se,Ge[Se])}}setFogUniformValues(Se,Ge){if(!this.fogUniforms)return;const mt=this.fogUniforms;if(!this.failedToCreate){Se.program.set(this.program);for(const Se in Ge)mt[Se].set(this.program,Se,Ge[Se])}}draw(Se,Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr){const an=Se.gl;if(this.failedToCreate)return;Se.program.set(this.program),Se.setDepthMode(mt),Se.setStencilMode(Dt),Se.setColorMode(Lt),Se.setCullFace(Rt);for(const Se of Object.keys(this.fixedUniforms))this.fixedUniforms[Se].set(this.program,Se,Bt[Se]);Rr&&Rr.setUniforms(this.program,Se,this.binderUniforms,tr,{zoom:Lr});const ln={[an.LINES]:2,[an.TRIANGLES]:3,[an.LINE_STRIP]:1}[Ge];for(const mt of Ni.get()){const Dt=mt.vaos||(mt.vaos={});(Dt[Ft]||(Dt[Ft]=new _i)).bind(Se,this,Ot,Rr?Rr.getPaintVertexBuffers():[],$t,mt.vertexOffset,Qr||[]),an.drawElements(Ge,mt.primitiveLength*ln,an.UNSIGNED_SHORT,mt.primitiveOffset*ln*2)}}}function Ai(Se,Ge){const mt=Math.pow(2,Ge.tileID.overscaledZ),Dt=Ge.tileSize*Math.pow(2,Se.transform.tileZoom)/mt,Lt=Dt*(Ge.tileID.canonical.x+Ge.tileID.wrap*mt),Rt=Dt*Ge.tileID.canonical.y;return{u_image:0,u_texsize:Ge.imageAtlasTexture.size,u_tile_units_to_pixels:1/D(Ge,1,Se.transform.tileZoom),u_pixel_coord_upper:[Lt>>16,Rt>>16],u_pixel_coord_lower:[65535&Lt,65535&Rt]}}const Ia=Se.create(),Ri=(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr)=>{const Lr=mt.style.light,Rr=Lr.properties.get(\"position\"),Qr=[Rr.x,Rr.y,Rr.z],an=Se.create$1();\"viewport\"===Lr.properties.get(\"anchor\")&&(Se.fromRotation(an,-mt.transform.angle),Se.transformMat3(Qr,Qr,an));const ln=Lr.properties.get(\"color\"),pn=mt.transform,fn={u_matrix:Ge,u_lightpos:Qr,u_lightintensity:Lr.properties.get(\"intensity\"),u_lightcolor:[ln.r,ln.g,ln.b],u_vertical_gradient:+Dt,u_opacity:Lt,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:Ia,u_merc_center:[0,0],u_up_dir:[0,0,0],u_height_lift:0,u_ao:Rt,u_edge_radius:Bt};return\"globe\"===pn.projection.name&&(fn.u_tile_id=[Ft.canonical.x,Ft.canonical.y,1<<Ft.canonical.z],fn.u_zoom_transition=$t,fn.u_inv_rot_matrix=tr,fn.u_merc_center=Ni,fn.u_up_dir=pn.projection.upVector(new Se.CanonicalTileID(0,0,0),Ni[0]*Se.EXTENT,Ni[1]*Se.EXTENT),fn.u_height_lift=Ot),fn},Oi=(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr)=>{const Rr=Ri(Ge,mt,Dt,Lt,Rt,Bt,Ft,$t,Ni,tr,Lr),Qr={u_height_factor:-Math.pow(2,Ft.overscaledZ)/Ot.tileSize/8};return Se.extend(Rr,Ai(mt,Ot),Qr)},Bi=Se=>({u_matrix:Se}),ki=(Ge,mt,Dt)=>Se.extend(Bi(Ge),Ai(mt,Dt)),Fi=(Se,Ge)=>({u_matrix:Se,u_world:Ge}),Ui=(Ge,mt,Dt,Lt)=>Se.extend(ki(Ge,mt,Dt),{u_world:Lt}),za=Se.create(),ji=(Ge,mt,Dt,Lt,Rt,Bt)=>{const Ft=Ge.transform,Ot=\"globe\"===Ft.projection.name;let $t;if(\"map\"===Bt.paint.get(\"circle-pitch-alignment\"))if(Ot){const Ge=Se.globePixelsToTileUnits(Ft.zoom,mt.canonical)*Ft._pixelsPerMercatorPixel;$t=Float32Array.from([Ge,0,0,Ge])}else $t=Ft.calculatePixelsToTileUnitsMatrix(Dt);else $t=new Float32Array([Ft.pixelsToGLUnits[0],0,0,Ft.pixelsToGLUnits[1]]);const Ni={u_camera_to_center_distance:Ft.cameraToCenterDistance,u_matrix:Ge.translatePosMatrix(mt.projMatrix,Dt,Bt.paint.get(\"circle-translate\"),Bt.paint.get(\"circle-translate-anchor\")),u_device_pixel_ratio:Se.exported.devicePixelRatio,u_extrude_scale:$t,u_inv_rot_matrix:za,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(Ot){Ni.u_inv_rot_matrix=Lt,Ni.u_merc_center=Rt,Ni.u_tile_id=[mt.canonical.x,mt.canonical.y,1<<mt.canonical.z],Ni.u_zoom_transition=Se.globeToMercatorTransition(Ft.zoom);const Ge=Rt[0]*Se.EXTENT,Dt=Rt[1]*Se.EXTENT;Ni.u_up_dir=Ft.projection.upVector(new Se.CanonicalTileID(0,0,0),Ge,Dt)}return Ni},Gi=Se=>{const Ge=[];return\"map\"===Se.paint.get(\"circle-pitch-alignment\")&&Ge.push(\"PITCH_WITH_MAP\"),\"map\"===Se.paint.get(\"circle-pitch-scale\")&&Ge.push(\"SCALE_WITH_MAP\"),Ge},Zi=(Ge,mt,Dt,Lt)=>{const Rt=Se.EXTENT/Dt.tileSize;return{u_matrix:Ge,u_camera_to_center_distance:mt.getCameraToCenterDistance(Lt),u_extrude_scale:[mt.pixelsToGLUnits[0]/Rt,mt.pixelsToGLUnits[1]/Rt]}},Vi=(Se,Ge,mt=1)=>({u_matrix:Se,u_color:Ge,u_overlay:0,u_overlay_scale:mt}),ka=Se.create(),Xi=(Ge,mt,Dt,Lt,Rt,Bt,Ft)=>{const Ot=Ge.transform,$t=\"globe\"===Ot.projection.name,Ni=$t?Se.globePixelsToTileUnits(Ot.zoom,mt.canonical)*Ot._pixelsPerMercatorPixel:D(Dt,1,Bt),tr={u_matrix:mt.projMatrix,u_extrude_scale:Ni,u_intensity:Ft,u_inv_rot_matrix:ka,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if($t){tr.u_inv_rot_matrix=Lt,tr.u_merc_center=Rt,tr.u_tile_id=[mt.canonical.x,mt.canonical.y,1<<mt.canonical.z],tr.u_zoom_transition=Se.globeToMercatorTransition(Ot.zoom);const Ge=Rt[0]*Se.EXTENT,Dt=Rt[1]*Se.EXTENT;tr.u_up_dir=Ot.projection.upVector(new Se.CanonicalTileID(0,0,0),Ge,Dt)}return tr},qi=(Se,Ge,mt,Dt,Lt,Rt,Bt)=>{const Ft=Se.transform,Ot=Ft.calculatePixelsToTileUnitsMatrix(Ge);return{u_matrix:Yi(Se,Ge,mt,Dt),u_pixels_to_tile_units:Ot,u_device_pixel_ratio:Rt,u_units_to_pixels:[1/Ft.pixelsToGLUnits[0],1/Ft.pixelsToGLUnits[1]],u_dash_image:0,u_gradient_image:1,u_image_height:Lt,u_texsize:Ki(mt)?Ge.lineAtlasTexture.size:[0,0],u_tile_units_to_pixels:Hi(Ge,Se.transform),u_alpha_discard_threshold:0,u_trim_offset:Bt}},$i=(Se,Ge,mt,Dt,Lt)=>{const Rt=Se.transform;return{u_matrix:Yi(Se,Ge,mt,Dt),u_texsize:Ge.imageAtlasTexture.size,u_pixels_to_tile_units:Rt.calculatePixelsToTileUnitsMatrix(Ge),u_device_pixel_ratio:Lt,u_image:0,u_tile_units_to_pixels:Hi(Ge,Rt),u_units_to_pixels:[1/Rt.pixelsToGLUnits[0],1/Rt.pixelsToGLUnits[1]],u_alpha_discard_threshold:0}};function Hi(Se,Ge){return 1/D(Se,1,Ge.tileZoom)}function Yi(Se,Ge,mt,Dt){return Se.translatePosMatrix(Dt||Ge.tileID.projMatrix,Ge,mt.paint.get(\"line-translate\"),mt.paint.get(\"line-translate-anchor\"))}function Ki(Se){const Ge=Se.paint.get(\"line-dasharray\").value;return Ge.value||\"constant\"!==Ge.kind}const Ji=(Se,Ge,mt,Dt,Lt,Rt)=>{return{u_matrix:Se,u_tl_parent:Ge,u_scale_parent:mt,u_fade_t:Dt.mix,u_opacity:Dt.opacity*Lt.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:Lt.paint.get(\"raster-brightness-min\"),u_brightness_high:Lt.paint.get(\"raster-brightness-max\"),u_saturation_factor:(Ft=Lt.paint.get(\"raster-saturation\"),Ft>0?1-1/(1.001-Ft):-Ft),u_contrast_factor:(Bt=Lt.paint.get(\"raster-contrast\"),Bt>0?1/(1-Bt):1+Bt),u_spin_weights:Qi(Lt.paint.get(\"raster-hue-rotate\")),u_perspective_transform:Rt};var Bt,Ft};function Qi(Se){Se*=Math.PI/180;const Ge=Math.sin(Se),mt=Math.cos(Se);return[(2*mt+1)/3,(-Math.sqrt(3)*Ge-mt+1)/3,(Math.sqrt(3)*Ge-mt+1)/3]}const Ba=Se.create(),to=(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln)=>{const pn=Rt.transform,fn={u_is_size_zoom_constant:+(\"constant\"===Ge||\"source\"===Ge),u_is_size_feature_constant:+(\"constant\"===Ge||\"camera\"===Ge),u_size_t:mt?mt.uSizeT:0,u_size:mt?mt.uSize:0,u_camera_to_center_distance:pn.cameraToCenterDistance,u_rotate_symbol:+Dt,u_aspect_ratio:pn.width/pn.height,u_fade_change:Rt.options.fadeDuration?Rt.symbolFadeChange:1,u_matrix:Bt,u_label_plane_matrix:Ft,u_coord_matrix:Ot,u_is_text:+$t,u_pitch_with_map:+Lt,u_texsize:Ni,u_texture:0,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:Ba,u_merc_center:[0,0],u_camera_forward:[0,0,0],u_ecef_origin:[0,0,0],u_tile_matrix:Ba,u_up_vector:[0,-1,0]};return\"globe\"===ln.name&&(fn.u_tile_id=[tr.canonical.x,tr.canonical.y,1<<tr.canonical.z],fn.u_zoom_transition=Lr,fn.u_inv_rot_matrix=Qr,fn.u_merc_center=Rr,fn.u_camera_forward=pn._camera.forward(),fn.u_ecef_origin=Se.globeECEFOrigin(pn.globeMatrix,tr.toUnwrapped()),fn.u_tile_matrix=Float32Array.from(pn.globeMatrix),fn.u_up_vector=an),fn},io=(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln,pn)=>Se.extend(to(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,Lr,Rr,Qr,an,ln,pn),{u_gamma_scale:Lt?Rt.transform.cameraToCenterDistance*Math.cos(Rt.terrain?0:Rt.transform._pitch):1,u_device_pixel_ratio:Se.exported.devicePixelRatio,u_is_halo:+tr}),oo=(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr,an,ln)=>Se.extend(io(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,!0,$t,!0,tr,Lr,Rr,Qr,an,ln),{u_texsize_icon:Ni,u_texture_icon:1}),ro=(Se,Ge,mt)=>({u_matrix:Se,u_opacity:Ge,u_color:mt}),no=(Ge,mt,Dt,Lt,Rt)=>Se.extend(function(Se,Ge,mt){const Dt=Ge.imageManager.getPattern(Se.toString()),{width:Lt,height:Rt}=Ge.imageManager.getPixelSize(),Bt=Math.pow(2,mt.tileID.overscaledZ),Ft=mt.tileSize*Math.pow(2,Ge.transform.tileZoom)/Bt,Ot=Ft*(mt.tileID.canonical.x+mt.tileID.wrap*Bt),$t=Ft*mt.tileID.canonical.y;return{u_image:0,u_pattern_tl:Dt.tl,u_pattern_br:Dt.br,u_texsize:[Lt,Rt],u_pattern_size:Dt.displaySize,u_tile_units_to_pixels:1/D(mt,1,Ge.transform.tileZoom),u_pixel_coord_upper:[Ot>>16,$t>>16],u_pixel_coord_lower:[65535&Ot,65535&$t]}}(Lt,Dt,Rt),{u_matrix:Ge,u_opacity:mt}),Ua={fillExtrusion:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_lightpos:new Se.Uniform3f(Ge),u_lightintensity:new Se.Uniform1f(Ge),u_lightcolor:new Se.Uniform3f(Ge),u_vertical_gradient:new Se.Uniform1f(Ge),u_opacity:new Se.Uniform1f(Ge),u_edge_radius:new Se.Uniform1f(Ge),u_ao:new Se.Uniform2f(Ge),u_tile_id:new Se.Uniform3f(Ge),u_zoom_transition:new Se.Uniform1f(Ge),u_inv_rot_matrix:new Se.UniformMatrix4f(Ge),u_merc_center:new Se.Uniform2f(Ge),u_up_dir:new Se.Uniform3f(Ge),u_height_lift:new Se.Uniform1f(Ge)}),fillExtrusionPattern:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_lightpos:new Se.Uniform3f(Ge),u_lightintensity:new Se.Uniform1f(Ge),u_lightcolor:new Se.Uniform3f(Ge),u_vertical_gradient:new Se.Uniform1f(Ge),u_height_factor:new Se.Uniform1f(Ge),u_edge_radius:new Se.Uniform1f(Ge),u_ao:new Se.Uniform2f(Ge),u_tile_id:new Se.Uniform3f(Ge),u_zoom_transition:new Se.Uniform1f(Ge),u_inv_rot_matrix:new Se.UniformMatrix4f(Ge),u_merc_center:new Se.Uniform2f(Ge),u_up_dir:new Se.Uniform3f(Ge),u_height_lift:new Se.Uniform1f(Ge),u_image:new Se.Uniform1i(Ge),u_texsize:new Se.Uniform2f(Ge),u_pixel_coord_upper:new Se.Uniform2f(Ge),u_pixel_coord_lower:new Se.Uniform2f(Ge),u_tile_units_to_pixels:new Se.Uniform1f(Ge),u_opacity:new Se.Uniform1f(Ge)}),fill:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge)}),fillPattern:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_image:new Se.Uniform1i(Ge),u_texsize:new Se.Uniform2f(Ge),u_pixel_coord_upper:new Se.Uniform2f(Ge),u_pixel_coord_lower:new Se.Uniform2f(Ge),u_tile_units_to_pixels:new Se.Uniform1f(Ge)}),fillOutline:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_world:new Se.Uniform2f(Ge)}),fillOutlinePattern:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_world:new Se.Uniform2f(Ge),u_image:new Se.Uniform1i(Ge),u_texsize:new Se.Uniform2f(Ge),u_pixel_coord_upper:new Se.Uniform2f(Ge),u_pixel_coord_lower:new Se.Uniform2f(Ge),u_tile_units_to_pixels:new Se.Uniform1f(Ge)}),circle:Ge=>({u_camera_to_center_distance:new Se.Uniform1f(Ge),u_extrude_scale:new Se.UniformMatrix2f(Ge),u_device_pixel_ratio:new Se.Uniform1f(Ge),u_matrix:new Se.UniformMatrix4f(Ge),u_inv_rot_matrix:new Se.UniformMatrix4f(Ge),u_merc_center:new Se.Uniform2f(Ge),u_tile_id:new Se.Uniform3f(Ge),u_zoom_transition:new Se.Uniform1f(Ge),u_up_dir:new Se.Uniform3f(Ge)}),collisionBox:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_camera_to_center_distance:new Se.Uniform1f(Ge),u_extrude_scale:new Se.Uniform2f(Ge)}),collisionCircle:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_inv_matrix:new Se.UniformMatrix4f(Ge),u_camera_to_center_distance:new Se.Uniform1f(Ge),u_viewport_size:new Se.Uniform2f(Ge)}),debug:Ge=>({u_color:new Se.UniformColor(Ge),u_matrix:new Se.UniformMatrix4f(Ge),u_overlay:new Se.Uniform1i(Ge),u_overlay_scale:new Se.Uniform1f(Ge)}),clippingMask:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge)}),heatmap:Ge=>({u_extrude_scale:new Se.Uniform1f(Ge),u_intensity:new Se.Uniform1f(Ge),u_matrix:new Se.UniformMatrix4f(Ge),u_inv_rot_matrix:new Se.UniformMatrix4f(Ge),u_merc_center:new Se.Uniform2f(Ge),u_tile_id:new Se.Uniform3f(Ge),u_zoom_transition:new Se.Uniform1f(Ge),u_up_dir:new Se.Uniform3f(Ge)}),heatmapTexture:Ge=>({u_image:new Se.Uniform1i(Ge),u_color_ramp:new Se.Uniform1i(Ge),u_opacity:new Se.Uniform1f(Ge)}),hillshade:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_image:new Se.Uniform1i(Ge),u_latrange:new Se.Uniform2f(Ge),u_light:new Se.Uniform2f(Ge),u_shadow:new Se.UniformColor(Ge),u_highlight:new Se.UniformColor(Ge),u_accent:new Se.UniformColor(Ge)}),hillshadePrepare:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_image:new Se.Uniform1i(Ge),u_dimension:new Se.Uniform2f(Ge),u_zoom:new Se.Uniform1f(Ge),u_unpack:new Se.Uniform4f(Ge)}),line:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_pixels_to_tile_units:new Se.UniformMatrix2f(Ge),u_device_pixel_ratio:new Se.Uniform1f(Ge),u_units_to_pixels:new Se.Uniform2f(Ge),u_dash_image:new Se.Uniform1i(Ge),u_gradient_image:new Se.Uniform1i(Ge),u_image_height:new Se.Uniform1f(Ge),u_texsize:new Se.Uniform2f(Ge),u_tile_units_to_pixels:new Se.Uniform1f(Ge),u_alpha_discard_threshold:new Se.Uniform1f(Ge),u_trim_offset:new Se.Uniform2f(Ge)}),linePattern:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_texsize:new Se.Uniform2f(Ge),u_pixels_to_tile_units:new Se.UniformMatrix2f(Ge),u_device_pixel_ratio:new Se.Uniform1f(Ge),u_image:new Se.Uniform1i(Ge),u_units_to_pixels:new Se.Uniform2f(Ge),u_tile_units_to_pixels:new Se.Uniform1f(Ge),u_alpha_discard_threshold:new Se.Uniform1f(Ge)}),raster:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_tl_parent:new Se.Uniform2f(Ge),u_scale_parent:new Se.Uniform1f(Ge),u_fade_t:new Se.Uniform1f(Ge),u_opacity:new Se.Uniform1f(Ge),u_image0:new Se.Uniform1i(Ge),u_image1:new Se.Uniform1i(Ge),u_brightness_low:new Se.Uniform1f(Ge),u_brightness_high:new Se.Uniform1f(Ge),u_saturation_factor:new Se.Uniform1f(Ge),u_contrast_factor:new Se.Uniform1f(Ge),u_spin_weights:new Se.Uniform3f(Ge),u_perspective_transform:new Se.Uniform2f(Ge)}),symbolIcon:Ge=>({u_is_size_zoom_constant:new Se.Uniform1i(Ge),u_is_size_feature_constant:new Se.Uniform1i(Ge),u_size_t:new Se.Uniform1f(Ge),u_size:new Se.Uniform1f(Ge),u_camera_to_center_distance:new Se.Uniform1f(Ge),u_rotate_symbol:new Se.Uniform1i(Ge),u_aspect_ratio:new Se.Uniform1f(Ge),u_fade_change:new Se.Uniform1f(Ge),u_matrix:new Se.UniformMatrix4f(Ge),u_label_plane_matrix:new Se.UniformMatrix4f(Ge),u_coord_matrix:new Se.UniformMatrix4f(Ge),u_is_text:new Se.Uniform1i(Ge),u_pitch_with_map:new Se.Uniform1i(Ge),u_texsize:new Se.Uniform2f(Ge),u_tile_id:new Se.Uniform3f(Ge),u_zoom_transition:new Se.Uniform1f(Ge),u_inv_rot_matrix:new Se.UniformMatrix4f(Ge),u_merc_center:new Se.Uniform2f(Ge),u_camera_forward:new Se.Uniform3f(Ge),u_tile_matrix:new Se.UniformMatrix4f(Ge),u_up_vector:new Se.Uniform3f(Ge),u_ecef_origin:new Se.Uniform3f(Ge),u_texture:new Se.Uniform1i(Ge)}),symbolSDF:Ge=>({u_is_size_zoom_constant:new Se.Uniform1i(Ge),u_is_size_feature_constant:new Se.Uniform1i(Ge),u_size_t:new Se.Uniform1f(Ge),u_size:new Se.Uniform1f(Ge),u_camera_to_center_distance:new Se.Uniform1f(Ge),u_rotate_symbol:new Se.Uniform1i(Ge),u_aspect_ratio:new Se.Uniform1f(Ge),u_fade_change:new Se.Uniform1f(Ge),u_matrix:new Se.UniformMatrix4f(Ge),u_label_plane_matrix:new Se.UniformMatrix4f(Ge),u_coord_matrix:new Se.UniformMatrix4f(Ge),u_is_text:new Se.Uniform1i(Ge),u_pitch_with_map:new Se.Uniform1i(Ge),u_texsize:new Se.Uniform2f(Ge),u_texture:new Se.Uniform1i(Ge),u_gamma_scale:new Se.Uniform1f(Ge),u_device_pixel_ratio:new Se.Uniform1f(Ge),u_tile_id:new Se.Uniform3f(Ge),u_zoom_transition:new Se.Uniform1f(Ge),u_inv_rot_matrix:new Se.UniformMatrix4f(Ge),u_merc_center:new Se.Uniform2f(Ge),u_camera_forward:new Se.Uniform3f(Ge),u_tile_matrix:new Se.UniformMatrix4f(Ge),u_up_vector:new Se.Uniform3f(Ge),u_ecef_origin:new Se.Uniform3f(Ge),u_is_halo:new Se.Uniform1i(Ge)}),symbolTextAndIcon:Ge=>({u_is_size_zoom_constant:new Se.Uniform1i(Ge),u_is_size_feature_constant:new Se.Uniform1i(Ge),u_size_t:new Se.Uniform1f(Ge),u_size:new Se.Uniform1f(Ge),u_camera_to_center_distance:new Se.Uniform1f(Ge),u_rotate_symbol:new Se.Uniform1i(Ge),u_aspect_ratio:new Se.Uniform1f(Ge),u_fade_change:new Se.Uniform1f(Ge),u_matrix:new Se.UniformMatrix4f(Ge),u_label_plane_matrix:new Se.UniformMatrix4f(Ge),u_coord_matrix:new Se.UniformMatrix4f(Ge),u_is_text:new Se.Uniform1i(Ge),u_pitch_with_map:new Se.Uniform1i(Ge),u_texsize:new Se.Uniform2f(Ge),u_texsize_icon:new Se.Uniform2f(Ge),u_texture:new Se.Uniform1i(Ge),u_texture_icon:new Se.Uniform1i(Ge),u_gamma_scale:new Se.Uniform1f(Ge),u_device_pixel_ratio:new Se.Uniform1f(Ge),u_is_halo:new Se.Uniform1i(Ge)}),background:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_opacity:new Se.Uniform1f(Ge),u_color:new Se.UniformColor(Ge)}),backgroundPattern:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_opacity:new Se.Uniform1f(Ge),u_image:new Se.Uniform1i(Ge),u_pattern_tl:new Se.Uniform2f(Ge),u_pattern_br:new Se.Uniform2f(Ge),u_texsize:new Se.Uniform2f(Ge),u_pattern_size:new Se.Uniform2f(Ge),u_pixel_coord_upper:new Se.Uniform2f(Ge),u_pixel_coord_lower:new Se.Uniform2f(Ge),u_tile_units_to_pixels:new Se.Uniform1f(Ge)}),terrainRaster:gi,terrainDepth:gi,skybox:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_sun_direction:new Se.Uniform3f(Ge),u_cubemap:new Se.Uniform1i(Ge),u_opacity:new Se.Uniform1f(Ge),u_temporal_offset:new Se.Uniform1f(Ge)}),skyboxGradient:Ge=>({u_matrix:new Se.UniformMatrix4f(Ge),u_color_ramp:new Se.Uniform1i(Ge),u_center_direction:new Se.Uniform3f(Ge),u_radius:new Se.Uniform1f(Ge),u_opacity:new Se.Uniform1f(Ge),u_temporal_offset:new Se.Uniform1f(Ge)}),skyboxCapture:Ge=>({u_matrix_3f:new Se.UniformMatrix3f(Ge),u_sun_direction:new Se.Uniform3f(Ge),u_sun_intensity:new Se.Uniform1f(Ge),u_color_tint_r:new Se.Uniform4f(Ge),u_color_tint_m:new Se.Uniform4f(Ge),u_luminance:new Se.Uniform1f(Ge)}),globeRaster:Ge=>({u_proj_matrix:new Se.UniformMatrix4f(Ge),u_globe_matrix:new Se.UniformMatrix4f(Ge),u_normalize_matrix:new Se.UniformMatrix4f(Ge),u_merc_matrix:new Se.UniformMatrix4f(Ge),u_zoom_transition:new Se.Uniform1f(Ge),u_merc_center:new Se.Uniform2f(Ge),u_image0:new Se.Uniform1i(Ge),u_grid_matrix:new Se.UniformMatrix3f(Ge),u_skirt_height:new Se.Uniform1f(Ge),u_frustum_tl:new Se.Uniform3f(Ge),u_frustum_tr:new Se.Uniform3f(Ge),u_frustum_br:new Se.Uniform3f(Ge),u_frustum_bl:new Se.Uniform3f(Ge),u_globe_pos:new Se.Uniform3f(Ge),u_globe_radius:new Se.Uniform1f(Ge),u_viewport:new Se.Uniform2f(Ge)}),globeAtmosphere:Ge=>({u_frustum_tl:new Se.Uniform3f(Ge),u_frustum_tr:new Se.Uniform3f(Ge),u_frustum_br:new Se.Uniform3f(Ge),u_frustum_bl:new Se.Uniform3f(Ge),u_horizon:new Se.Uniform1f(Ge),u_transition:new Se.Uniform1f(Ge),u_fadeout_range:new Se.Uniform1f(Ge),u_color:new Se.Uniform4f(Ge),u_high_color:new Se.Uniform4f(Ge),u_space_color:new Se.Uniform4f(Ge),u_star_intensity:new Se.Uniform1f(Ge),u_star_density:new Se.Uniform1f(Ge),u_star_size:new Se.Uniform1f(Ge),u_temporal_offset:new Se.Uniform1f(Ge),u_horizon_angle:new Se.Uniform1f(Ge),u_rotation_matrix:new Se.UniformMatrix4f(Ge)})};let ja;function lo(Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Ge.context,$t=Ot.gl,Ni=Ge.transform,tr=Ge.useProgram(\"collisionBox\"),Lr=[];let Rr=0,Qr=0;for(let an=0;an<Lt.length;an++){const ln=Lt[an],pn=mt.getTile(ln),fn=pn.getBucket(Dt);if(!fn)continue;const mn=vt(ln,fn,Ni);let _n=mn;0===Rt[0]&&0===Rt[1]||(_n=Ge.translatePosMatrix(mn,pn,Rt,Bt));const bn=Ft?fn.textCollisionBox:fn.iconCollisionBox,wn=fn.collisionCircleArray;if(wn.length>0){const Ge=Se.create(),mt=_n;Se.mul(Ge,fn.placementInvProjMatrix,Ni.glCoordMatrix),Se.mul(Ge,Ge,fn.placementViewportMatrix),Lr.push({circleArray:wn,circleOffset:Qr,transform:mt,invTransform:Ge,projection:fn.getProjection()}),Rr+=wn.length/4,Qr=Rr}bn&&(Ge.terrain&&Ge.terrain.setupElevationDraw(pn,tr),tr.draw(Ot,$t.LINES,Se.DepthMode.disabled,Se.StencilMode.disabled,Ge.colorModeForRenderPass(),Se.CullFaceMode.disabled,Zi(_n,Ni,pn,fn.getProjection()),Dt.id,bn.layoutVertexBuffer,bn.indexBuffer,bn.segments,null,Ni.zoom,null,[bn.collisionVertexBuffer,bn.collisionVertexBufferExt]))}if(!Ft||!Lr.length)return;const an=Ge.useProgram(\"collisionCircle\"),ln=new Se.StructArrayLayout2f1f2i16;ln.resize(4*Rr),ln._trim();let pn=0;for(const Se of Lr)for(let Ge=0;Ge<Se.circleArray.length/4;Ge++){const mt=4*Ge,Dt=Se.circleArray[mt+0],Lt=Se.circleArray[mt+1],Rt=Se.circleArray[mt+2],Bt=Se.circleArray[mt+3];ln.emplace(pn++,Dt,Lt,Rt,Bt,0),ln.emplace(pn++,Dt,Lt,Rt,Bt,1),ln.emplace(pn++,Dt,Lt,Rt,Bt,2),ln.emplace(pn++,Dt,Lt,Rt,Bt,3)}(!ja||ja.length<2*Rr)&&(ja=function(Ge){const mt=2*Ge,Dt=new Se.StructArrayLayout3ui6;Dt.resize(mt),Dt._trim();for(let Se=0;Se<mt;Se++){const Ge=6*Se;Dt.uint16[Ge+0]=4*Se+0,Dt.uint16[Ge+1]=4*Se+1,Dt.uint16[Ge+2]=4*Se+2,Dt.uint16[Ge+3]=4*Se+2,Dt.uint16[Ge+4]=4*Se+3,Dt.uint16[Ge+5]=4*Se+0}return Dt}(Rr));const fn=Ot.createIndexBuffer(ja,!0),mn=Ot.createVertexBuffer(ln,Se.collisionCircleLayout.members,!0);for(const mt of Lr){const Lt={u_matrix:mt.transform,u_inv_matrix:mt.invTransform,u_camera_to_center_distance:(_n=Ni).getCameraToCenterDistance(mt.projection),u_viewport_size:[_n.width,_n.height]};an.draw(Ot,$t.TRIANGLES,Se.DepthMode.disabled,Se.StencilMode.disabled,Ge.colorModeForRenderPass(),Se.CullFaceMode.disabled,Lt,Dt.id,mn,fn,Se.SegmentVector.simpleSegment(0,2*mt.circleOffset,mt.circleArray.length,mt.circleArray.length/2),null,Ni.zoom)}var _n;mn.destroy(),fn.destroy()}const $a=Se.create();function ho({width:Ge,height:mt,anchor:Dt,textOffset:Lt,textScale:Rt},Bt){const{horizontalAlign:Ft,verticalAlign:Ot}=Se.getAnchorAlignment(Dt),$t=-(Ft-.5)*Ge,Ni=-(Ot-.5)*mt,tr=Se.evaluateVariableOffset(Dt,Lt);return new Se.Point(($t/Rt+tr[0])*Bt,(Ni/Rt+tr[1])*Bt)}function uo(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr){const Lr=Ge.text.placedSymbolArray,Rr=Ge.text.dynamicLayoutVertexArray,Qr=Ge.icon.dynamicLayoutVertexArray,an={},ln=Ge.getProjection(),pn=xt(Ot,ln,Bt),fn=Bt.elevation,mn=ln.upVectorScale(Ot.canonical,Bt.center.lat,Bt.worldSize).metersToTile;Rr.clear();for(let Qr=0;Qr<Lr.length;Qr++){const _n=Lr.get(Qr),{tileAnchorX:bn,tileAnchorY:wn,numGlyphs:Tn}=_n,Sn=_n.hidden||!_n.crossTileID||Ge.allowVerticalPlacement&&!_n.placedOrientation?null:Lt[_n.crossTileID];if(Sn){let Lt=0,Lr=0,Qr=0;if(fn){const Se=fn?fn.getAtTileOffset(Ot,bn,wn):0,[Ge,mt,Dt]=ln.upVector(Ot.canonical,bn,wn);Lt=Se*Ge*mn,Lr=Se*mt*mn,Qr=Se*Dt*mn}let[An,Pn,kn,eo]=ot(_n.projectedAnchorX+Lt,_n.projectedAnchorY+Lr,_n.projectedAnchorZ+Qr,Dt?pn:Ft);const ao=rt(Bt.getCameraToCenterDistance(ln),eo);let Oo=Rt.evaluateSizeForFeature(Ge.textSizeData,Ni,_n)*ao/Se.ONE_EM;Dt&&(Oo*=Ge.tilePixelRatio/$t);const Qo=ho(Sn,Oo);Dt?(({x:An,y:Pn,z:kn}=ln.projectTilePoint(bn+Qo.x,wn+Qo.y,Ot.canonical)),[An,Pn,kn]=ot(An+Lt,Pn+Lr,kn+Qr,Ft)):(mt&&Qo._rotate(-Bt.angle),An+=Qo.x,Pn+=Qo.y,kn=0);const ts=Ge.allowVerticalPlacement&&_n.placedOrientation===Se.WritingMode.vertical?Math.PI/2:0;for(let Ge=0;Ge<Tn;Ge++)Se.addDynamicAttributes(Rr,An,Pn,kn,ts);tr&&_n.associatedIconIndex>=0&&(an[_n.associatedIconIndex]={x:An,y:Pn,z:kn,angle:ts})}else dt(Tn,Rr)}if(tr){Qr.clear();const mt=Ge.icon.placedSymbolArray;for(let Ge=0;Ge<mt.length;Ge++){const Dt=mt.get(Ge),{numGlyphs:Lt}=Dt,Rt=an[Ge];if(Dt.hidden||!Rt)dt(Lt,Qr);else{const{x:Ge,y:mt,z:Dt,angle:Bt}=Rt;for(let Rt=0;Rt<Lt;Rt++)Se.addDynamicAttributes(Qr,Ge,mt,Dt,Bt)}}Ge.icon.dynamicLayoutVertexBuffer.updateData(Qr)}Ge.text.dynamicLayoutVertexBuffer.updateData(Rr)}function _o(Se,Ge,mt){return mt.iconsInText&&Ge?\"symbolTextAndIcon\":Se?\"symbolSDF\":\"symbolIcon\"}function po(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr){const Rr=Ge.context,Qr=Rr.gl,an=Ge.transform,ln=\"map\"===Ot,pn=\"map\"===$t,fn=ln&&\"point\"!==Dt.layout.get(\"symbol-placement\"),mn=ln&&!pn&&!fn,_n=void 0!==Dt.layout.get(\"symbol-sort-key\").constantOr(1);let bn=!1;const wn=Ge.depthModeForSublayer(0,Se.DepthMode.ReadOnly),Tn=[Se.mercatorXfromLng(an.center.lng),Se.mercatorYfromLat(an.center.lat)],Sn=Dt.layout.get(\"text-variable-anchor\"),An=\"globe\"===an.projection.name,Pn=[],kn=[0,-1,0];let eo=kn;!An&&!an.mercatorFromTransition||ln||(eo=function(Ge){const mt=Ge._camera.getWorldToCamera(Ge.worldSize,1),Dt=Se.multiply([],mt,Ge.globeMatrix);Se.invert(Dt,Dt);const Lt=[0,0,0],Rt=[0,1,0,0];return Se.transformMat4$1(Rt,Rt,Dt),Lt[0]=Rt[0],Lt[1]=Rt[1],Lt[2]=Rt[2],Se.normalize(Lt,Lt),Lt}(an));for(const Ot of Lt){const Lt=mt.getTile(Ot),$t=Lt.getBucket(Dt);if(!$t)continue;if(\"mercator\"===$t.projection.name&&An)continue;const tr=Rt?$t.text:$t.icon;if(!tr||$t.fullyClipped||!tr.segments.get().length)continue;const Lr=tr.programConfigurations.get(Dt.id),Rr=Rt||$t.sdfIcons,wn=Rt?$t.textSizeData:$t.iconSizeData,ao=pn||0!==an.pitch,Oo=Se.evaluateSizeForZoom(wn,an.zoom);let Qo,ts,cs,hs,us=[0,0],ds=null;if(Rt)ts=Lt.glyphAtlasTexture,cs=Qr.LINEAR,Qo=Lt.glyphAtlasTexture.size,$t.iconsInText&&(us=Lt.imageAtlasTexture.size,ds=Lt.imageAtlasTexture,hs=ao||Ge.options.rotating||Ge.options.zooming||\"composite\"===wn.kind||\"camera\"===wn.kind?Qr.LINEAR:Qr.NEAREST);else{const Se=1!==Dt.layout.get(\"icon-size\").constantOr(0)||$t.iconsNeedLinear;ts=Lt.imageAtlasTexture,cs=Rr||Ge.options.rotating||Ge.options.zooming||Se||ao?Qr.LINEAR:Qr.NEAREST,Qo=Lt.imageAtlasTexture.size}const ps=\"globe\"===$t.projection.name,fs=ps?eo:kn,gs=ps?Se.globeToMercatorTransition(an.zoom):0,bs=xt(Ot,$t.getProjection(),an),Vs=an.calculatePixelsToTileUnitsMatrix(Lt),_a=et(bs,Lt.tileID.canonical,pn,ln,an,$t.getProjection(),Vs),Ta=Ge.terrain&&pn&&fn?Se.invert(Se.create(),_a):$a,Ma=it(bs,Lt.tileID.canonical,pn,ln,an,$t.getProjection(),Vs),Sa=Sn&&$t.hasTextData(),Aa=\"none\"!==Dt.layout.get(\"icon-text-fit\")&&Sa&&$t.hasIconData();if(fn){const Se=an.elevation,mt=Se?Se.getAtTileOffsetFunc(Ot,an.center.lat,an.worldSize,$t.getProjection()):null,Dt=tt(bs,Lt.tileID.canonical,pn,ln,an,$t.getProjection(),Vs);st($t,bs,Ge,Rt,Dt,Ma,pn,Ni,mt,Ot)}const Ia=fn||Rt&&Sn||Aa,za=Ge.translatePosMatrix(bs,Lt,Bt,Ft),ka=Ia?$a:_a,Ba=Ge.translatePosMatrix(Ma,Lt,Bt,Ft,!0),Ua=$t.getProjection().createInversionMatrix(an,Ot.canonical),ja=[];Ge.terrainRenderModeElevated()&&pn&&ja.push(\"PITCH_WITH_MAP_TERRAIN\"),ps&&ja.push(\"PROJECTION_GLOBE_VIEW\"),Ia&&ja.push(\"PROJECTED_POS_ON_VIEWPORT\");const Wa=Rr&&0!==Dt.paint.get(Rt?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let Ha;Ha=Rr?$t.iconsInText?oo(wn.kind,Oo,mn,pn,Ge,za,ka,Ba,Qo,us,Ot,gs,Tn,Ua,fs,$t.getProjection()):io(wn.kind,Oo,mn,pn,Ge,za,ka,Ba,Rt,Qo,!0,Ot,gs,Tn,Ua,fs,$t.getProjection()):to(wn.kind,Oo,mn,pn,Ge,za,ka,Ba,Rt,Qo,Ot,gs,Tn,Ua,fs,$t.getProjection());const Qa={program:Ge.useProgram(_o(Rr,Rt,$t),Lr,ja),buffers:tr,uniformValues:Ha,atlasTexture:ts,atlasTextureIcon:ds,atlasInterpolation:cs,atlasInterpolationIcon:hs,isSDF:Rr,hasHalo:Wa,tile:Lt,labelPlaneMatrixInv:Ta};if(_n&&$t.canOverlap){bn=!0;const Ge=tr.segments.get();for(const mt of Ge)Pn.push({segments:new Se.SegmentVector([mt]),sortKey:mt.sortKey,state:Qa})}else Pn.push({segments:tr.segments,sortKey:0,state:Qa})}bn&&Pn.sort(((Se,Ge)=>Se.sortKey-Ge.sortKey));for(const Se of Pn){const mt=Se.state;if(Ge.terrain&&Ge.terrain.setupElevationDraw(mt.tile,mt.program,{useDepthForOcclusion:!An,labelPlaneMatrixInv:mt.labelPlaneMatrixInv}),Rr.activeTexture.set(Qr.TEXTURE0),mt.atlasTexture.bind(mt.atlasInterpolation,Qr.CLAMP_TO_EDGE),mt.atlasTextureIcon&&(Rr.activeTexture.set(Qr.TEXTURE1),mt.atlasTextureIcon&&mt.atlasTextureIcon.bind(mt.atlasInterpolationIcon,Qr.CLAMP_TO_EDGE)),mt.isSDF){const Lt=mt.uniformValues;mt.hasHalo&&(Lt.u_is_halo=1,mo(mt.buffers,Se.segments,Dt,Ge,mt.program,wn,tr,Lr,Lt)),Lt.u_is_halo=0}mo(mt.buffers,Se.segments,Dt,Ge,mt.program,wn,tr,Lr,mt.uniformValues)}}function mo(Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t){const Ni=Lt.context,tr=[Ge.dynamicLayoutVertexBuffer,Ge.opacityVertexBuffer,Ge.globeExtVertexBuffer];Rt.draw(Ni,Ni.gl.TRIANGLES,Bt,Ft,Ot,Se.CullFaceMode.disabled,$t,Dt.id,Ge.layoutVertexBuffer,Ge.indexBuffer,mt,Dt.paint,Lt.transform.zoom,Ge.programConfigurations.get(Dt.id),tr)}function fo(Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Ge.context.gl,$t=Dt.paint.get(\"fill-pattern\"),Ni=$t&&$t.constantOr(1);let tr,Lr,Rr,Qr,an;Ft?(Lr=Ni&&!Dt.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",tr=Ot.LINES):(Lr=Ni?\"fillPattern\":\"fill\",tr=Ot.TRIANGLES);for(const ln of Lt){const Lt=mt.getTile(ln);if(Ni&&!Lt.patternsLoaded())continue;const pn=Lt.getBucket(Dt);if(!pn)continue;Ge.prepareDrawTile();const fn=pn.programConfigurations.get(Dt.id),mn=Ge.useProgram(Lr,fn);Ni&&(Ge.context.activeTexture.set(Ot.TEXTURE0),Lt.imageAtlasTexture.bind(Ot.LINEAR,Ot.CLAMP_TO_EDGE),fn.updatePaintBuffers());const _n=$t.constantOr(null);if(_n&&Lt.imageAtlas){const Se=Lt.imageAtlas.patternPositions[_n.toString()];Se&&fn.setConstantPatternPositions(Se)}const bn=Ge.translatePosMatrix(ln.projMatrix,Lt,Dt.paint.get(\"fill-translate\"),Dt.paint.get(\"fill-translate-anchor\"));if(Ft){Qr=pn.indexBuffer2,an=pn.segments2;const Se=Ge.terrain&&Ge.terrain.renderingToTexture?Ge.terrain.drapeBufferSize:[Ot.drawingBufferWidth,Ot.drawingBufferHeight];Rr=\"fillOutlinePattern\"===Lr&&Ni?Ui(bn,Ge,Lt,Se):Fi(bn,Se)}else Qr=pn.indexBuffer,an=pn.segments,Rr=Ni?ki(bn,Ge,Lt):Bi(bn);Ge.prepareDrawProgram(Ge.context,mn,ln.toUnwrapped()),mn.draw(Ge.context,tr,Rt,Ge.stencilModeForClipping(ln),Bt,Se.CullFaceMode.disabled,Rr,Dt.id,pn.layoutVertexBuffer,Qr,an,Dt.paint,Ge.transform.zoom,fn)}}function go(Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=Ge.context,$t=Ot.gl,Ni=Ge.transform,tr=Dt.paint.get(\"fill-extrusion-pattern\"),Lr=tr.constantOr(1),Rr=Dt.paint.get(\"fill-extrusion-opacity\"),Qr=[Dt.paint.get(\"fill-extrusion-ambient-occlusion-intensity\"),Dt.paint.get(\"fill-extrusion-ambient-occlusion-radius\")],an=Dt.layout.get(\"fill-extrusion-edge-radius\"),ln=an>0&&!Dt.paint.get(\"fill-extrusion-rounded-roof\"),pn=ln?0:an,fn=\"globe\"===Ni.projection.name?Se.fillExtrusionHeightLift():0,mn=\"globe\"===Ni.projection.name,_n=mn?Se.globeToMercatorTransition(Ni.zoom):0,bn=[Se.mercatorXfromLng(Ni.center.lng),Se.mercatorYfromLat(Ni.center.lat)],wn=[];mn&&wn.push(\"PROJECTION_GLOBE_VIEW\"),Qr[0]>0&&wn.push(\"FAUX_AO\"),ln&&wn.push(\"ZERO_ROOF_RADIUS\");for(const an of Lt){const Lt=mt.getTile(an),ln=Lt.getBucket(Dt);if(!ln||ln.projection.name!==Ni.projection.name)continue;const Tn=ln.programConfigurations.get(Dt.id),Sn=Ge.useProgram(Lr?\"fillExtrusionPattern\":\"fillExtrusion\",Tn,wn);if(Ge.terrain){const Se=Ge.terrain;if(Ge.style.terrainSetForDrapingOnly())Se.setupElevationDraw(Lt,Sn,{useMeterToDem:!0});else{if(!ln.enableTerrain)continue;if(Se.setupElevationDraw(Lt,Sn,{useMeterToDem:!0}),vo(Ot,mt,an,ln,Dt,Se),!ln.centroidVertexBuffer){const Se=Sn.attributes.a_centroid_pos;void 0!==Se&&$t.vertexAttrib2f(Se,0,0)}}}Lr&&(Ge.context.activeTexture.set($t.TEXTURE0),Lt.imageAtlasTexture.bind($t.LINEAR,$t.CLAMP_TO_EDGE),Tn.updatePaintBuffers());const An=tr.constantOr(null);if(An&&Lt.imageAtlas){const Se=Lt.imageAtlas.patternPositions[An.toString()];Se&&Tn.setConstantPatternPositions(Se)}const Pn=Ge.translatePosMatrix(an.projMatrix,Lt,Dt.paint.get(\"fill-extrusion-translate\"),Dt.paint.get(\"fill-extrusion-translate-anchor\")),kn=Ni.projection.createInversionMatrix(Ni,an.canonical),eo=Dt.paint.get(\"fill-extrusion-vertical-gradient\"),ao=Lr?Oi(Pn,Ge,eo,Rr,Qr,pn,an,Lt,fn,_n,bn,kn):Ri(Pn,Ge,eo,Rr,Qr,pn,an,fn,_n,bn,kn);Ge.prepareDrawProgram(Ot,Sn,an.toUnwrapped());const Oo=[];Ge.terrain&&Oo.push(ln.centroidVertexBuffer),mn&&Oo.push(ln.layoutVertexExtBuffer),Sn.draw(Ot,Ot.gl.TRIANGLES,Rt,Bt,Ft,Se.CullFaceMode.backCCW,ao,Dt.id,ln.layoutVertexBuffer,ln.indexBuffer,ln.segments,Dt.paint,Ge.transform.zoom,Tn,Oo)}}function vo(Ge,mt,Dt,Lt,Rt,Bt){const Ft=[Ge=>{let mt=Ge.canonical.x-1,Dt=Ge.wrap;return mt<0&&(mt=(1<<Ge.canonical.z)-1,Dt--),new Se.OverscaledTileID(Ge.overscaledZ,Dt,Ge.canonical.z,mt,Ge.canonical.y)},Ge=>{let mt=Ge.canonical.x+1,Dt=Ge.wrap;return mt===1<<Ge.canonical.z&&(mt=0,Dt++),new Se.OverscaledTileID(Ge.overscaledZ,Dt,Ge.canonical.z,mt,Ge.canonical.y)},Ge=>new Se.OverscaledTileID(Ge.overscaledZ,Ge.wrap,Ge.canonical.z,Ge.canonical.x,(0===Ge.canonical.y?1<<Ge.canonical.z:Ge.canonical.y)-1),Ge=>new Se.OverscaledTileID(Ge.overscaledZ,Ge.wrap,Ge.canonical.z,Ge.canonical.x,Ge.canonical.y===(1<<Ge.canonical.z)-1?0:Ge.canonical.y+1)],l=Se=>{const Ge=mt.getSource().minzoom,o=Se=>{const Ge=mt.getTileByID(Se);if(Ge&&Ge.hasData())return Ge.getBucket(Rt)},Dt=[0,-1,1];for(const mt of Dt){if(Se.overscaledZ+mt<Ge)continue;const Dt=o(Se.calculateScaledKey(Se.overscaledZ+mt));if(Dt)return Dt}},Ot=[0,0,0],h=(Ge,mt)=>(Ot[0]=Math.min(Ge.min.y,mt.min.y),Ot[1]=Math.max(Ge.max.y,mt.max.y),Ot[2]=Se.EXTENT-mt.min.x>Ge.max.x?mt.min.x-Se.EXTENT:Ge.max.x,Ot),u=(Ge,mt)=>(Ot[0]=Math.min(Ge.min.x,mt.min.x),Ot[1]=Math.max(Ge.max.x,mt.max.x),Ot[2]=Se.EXTENT-mt.min.y>Ge.max.y?mt.min.y-Se.EXTENT:Ge.max.y,Ot),$t=[(Se,Ge)=>h(Se,Ge),(Se,Ge)=>h(Ge,Se),(Se,Ge)=>u(Se,Ge),(Se,Ge)=>u(Ge,Se)],Ni=new Se.Point(0,0);let tr,Lr,Rr;const g=(Ge,mt,Lt,Rt,Ft)=>{const Ot=[[Rt?Lt:Ge,Rt?Ge:Lt,0],[Rt?Lt:mt,Rt?mt:Lt,0]],$t=Ft<0?Se.EXTENT+Ft:Ft,Ni=[Rt?$t:(Ge+mt)/2,Rt?(Ge+mt)/2:$t,0];return 0===Lt&&Ft<0||0!==Lt&&Ft>0?Bt.getForTilePoints(Rr,[Ni],!0,Lr):Ot.push(Ni),Bt.getForTilePoints(Dt,Ot,!0,tr),Math.max(Ot[0][2],Ot[1][2],Ni[2])/Bt.exaggeration()};for(let Ge=0;Ge<4;Ge++){const mt=(Ge<2?1:5)-Ge,Rt=Lt.borders[Ge];if(0===Rt.length)continue;const Ot=Rr=Ft[Ge](Dt),Qr=l(Ot);if(!(Qr&&Qr instanceof Se.FillExtrusionBucket&&Qr.enableTerrain))continue;if(Lt.borderDoneWithNeighborZ[Ge]===Qr.canonical.z&&Qr.borderDoneWithNeighborZ[mt]===Lt.canonical.z)continue;if(Lr=Bt.findDEMTileFor(Ot),!Lr||!Lr.dem)continue;if(!tr){const Se=Bt.findDEMTileFor(Dt);if(!Se||!Se.dem)return;tr=Se}const an=Qr.borders[mt];let ln=0;const pn=Qr.borderDoneWithNeighborZ[mt]!==Lt.canonical.z;if(Lt.canonical.z===Qr.canonical.z){for(let Dt=0;Dt<Rt.length;Dt++){const Bt=Lt.featuresOnBorder[Rt[Dt]],Ft=Bt.borders[Ge];let Ot;for(;ln<an.length&&(Ot=Qr.featuresOnBorder[an[ln]],!(Ot.borders[mt][1]>Ft[0]+3));)pn&&Qr.encodeCentroid(void 0,Ot,!1),ln++;if(Ot&&ln<an.length){const Dt=ln;let Rt=0;for(;!(Ot.borders[mt][0]>Ft[1]-3)&&(Rt++,++ln!==an.length);)Ot=Qr.featuresOnBorder[an[ln]];if(Ot=Qr.featuresOnBorder[an[Dt]],Bt.intersectsCount()>1||Ot.intersectsCount()>1||1!==Rt){1!==Rt&&(ln=Dt),Lt.encodeCentroid(void 0,Bt,!1),pn&&Qr.encodeCentroid(void 0,Ot,!1);continue}const tr=$t[Ge](Bt,Ot),Lr=Ge%2?Se.EXTENT-1:0;Ni.x=g(tr[0],Math.min(Se.EXTENT-1,tr[1]),Lr,Ge<2,tr[2]),Ni.y=0,Lt.encodeCentroid(Ni,Bt,!1),pn&&Qr.encodeCentroid(Ni,Ot,!1)}else Lt.encodeCentroid(void 0,Bt,!1)}Lt.borderDoneWithNeighborZ[Ge]=Qr.canonical.z,Lt.needsCentroidUpdate=!0,pn&&(Qr.borderDoneWithNeighborZ[mt]=Lt.canonical.z,Qr.needsCentroidUpdate=!0)}else{for(const Se of Rt)Lt.encodeCentroid(void 0,Lt.featuresOnBorder[Se],!1);if(pn){for(const Se of an)Qr.encodeCentroid(void 0,Qr.featuresOnBorder[Se],!1);Qr.borderDoneWithNeighborZ[mt]=Lt.canonical.z,Qr.needsCentroidUpdate=!0}Lt.borderDoneWithNeighborZ[Ge]=Qr.canonical.z,Lt.needsCentroidUpdate=!0}}(Lt.needsCentroidUpdate||!Lt.centroidVertexBuffer&&0!==Lt.centroidVertexArray.length)&&Lt.uploadCentroid(Ge)}const Wa=new Se.Color(1,0,0,1),Ha=new Se.Color(0,1,0,1),Qa=new Se.Color(0,0,1,1),tl=new Se.Color(1,0,1,1),ol=new Se.Color(0,1,1,1);function Eo(Ge,mt,Dt){const Lt=Ge.context,Rt=Ge.transform,Bt=Lt.gl,Ft=\"globe\"===Rt.projection.name,Ot=Ft?[\"PROJECTION_GLOBE_VIEW\"]:null;let $t=Dt.projMatrix;if(Ft&&Se.globeToMercatorTransition(Rt.zoom)>0){const Ge=Se.transitionTileAABBinECEF(Dt.canonical,Rt),mt=Se.globeDenormalizeECEF(Ge);$t=Se.multiply(new Float32Array(16),Rt.globeMatrix,mt),Se.multiply($t,Rt.projMatrix,$t)}const Ni=Ge.useProgram(\"debug\",null,Ot),tr=mt.getTileByID(Dt.key);Ge.terrain&&Ge.terrain.setupElevationDraw(tr,Ni);const Lr=Se.DepthMode.disabled,Rr=Se.StencilMode.disabled,Qr=Ge.colorModeForRenderPass(),an=\"$debug\";Lt.activeTexture.set(Bt.TEXTURE0),Ge.emptyTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE),Ft?tr._makeGlobeTileDebugBuffers(Ge.context,Rt):tr._makeDebugTileBoundsBuffers(Ge.context,Rt.projection);const ln=tr._tileDebugBuffer||Ge.debugBuffer,pn=tr._tileDebugIndexBuffer||Ge.debugIndexBuffer,fn=tr._tileDebugSegments||Ge.debugSegments;Ni.draw(Lt,Bt.LINE_STRIP,Lr,Rr,Qr,Se.CullFaceMode.disabled,Vi($t,Se.Color.red),an,ln,pn,fn,null,null,null,[tr._globeTileDebugBorderBuffer]);const mn=tr.latestRawTileData,_n=Math.floor((mn&&mn.byteLength||0)/1024),bn=mt.getTile(Dt).tileSize,wn=512/Math.min(bn,512)*(Dt.overscaledZ/Rt.zoom)*.5;let Tn=Dt.canonical.toString();Dt.overscaledZ!==Dt.canonical.z&&(Tn+=` => ${Dt.overscaledZ}`),Tn+=` ${_n}kb`,function(Se,Ge){Se.initDebugOverlayCanvas();const mt=Se.debugOverlayCanvas,Dt=Se.context.gl,Lt=Se.debugOverlayCanvas.getContext(\"2d\");Lt.clearRect(0,0,mt.width,mt.height),Lt.shadowColor=\"white\",Lt.shadowBlur=2,Lt.lineWidth=1.5,Lt.strokeStyle=\"white\",Lt.textBaseline=\"top\",Lt.font=\"bold 36px Open Sans, sans-serif\",Lt.fillText(Ge,5,5),Lt.strokeText(Ge,5,5),Se.debugOverlayTexture.update(mt),Se.debugOverlayTexture.bind(Dt.LINEAR,Dt.CLAMP_TO_EDGE)}(Ge,Tn);const Sn=tr._tileDebugTextBuffer||Ge.debugBuffer,An=tr._tileDebugTextIndexBuffer||Ge.quadTriangleIndexBuffer,Pn=tr._tileDebugTextSegments||Ge.debugSegments;Ni.draw(Lt,Bt.TRIANGLES,Lr,Rr,Se.ColorMode.alphaBlended,Se.CullFaceMode.disabled,Vi($t,Se.Color.transparent,wn),an,Sn,An,Pn,null,null,null,[tr._globeTileDebugTextBuffer])}function Co(Se,Ge,mt,Dt){Io(Se,0,Ge+mt/2,Se.transform.width,mt,Dt)}function Mo(Se,Ge,mt,Dt){Io(Se,Ge-mt/2,0,mt,Se.transform.height,Dt)}function Io(Ge,mt,Dt,Lt,Rt,Bt){const Ft=Ge.context,Ot=Ft.gl;Ot.enable(Ot.SCISSOR_TEST),Ot.scissor(mt*Se.exported.devicePixelRatio,Dt*Se.exported.devicePixelRatio,Lt*Se.exported.devicePixelRatio,Rt*Se.exported.devicePixelRatio),Ft.clear({color:Bt}),Ot.disable(Ot.SCISSOR_TEST)}const sl=Se.createLayout([{name:\"a_pos_3f\",components:3,type:\"Float32\"}]),{members:al}=sl;function Do(Se,Ge,mt,Dt){Se.emplaceBack(Ge,mt,Dt)}class Lo{constructor(Ge){this.vertexArray=new Se.StructArrayLayout3f12,this.indices=new Se.StructArrayLayout3ui6,Do(this.vertexArray,-1,-1,1),Do(this.vertexArray,1,-1,1),Do(this.vertexArray,-1,1,1),Do(this.vertexArray,1,1,1),Do(this.vertexArray,-1,-1,-1),Do(this.vertexArray,1,-1,-1),Do(this.vertexArray,-1,1,-1),Do(this.vertexArray,1,1,-1),this.indices.emplaceBack(5,1,3),this.indices.emplaceBack(3,7,5),this.indices.emplaceBack(6,2,0),this.indices.emplaceBack(0,4,6),this.indices.emplaceBack(2,6,7),this.indices.emplaceBack(7,3,2),this.indices.emplaceBack(5,4,0),this.indices.emplaceBack(0,1,5),this.indices.emplaceBack(0,2,3),this.indices.emplaceBack(3,1,0),this.indices.emplaceBack(7,6,4),this.indices.emplaceBack(4,5,7),this.vertexBuffer=Ge.createVertexBuffer(this.vertexArray,al),this.indexBuffer=Ge.createIndexBuffer(this.indices),this.segment=Se.SegmentVector.simpleSegment(0,0,36,12)}}function Ao(Ge,mt,Dt,Lt,Rt,Bt){const Ft=Ge.gl,Ot=mt.paint.get(\"sky-atmosphere-color\"),$t=mt.paint.get(\"sky-atmosphere-halo-color\"),Ni=mt.paint.get(\"sky-atmosphere-sun-intensity\"),tr=((Se,Ge,mt,Dt,Lt)=>({u_matrix_3f:Se,u_sun_direction:Ge,u_sun_intensity:mt,u_color_tint_r:[Dt.r,Dt.g,Dt.b,Dt.a],u_color_tint_m:[Lt.r,Lt.g,Lt.b,Lt.a],u_luminance:5e-5}))(Se.fromMat4(Se.create$1(),Lt),Rt,Ni,Ot,$t);Ft.framebufferTexture2D(Ft.FRAMEBUFFER,Ft.COLOR_ATTACHMENT0,Ft.TEXTURE_CUBE_MAP_POSITIVE_X+Bt,mt.skyboxTexture,0),Dt.draw(Ge,Ft.TRIANGLES,Se.DepthMode.disabled,Se.StencilMode.disabled,Se.ColorMode.unblended,Se.CullFaceMode.frontCW,tr,\"skyboxCapture\",mt.skyboxGeometry.vertexBuffer,mt.skyboxGeometry.indexBuffer,mt.skyboxGeometry.segment)}const ll=Se.createLayout([{type:\"Float32\",name:\"a_pos\",components:3},{type:\"Float32\",name:\"a_uv\",components:2}]);class Ro{constructor(Ge){const mt=new Se.StructArrayLayout5f20;mt.emplaceBack(-1,1,1,0,0),mt.emplaceBack(1,1,1,1,0),mt.emplaceBack(1,-1,1,1,1),mt.emplaceBack(-1,-1,1,0,1);const Dt=new Se.StructArrayLayout3ui6;Dt.emplaceBack(0,1,2),Dt.emplaceBack(2,3,0),this.vertexBuffer=Ge.createVertexBuffer(mt,ll.members),this.indexBuffer=Ge.createIndexBuffer(Dt),this.segments=Se.SegmentVector.simpleSegment(0,0,4,2)}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy()}}const cl={symbol:function(Ge,mt,Dt,Lt,Rt){if(\"translucent\"!==Ge.renderPass)return;const Bt=Se.StencilMode.disabled,Ft=Ge.colorModeForRenderPass();Dt.layout.get(\"text-variable-anchor\")&&function(Ge,mt,Dt,Lt,Rt,Bt,Ft){const Ot=mt.transform,$t=\"map\"===Rt,Ni=\"map\"===Bt;for(const mt of Ge){const Ge=Lt.getTile(mt),Rt=Ge.getBucket(Dt);if(!Rt||!Rt.text||!Rt.text.segments.get().length)continue;const Bt=Se.evaluateSizeForZoom(Rt.textSizeData,Ot.zoom),tr=xt(mt,Rt.getProjection(),Ot),Lr=Ot.calculatePixelsToTileUnitsMatrix(Ge),Rr=et(tr,Ge.tileID.canonical,Ni,$t,Ot,Rt.getProjection(),Lr),Qr=\"none\"!==Dt.layout.get(\"icon-text-fit\")&&Rt.hasIconData();if(Bt){const Dt=Math.pow(2,Ot.zoom-Ge.tileID.overscaledZ);uo(Rt,$t,Ni,Ft,Se.symbolSize,Ot,Rr,mt,Dt,Bt,Qr)}}}(Lt,Ge,Dt,mt,Dt.layout.get(\"text-rotation-alignment\"),Dt.layout.get(\"text-pitch-alignment\"),Rt),0!==Dt.paint.get(\"icon-opacity\").constantOr(1)&&po(Ge,mt,Dt,Lt,!1,Dt.paint.get(\"icon-translate\"),Dt.paint.get(\"icon-translate-anchor\"),Dt.layout.get(\"icon-rotation-alignment\"),Dt.layout.get(\"icon-pitch-alignment\"),Dt.layout.get(\"icon-keep-upright\"),Bt,Ft),0!==Dt.paint.get(\"text-opacity\").constantOr(1)&&po(Ge,mt,Dt,Lt,!0,Dt.paint.get(\"text-translate\"),Dt.paint.get(\"text-translate-anchor\"),Dt.layout.get(\"text-rotation-alignment\"),Dt.layout.get(\"text-pitch-alignment\"),Dt.layout.get(\"text-keep-upright\"),Bt,Ft),mt.map.showCollisionBoxes&&(lo(Ge,mt,Dt,Lt,Dt.paint.get(\"text-translate\"),Dt.paint.get(\"text-translate-anchor\"),!0),lo(Ge,mt,Dt,Lt,Dt.paint.get(\"icon-translate\"),Dt.paint.get(\"icon-translate-anchor\"),!1))},circle:function(Ge,mt,Dt,Lt){if(\"translucent\"!==Ge.renderPass)return;const Rt=Dt.paint.get(\"circle-opacity\"),Bt=Dt.paint.get(\"circle-stroke-width\"),Ft=Dt.paint.get(\"circle-stroke-opacity\"),Ot=void 0!==Dt.layout.get(\"circle-sort-key\").constantOr(1);if(0===Rt.constantOr(1)&&(0===Bt.constantOr(1)||0===Ft.constantOr(1)))return;const $t=Ge.context,Ni=$t.gl,tr=Ge.transform,Lr=Ge.depthModeForSublayer(0,Se.DepthMode.ReadOnly),Rr=Se.StencilMode.disabled,Qr=Ge.colorModeForRenderPass(),an=\"globe\"===tr.projection.name,ln=[Se.mercatorXfromLng(tr.center.lng),Se.mercatorYfromLat(tr.center.lat)],pn=[];for(let Rt=0;Rt<Lt.length;Rt++){const Bt=Lt[Rt],Ft=mt.getTile(Bt),$t=Ft.getBucket(Dt);if(!$t||$t.projection.name!==tr.projection.name)continue;const Ni=$t.programConfigurations.get(Dt.id),Lr=Gi(Dt);an&&Lr.push(\"PROJECTION_GLOBE_VIEW\");const Rr=Ge.useProgram(\"circle\",Ni,Lr),Qr=$t.layoutVertexBuffer,fn=$t.globeExtVertexBuffer,mn=$t.indexBuffer,_n=tr.projection.createInversionMatrix(tr,Bt.canonical),bn={programConfiguration:Ni,program:Rr,layoutVertexBuffer:Qr,globeExtVertexBuffer:fn,indexBuffer:mn,uniformValues:ji(Ge,Bt,Ft,_n,ln,Dt),tile:Ft};if(Ot){const Ge=$t.segments.get();for(const mt of Ge)pn.push({segments:new Se.SegmentVector([mt]),sortKey:mt.sortKey,state:bn})}else pn.push({segments:$t.segments,sortKey:0,state:bn})}Ot&&pn.sort(((Se,Ge)=>Se.sortKey-Ge.sortKey));const fn={useDepthForOcclusion:!an};for(const mt of pn){const{programConfiguration:Lt,program:Rt,layoutVertexBuffer:Bt,globeExtVertexBuffer:Ft,indexBuffer:Ot,uniformValues:an,tile:ln}=mt.state,pn=mt.segments;Ge.terrain&&Ge.terrain.setupElevationDraw(ln,Rt,fn),Ge.prepareDrawProgram($t,Rt,ln.tileID.toUnwrapped()),Rt.draw($t,Ni.TRIANGLES,Lr,Rr,Qr,Se.CullFaceMode.disabled,an,Dt.id,Bt,Ot,pn,Dt.paint,tr.zoom,Lt,[Ft])}},heatmap:function(Ge,mt,Dt,Lt){if(0!==Dt.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===Ge.renderPass){const Rt=Ge.context,Bt=Rt.gl,Ft=Se.StencilMode.disabled,Ot=new Se.ColorMode([Bt.ONE,Bt.ONE],Se.Color.transparent,[!0,!0,!0,!0]);!function(Se,Ge,mt,Dt){const Lt=Se.gl,Rt=Ge.width*Dt,Bt=Ge.height*Dt;Se.activeTexture.set(Lt.TEXTURE1),Se.viewport.set([0,0,Rt,Bt]);let Ft=mt.heatmapFbo;if(!Ft||Ft&&(Ft.width!==Rt||Ft.height!==Bt)){Ft&&Ft.destroy();const Ge=Lt.createTexture();Lt.bindTexture(Lt.TEXTURE_2D,Ge),Lt.texParameteri(Lt.TEXTURE_2D,Lt.TEXTURE_WRAP_S,Lt.CLAMP_TO_EDGE),Lt.texParameteri(Lt.TEXTURE_2D,Lt.TEXTURE_WRAP_T,Lt.CLAMP_TO_EDGE),Lt.texParameteri(Lt.TEXTURE_2D,Lt.TEXTURE_MIN_FILTER,Lt.LINEAR),Lt.texParameteri(Lt.TEXTURE_2D,Lt.TEXTURE_MAG_FILTER,Lt.LINEAR),Ft=mt.heatmapFbo=Se.createFramebuffer(Rt,Bt,!1),function(Se,Ge,mt,Dt,Lt,Rt){const Bt=Se.gl;Bt.texImage2D(Bt.TEXTURE_2D,0,Se.isWebGL2&&Se.extRenderToTextureHalfFloat?Bt.RGBA16F:Bt.RGBA,Lt,Rt,0,Bt.RGBA,Se.extRenderToTextureHalfFloat?Se.isWebGL2?Bt.HALF_FLOAT:Se.extTextureHalfFloat.HALF_FLOAT_OES:Bt.UNSIGNED_BYTE,null),Dt.colorAttachment.set(mt)}(Se,0,Ge,Ft,Rt,Bt)}else Lt.bindTexture(Lt.TEXTURE_2D,Ft.colorAttachment.get()),Se.bindFramebuffer.set(Ft.framebuffer)}(Rt,Ge,Dt,\"globe\"===Ge.transform.projection.name?.5:.25),Rt.clear({color:Se.Color.transparent});const $t=Ge.transform,Ni=\"globe\"===$t.projection.name,tr=Ni?[\"PROJECTION_GLOBE_VIEW\"]:null,Lr=Ni?Se.CullFaceMode.frontCCW:Se.CullFaceMode.disabled,Rr=[Se.mercatorXfromLng($t.center.lng),Se.mercatorYfromLat($t.center.lat)];for(let Qr=0;Qr<Lt.length;Qr++){const an=Lt[Qr];if(mt.hasRenderableParent(an))continue;const ln=mt.getTile(an),pn=ln.getBucket(Dt);if(!pn||pn.projection.name!==$t.projection.name)continue;const fn=pn.programConfigurations.get(Dt.id),mn=Ge.useProgram(\"heatmap\",fn,tr),{zoom:_n}=Ge.transform;Ge.terrain&&Ge.terrain.setupElevationDraw(ln,mn),Ge.prepareDrawProgram(Rt,mn,an.toUnwrapped());const bn=$t.projection.createInversionMatrix($t,an.canonical);mn.draw(Rt,Bt.TRIANGLES,Se.DepthMode.disabled,Ft,Ot,Lr,Xi(Ge,an,ln,bn,Rr,_n,Dt.paint.get(\"heatmap-intensity\")),Dt.id,pn.layoutVertexBuffer,pn.indexBuffer,pn.segments,Dt.paint,Ge.transform.zoom,fn,Ni?[pn.globeExtVertexBuffer]:null)}Rt.viewport.set([0,0,Ge.width,Ge.height])}else\"translucent\"===Ge.renderPass&&(Ge.context.setColorMode(Ge.colorModeForRenderPass()),function(Ge,mt){const Dt=Ge.context,Lt=Dt.gl,Rt=mt.heatmapFbo;if(!Rt)return;Dt.activeTexture.set(Lt.TEXTURE0),Lt.bindTexture(Lt.TEXTURE_2D,Rt.colorAttachment.get()),Dt.activeTexture.set(Lt.TEXTURE1);let Bt=mt.colorRampTexture;Bt||(Bt=mt.colorRampTexture=new Se.Texture(Dt,mt.colorRamp,Lt.RGBA)),Bt.bind(Lt.LINEAR,Lt.CLAMP_TO_EDGE),Ge.useProgram(\"heatmapTexture\").draw(Dt,Lt.TRIANGLES,Se.DepthMode.disabled,Se.StencilMode.disabled,Ge.colorModeForRenderPass(),Se.CullFaceMode.disabled,((Se,Ge,mt,Dt)=>({u_image:0,u_color_ramp:1,u_opacity:Ge.paint.get(\"heatmap-opacity\")}))(0,mt),mt.id,Ge.viewportBuffer,Ge.quadTriangleIndexBuffer,Ge.viewportSegments,mt.paint,Ge.transform.zoom)}(Ge,Dt))},line:function(Ge,mt,Dt,Lt){if(\"translucent\"!==Ge.renderPass)return;const Rt=Dt.paint.get(\"line-opacity\"),Bt=Dt.paint.get(\"line-width\");if(0===Rt.constantOr(1)||0===Bt.constantOr(1))return;const Ft=Ge.depthModeForSublayer(0,Se.DepthMode.ReadOnly),Ot=Ge.colorModeForRenderPass(),$t=Ge.terrain&&Ge.terrain.renderingToTexture?1:Se.exported.devicePixelRatio,Ni=Dt.paint.get(\"line-dasharray\"),tr=Ni.constantOr(1),Lr=Dt.layout.get(\"line-cap\"),Rr=Dt.paint.get(\"line-pattern\"),Qr=Rr.constantOr(1),an=Dt.paint.get(\"line-gradient\"),ln=Qr?\"linePattern\":\"line\",pn=Ge.context,fn=pn.gl,mn=(Se=>{const Ge=[];Ki(Se)&&Ge.push(\"RENDER_LINE_DASH\"),Se.paint.get(\"line-gradient\")&&Ge.push(\"RENDER_LINE_GRADIENT\");const mt=Se.paint.get(\"line-trim-offset\");0===mt[0]&&0===mt[1]||Ge.push(\"RENDER_LINE_TRIM_OFFSET\");const Dt=Se.paint.get(\"line-pattern\").constantOr(1),Lt=1!==Se.paint.get(\"line-opacity\").constantOr(1);return!Dt&&Lt&&Ge.push(\"RENDER_LINE_ALPHA_DISCARD\"),Ge})(Dt);let _n=mn.includes(\"RENDER_LINE_ALPHA_DISCARD\");Ge.terrain&&Ge.terrain.clipOrMaskOverlapStencilType()&&(_n=!1);for(const Rt of Lt){const Lt=mt.getTile(Rt);if(Qr&&!Lt.patternsLoaded())continue;const Bt=Lt.getBucket(Dt);if(!Bt)continue;Ge.prepareDrawTile();const bn=Bt.programConfigurations.get(Dt.id),wn=Ge.useProgram(ln,bn,mn),Tn=Rr.constantOr(null);if(Tn&&Lt.imageAtlas){const Se=Lt.imageAtlas.patternPositions[Tn.toString()];Se&&bn.setConstantPatternPositions(Se)}const Sn=Ni.constantOr(null),An=Lr.constantOr(null);if(!Qr&&Sn&&An&&Lt.lineAtlas){const Se=Lt.lineAtlas.getDash(Sn,An);Se&&bn.setConstantPatternPositions(Se)}let[Pn,kn]=Dt.paint.get(\"line-trim-offset\");if(\"round\"===An||\"square\"===An){const Se=1;Pn!==kn&&(0===Pn&&(Pn-=Se),1===kn&&(kn+=Se))}const eo=Ge.terrain?Rt.projMatrix:null,ao=Qr?$i(Ge,Lt,Dt,eo,$t):qi(Ge,Lt,Dt,eo,Bt.lineClipsArray.length,$t,[Pn,kn]);if(an){const Lt=Bt.gradients[Dt.id];let Ft=Lt.texture;if(Dt.gradientVersion!==Lt.version){let Ot=256;if(Dt.stepInterpolant){const Dt=mt.getSource().maxzoom,Lt=Rt.canonical.z===Dt?Math.ceil(1<<Ge.transform.maxZoom-Rt.canonical.z):1;Ot=Se.clamp(Se.nextPowerOfTwo(Bt.maxLineLength/Se.EXTENT*1024*Lt),256,pn.maxTextureSize)}Lt.gradient=Se.renderColorRamp({expression:Dt.gradientExpression(),evaluationKey:\"lineProgress\",resolution:Ot,image:Lt.gradient||void 0,clips:Bt.lineClipsArray}),Lt.texture?Lt.texture.update(Lt.gradient):Lt.texture=new Se.Texture(pn,Lt.gradient,fn.RGBA),Lt.version=Dt.gradientVersion,Ft=Lt.texture}pn.activeTexture.set(fn.TEXTURE1),Ft.bind(Dt.stepInterpolant?fn.NEAREST:fn.LINEAR,fn.CLAMP_TO_EDGE)}tr&&(pn.activeTexture.set(fn.TEXTURE0),Lt.lineAtlasTexture.bind(fn.LINEAR,fn.REPEAT),bn.updatePaintBuffers()),Qr&&(pn.activeTexture.set(fn.TEXTURE0),Lt.imageAtlasTexture.bind(fn.LINEAR,fn.CLAMP_TO_EDGE),bn.updatePaintBuffers()),Ge.prepareDrawProgram(pn,wn,Rt.toUnwrapped());const D=mt=>{wn.draw(pn,fn.TRIANGLES,Ft,mt,Ot,Se.CullFaceMode.disabled,ao,Dt.id,Bt.layoutVertexBuffer,Bt.indexBuffer,Bt.segments,Dt.paint,Ge.transform.zoom,bn,[Bt.layoutVertexBuffer2])};if(_n){const mt=Ge.stencilModeForClipping(Rt).ref;0===mt&&Ge.terrain&&pn.clear({stencil:0});const Dt={func:fn.EQUAL,mask:255};ao.u_alpha_discard_threshold=.8,D(new Se.StencilMode(Dt,mt,255,fn.KEEP,fn.KEEP,fn.INVERT)),ao.u_alpha_discard_threshold=0,D(new Se.StencilMode(Dt,mt,255,fn.KEEP,fn.KEEP,fn.KEEP))}else D(Ge.stencilModeForClipping(Rt))}_n&&(Ge.resetStencilClippingMasks(),Ge.terrain&&pn.clear({stencil:0}))},fill:function(Ge,mt,Dt,Lt){const Rt=Dt.paint.get(\"fill-color\"),Bt=Dt.paint.get(\"fill-opacity\");if(0===Bt.constantOr(1))return;const Ft=Ge.colorModeForRenderPass(),Ot=Dt.paint.get(\"fill-pattern\"),$t=Ge.opaquePassEnabledForLayer()&&!Ot.constantOr(1)&&1===Rt.constantOr(Se.Color.transparent).a&&1===Bt.constantOr(0)?\"opaque\":\"translucent\";if(Ge.renderPass===$t){const Rt=Ge.depthModeForSublayer(1,\"opaque\"===Ge.renderPass?Se.DepthMode.ReadWrite:Se.DepthMode.ReadOnly);fo(Ge,mt,Dt,Lt,Rt,Ft,!1)}if(\"translucent\"===Ge.renderPass&&Dt.paint.get(\"fill-antialias\")){const Rt=Ge.depthModeForSublayer(Dt.getPaintProperty(\"fill-outline-color\")?2:0,Se.DepthMode.ReadOnly);fo(Ge,mt,Dt,Lt,Rt,Ft,!0)}},\"fill-extrusion\":function(Ge,mt,Dt,Lt){const Rt=Dt.paint.get(\"fill-extrusion-opacity\");if(0!==Rt&&\"translucent\"===Ge.renderPass){const Bt=new Se.DepthMode(Ge.context.gl.LEQUAL,Se.DepthMode.ReadWrite,Ge.depthRangeFor3D);if(1!==Rt||Dt.paint.get(\"fill-extrusion-pattern\").constantOr(1))go(Ge,mt,Dt,Lt,Bt,Se.StencilMode.disabled,Se.ColorMode.disabled),go(Ge,mt,Dt,Lt,Bt,Ge.stencilModeFor3D(),Ge.colorModeForRenderPass()),Ge.resetStencilClippingMasks();else{const Rt=Ge.colorModeForRenderPass();go(Ge,mt,Dt,Lt,Bt,Se.StencilMode.disabled,Rt)}}},hillshade:function(Ge,mt,Dt,Lt){if(\"offscreen\"!==Ge.renderPass&&\"translucent\"!==Ge.renderPass)return;const Rt=Ge.context,Bt=Ge.depthModeForSublayer(0,Se.DepthMode.ReadOnly),Ft=Ge.colorModeForRenderPass(),Ot=Ge.terrain&&Ge.terrain.renderingToTexture,[$t,Ni]=\"translucent\"!==Ge.renderPass||Ot?[{},Lt]:Ge.stencilConfigForOverlap(Lt);for(const Lt of Ni){const Rt=mt.getTile(Lt);if(Rt.needsHillshadePrepare&&\"offscreen\"===Ge.renderPass)fi(Ge,Rt,Dt,Bt,Se.StencilMode.disabled,Ft);else if(\"translucent\"===Ge.renderPass){const Se=Ot&&Ge.terrain?Ge.terrain.stencilModeForRTTOverlap(Lt):$t[Lt.overscaledZ];pi(Ge,Lt,Rt,Dt,Bt,Se,Ft)}}Rt.viewport.set([0,0,Ge.width,Ge.height]),Ge.resetStencilClippingMasks()},raster:function(Ge,mt,Dt,Lt,Rt,Bt){if(\"translucent\"!==Ge.renderPass)return;if(0===Dt.paint.get(\"raster-opacity\"))return;if(!Lt.length)return;const Ft=Ge.context,Ot=Ft.gl,$t=mt.getSource(),Ni=Ge.useProgram(\"raster\"),tr=Ge.colorModeForRenderPass(),Lr=Ge.terrain&&Ge.terrain.renderingToTexture,[Rr,Qr]=$t instanceof Pe||Lr?[{},Lt]:Ge.stencilConfigForOverlap(Lt),an=Qr[Qr.length-1].overscaledZ,ln=!Ge.options.moving;for(const Lt of Qr){const Rt=Lr?Se.DepthMode.disabled:Ge.depthModeForSublayer(Lt.overscaledZ-an,1===Dt.paint.get(\"raster-opacity\")?Se.DepthMode.ReadWrite:Se.DepthMode.ReadOnly,Ot.LESS),Qr=Lt.toUnwrapped(),pn=mt.getTile(Lt);if(Lr&&(!pn||!pn.hasData()))continue;const fn=Lr?Lt.projMatrix:Ge.transform.calculateProjMatrix(Qr,ln),mn=Ge.terrain&&Lr?Ge.terrain.stencilModeForRTTOverlap(Lt):Rr[Lt.overscaledZ],_n=Bt?0:Dt.paint.get(\"raster-fade-duration\");pn.registerFadeDuration(_n);const bn=mt.findLoadedParent(Lt,0),wn=Mi(pn,bn,mt,Ge.transform,_n);let Tn,Sn;Ge.terrain&&Ge.terrain.prepareDrawTile();const An=\"nearest\"===Dt.paint.get(\"raster-resampling\")?Ot.NEAREST:Ot.LINEAR;Ft.activeTexture.set(Ot.TEXTURE0),pn.texture.bind(An,Ot.CLAMP_TO_EDGE),Ft.activeTexture.set(Ot.TEXTURE1),bn?(bn.texture.bind(An,Ot.CLAMP_TO_EDGE),Tn=Math.pow(2,bn.tileID.overscaledZ-pn.tileID.overscaledZ),Sn=[pn.tileID.canonical.x*Tn%1,pn.tileID.canonical.y*Tn%1]):pn.texture.bind(An,Ot.CLAMP_TO_EDGE),pn.texture.useMipmap&&Ft.extTextureFilterAnisotropic&&Ge.transform.pitch>20&&Ot.texParameterf(Ot.TEXTURE_2D,Ft.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,Ft.extTextureFilterAnisotropicMax);const Pn=Ji(fn,Sn||[0,0],Tn||1,wn,Dt,$t instanceof Pe?$t.perspectiveTransform:[0,0]);if(Ge.prepareDrawProgram(Ft,Ni,Qr),$t instanceof Pe)$t.boundsBuffer&&$t.boundsSegments&&Ni.draw(Ft,Ot.TRIANGLES,Rt,Se.StencilMode.disabled,tr,Se.CullFaceMode.disabled,Pn,Dt.id,$t.boundsBuffer,Ge.quadTriangleIndexBuffer,$t.boundsSegments);else{const{tileBoundsBuffer:mt,tileBoundsIndexBuffer:Lt,tileBoundsSegments:Bt}=Ge.getTileBoundsBuffers(pn);Ni.draw(Ft,Ot.TRIANGLES,Rt,mn,tr,Se.CullFaceMode.disabled,Pn,Dt.id,mt,Lt,Bt)}}Ge.resetStencilClippingMasks()},background:function(Ge,mt,Dt,Lt){const Rt=Dt.paint.get(\"background-color\"),Bt=Dt.paint.get(\"background-opacity\");if(0===Bt)return;const Ft=Ge.context,Ot=Ft.gl,$t=Ge.transform,Ni=$t.tileSize,tr=Dt.paint.get(\"background-pattern\");if(Ge.isPatternMissing(tr))return;const Lr=!tr&&1===Rt.a&&1===Bt&&Ge.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Ge.renderPass!==Lr)return;const Rr=Se.StencilMode.disabled,Qr=Ge.depthModeForSublayer(0,\"opaque\"===Lr?Se.DepthMode.ReadWrite:Se.DepthMode.ReadOnly),an=Ge.colorModeForRenderPass(),ln=Ge.useProgram(tr?\"backgroundPattern\":\"background\");let pn,fn=Lt;fn||(pn=Ge.getBackgroundTiles(),fn=Object.values(pn).map((Se=>Se.tileID))),tr&&(Ft.activeTexture.set(Ot.TEXTURE0),Ge.imageManager.bind(Ge.context));for(const Lr of fn){const fn=Lr.toUnwrapped(),mn=Lt?Lr.projMatrix:Ge.transform.calculateProjMatrix(fn);Ge.prepareDrawTile();const _n=mt?mt.getTile(Lr):pn?pn[Lr.key]:new Se.Tile(Lr,Ni,$t.zoom,Ge),bn=tr?no(mn,Bt,Ge,tr,{tileID:Lr,tileSize:Ni}):ro(mn,Bt,Rt);Ge.prepareDrawProgram(Ft,ln,fn);const{tileBoundsBuffer:wn,tileBoundsIndexBuffer:Tn,tileBoundsSegments:Sn}=Ge.getTileBoundsBuffers(_n);ln.draw(Ft,Ot.TRIANGLES,Qr,Rr,an,Se.CullFaceMode.disabled,bn,Dt.id,wn,Tn,Sn)}},sky:function(Ge,mt,Dt){const Lt=Ge.transform,Rt=\"mercator\"===Lt.projection.name||\"globe\"===Lt.projection.name?1:Se.smoothstep(7,8,Lt.zoom),Bt=Dt.paint.get(\"sky-opacity\")*Rt;if(0===Bt)return;const Ft=Ge.context,Ot=Dt.paint.get(\"sky-type\"),$t=new Se.DepthMode(Ft.gl.LEQUAL,Se.DepthMode.ReadOnly,[0,1]),Ni=Ge.frameCounter/1e3%1;\"atmosphere\"===Ot?\"offscreen\"===Ge.renderPass?Dt.needsSkyboxCapture(Ge)&&(function(Ge,mt,Dt,Lt){const Rt=Ge.context,Bt=Rt.gl;let Ft=mt.skyboxFbo;if(!Ft){Ft=mt.skyboxFbo=Rt.createFramebuffer(32,32,!1),mt.skyboxGeometry=new Lo(Rt),mt.skyboxTexture=Rt.gl.createTexture(),Bt.bindTexture(Bt.TEXTURE_CUBE_MAP,mt.skyboxTexture),Bt.texParameteri(Bt.TEXTURE_CUBE_MAP,Bt.TEXTURE_WRAP_S,Bt.CLAMP_TO_EDGE),Bt.texParameteri(Bt.TEXTURE_CUBE_MAP,Bt.TEXTURE_WRAP_T,Bt.CLAMP_TO_EDGE),Bt.texParameteri(Bt.TEXTURE_CUBE_MAP,Bt.TEXTURE_MIN_FILTER,Bt.LINEAR),Bt.texParameteri(Bt.TEXTURE_CUBE_MAP,Bt.TEXTURE_MAG_FILTER,Bt.LINEAR);for(let Se=0;Se<6;++Se)Bt.texImage2D(Bt.TEXTURE_CUBE_MAP_POSITIVE_X+Se,0,Bt.RGBA,32,32,0,Bt.RGBA,Bt.UNSIGNED_BYTE,null)}Rt.bindFramebuffer.set(Ft.framebuffer),Rt.viewport.set([0,0,32,32]);const Ot=mt.getCenter(Ge,!0),$t=Ge.useProgram(\"skyboxCapture\"),Ni=new Float64Array(16);Se.identity(Ni),Se.rotateY(Ni,Ni,.5*-Math.PI),Ao(Rt,mt,$t,Ni,Ot,0),Se.identity(Ni),Se.rotateY(Ni,Ni,.5*Math.PI),Ao(Rt,mt,$t,Ni,Ot,1),Se.identity(Ni),Se.rotateX(Ni,Ni,.5*-Math.PI),Ao(Rt,mt,$t,Ni,Ot,2),Se.identity(Ni),Se.rotateX(Ni,Ni,.5*Math.PI),Ao(Rt,mt,$t,Ni,Ot,3),Se.identity(Ni),Ao(Rt,mt,$t,Ni,Ot,4),Se.identity(Ni),Se.rotateY(Ni,Ni,Math.PI),Ao(Rt,mt,$t,Ni,Ot,5),Rt.viewport.set([0,0,Ge.width,Ge.height])}(Ge,Dt),Dt.markSkyboxValid(Ge)):\"sky\"===Ge.renderPass&&function(Ge,mt,Dt,Lt,Rt){const Bt=Ge.context,Ft=Bt.gl,Ot=Ge.transform,$t=Ge.useProgram(\"skybox\");Bt.activeTexture.set(Ft.TEXTURE0),Ft.bindTexture(Ft.TEXTURE_CUBE_MAP,mt.skyboxTexture);const Ni=((Se,Ge,mt,Dt,Lt)=>({u_matrix:Se,u_sun_direction:Ge,u_cubemap:0,u_opacity:Dt,u_temporal_offset:Lt}))(Ot.skyboxMatrix,mt.getCenter(Ge,!1),0,Lt,Rt);Ge.prepareDrawProgram(Bt,$t),$t.draw(Bt,Ft.TRIANGLES,Dt,Se.StencilMode.disabled,Ge.colorModeForRenderPass(),Se.CullFaceMode.backCW,Ni,\"skybox\",mt.skyboxGeometry.vertexBuffer,mt.skyboxGeometry.indexBuffer,mt.skyboxGeometry.segment)}(Ge,Dt,$t,Bt,Ni):\"gradient\"===Ot&&\"sky\"===Ge.renderPass&&function(Ge,mt,Dt,Lt,Rt){const Bt=Ge.context,Ft=Bt.gl,Ot=Ge.transform,$t=Ge.useProgram(\"skyboxGradient\");mt.skyboxGeometry||(mt.skyboxGeometry=new Lo(Bt)),Bt.activeTexture.set(Ft.TEXTURE0);let Ni=mt.colorRampTexture;Ni||(Ni=mt.colorRampTexture=new Se.Texture(Bt,mt.colorRamp,Ft.RGBA)),Ni.bind(Ft.LINEAR,Ft.CLAMP_TO_EDGE);const tr=((Ge,mt,Dt,Lt,Rt)=>({u_matrix:Ge,u_color_ramp:0,u_center_direction:mt,u_radius:Se.degToRad(Dt),u_opacity:Lt,u_temporal_offset:Rt}))(Ot.skyboxMatrix,mt.getCenter(Ge,!1),mt.paint.get(\"sky-gradient-radius\"),Lt,Rt);Ge.prepareDrawProgram(Bt,$t),$t.draw(Bt,Ft.TRIANGLES,Dt,Se.StencilMode.disabled,Ge.colorModeForRenderPass(),Se.CullFaceMode.backCW,tr,\"skyboxGradient\",mt.skyboxGeometry.vertexBuffer,mt.skyboxGeometry.indexBuffer,mt.skyboxGeometry.segment)}(Ge,Dt,$t,Bt,Ni)},debug:function(Se,Ge,mt){for(let Dt=0;Dt<mt.length;Dt++)Eo(Se,Ge,mt[Dt])},custom:function(Ge,mt,Dt,Lt){const Rt=Ge.context,Bt=Dt.implementation;if(!Ge.transform.projection.unsupportedLayers||!Ge.transform.projection.unsupportedLayers.includes(\"custom\")||Ge.terrain&&(Ge.terrain.renderingToTexture||\"offscreen\"===Ge.renderPass)&&Dt.isLayerDraped()){if(\"offscreen\"===Ge.renderPass){const mt=Bt.prerender;if(mt){if(Ge.setCustomLayerDefaults(),Rt.setColorMode(Ge.colorModeForRenderPass()),\"globe\"===Ge.transform.projection.name){const Dt=Ge.transform.pointMerc;mt.call(Bt,Rt.gl,Ge.transform.customLayerMatrix(),Ge.transform.getProjection(),Ge.transform.globeToMercatorMatrix(),Se.globeToMercatorTransition(Ge.transform.zoom),[Dt.x,Dt.y],Ge.transform.pixelsPerMeterRatio)}else mt.call(Bt,Rt.gl,Ge.transform.customLayerMatrix());Rt.setDirty(),Ge.setBaseState()}}else if(\"translucent\"===Ge.renderPass){if(Ge.terrain&&Ge.terrain.renderingToTexture){const mt=Bt.renderToTile;if(mt){const Dt=Lt[0].canonical,Ft=new Se.MercatorCoordinate(Dt.x+Lt[0].wrap*(1<<Dt.z),Dt.y,Dt.z);Rt.setDepthMode(Se.DepthMode.disabled),Rt.setStencilMode(Se.StencilMode.disabled),Rt.setColorMode(Ge.colorModeForRenderPass()),Ge.setCustomLayerDefaults(),mt.call(Bt,Rt.gl,Ft),Rt.setDirty(),Ge.setBaseState()}return}Ge.setCustomLayerDefaults(),Rt.setColorMode(Ge.colorModeForRenderPass()),Rt.setStencilMode(Se.StencilMode.disabled);const mt=\"3d\"===Bt.renderingMode?new Se.DepthMode(Ge.context.gl.LEQUAL,Se.DepthMode.ReadWrite,Ge.depthRangeFor3D):Ge.depthModeForSublayer(0,Se.DepthMode.ReadOnly);if(Rt.setDepthMode(mt),\"globe\"===Ge.transform.projection.name){const mt=Ge.transform.pointMerc;Bt.render(Rt.gl,Ge.transform.customLayerMatrix(),Ge.transform.getProjection(),Ge.transform.globeToMercatorMatrix(),Se.globeToMercatorTransition(Ge.transform.zoom),[mt.x,mt.y],Ge.transform.pixelsPerMeterRatio)}else Bt.render(Rt.gl,Ge.transform.customLayerMatrix());Rt.setDirty(),Ge.setBaseState(),Rt.bindFramebuffer.set(null)}}else Se.warnOnce(\"Custom layers are not yet supported with this projection. Use mercator or globe to enable usage of custom layers.\")}};class Bo{constructor(Ge,mt,Dt=!1){this.context=new Ee(Ge,Dt),this.transform=mt,this._tileTextures={},this.frameCopies=[],this.loadTimeStamps=[],this.setup(),this.numSublayers=Se.SourceCache.maxUnderzooming+Se.SourceCache.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.deferredRenderGpuTimeQueries=[],this.gpuTimers={},this.frameCounter=0,this._backgroundTiles={}}updateTerrain(Se,Ge){const mt=!!Se&&!!Se.terrain&&this.transform.projection.supportsTerrain;if(!(mt||this._terrain&&this._terrain.enabled))return;this._terrain||(this._terrain=new Di(this,Se));const Dt=this._terrain;this.transform.elevation=mt?Dt:null,Dt.update(Se,this.transform,Ge)}_updateFog(Se){const Ge=Se.fog;if(!Ge||\"globe\"===this.transform.projection.name||Ge.getOpacity(this.transform.pitch)<1||Ge.properties.get(\"horizon-blend\")<.03)return void(this.transform.fogCullDistSq=null);const[mt,Dt]=Ge.getFovAdjustedRange(this.transform._fov);if(mt>Dt)return void(this.transform.fogCullDistSq=null);const Lt=mt+.78*(Dt-mt);this.transform.fogCullDistSq=Lt*Lt}get terrain(){return this.transform._terrainEnabled()&&this._terrain&&this._terrain.enabled?this._terrain:null}resize(Ge,mt){if(this.width=Ge*Se.exported.devicePixelRatio,this.height=mt*Se.exported.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const Se of this.style.order)this.style._layers[Se].resize()}setup(){const Ge=this.context,mt=new Se.StructArrayLayout2i4;mt.emplaceBack(0,0),mt.emplaceBack(Se.EXTENT,0),mt.emplaceBack(0,Se.EXTENT),mt.emplaceBack(Se.EXTENT,Se.EXTENT),this.tileExtentBuffer=Ge.createVertexBuffer(mt,Se.posAttributes.members),this.tileExtentSegments=Se.SegmentVector.simpleSegment(0,0,4,2);const Dt=new Se.StructArrayLayout2i4;Dt.emplaceBack(0,0),Dt.emplaceBack(Se.EXTENT,0),Dt.emplaceBack(0,Se.EXTENT),Dt.emplaceBack(Se.EXTENT,Se.EXTENT),this.debugBuffer=Ge.createVertexBuffer(Dt,Se.posAttributes.members),this.debugSegments=Se.SegmentVector.simpleSegment(0,0,4,5);const Lt=new Se.StructArrayLayout2i4;Lt.emplaceBack(-1,-1),Lt.emplaceBack(1,-1),Lt.emplaceBack(-1,1),Lt.emplaceBack(1,1),this.viewportBuffer=Ge.createVertexBuffer(Lt,Se.posAttributes.members),this.viewportSegments=Se.SegmentVector.simpleSegment(0,0,4,2);const Rt=new Se.StructArrayLayout4i8;Rt.emplaceBack(0,0,0,0),Rt.emplaceBack(Se.EXTENT,0,Se.EXTENT,0),Rt.emplaceBack(0,Se.EXTENT,0,Se.EXTENT),Rt.emplaceBack(Se.EXTENT,Se.EXTENT,Se.EXTENT,Se.EXTENT),this.mercatorBoundsBuffer=Ge.createVertexBuffer(Rt,Se.boundsAttributes.members),this.mercatorBoundsSegments=Se.SegmentVector.simpleSegment(0,0,4,2);const Bt=new Se.StructArrayLayout3ui6;Bt.emplaceBack(0,1,2),Bt.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=Ge.createIndexBuffer(Bt);const Ft=new Se.StructArrayLayout1ui2;for(const Se of[0,1,3,2,0])Ft.emplaceBack(Se);this.debugIndexBuffer=Ge.createIndexBuffer(Ft),this.emptyTexture=new Se.Texture(Ge,new Se.RGBAImage({width:1,height:1},Uint8Array.of(0,0,0,0)),Ge.gl.RGBA),this.identityMat=Se.create();const Ot=this.context.gl;this.stencilClearMode=new Se.StencilMode({func:Ot.ALWAYS,mask:0},0,255,Ot.ZERO,Ot.ZERO,Ot.ZERO),this.loadTimeStamps.push(Se.window.performance.now()),this.atmosphereBuffer=new Ro(this.context)}getMercatorTileBoundsBuffers(){return{tileBoundsBuffer:this.mercatorBoundsBuffer,tileBoundsIndexBuffer:this.quadTriangleIndexBuffer,tileBoundsSegments:this.mercatorBoundsSegments}}getTileBoundsBuffers(Se){return Se._makeTileBoundsBuffers(this.context,this.transform.projection),Se._tileBoundsBuffer?{tileBoundsBuffer:Se._tileBoundsBuffer,tileBoundsIndexBuffer:Se._tileBoundsIndexBuffer,tileBoundsSegments:Se._tileBoundsSegments}:this.getMercatorTileBoundsBuffers()}clearStencil(){const Ge=this.context,mt=Ge.gl;this.nextStencilID=1,this.currentStencilSource=void 0,this._tileClippingMaskIDs={},this.useProgram(\"clippingMask\").draw(Ge,mt.TRIANGLES,Se.DepthMode.disabled,this.stencilClearMode,Se.ColorMode.disabled,Se.CullFaceMode.disabled,Ci(this.identityMat),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}resetStencilClippingMasks(){this.terrain||(this.currentStencilSource=void 0,this._tileClippingMaskIDs={})}_renderTileClippingMasks(Ge,mt,Dt){if(!mt||this.currentStencilSource===mt.id||!Ge.isTileClipped()||!Dt||0===Dt.length)return;if(this._tileClippingMaskIDs&&!this.terrain){let Se=!1;for(const Ge of Dt)if(void 0===this._tileClippingMaskIDs[Ge.key]){Se=!0;break}if(!Se)return}this.currentStencilSource=mt.id;const Lt=this.context,Rt=Lt.gl;this.nextStencilID+Dt.length>256&&this.clearStencil(),Lt.setColorMode(Se.ColorMode.disabled),Lt.setDepthMode(Se.DepthMode.disabled);const Bt=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const Ge of Dt){const Dt=mt.getTile(Ge),Ft=this._tileClippingMaskIDs[Ge.key]=this.nextStencilID++,{tileBoundsBuffer:Ot,tileBoundsIndexBuffer:$t,tileBoundsSegments:Ni}=this.getTileBoundsBuffers(Dt);Bt.draw(Lt,Rt.TRIANGLES,Se.DepthMode.disabled,new Se.StencilMode({func:Rt.ALWAYS,mask:0},Ft,255,Rt.KEEP,Rt.KEEP,Rt.REPLACE),Se.ColorMode.disabled,Se.CullFaceMode.disabled,Ci(Ge.projMatrix),\"$clipping\",Ot,$t,Ni)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const Ge=this.nextStencilID++,mt=this.context.gl;return new Se.StencilMode({func:mt.NOTEQUAL,mask:255},Ge,255,mt.KEEP,mt.KEEP,mt.REPLACE)}stencilModeForClipping(Ge){if(this.terrain)return this.terrain.stencilModeForRTTOverlap(Ge);const mt=this.context.gl;return new Se.StencilMode({func:mt.EQUAL,mask:255},this._tileClippingMaskIDs[Ge.key],0,mt.KEEP,mt.KEEP,mt.REPLACE)}stencilConfigForOverlap(Ge){const mt=this.context.gl,Dt=Ge.sort(((Se,Ge)=>Ge.overscaledZ-Se.overscaledZ)),Lt=Dt[Dt.length-1].overscaledZ,Rt=Dt[0].overscaledZ-Lt+1;if(Rt>1){this.currentStencilSource=void 0,this.nextStencilID+Rt>256&&this.clearStencil();const Ge={};for(let Dt=0;Dt<Rt;Dt++)Ge[Dt+Lt]=new Se.StencilMode({func:mt.GEQUAL,mask:255},Dt+this.nextStencilID,255,mt.KEEP,mt.KEEP,mt.REPLACE);return this.nextStencilID+=Rt,[Ge,Dt]}return[{[Lt]:Se.StencilMode.disabled},Dt]}colorModeForRenderPass(){const Ge=this.context.gl;if(this._showOverdrawInspector){const mt=1/8;return new Se.ColorMode([Ge.CONSTANT_COLOR,Ge.ONE],new Se.Color(mt,mt,mt,0),[!0,!0,!0,!0])}return\"opaque\"===this.renderPass?Se.ColorMode.unblended:Se.ColorMode.alphaBlended}depthModeForSublayer(Ge,mt,Dt){if(!this.opaquePassEnabledForLayer())return Se.DepthMode.disabled;const Lt=1-((1+this.currentLayer)*this.numSublayers+Ge)*this.depthEpsilon;return new Se.DepthMode(Dt||this.context.gl.LEQUAL,mt,[Lt,Lt])}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(Ge,mt){this.style=Ge,this.options=mt,this.imageManager=Ge.imageManager,this.glyphManager=Ge.glyphManager,this.symbolFadeChange=Ge.placement.symbolFadeChange(Se.exported.now()),this.imageManager.beginFrame();const Dt=this.style.order,Lt=this.style._sourceCaches;for(const Se in Lt){const Ge=Lt[Se];Ge.used&&Ge.prepare(this.context)}const Rt={},Bt={},Ft={};for(const Se in Lt){const Ge=Lt[Se];Rt[Se]=Ge.getVisibleCoordinates(),Bt[Se]=Rt[Se].slice().reverse(),Ft[Se]=Ge.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let Se=0;Se<Dt.length;Se++)if(this.style._layers[Dt[Se]].is3D()){this.opaquePassCutoff=Se;break}if(this.terrain&&(this.terrain.updateTileBinding(Ft),this.opaquePassCutoff=0),\"globe\"!==this.transform.projection.name||this.globeSharedBuffers||(this.globeSharedBuffers=new Se.GlobeSharedBuffers(this.context)),!Se.isMapAuthenticated(this.context.gl))return;this.renderPass=\"offscreen\";for(const Se of Dt){const mt=this.style._layers[Se],Dt=Ge._getLayerSourceCache(mt);if(!mt.hasOffscreenPass()||mt.isHidden(this.transform.zoom))continue;const Lt=Dt?Bt[Dt.id]:void 0;(\"custom\"===mt.type||mt.isSky()||Lt&&Lt.length)&&this.renderLayer(this,Dt,mt,Lt)}this.depthRangeFor3D=[0,1-(Ge.order.length+2)*this.numSublayers*this.depthEpsilon];const Ot=this.terrain;if(Ot&&(this.style.hasSymbolLayers()||this.style.hasCircleLayers())&&Ot.drawDepth(),this.context.bindFramebuffer.set(null),this.context.viewport.set([0,0,this.width,this.height]),this.context.clear({color:mt.showOverdrawInspector?Se.Color.black:Se.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=mt.showOverdrawInspector,this.renderPass=\"opaque\",!this.terrain)for(this.currentLayer=Dt.length-1;this.currentLayer>=0;this.currentLayer--){const Se=this.style._layers[Dt[this.currentLayer]],mt=Ge._getLayerSourceCache(Se);if(Se.isSky())continue;const Lt=mt?Bt[mt.id]:void 0;this._renderTileClippingMasks(Se,mt,Lt),this.renderLayer(this,mt,Se,Lt)}if(this.style.fog&&this.transform.projection.supportsFog&&function(Ge,mt){const Dt=Ge.context,Lt=Dt.gl,Rt=Ge.transform,Bt=new Se.DepthMode(Lt.LEQUAL,Se.DepthMode.ReadOnly,[0,1]),Ft=Ge.useProgram(\"globeAtmosphere\",null,\"globe\"===Rt.projection.name?[\"PROJECTION_GLOBE_VIEW\",\"FOG\"]:[\"FOG\"]),Ot=Se.globeToMercatorTransition(Rt.zoom),$t=mt.properties.get(\"color\").toArray01(),Ni=mt.properties.get(\"high-color\").toArray01(),tr=mt.properties.get(\"space-color\").toArray01PremultipliedAlpha(),Lr=Se.identity$1([]);Se.rotateY$1(Lr,Lr,-Se.degToRad(Rt._center.lng)),Se.rotateX$1(Lr,Lr,Se.degToRad(Rt._center.lat)),Se.rotateZ$1(Lr,Lr,Rt.angle),Se.rotateX$1(Lr,Lr,-Rt._pitch);const Rr=Se.fromQuat(new Float32Array(16),Lr),Qr=Se.mapValue(mt.properties.get(\"star-intensity\"),0,1,0,.25),an=5e-4,ln=Se.mapValue(mt.properties.get(\"horizon-blend\"),0,1,an,.25),pn=Se.globeUseCustomAntiAliasing(Ge,Dt,Rt)&&ln===an?Rt.worldSize/(2*Math.PI*1.025)-1:Rt.globeRadius,fn=Ge.frameCounter/1e3%1,mn=Se.length(Rt.globeCenterInViewSpace),_n=Math.sqrt(Math.pow(mn,2)-Math.pow(pn,2)),bn=Math.acos(_n/mn),wn=((Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr,Lr,Rr,Qr)=>({u_frustum_tl:Ge,u_frustum_tr:mt,u_frustum_br:Dt,u_frustum_bl:Lt,u_horizon:Rt,u_transition:Bt,u_fadeout_range:Ft,u_color:Ot,u_high_color:$t,u_space_color:Ni,u_star_intensity:tr,u_star_size:5*Se.exported.devicePixelRatio,u_star_density:0,u_temporal_offset:Lr,u_horizon_angle:Rr,u_rotation_matrix:Qr}))(Rt.frustumCorners.TL,Rt.frustumCorners.TR,Rt.frustumCorners.BR,Rt.frustumCorners.BL,Rt.frustumCorners.horizon,Ot,ln,$t,Ni,tr,Qr,fn,bn,Rr);Ge.prepareDrawProgram(Dt,Ft);const Tn=Ge.atmosphereBuffer;Tn&&Ft.draw(Dt,Lt.TRIANGLES,Bt,Se.StencilMode.disabled,Se.ColorMode.alphaBlended,Se.CullFaceMode.backCW,wn,\"skybox\",Tn.vertexBuffer,Tn.indexBuffer,Tn.segments)}(this,this.style.fog),this.renderPass=\"sky\",(Se.globeToMercatorTransition(this.transform.zoom)>0||\"globe\"!==this.transform.projection.name)&&this.transform.isHorizonVisible())for(this.currentLayer=0;this.currentLayer<Dt.length;this.currentLayer++){const Se=this.style._layers[Dt[this.currentLayer]],mt=Ge._getLayerSourceCache(Se);Se.isSky()&&this.renderLayer(this,mt,Se,mt?Bt[mt.id]:void 0)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<Dt.length;){const Se=this.style._layers[Dt[this.currentLayer]],mt=Ge._getLayerSourceCache(Se);if(Se.isSky()){++this.currentLayer;continue}if(this.terrain&&this.style.isLayerDraped(Se)){if(Se.isHidden(this.transform.zoom)){++this.currentLayer;continue}this.currentLayer=this.terrain.renderBatch(this.currentLayer);continue}const Lt=mt?(\"symbol\"===Se.type?Ft:Bt)[mt.id]:void 0;this._renderTileClippingMasks(Se,mt,mt?Rt[mt.id]:void 0),this.renderLayer(this,mt,Se,Lt),++this.currentLayer}if(this.terrain&&this.terrain.postRender(),this.options.showTileBoundaries||this.options.showQueryGeometry||this.options.showTileAABBs){let mt=null;Se.values(this.style._layers).forEach((Se=>{const Dt=Ge._getLayerSourceCache(Se);Dt&&!Se.isHidden(this.transform.zoom)&&(!mt||mt.getSource().maxzoom<Dt.getSource().maxzoom)&&(mt=Dt)})),mt&&this.options.showTileBoundaries&&cl.debug(this,mt,mt.getVisibleCoordinates())}this.options.showPadding&&function(Se){const Ge=Se.transform.padding;Co(Se,Se.transform.height-(Ge.top||0),3,Wa),Co(Se,Ge.bottom||0,3,Ha),Mo(Se,Ge.left||0,3,Qa),Mo(Se,Se.transform.width-(Ge.right||0),3,tl);const mt=Se.transform.centerPoint;!function(Se,Ge,mt,Dt){Io(Se,Ge-1,mt-10,2,20,Dt),Io(Se,Ge-10,mt-1,20,2,Dt)}(Se,mt.x,Se.transform.height-mt.y,ol)}(this),this.context.setDefault(),this.frameCounter=(this.frameCounter+1)%Number.MAX_SAFE_INTEGER,this.tileLoaded&&this.options.speedIndexTiming&&(this.loadTimeStamps.push(Se.window.performance.now()),this.saveCanvasCopy())}renderLayer(Se,Ge,mt,Dt){mt.isHidden(this.transform.zoom)||(\"background\"===mt.type||\"sky\"===mt.type||\"custom\"===mt.type||Dt&&Dt.length)&&(this.id=mt.id,this.gpuTimingStart(mt),(!Se.transform.projection.unsupportedLayers||!Se.transform.projection.unsupportedLayers.includes(mt.type)||Se.terrain&&\"custom\"===mt.type)&&cl[mt.type](Se,Ge,mt,Dt,this.style.placement.variableOffsets,this.options.isInitialLoad),this.gpuTimingEnd())}gpuTimingStart(Se){if(!this.options.gpuTiming)return;const Ge=this.context.extTimerQuery;let mt=this.gpuTimers[Se.id];mt||(mt=this.gpuTimers[Se.id]={calls:0,cpuTime:0,query:Ge.createQueryEXT()}),mt.calls++,Ge.beginQueryEXT(Ge.TIME_ELAPSED_EXT,mt.query)}gpuTimingDeferredRenderStart(){if(this.options.gpuTimingDeferredRender){const Se=this.context.extTimerQuery,Ge=Se.createQueryEXT();this.deferredRenderGpuTimeQueries.push(Ge),Se.beginQueryEXT(Se.TIME_ELAPSED_EXT,Ge)}}gpuTimingDeferredRenderEnd(){if(!this.options.gpuTimingDeferredRender)return;const Se=this.context.extTimerQuery;Se.endQueryEXT(Se.TIME_ELAPSED_EXT)}gpuTimingEnd(){if(!this.options.gpuTiming)return;const Se=this.context.extTimerQuery;Se.endQueryEXT(Se.TIME_ELAPSED_EXT)}collectGpuTimers(){const Se=this.gpuTimers;return this.gpuTimers={},Se}collectDeferredRenderGpuQueries(){const Se=this.deferredRenderGpuTimeQueries;return this.deferredRenderGpuTimeQueries=[],Se}queryGpuTimers(Se){const Ge={};for(const mt in Se){const Dt=Se[mt],Lt=this.context.extTimerQuery,Rt=Lt.getQueryObjectEXT(Dt.query,Lt.QUERY_RESULT_EXT)/1e6;Lt.deleteQueryEXT(Dt.query),Ge[mt]=Rt}return Ge}queryGpuTimeDeferredRender(Se){if(!this.options.gpuTimingDeferredRender)return 0;const Ge=this.context.extTimerQuery;let mt=0;for(const Dt of Se)mt+=Ge.getQueryObjectEXT(Dt,Ge.QUERY_RESULT_EXT)/1e6,Ge.deleteQueryEXT(Dt);return mt}translatePosMatrix(Ge,mt,Dt,Lt,Rt){if(!Dt[0]&&!Dt[1])return Ge;const Bt=Rt?\"map\"===Lt?this.transform.angle:0:\"viewport\"===Lt?-this.transform.angle:0;if(Bt){const Se=Math.sin(Bt),Ge=Math.cos(Bt);Dt=[Dt[0]*Ge-Dt[1]*Se,Dt[0]*Se+Dt[1]*Ge]}const Ft=[Rt?Dt[0]:D(mt,Dt[0],this.transform.zoom),Rt?Dt[1]:D(mt,Dt[1],this.transform.zoom),0],Ot=new Float32Array(16);return Se.translate(Ot,Ge,Ft),Ot}saveTileTexture(Se){const Ge=this._tileTextures[Se.size[0]];Ge?Ge.push(Se):this._tileTextures[Se.size[0]]=[Se]}getTileTexture(Se){const Ge=this._tileTextures[Se];return Ge&&Ge.length>0?Ge.pop():null}isPatternMissing(Se){return null===Se||void 0!==Se&&!this.imageManager.getPattern(Se.toString())}terrainRenderModeElevated(){return this.style&&!!this.style.getTerrain()&&!!this.terrain&&!this.terrain.renderingToTexture}currentGlobalDefines(){const Se=this.terrain&&this.terrain.renderingToTexture,Ge=this.terrain&&0===this.terrain.exaggeration(),mt=this.style&&this.style.fog,Dt=[];return this.terrainRenderModeElevated()&&Dt.push(\"TERRAIN\"),\"globe\"===this.transform.projection.name&&Dt.push(\"GLOBE\"),Ge&&Dt.push(\"ZERO_EXAGGERATION\"),mt&&!Se&&0!==mt.getOpacity(this.transform.pitch)&&Dt.push(\"FOG\"),Se&&Dt.push(\"RENDER_TO_TEXTURE\"),this._showOverdrawInspector&&Dt.push(\"OVERDRAW_INSPECTOR\"),Dt}useProgram(Se,Ge,mt){this.cache=this.cache||{};const Dt=mt||[],Lt=this.currentGlobalDefines().concat(Dt),Rt=Li.cacheKey(Ma[Se],Se,Lt,Ge);return this.cache[Rt]||(this.cache[Rt]=new Li(this.context,Se,Ma[Se],Ge,Ua[Se],Lt)),this.cache[Rt]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.frontFace.setDefault(),this.context.cullFaceSide.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const Se=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(Se.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=Se.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new Se.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this._terrain&&this._terrain.destroy(),this.globeSharedBuffers&&this.globeSharedBuffers.destroy(),this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.atmosphereBuffer&&this.atmosphereBuffer.destroy()}prepareDrawTile(){this.terrain&&this.terrain.prepareDrawTile()}prepareDrawProgram(Ge,mt,Dt){if(this.terrain&&this.terrain.renderingToTexture)return;const Lt=this.style.fog;if(Lt){const Rt=Lt.getOpacity(this.transform.pitch),Bt=((Ge,mt,Dt,Lt,Rt,Bt,Ft,Ot,$t,Ni,tr)=>{const Lr=Ge.transform,Rr=mt.properties.get(\"color\").toArray01();Rr[3]=Lt;const Qr=Ge.frameCounter/1e3%1;return{u_fog_matrix:Dt?Lr.calculateFogTileMatrix(Dt):Ge.identityMat,u_fog_range:mt.getFovAdjustedRange(Lr._fov),u_fog_color:Rr,u_fog_horizon_blend:mt.properties.get(\"horizon-blend\"),u_fog_temporal_offset:Qr,u_frustum_tl:Rt,u_frustum_tr:Bt,u_frustum_br:Ft,u_frustum_bl:Ot,u_globe_pos:$t,u_globe_radius:Ni,u_viewport:tr,u_globe_transition:Se.globeToMercatorTransition(Lr.zoom),u_is_globe:+(\"globe\"===Lr.projection.name)}})(this,Lt,Dt,Rt,this.transform.frustumCorners.TL,this.transform.frustumCorners.TR,this.transform.frustumCorners.BR,this.transform.frustumCorners.BL,this.transform.globeCenterInViewSpace,this.transform.globeRadius,[this.transform.width*Se.exported.devicePixelRatio,this.transform.height*Se.exported.devicePixelRatio]);mt.setFogUniformValues(Ge,Bt)}}setTileLoadedFlag(Se){this.tileLoaded=Se}saveCanvasCopy(){const Se=this.canvasCopy();Se&&(this.frameCopies.push(Se),this.tileLoaded=!1)}canvasCopy(){const Se=this.context.gl,Ge=Se.createTexture();return Se.bindTexture(Se.TEXTURE_2D,Ge),Se.copyTexImage2D(Se.TEXTURE_2D,0,Se.RGBA,0,0,Se.drawingBufferWidth,Se.drawingBufferHeight,0),Ge}getCanvasCopiesAndTimestamps(){return{canvasCopies:this.frameCopies,timeStamps:this.loadTimeStamps}}averageElevationNeedsEasing(){if(!this.transform._elevation)return!1;const Se=this.style&&this.style.fog;return!!Se&&0!==Se.getOpacity(this.transform.pitch)}getBackgroundTiles(){const Ge=this._backgroundTiles,mt=this._backgroundTiles={},Dt=this.transform.coveringTiles({tileSize:512});for(const Lt of Dt)mt[Lt.key]=Ge[Lt.key]||new Se.Tile(Lt,512,this.transform.tileZoom,this);return mt}clearBackgroundTiles(){this._backgroundTiles={}}}class ko{constructor(Se=0,Ge=0,mt=0,Dt=0){if(isNaN(Se)||Se<0||isNaN(Ge)||Ge<0||isNaN(mt)||mt<0||isNaN(Dt)||Dt<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=Se,this.bottom=Ge,this.left=mt,this.right=Dt}interpolate(Ge,mt,Dt){return null!=mt.top&&null!=Ge.top&&(this.top=Se.number(Ge.top,mt.top,Dt)),null!=mt.bottom&&null!=Ge.bottom&&(this.bottom=Se.number(Ge.bottom,mt.bottom,Dt)),null!=mt.left&&null!=Ge.left&&(this.left=Se.number(Ge.left,mt.left,Dt)),null!=mt.right&&null!=Ge.right&&(this.right=Se.number(Ge.right,mt.right,Dt)),this}getCenter(Ge,mt){const Dt=Se.clamp((this.left+Ge-this.right)/2,0,Ge),Lt=Se.clamp((this.top+mt-this.bottom)/2,0,mt);return new Se.Point(Dt,Lt)}equals(Se){return this.top===Se.top&&this.bottom===Se.bottom&&this.left===Se.left&&this.right===Se.right}clone(){return new ko(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function Fo(Ge,mt){const Dt=Se.getColumn(Ge,3);Se.fromQuat(Ge,mt),Se.setColumn(Ge,3,Dt)}function Uo(Ge,mt){const Dt=Se.identity$1([]);return Se.rotateZ$1(Dt,Dt,-mt),Se.rotateX$1(Dt,Dt,-Ge),Dt}function No(Ge,mt){const Dt=[Ge[0],Ge[1],0],Lt=[mt[0],mt[1],0];if(Se.length(Dt)>=1e-15){const Ge=Se.normalize([],Dt);Se.scale$2(Lt,Ge,Se.dot(Lt,Ge)),mt[0]=Lt[0],mt[1]=Lt[1]}const Rt=Se.cross([],mt,Ge);if(Se.len(Rt)<1e-15)return null;const Bt=Math.atan2(-Rt[1],Rt[0]);return Uo(Math.atan2(Math.sqrt(Ge[0]*Ge[0]+Ge[1]*Ge[1]),-Ge[2]),Bt)}class jo{constructor(Se,Ge){this.position=Se,this.orientation=Ge}get position(){return this._position}set position(Ge){if(Ge){const mt=Ge instanceof Se.MercatorCoordinate?Ge:new Se.MercatorCoordinate(Ge[0],Ge[1],Ge[2]);this._renderWorldCopies&&(mt.x=Se.wrap(mt.x,0,1)),this._position=mt}else this._position=null}lookAtPoint(Ge,mt){if(this.orientation=null,!this.position)return;const Dt=this.position,Lt=this._elevation?this._elevation.getAtPointOrZero(Se.MercatorCoordinate.fromLngLat(Ge)):0,Rt=Se.MercatorCoordinate.fromLngLat(Ge,Lt),Bt=[Rt.x-Dt.x,Rt.y-Dt.y,Rt.z-Dt.z];mt||(mt=[0,0,1]),mt[2]=Math.abs(mt[2]),this.orientation=No(Bt,mt)}setPitchBearing(Ge,mt){this.orientation=Uo(Se.degToRad(Ge),Se.degToRad(-mt))}}class Go{constructor(Ge,mt){this._transform=Se.identity([]),this.orientation=mt,this.position=Ge}get mercatorPosition(){const Ge=this.position;return new Se.MercatorCoordinate(Ge[0],Ge[1],Ge[2])}get position(){const Ge=Se.getColumn(this._transform,3);return[Ge[0],Ge[1],Ge[2]]}set position(Ge){var mt;Ge&&Se.setColumn(this._transform,3,[(mt=Ge)[0],mt[1],mt[2],1])}get orientation(){return this._orientation}set orientation(Ge){this._orientation=Ge||Se.identity$1([]),Ge&&Fo(this._transform,this._orientation)}getPitchBearing(){const Se=this.forward(),Ge=this.right();return{bearing:Math.atan2(-Ge[1],Ge[0]),pitch:Math.atan2(Math.sqrt(Se[0]*Se[0]+Se[1]*Se[1]),-Se[2])}}setPitchBearing(Se,Ge){this._orientation=Uo(Se,Ge),Fo(this._transform,this._orientation)}forward(){const Ge=Se.getColumn(this._transform,2);return[-Ge[0],-Ge[1],-Ge[2]]}up(){const Ge=Se.getColumn(this._transform,1);return[-Ge[0],-Ge[1],-Ge[2]]}right(){const Ge=Se.getColumn(this._transform,0);return[Ge[0],Ge[1],Ge[2]]}getCameraToWorld(Ge,mt){const Dt=new Float64Array(16);return Se.invert(Dt,this.getWorldToCamera(Ge,mt)),Dt}getWorldToCameraPosition(Ge,mt,Dt){const Lt=this.position;Se.scale$2(Lt,Lt,-Ge);const Rt=new Float64Array(16);return Se.fromScaling(Rt,[Dt,Dt,Dt]),Se.translate(Rt,Rt,Lt),Rt[10]*=mt,Rt}getWorldToCamera(Ge,mt){const Dt=new Float64Array(16),Lt=new Float64Array(4),Rt=this.position;return Se.conjugate(Lt,this._orientation),Se.scale$2(Rt,Rt,-Ge),Se.fromQuat(Dt,Lt),Se.translate(Dt,Dt,Rt),Dt[1]*=-1,Dt[5]*=-1,Dt[9]*=-1,Dt[13]*=-1,Dt[8]*=mt,Dt[9]*=mt,Dt[10]*=mt,Dt[11]*=mt,Dt}getCameraToClipPerspective(Ge,mt,Dt,Lt){const Rt=new Float64Array(16);return Se.perspective(Rt,Ge,mt,Dt,Lt),Rt}getDistanceToElevation(Ge,mt=!1){const Dt=0===Ge?0:Se.mercatorZfromAltitude(Ge,mt?Se.latFromMercatorY(this.position[1]):this.position[1]),Lt=this.forward();return(Dt-this.position[2])/Lt[2]}clone(){return new Go([...this.position],[...this.orientation])}}function Zo(Ge,mt){const Dt=Wo(Ge.projection,Ge.zoom,Ge.width,Ge.height),Lt=function(Ge,mt,Dt,Lt,Rt){const Bt=new Se.LngLat(Dt.lng-180*hl,Dt.lat),Ft=new Se.LngLat(Dt.lng+180*hl,Dt.lat),Ot=Ge.project(Bt.lng,Bt.lat),$t=Ge.project(Ft.lng,Ft.lat),Ni=-Math.atan2($t.y-Ot.y,$t.x-Ot.x),tr=Se.MercatorCoordinate.fromLngLat(Dt);tr.y=Se.clamp(tr.y,-1+hl,1-hl);const Lr=tr.toLngLat(),Rr=Ge.project(Lr.lng,Lr.lat),Qr=Se.MercatorCoordinate.fromLngLat(Lr);Qr.x+=hl;const an=Qr.toLngLat(),ln=Ge.project(an.lng,an.lat),pn=$o(ln.x-Rr.x,ln.y-Rr.y,Ni),fn=Se.MercatorCoordinate.fromLngLat(Lr);fn.y+=hl;const mn=fn.toLngLat(),_n=Ge.project(mn.lng,mn.lat),bn=$o(_n.x-Rr.x,_n.y-Rr.y,Ni),wn=Math.abs(pn.x)/Math.abs(bn.y),Tn=Se.identity([]);Se.rotateZ(Tn,Tn,-Ni*(1-(Rt?0:Lt)));const Sn=Se.identity([]);return Se.scale(Sn,Sn,[1,1-(1-wn)*Lt,1]),Sn[4]=-bn.x/bn.y*Lt,Se.rotateZ(Sn,Sn,Ni),Se.multiply(Sn,Tn,Sn),Sn}(Ge.projection,0,Ge.center,Dt,mt),Rt=Vo(Ge);return Se.scale(Lt,Lt,[Rt,Rt,1]),Lt}function Vo(Ge){const mt=Ge.projection,Dt=Wo(Ge.projection,Ge.zoom,Ge.width,Ge.height),Lt=qo(mt,Ge.center),Rt=qo(mt,Se.LngLat.convert(mt.center));return Math.pow(2,Lt*Dt+(1-Dt)*Rt)}function Wo(Ge,mt,Dt,Lt,Rt=1/0){const Bt=Ge.range;if(!Bt)return 0;const Ft=Math.min(Rt,Math.max(Dt,Lt)),Ot=Math.log(Ft/1024)/Math.LN2;return Se.smoothstep(Bt[0]+Ot,Bt[1]+Ot,mt)}const hl=1/4e4;function qo(Ge,mt){const Dt=Se.clamp(mt.lat,-Se.MAX_MERCATOR_LATITUDE,Se.MAX_MERCATOR_LATITUDE),Lt=new Se.LngLat(mt.lng-180*hl,Dt),Rt=new Se.LngLat(mt.lng+180*hl,Dt),Bt=Ge.project(Lt.lng,Dt),Ft=Ge.project(Rt.lng,Dt),Ot=Se.MercatorCoordinate.fromLngLat(Lt),$t=Se.MercatorCoordinate.fromLngLat(Rt),Ni=Ft.x-Bt.x,tr=Ft.y-Bt.y,Lr=$t.x-Ot.x,Rr=$t.y-Ot.y,Qr=Math.sqrt((Lr*Lr+Rr*Rr)/(Ni*Ni+tr*tr));return Math.log(Qr)/Math.LN2}function $o(Se,Ge,mt){const Dt=Math.cos(mt),Lt=Math.sin(mt);return{x:Se*Dt-Ge*Lt,y:Se*Lt+Ge*Dt}}class Ho{constructor(Ge,mt,Dt,Lt,Rt,Bt,Ft){this.tileSize=512,this._renderWorldCopies=void 0===Rt||Rt,this._minZoom=Ge||0,this._maxZoom=mt||22,this._minPitch=null==Dt?0:Dt,this._maxPitch=null==Lt?60:Lt,this.setProjection(Bt),this.setMaxBounds(Ft),this.width=0,this.height=0,this._center=new Se.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._nearZ=0,this._farZ=0,this._unmodified=!0,this._edgeInsets=new ko,this._projMatrixCache={},this._alignedProjMatrixCache={},this._fogTileMatrixCache={},this._distanceTileDataCache={},this._camera=new Go,this._centerAltitude=0,this._averageElevation=0,this.cameraElevationReference=\"ground\",this._pixelsPerMercatorPixel=1,this.globeRadius=0,this.globeCenterInViewSpace=[0,0,0],this._horizonShift=.1}clone(){const Se=new Ho(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies,this.getProjection());return Se._elevation=this._elevation,Se._centerAltitude=this._centerAltitude,Se._centerAltitudeValidForExaggeration=this._centerAltitudeValidForExaggeration,Se.tileSize=this.tileSize,Se.mercatorFromTransition=this.mercatorFromTransition,Se.width=this.width,Se.height=this.height,Se.cameraElevationReference=this.cameraElevationReference,Se._center=this._center,Se._setZoom(this.zoom),Se._seaLevelZoom=this._seaLevelZoom,Se.angle=this.angle,Se._fov=this._fov,Se._pitch=this._pitch,Se._nearZ=this._nearZ,Se._farZ=this._farZ,Se._averageElevation=this._averageElevation,Se._unmodified=this._unmodified,Se._edgeInsets=this._edgeInsets.clone(),Se._camera=this._camera.clone(),Se._calcMatrices(),Se.freezeTileCoverage=this.freezeTileCoverage,Se.frustumCorners=this.frustumCorners,Se}get elevation(){return this._elevation}set elevation(Se){this._elevation!==Se&&(this._elevation=Se,this._updateCameraOnTerrain(),this._calcMatrices())}updateElevation(Se,Ge=!1){const mt=this._elevation&&this._elevation.exaggeration()!==this._centerAltitudeValidForExaggeration;(null==this._seaLevelZoom||mt)&&this._updateCameraOnTerrain(),(Se||mt)&&this._constrainCamera(Ge),this._calcMatrices()}getProjection(){return Se.pick(this.projection,[\"name\",\"center\",\"parallels\"])}setProjection(Ge){this.projectionOptions=Ge||{name:\"mercator\"};const mt=this.projection?this.getProjection():void 0;this.projection=Se.getProjection(this.projectionOptions);const Dt=!t(mt,this.getProjection());return Dt&&this._calcMatrices(),this.mercatorFromTransition=!1,Dt}setMercatorFromTransition(){const Ge=this.projection.name;this.mercatorFromTransition=!0,this.projectionOptions={name:\"mercator\"},this.projection=Se.getProjection({name:\"mercator\"});const mt=Ge!==this.projection.name;return mt&&this._calcMatrices(),mt}get minZoom(){return this._minZoom}set minZoom(Se){this._minZoom!==Se&&(this._minZoom=Se,this.zoom=Math.max(this.zoom,Se))}get maxZoom(){return this._maxZoom}set maxZoom(Se){this._maxZoom!==Se&&(this._maxZoom=Se,this.zoom=Math.min(this.zoom,Se))}get minPitch(){return this._minPitch}set minPitch(Se){this._minPitch!==Se&&(this._minPitch=Se,this.pitch=Math.max(this.pitch,Se))}get maxPitch(){return this._maxPitch}set maxPitch(Se){this._maxPitch!==Se&&(this._maxPitch=Se,this.pitch=Math.min(this.pitch,Se))}get renderWorldCopies(){return this._renderWorldCopies&&!0===this.projection.supportsWorldCopies}set renderWorldCopies(Se){void 0===Se?Se=!0:null===Se&&(Se=!1),this._renderWorldCopies=Se}get worldSize(){return this.tileSize*this.scale}get cameraWorldSizeForFog(){const Se=Math.max(this._camera.getDistanceToElevation(this._averageElevation),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(Se))}get cameraWorldSize(){const Se=Math.max(this._camera.getDistanceToElevation(this._averageElevation,!0),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(Se))}get pixelsPerMeter(){return this.projection.pixelsPerMeter(this.center.lat,this.worldSize)}get cameraPixelsPerMeter(){return Se.mercatorZfromAltitude(this.center.lat,this.cameraWorldSizeForFog)}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new Se.Point(this.width,this.height)}get bearing(){return Se.wrap(this.rotation,-180,180)}set bearing(Se){this.rotation=Se}get rotation(){return-this.angle/Math.PI*180}set rotation(Ge){const mt=-Ge*Math.PI/180;var Dt;this.angle!==mt&&(this._unmodified=!1,this.angle=mt,this._calcMatrices(),this.rotationMatrix=(Dt=new Se.ARRAY_TYPE(4),Se.ARRAY_TYPE!=Float32Array&&(Dt[1]=0,Dt[2]=0),Dt[0]=1,Dt[3]=1,Dt),function(Se,Ge,mt){var Dt=Ge[0],Lt=Ge[1],Rt=Ge[2],Bt=Ge[3],Ft=Math.sin(mt),Ot=Math.cos(mt);Se[0]=Dt*Ot+Rt*Ft,Se[1]=Lt*Ot+Bt*Ft,Se[2]=Dt*-Ft+Rt*Ot,Se[3]=Lt*-Ft+Bt*Ot}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(Ge){const mt=Se.clamp(Ge,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==mt&&(this._unmodified=!1,this._pitch=mt,this._calcMatrices())}get aspect(){return this.width/this.height}get fov(){return this._fov/Math.PI*180}get fovX(){return this._fov}get fovY(){const Se=1/Math.tan(.5*this.fovX);return 2*Math.atan(1/this.aspect/Se)}set fov(Ge){Ge=Math.max(.01,Math.min(60,Ge)),this._fov!==Ge&&(this._unmodified=!1,this._fov=Se.degToRad(Ge),this._calcMatrices())}get averageElevation(){return this._averageElevation}set averageElevation(Se){this._averageElevation=Se,this._calcFogMatrices(),this._distanceTileDataCache={}}get zoom(){return this._zoom}set zoom(Se){const Ge=Math.min(Math.max(Se,this.minZoom),this.maxZoom);this._zoom!==Ge&&(this._unmodified=!1,this._setZoom(Ge),this._updateSeaLevelZoom(),this._constrain(),this._calcMatrices())}_setZoom(Se){this._zoom=Se,this.scale=this.zoomScale(Se),this.tileZoom=Math.floor(Se),this.zoomFraction=Se-this.tileZoom}_updateCameraOnTerrain(){if(!this._elevation||!this._elevation.isDataAvailableAtPoint(this.locationCoordinate(this.center)))return this._centerAltitude=0,this._seaLevelZoom=null,void(this._centerAltitudeValidForExaggeration=void 0);const Se=this._elevation;this._centerAltitude=Se.getAtPointOrZero(this.locationCoordinate(this.center)),this._centerAltitudeValidForExaggeration=Se.exaggeration(),this._updateSeaLevelZoom()}_updateSeaLevelZoom(){void 0!==this._centerAltitudeValidForExaggeration&&(this._seaLevelZoom=this._zoomFromMercatorZ((this.pixelsPerMeter*this._centerAltitude+this.cameraToCenterDistance)/this.worldSize))}sampleAverageElevation(){if(!this._elevation)return 0;const Ge=this._elevation,mt=[[.5,.2],[.3,.5],[.5,.5],[.7,.5],[.5,.8]],Dt=this.horizonLineFromTop();let Lt=0,Rt=0;for(let Bt=0;Bt<mt.length;Bt++){const Ft=new Se.Point(mt[Bt][0]*this.width,Dt+mt[Bt][1]*(this.height-Dt)),Ot=Ge.pointCoordinate(Ft);if(!Ot)continue;const $t=1/Math.hypot(Ot[0]-this._camera.position[0],Ot[1]-this._camera.position[1]);Lt+=Ot[3]*$t,Rt+=$t}return 0===Rt?NaN:Lt/Rt}get center(){return this._center}set center(Se){Se.lat===this._center.lat&&Se.lng===this._center.lng||(this._unmodified=!1,this._center=Se,this._terrainEnabled()&&(\"ground\"===this.cameraElevationReference?this._updateCameraOnTerrain():this._updateZoomFromElevation()),this._constrain(),this._calcMatrices())}_updateZoomFromElevation(){if(null==this._seaLevelZoom||!this._elevation)return;const Se=this._seaLevelZoom,Ge=this._elevation.getAtPointOrZero(this.locationCoordinate(this.center)),mt=this.pixelsPerMeter/this.worldSize*Ge,Dt=this._mercatorZfromZoom(Se),Lt=this._mercatorZfromZoom(this._maxZoom),Rt=Math.max(Dt-mt,Lt);this._setZoom(this._zoomFromMercatorZ(Rt))}get padding(){return this._edgeInsets.toJSON()}set padding(Se){this._edgeInsets.equals(Se)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Se,1),this._calcMatrices())}computeZoomRelativeTo(Ge){const mt=this.rayIntersectionCoordinate(this.pointRayIntersection(this.centerPoint,Ge.toAltitude()));let Dt;Dt=Ge.z<this._camera.position[2]?[mt.x,mt.y,mt.z]:[Ge.x,Ge.y,Ge.z];const Lt=Se.length(Se.sub([],this._camera.position,Dt));return Se.clamp(this._zoomFromMercatorZ(Lt),this._minZoom,this._maxZoom)}setFreeCameraOptions(Ge){if(!this.height)return;if(!Ge.position&&!Ge.orientation)return;this._updateCameraState();let mt=!1;if(Ge.orientation&&!Se.exactEquals(Ge.orientation,this._camera.orientation)&&(mt=this._setCameraOrientation(Ge.orientation)),Ge.position){const Dt=[Ge.position.x,Ge.position.y,Ge.position.z];Se.exactEquals$1(Dt,this._camera.position)||(this._setCameraPosition(Dt),mt=!0)}mt&&(this._updateStateFromCamera(),this.recenterOnTerrain())}getFreeCameraOptions(){this._updateCameraState();const Ge=this._camera.position,mt=new jo;return mt.position=new Se.MercatorCoordinate(Ge[0],Ge[1],Ge[2]),mt.orientation=this._camera.orientation,mt._elevation=this.elevation,mt._renderWorldCopies=this.renderWorldCopies,mt}_setCameraOrientation(Ge){if(!Se.length$1(Ge))return!1;Se.normalize$1(Ge,Ge);const mt=Se.transformQuat([],[0,0,-1],Ge),Dt=Se.transformQuat([],[0,-1,0],Ge);if(Dt[2]<0)return!1;const Lt=No(mt,Dt);return!!Lt&&(this._camera.orientation=Lt,!0)}_setCameraPosition(Ge){const mt=this.zoomScale(this.minZoom)*this.tileSize,Dt=this.zoomScale(this.maxZoom)*this.tileSize,Lt=this.cameraToCenterDistance;Ge[2]=Se.clamp(Ge[2],Lt/Dt,Lt/mt),this._camera.position=Ge}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}get fovAboveCenter(){return this._fov*(.5+this.centerOffset.y/this.height)}isPaddingEqual(Se){return this._edgeInsets.equals(Se)}interpolatePadding(Se,Ge,mt){this._unmodified=!1,this._edgeInsets.interpolate(Se,Ge,mt),this._constrain(),this._calcMatrices()}coveringZoomLevel(Se){const Ge=(Se.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/Se.tileSize));return Math.max(0,Ge)}getVisibleUnwrappedCoordinates(Ge){const mt=[new Se.UnwrappedTileID(0,Ge)];if(this.renderWorldCopies){const Dt=this.pointCoordinate(new Se.Point(0,0)),Lt=this.pointCoordinate(new Se.Point(this.width,0)),Rt=this.pointCoordinate(new Se.Point(this.width,this.height)),Bt=this.pointCoordinate(new Se.Point(0,this.height)),Ft=Math.floor(Math.min(Dt.x,Lt.x,Rt.x,Bt.x)),Ot=Math.floor(Math.max(Dt.x,Lt.x,Rt.x,Bt.x)),$t=1;for(let Dt=Ft-$t;Dt<=Ot+$t;Dt++)0!==Dt&&mt.push(new Se.UnwrappedTileID(Dt,Ge))}return mt}coveringTiles(Ge){let mt=this.coveringZoomLevel(Ge);const Dt=mt,Lt=this.elevation&&!Ge.isTerrainDEM,Rt=\"mercator\"===this.projection.name;if(void 0!==Ge.minzoom&&mt<Ge.minzoom)return[];void 0!==Ge.maxzoom&&mt>Ge.maxzoom&&(mt=Ge.maxzoom);const Bt=this.locationCoordinate(this.center),Ft=this.center.lat,Ot=1<<mt,$t=[Ot*Bt.x,Ot*Bt.y,0],Ni=\"globe\"===this.projection.name,tr=!Ni,Lr=Se.Frustum.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,mt,tr),Rr=Ni?this._camera.mercatorPosition:this.pointCoordinate(this.getCameraPoint()),Qr=Ot*Se.mercatorZfromAltitude(1,this.center.lat),an=this._camera.position[2]/Se.mercatorZfromAltitude(1,this.center.lat),ln=[Ot*Rr.x,Ot*Rr.y,an*(tr?1:Qr)],pn=this.cameraToCenterDistance/Ge.tileSize*(Ge.roundZoom?1:.502),fn=this.pitch<=60&&this._edgeInsets.top<=this._edgeInsets.bottom&&!this._elevation&&!this.projection.isReprojectedInTileSpace?mt:0,mn=Ge.isTerrainDEM&&this._elevation?1e4*this._elevation.exaggeration():this._centerAltitude,_n=Ge.isTerrainDEM?-mn:this._elevation?this._elevation.getMinElevationBelowMSL():0,bn=this.projection.isReprojectedInTileSpace?Vo(this):1,w=Ge=>{const mt=1/4e4,Dt=new Se.MercatorCoordinate(Ge.x+mt,Ge.y,Ge.z),Lt=new Se.MercatorCoordinate(Ge.x,Ge.y+mt,Ge.z),Rt=Ge.toLngLat(),Bt=Dt.toLngLat(),Ft=Lt.toLngLat(),Ot=this.locationCoordinate(Rt),$t=this.locationCoordinate(Bt),Ni=this.locationCoordinate(Ft),tr=Math.hypot($t.x-Ot.x,$t.y-Ot.y),Lr=Math.hypot(Ni.x-Ot.x,Ni.y-Ot.y);return Math.sqrt(tr*Lr)*bn/mt},T=Ge=>{const mt=mn,Dt=_n;return{aabb:Se.tileAABB(this,Ot,0,0,0,Ge,Dt,mt,this.projection),zoom:0,x:0,y:0,minZ:Dt,maxZ:mt,wrap:Ge,fullyVisible:!1}},wn=[];let Tn=[];const Sn=mt,An=Ge.reparseOverscaled?Dt:mt,P=Se=>Se*Se,Pn=P((an-this._centerAltitude)*Qr),D=Se=>{if(!this._elevation||!Se.tileID||!Rt)return;const Ge=this._elevation.getMinMaxForTile(Se.tileID),mt=Se.aabb;Ge?(mt.min[2]=Ge.min,mt.max[2]=Ge.max,mt.center[2]=(mt.min[2]+mt.max[2])/2):(Se.shouldSplit=L(Se),Se.shouldSplit||(mt.min[2]=mt.max[2]=mt.center[2]=this._centerAltitude))},L=Ge=>{if(Ge.zoom<fn)return!0;if(Ge.zoom===Sn)return!1;if(null!=Ge.shouldSplit)return Ge.shouldSplit;const mt=Ge.aabb.distanceX(ln),Rt=Ge.aabb.distanceY(ln);let Bt=Pn,Ot=1;if(Ni){Bt=P(Ge.aabb.distanceZ(ln));const mt=Math.pow(2,Ge.zoom),Dt=Se.latFromMercatorY((Ge.y+1)/mt),Lt=Se.latFromMercatorY(Ge.y/mt),Rt=Math.min(Math.max(Ft,Dt),Lt),$t=Se.circumferenceAtLatitude(Rt)/Se.circumferenceAtLatitude(Ft);if(Ot=Rt===Ft?1/Math.max(1,this._mercatorScaleRatio-.3):Math.min(1,$t/this._mercatorScaleRatio),this.zoom<=Se.GLOBE_ZOOM_THRESHOLD_MIN&&Ge.zoom===Sn-1&&$t>=.9)return!0}else if(Lt&&(Bt=P(Ge.aabb.distanceZ(ln)*Qr)),this.projection.isReprojectedInTileSpace&&Dt<=5){const mt=Math.pow(2,Ge.zoom),Dt=w(new Se.MercatorCoordinate((Ge.x+.5)/mt,(Ge.y+.5)/mt));Ot=Dt>.85?1:Dt}const $t=mt*mt+Rt*Rt+Bt,tr=P((1<<Sn-Ge.zoom)*pn*Ot*((Se,Ge)=>{if(Ge*P(.707)<Se)return 1;const mt=Math.sqrt(Ge/Se);return mt/(1.4144271570014144+(Math.pow(1.1,mt-1.4144271570014144+1)-1)/(1.1-1)-1)})(Math.max(Bt,Pn),$t));return $t<tr};if(this.renderWorldCopies)for(let Se=1;Se<=3;Se++)wn.push(T(-Se)),wn.push(T(Se));for(wn.push(T(0));wn.length>0;){const Dt=wn.pop(),Bt=Dt.x,Ft=Dt.y;let tr=Dt.fullyVisible;if(!tr){const Se=Dt.aabb.intersects(Lr);if(0===Se)continue;tr=2===Se}if(Dt.zoom!==Sn&&L(Dt))for(let Ge=0;Ge<4;Ge++){const mt=(Bt<<1)+Ge%2,$t=(Ft<<1)+(Ge>>1),Lr={aabb:Rt?Dt.aabb.quadrant(Ge):Se.tileAABB(this,Ot,Dt.zoom+1,mt,$t,Dt.wrap,Dt.minZ,Dt.maxZ,this.projection),zoom:Dt.zoom+1,x:mt,y:$t,wrap:Dt.wrap,fullyVisible:tr,tileID:void 0,shouldSplit:void 0,minZ:Dt.minZ,maxZ:Dt.maxZ};Lt&&!Ni&&(Lr.tileID=new Se.OverscaledTileID(Dt.zoom+1===Sn?An:Dt.zoom+1,Dt.wrap,Dt.zoom+1,mt,$t),D(Lr)),wn.push(Lr)}else{const Lt=Dt.zoom===Sn?An:Dt.zoom;if(Ge.minzoom&&Ge.minzoom>Lt)continue;const Rt=$t[0]-(.5+Bt+(Dt.wrap<<Dt.zoom))*(1<<mt-Dt.zoom),Ot=$t[1]-.5-Ft,Ni=Dt.tileID?Dt.tileID:new Se.OverscaledTileID(Lt,Dt.wrap,Dt.zoom,Bt,Ft);Tn.push({tileID:Ni,distanceSq:Rt*Rt+Ot*Ot})}}if(this.fogCullDistSq){const mt=this.fogCullDistSq,Dt=this.horizonLineFromTop();Tn=Tn.filter((Lt=>{const Rt=[0,0,0,1],Bt=[Se.EXTENT,Se.EXTENT,0,1],Ft=this.calculateFogTileMatrix(Lt.tileID.toUnwrapped());Se.transformMat4$1(Rt,Rt,Ft),Se.transformMat4$1(Bt,Bt,Ft);const Ot=Se.getAABBPointSquareDist(Rt,Bt);if(0===Ot)return!0;let $t=!1;const Ni=this._elevation;if(Ni&&Ot>mt&&0!==Dt){const mt=this.calculateProjMatrix(Lt.tileID.toUnwrapped());let Rt;Ge.isTerrainDEM||(Rt=Ni.getMinMaxForTile(Lt.tileID)),Rt||(Rt={min:_n,max:mn});const Bt=Se.furthestTileCorner(this.rotation),Ft=[Bt[0]*Se.EXTENT,Bt[1]*Se.EXTENT,Rt.max];Se.transformMat4(Ft,Ft,mt),$t=(1-Ft[1])*this.height*.5<Dt}return Ot<mt||$t}))}return Tn.sort(((Se,Ge)=>Se.distanceSq-Ge.distanceSq)).map((Se=>Se.tileID))}resize(Se,Ge){this.width=Se,this.height=Ge,this.pixelsToGLUnits=[2/Se,-2/Ge],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(Se){return Math.pow(2,Se)}scaleZoom(Se){return Math.log(Se)/Math.LN2}project(Ge){const mt=Se.clamp(Ge.lat,-Se.MAX_MERCATOR_LATITUDE,Se.MAX_MERCATOR_LATITUDE),Dt=this.projection.project(Ge.lng,mt);return new Se.Point(Dt.x*this.worldSize,Dt.y*this.worldSize)}unproject(Se){return this.projection.unproject(Se.x/this.worldSize,Se.y/this.worldSize)}get point(){return this.project(this.center)}get pointMerc(){return this.point._div(this.worldSize)}get pixelsPerMeterRatio(){return this.pixelsPerMeter/Se.mercatorZfromAltitude(1,this.center.lat)/this.worldSize}setLocationAtPoint(Ge,mt){let Dt,Lt;const Rt=this.centerPoint;if(\"globe\"===this.projection.name){const Se=this.worldSize;Dt=(mt.x-Rt.x)/Se,Lt=(mt.y-Rt.y)/Se}else{const Se=this.pointCoordinate(mt),Ge=this.pointCoordinate(Rt);Dt=Se.x-Ge.x,Lt=Se.y-Ge.y}const Bt=this.locationCoordinate(Ge);this.setLocation(new Se.MercatorCoordinate(Bt.x-Dt,Bt.y-Lt))}setLocation(Se){this.center=this.coordinateLocation(Se),this.projection.wrap&&(this.center=this.center.wrap())}locationPoint(Se){return this.projection.locationPoint(this,Se)}locationPoint3D(Se){return this.projection.locationPoint(this,Se,!0)}pointLocation(Se){return this.coordinateLocation(this.pointCoordinate(Se))}pointLocation3D(Se){return this.coordinateLocation(this.pointCoordinate3D(Se))}locationCoordinate(Ge,mt){const Dt=mt?Se.mercatorZfromAltitude(mt,Ge.lat):void 0,Lt=this.projection.project(Ge.lng,Ge.lat);return new Se.MercatorCoordinate(Lt.x,Lt.y,Dt)}coordinateLocation(Se){return this.projection.unproject(Se.x,Se.y)}pointRayIntersection(Ge,mt){const Dt=null!=mt?mt:this._centerAltitude,Lt=[Ge.x,Ge.y,0,1],Rt=[Ge.x,Ge.y,1,1];Se.transformMat4$1(Lt,Lt,this.pixelMatrixInverse),Se.transformMat4$1(Rt,Rt,this.pixelMatrixInverse);const Bt=Rt[3];Se.scale$1(Lt,Lt,1/Lt[3]),Se.scale$1(Rt,Rt,1/Bt);const Ft=Lt[2],Ot=Rt[2];return{p0:Lt,p1:Rt,t:Ft===Ot?0:(Dt-Ft)/(Ot-Ft)}}screenPointToMercatorRay(Ge){const mt=[Ge.x,Ge.y,0,1],Dt=[Ge.x,Ge.y,1,1];return Se.transformMat4$1(mt,mt,this.pixelMatrixInverse),Se.transformMat4$1(Dt,Dt,this.pixelMatrixInverse),Se.scale$1(mt,mt,1/mt[3]),Se.scale$1(Dt,Dt,1/Dt[3]),mt[2]=Se.mercatorZfromAltitude(mt[2],this._center.lat)*this.worldSize,Dt[2]=Se.mercatorZfromAltitude(Dt[2],this._center.lat)*this.worldSize,Se.scale$1(mt,mt,1/this.worldSize),Se.scale$1(Dt,Dt,1/this.worldSize),new Se.Ray([mt[0],mt[1],mt[2]],Se.normalize([],Se.sub([],Dt,mt)))}rayIntersectionCoordinate(Ge){const{p0:mt,p1:Dt,t:Lt}=Ge,Rt=Se.mercatorZfromAltitude(mt[2],this._center.lat),Bt=Se.mercatorZfromAltitude(Dt[2],this._center.lat);return new Se.MercatorCoordinate(Se.number(mt[0],Dt[0],Lt)/this.worldSize,Se.number(mt[1],Dt[1],Lt)/this.worldSize,Se.number(Rt,Bt,Lt))}pointCoordinate(Se,Ge=this._centerAltitude){return this.projection.pointCoordinate(this,Se.x,Se.y,Ge)}pointCoordinate3D(Ge){if(!this.elevation)return this.pointCoordinate(Ge);let mt=this.projection.pointCoordinate3D(this,Ge.x,Ge.y);if(mt)return new Se.MercatorCoordinate(mt[0],mt[1],mt[2]);let Dt=0,Lt=this.horizonLineFromTop();if(Ge.y>Lt)return this.pointCoordinate(Ge);const Rt=.02*Lt,Bt=Ge.clone();for(let Ge=0;Ge<10&&Lt-Dt>Rt;Ge++){Bt.y=Se.number(Dt,Lt,.66);const Ge=this.projection.pointCoordinate3D(this,Bt.x,Bt.y);Ge?(Lt=Bt.y,mt=Ge):Dt=Bt.y}return mt?new Se.MercatorCoordinate(mt[0],mt[1],mt[2]):this.pointCoordinate(Ge)}isPointAboveHorizon(Se){return this.projection.isPointAboveHorizon(this,Se)}isPointOnSurface(Ge){if(Ge.y<0||Ge.y>this.height||Ge.x<0||Ge.x>this.width)return!1;if(this.elevation||this.zoom>=Se.GLOBE_ZOOM_THRESHOLD_MAX)return!this.isPointAboveHorizon(Ge);const mt=this.pointCoordinate(Ge);return mt.y>=0&&mt.y<=1}_coordinatePoint(Ge,mt){const Dt=mt&&this.elevation?this.elevation.getAtPointOrZero(Ge,this._centerAltitude):this._centerAltitude,Lt=[Ge.x*this.worldSize,Ge.y*this.worldSize,Dt+Ge.toAltitude(),1];return Se.transformMat4$1(Lt,Lt,this.pixelMatrix),Lt[3]>0?new Se.Point(Lt[0]/Lt[3],Lt[1]/Lt[3]):new Se.Point(Number.MAX_VALUE,Number.MAX_VALUE)}_getBoundsNonRectangular(){const{top:Ge,left:mt}=this._edgeInsets,Dt=this.height-this._edgeInsets.bottom,Lt=this.width-this._edgeInsets.right,Rt=this.pointLocation3D(new Se.Point(mt,Ge)),Bt=this.pointLocation3D(new Se.Point(Lt,Ge)),Ft=this.pointLocation3D(new Se.Point(Lt,Dt)),Ot=this.pointLocation3D(new Se.Point(mt,Dt));let $t=Math.min(Rt.lng,Bt.lng,Ft.lng,Ot.lng),Ni=Math.max(Rt.lng,Bt.lng,Ft.lng,Ot.lng),tr=Math.min(Rt.lat,Bt.lat,Ft.lat,Ot.lat),Lr=Math.max(Rt.lat,Bt.lat,Ft.lat,Ot.lat);const Rr=Math.pow(2,-this.zoom)/16*270,Qr=\"globe\"===this.projection.name?1:4,m=(Ge,mt,Dt,Lt,Rt)=>{const Bt=(Ge+Dt)/2,Ft=(mt+Lt)/2,Ot=new Se.Point(Bt,Ft),{lng:an,lat:ln}=this.pointLocation3D(Ot),pn=Math.max(0,$t-an,tr-ln,an-Ni,ln-Lr);$t=Math.min($t,an),Ni=Math.max(Ni,an),tr=Math.min(tr,ln),Lr=Math.max(Lr,ln),(Rt<Qr||pn>Rr)&&(m(Ge,mt,Bt,Ft,Rt+1),m(Bt,Ft,Dt,Lt,Rt+1))};if(m(mt,Ge,Lt,Ge,1),m(Lt,Ge,Lt,Dt,1),m(Lt,Dt,mt,Dt,1),m(mt,Dt,mt,Ge,1),\"globe\"===this.projection.name){const[Ge,mt]=Se.polesInViewport(this);Ge?(Lr=90,Ni=180,$t=-180):mt&&(tr=-90,Ni=180,$t=-180)}return new Se.LngLatBounds(new Se.LngLat($t,tr),new Se.LngLat(Ni,Lr))}_getBoundsRectangular(Ge,mt){const{top:Dt,left:Lt}=this._edgeInsets,Rt=this.height-this._edgeInsets.bottom,Bt=this.width-this._edgeInsets.right,Ft=new Se.Point(Lt,Dt),Ot=new Se.Point(Bt,Dt),$t=new Se.Point(Bt,Rt),Ni=new Se.Point(Lt,Rt);let tr=this.pointCoordinate(Ft,Ge),Lr=this.pointCoordinate(Ot,Ge);const Rr=this.pointCoordinate($t,mt),Qr=this.pointCoordinate(Ni,mt),m=(Se,Ge)=>(Ge.y-Se.y)/(Ge.x-Se.x);return tr.y>1&&Lr.y>=0?tr=new Se.MercatorCoordinate((1-Qr.y)/m(Qr,tr)+Qr.x,1):tr.y<0&&Lr.y<=1&&(tr=new Se.MercatorCoordinate(-Qr.y/m(Qr,tr)+Qr.x,0)),Lr.y>1&&tr.y>=0?Lr=new Se.MercatorCoordinate((1-Rr.y)/m(Rr,Lr)+Rr.x,1):Lr.y<0&&tr.y<=1&&(Lr=new Se.MercatorCoordinate(-Rr.y/m(Rr,Lr)+Rr.x,0)),(new Se.LngLatBounds).extend(this.coordinateLocation(tr)).extend(this.coordinateLocation(Lr)).extend(this.coordinateLocation(Qr)).extend(this.coordinateLocation(Rr))}_getBoundsRectangularTerrain(){const Se=this.elevation;if(!Se.visibleDemTiles.length||Se.isUsingMockSource())return this._getBoundsRectangular(0,0);const Ge=Se.visibleDemTiles.reduce(((Se,Ge)=>{if(Ge.dem){const mt=Ge.dem.tree;Se.min=Math.min(Se.min,mt.minimums[0]),Se.max=Math.max(Se.max,mt.maximums[0])}return Se}),{min:Number.MAX_VALUE,max:0});return this._getBoundsRectangular(Ge.min*Se.exaggeration(),Ge.max*Se.exaggeration())}getBounds(){return\"mercator\"===this.projection.name||\"equirectangular\"===this.projection.name?this._terrainEnabled()?this._getBoundsRectangularTerrain():this._getBoundsRectangular(0,0):this._getBoundsNonRectangular()}horizonLineFromTop(Se=!0){const Ge=this.height/2/Math.tan(this._fov/2)/Math.tan(Math.max(this._pitch,.1))+this.centerOffset.y,mt=this.height/2-Ge*(1-this._horizonShift);return Se?Math.max(0,mt):mt}getMaxBounds(){return this.maxBounds}setMaxBounds(Ge){this.maxBounds=Ge,this.minLat=-Se.MAX_MERCATOR_LATITUDE,this.maxLat=Se.MAX_MERCATOR_LATITUDE,this.minLng=-180,this.maxLng=180,Ge&&(this.minLat=Ge.getSouth(),this.maxLat=Ge.getNorth(),this.minLng=Ge.getWest(),this.maxLng=Ge.getEast(),this.maxLng<this.minLng&&(this.maxLng+=360)),this.worldMinX=Se.mercatorXfromLng(this.minLng)*this.tileSize,this.worldMaxX=Se.mercatorXfromLng(this.maxLng)*this.tileSize,this.worldMinY=Se.mercatorYfromLat(this.maxLat)*this.tileSize,this.worldMaxY=Se.mercatorYfromLat(this.minLat)*this.tileSize,this._constrain()}calculatePosMatrix(Se,Ge){return this.projection.createTileMatrix(this,Ge,Se)}calculateDistanceTileData(Ge){const mt=Ge.key,Dt=this._distanceTileDataCache;if(Dt[mt])return Dt[mt];const Lt=Ge.canonical,Rt=1/this.height,Bt=this.cameraWorldSize,Ft=Bt/this.zoomScale(Lt.z),Ot=(Lt.x+Math.pow(2,Lt.z)*Ge.wrap)*Ft,$t=Lt.y*Ft,Ni=this.point;Ni.x*=Bt/this.worldSize,Ni.y*=Bt/this.worldSize;const tr=this.angle,Lr=Math.sin(-tr),Rr=-Math.cos(-tr);return Dt[mt]={bearing:[Lr,Rr],center:[(Ni.x-Ot)*Rt,(Ni.y-$t)*Rt],scale:Ft/Se.EXTENT*Rt},Dt[mt]}calculateFogTileMatrix(Ge){const mt=Ge.key,Dt=this._fogTileMatrixCache;if(Dt[mt])return Dt[mt];const Lt=this.projection.createTileMatrix(this,this.cameraWorldSizeForFog,Ge);return Se.multiply(Lt,this.worldToFogMatrix,Lt),Dt[mt]=new Float32Array(Lt),Dt[mt]}calculateProjMatrix(Ge,mt=!1){const Dt=Ge.key,Lt=mt?this._alignedProjMatrixCache:this._projMatrixCache;if(Lt[Dt])return Lt[Dt];const Rt=this.calculatePosMatrix(Ge,this.worldSize);return Se.multiply(Rt,this.projection.isReprojectedInTileSpace?this.mercatorMatrix:mt?this.alignedProjMatrix:this.projMatrix,Rt),Lt[Dt]=new Float32Array(Rt),Lt[Dt]}calculatePixelsToTileUnitsMatrix(Ge){const mt=Ge.tileID.key,Dt=this._pixelsToTileUnitsCache;if(Dt[mt])return Dt[mt];const Lt=function(Ge,mt){const{scale:Dt}=Ge.tileTransform,Lt=Dt*Se.EXTENT/(Ge.tileSize*Math.pow(2,mt.zoom-Ge.tileID.overscaledZ+Ge.tileID.canonical.z));return Rt=new Float32Array(4),Ot=(Bt=mt.inverseAdjustmentMatrix)[1],$t=Bt[2],Ni=Bt[3],Lr=(Ft=[Lt,Lt])[1],Rt[0]=Bt[0]*(tr=Ft[0]),Rt[1]=Ot*tr,Rt[2]=$t*Lr,Rt[3]=Ni*Lr,Rt;var Rt,Bt,Ft,Ot,$t,Ni,tr,Lr}(Ge,this);return Dt[mt]=Lt,Dt[mt]}customLayerMatrix(){return this.mercatorMatrix.slice()}globeToMercatorMatrix(){if(\"globe\"===this.projection.name){const Ge=1/this.worldSize,mt=Se.fromScaling([],[Ge,Ge,Ge]);return Se.multiply(mt,mt,this.globeMatrix),mt}}recenterOnTerrain(){if(!this._elevation||\"globe\"===this.projection.name)return;const Ge=this._elevation;this._updateCameraState();const mt=Se.mercatorZfromAltitude(1,this._center.lat)*this.worldSize,Dt=this._computeCameraPosition(mt),Lt=this._camera.forward(),Rt=Se.mercatorZfromAltitude(1,this._center.lat);Dt[2]/=Rt,Lt[2]/=Rt,Se.normalize(Lt,Lt);const Bt=Ge.raycast(Dt,Lt,Ge.exaggeration());if(Bt){const Ge=Se.scaleAndAdd([],Dt,Lt,Bt),mt=new Se.MercatorCoordinate(Ge[0],Ge[1],Se.mercatorZfromAltitude(Ge[2],Se.latFromMercatorY(Ge[1]))),Ft=(mt.z+Se.length([mt.x-Dt[0],mt.y-Dt[1],mt.z-Dt[2]*Rt]))*this._pixelsPerMercatorPixel;this._seaLevelZoom=this._zoomFromMercatorZ(Ft),this._centerAltitude=mt.toAltitude(),this._center=this.coordinateLocation(mt),this._updateZoomFromElevation(),this._constrain(),this._calcMatrices()}}_constrainCamera(Ge=!1){if(!this._elevation)return;const mt=this._elevation,Dt=Se.mercatorZfromAltitude(1,this._center.lat)*this.worldSize,Lt=this._computeCameraPosition(Dt),Rt=mt.getAtPointOrZero(new Se.MercatorCoordinate(...Lt)),Bt=this.pixelsPerMeter/this.worldSize*Rt,Ft=this._minimumHeightOverTerrain(),Ot=Lt[2]-Bt;if(Ot<=Ft)if(Ot<0||Ge){const Ge=this.locationCoordinate(this._center,this._centerAltitude),mt=[Lt[0],Lt[1],Ge.z-Lt[2]],Dt=Se.length(mt);mt[2]-=(Ft-Ot)/this._pixelsPerMercatorPixel;const Rt=Se.length(mt);if(0===Rt)return;Se.scale$2(mt,mt,Dt/Rt*this._pixelsPerMercatorPixel),this._camera.position=[Lt[0],Lt[1],Ge.z*this._pixelsPerMercatorPixel-mt[2]],this._updateStateFromCamera()}else this._isCameraConstrained=!0}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const Ge=\"globe\"===this.projection.name||this.mercatorFromTransition;if(this.projection.isReprojectedInTileSpace||Ge){const mt=this.center;return mt.lat=Se.clamp(mt.lat,this.minLat,this.maxLat),(this.maxBounds||!this.renderWorldCopies&&!Ge)&&(mt.lng=Se.clamp(mt.lng,this.minLng,this.maxLng)),this.center=mt,void(this._constraining=!1)}const mt=this._unmodified,{x:Dt,y:Lt}=this.point;let Rt=0,Bt=Dt,Ft=Lt;const Ot=this.width/2,$t=this.height/2,Ni=this.worldMinY*this.scale,tr=this.worldMaxY*this.scale;if(Lt-$t<Ni&&(Ft=Ni+$t),Lt+$t>tr&&(Ft=tr-$t),tr-Ni<this.height&&(Rt=Math.max(Rt,this.height/(tr-Ni)),Ft=(tr+Ni)/2),this.maxBounds||!this._renderWorldCopies||!this.projection.wrap){const Se=this.worldMinX*this.scale,Ge=this.worldMaxX*this.scale,mt=this.worldSize/2-(Se+Ge)/2;Bt=(Dt+mt+this.worldSize)%this.worldSize-mt,Bt-Ot<Se&&(Bt=Se+Ot),Bt+Ot>Ge&&(Bt=Ge-Ot),Ge-Se<this.width&&(Rt=Math.max(Rt,this.width/(Ge-Se)),Bt=(Ge+Se)/2)}Bt===Dt&&Ft===Lt||(this.center=this.unproject(new Se.Point(Bt,Ft))),Rt&&(this.zoom+=this.scaleZoom(Rt)),this._constrainCamera(),this._unmodified=mt,this._constraining=!1}_minZoomForBounds(){let Se=Math.max(0,this.scaleZoom(this.height/(this.worldMaxY-this.worldMinY)));return this.maxBounds&&(Se=Math.max(Se,this.scaleZoom(this.width/(this.worldMaxX-this.worldMinX)))),Se}_maxCameraBoundsDistance(){return this._mercatorZfromZoom(this._minZoomForBounds())}_calcMatrices(){if(!this.height)return;const Ge=this.centerOffset,mt=this.pixelsPerMeter;\"globe\"===this.projection.name&&(this._mercatorScaleRatio=Se.mercatorZfromAltitude(1,this.center.lat)/Se.mercatorZfromAltitude(1,Se.GLOBE_SCALE_MATCH_LATITUDE));const Dt=Wo(this.projection,this.zoom,this.width,this.height,1024);this._pixelsPerMercatorPixel=this.projection.pixelSpaceConversion(this.center.lat,this.worldSize,Dt),this.cameraToCenterDistance=.5/Math.tan(.5*this._fov)*this.height*this._pixelsPerMercatorPixel,this._updateCameraState(),this._farZ=this.projection.farthestPixelDistance(this),this._nearZ=this.height/50;const Lt=\"meters\"===this.projection.zAxisUnit?mt:1,Rt=this._camera.getWorldToCamera(this.worldSize,Lt),Bt=this._camera.getCameraToClipPerspective(this._fov,this.width/this.height,this._nearZ,this._farZ);Bt[8]=2*-Ge.x/this.width,Bt[9]=2*Ge.y/this.height;let Ft=Se.mul([],Bt,Rt);if(this.projection.isReprojectedInTileSpace){const Ge=this.locationCoordinate(this.center),mt=Se.identity([]);Se.translate(mt,mt,[Ge.x*this.worldSize,Ge.y*this.worldSize,0]),Se.multiply(mt,mt,Zo(this)),Se.translate(mt,mt,[-Ge.x*this.worldSize,-Ge.y*this.worldSize,0]),Se.multiply(Ft,Ft,mt),this.inverseAdjustmentMatrix=function(Se){const Ge=Zo(Se,!0);return v([],[Ge[0],Ge[1],Ge[4],Ge[5]])}(this)}else this.inverseAdjustmentMatrix=[1,0,0,1];this.mercatorMatrix=Se.scale([],Ft,[this.worldSize,this.worldSize,this.worldSize/Lt,1]),this.projMatrix=Ft,this.invProjMatrix=Se.invert(new Float64Array(16),this.projMatrix);const Ot=Se.invert([],Bt);this.frustumCorners=Se.FrustumCorners.fromInvProjectionMatrix(Ot,this.horizonLineFromTop(),this.height);const $t=new Float32Array(16);Se.identity($t),Se.scale($t,$t,[1,-1,1]),Se.rotateX($t,$t,this._pitch),Se.rotateZ($t,$t,this.angle);const Ni=Se.perspective(new Float32Array(16),this._fov,this.width/this.height,this._nearZ,this._farZ),tr=(Math.PI/2-this._pitch)*(this.height/this._fov)*this._horizonShift;Ni[8]=2*-Ge.x/this.width,Ni[9]=2*(Ge.y+tr)/this.height,this.skyboxMatrix=Se.multiply($t,Ni,$t);const Lr=this.point,Rr=Lr.x,Qr=Lr.y,an=this.width%2/2,ln=this.height%2/2,pn=Math.cos(this.angle),fn=Math.sin(this.angle),mn=Rr-Math.round(Rr)+pn*an+fn*ln,_n=Qr-Math.round(Qr)+pn*ln+fn*an,bn=new Float64Array(Ft);if(Se.translate(bn,bn,[mn>.5?mn-1:mn,_n>.5?_n-1:_n,0]),this.alignedProjMatrix=bn,Ft=Se.create(),Se.scale(Ft,Ft,[this.width/2,-this.height/2,1]),Se.translate(Ft,Ft,[1,-1,0]),this.labelPlaneMatrix=Ft,Ft=Se.create(),Se.scale(Ft,Ft,[1,-1,1]),Se.translate(Ft,Ft,[-1,-1,0]),Se.scale(Ft,Ft,[2/this.width,2/this.height,1]),this.glCoordMatrix=Ft,this.pixelMatrix=Se.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),this._calcFogMatrices(),this._distanceTileDataCache={},Ft=Se.invert(new Float64Array(16),this.pixelMatrix),!Ft)throw new Error(\"failed to invert matrix\");if(this.pixelMatrixInverse=Ft,\"globe\"===this.projection.name||this.mercatorFromTransition){this.globeMatrix=Se.calculateGlobeMatrix(this);const Ge=[this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]];this.globeCenterInViewSpace=Se.transformMat4(Ge,Ge,Rt),this.globeRadius=this.worldSize/2/Math.PI-1}else this.globeMatrix=Ft;this._projMatrixCache={},this._alignedProjMatrixCache={},this._pixelsToTileUnitsCache={}}_calcFogMatrices(){this._fogTileMatrixCache={};const Ge=this.cameraWorldSizeForFog,mt=this.cameraPixelsPerMeter,Dt=this._camera.position,Lt=1/this.height/this._pixelsPerMercatorPixel,Rt=[Ge,Ge,mt];Se.scale$2(Rt,Rt,Lt),Se.scale$2(Dt,Dt,-1),Se.multiply$2(Dt,Dt,Rt);const Bt=Se.create();Se.translate(Bt,Bt,Dt),Se.scale(Bt,Bt,Rt),this.mercatorFogMatrix=Bt,this.worldToFogMatrix=this._camera.getWorldToCameraPosition(Ge,mt,Lt)}_computeCameraPosition(Se){const Ge=(Se=Se||this.pixelsPerMeter)/this.pixelsPerMeter,mt=this._camera.forward(),Dt=this.point,Lt=this._mercatorZfromZoom(this._seaLevelZoom?this._seaLevelZoom:this._zoom)*Ge-Se/this.worldSize*this._centerAltitude;return[Dt.x/this.worldSize-mt[0]*Lt,Dt.y/this.worldSize-mt[1]*Lt,Se/this.worldSize*this._centerAltitude-mt[2]*Lt]}_updateCameraState(){this.height&&(this._camera.setPitchBearing(this._pitch,this.angle),this._camera.position=this._computeCameraPosition())}_translateCameraConstrained(Ge){const mt=this._maxCameraBoundsDistance()*Math.cos(this._pitch),Dt=this._camera.position[2],Lt=Ge[2];let Rt=1;this.projection.wrap&&(this.center=this.center.wrap()),Lt>0&&(Rt=Math.min((mt-Dt)/Lt,1)),this._camera.position=Se.scaleAndAdd([],this._camera.position,Ge,Rt),this._updateStateFromCamera()}_updateStateFromCamera(){const Ge=this._camera.position,mt=this._camera.forward(),{pitch:Dt,bearing:Lt}=this._camera.getPitchBearing(),Rt=Se.mercatorZfromAltitude(this._centerAltitude,this.center.lat)*this._pixelsPerMercatorPixel,Bt=this._mercatorZfromZoom(this._maxZoom)*Math.cos(Se.degToRad(this._maxPitch)),Ft=Math.max((Ge[2]-Rt)/Math.cos(Dt),Bt),Ot=this._zoomFromMercatorZ(Ft);Se.scaleAndAdd(Ge,Ge,mt,Ft),this._pitch=Se.clamp(Dt,Se.degToRad(this.minPitch),Se.degToRad(this.maxPitch)),this.angle=Se.wrap(Lt,-Math.PI,Math.PI),this._setZoom(Se.clamp(Ot,this._minZoom,this._maxZoom)),this._updateSeaLevelZoom(),this._center=this.coordinateLocation(new Se.MercatorCoordinate(Ge[0],Ge[1],Ge[2])),this._unmodified=!1,this._constrain(),this._calcMatrices()}_worldSizeFromZoom(Se){return Math.pow(2,Se)*this.tileSize}_mercatorZfromZoom(Se){return this.cameraToCenterDistance/this._worldSizeFromZoom(Se)}_minimumHeightOverTerrain(){const Se=Math.min((null!=this._seaLevelZoom?this._seaLevelZoom:this._zoom)+4,this._maxZoom);return this._mercatorZfromZoom(Se)}_zoomFromMercatorZ(Se){return this.scaleZoom(this.cameraToCenterDistance/(Se*this.tileSize))}zoomFromMercatorZAdjusted(Ge){let mt=0,Dt=Se.GLOBE_ZOOM_THRESHOLD_MAX,Lt=0,Rt=1/0;for(;Dt-mt>1e-6&&Dt>mt;){const Se=mt+.5*(Dt-mt),Bt=this.tileSize*Math.pow(2,Se),Ft=this.getCameraToCenterDistance(this.projection,Se,Bt),Ot=this.scaleZoom(Ft/(Ge*this.tileSize)),$t=Math.abs(Se-Ot);$t<Rt&&(Rt=$t,Lt=Se),Se<Ot?mt=Se:Dt=Se}return Lt}_terrainEnabled(){return!(!this._elevation||!this.projection.supportsTerrain&&(Se.warnOnce(\"Terrain is not yet supported with alternate projections. Use mercator or globe to enable terrain.\"),1))}anyCornerOffEdge(Ge,mt){const Dt=Math.min(Ge.x,mt.x),Lt=Math.max(Ge.x,mt.x),Rt=Math.min(Ge.y,mt.y),Bt=Math.max(Ge.y,mt.y);if(Rt<this.horizonLineFromTop(!1))return!0;if(\"mercator\"!==this.projection.name)return!1;const Ft=[new Se.Point(Dt,Rt),new Se.Point(Lt,Bt),new Se.Point(Dt,Bt),new Se.Point(Lt,Rt)],Ot=this.renderWorldCopies?-3:0,$t=this.renderWorldCopies?4:1;for(const Se of Ft){const Ge=this.pointRayIntersection(Se);if(Ge.t<0)return!0;const mt=this.rayIntersectionCoordinate(Ge);if(mt.x<Ot||mt.y<0||mt.x>$t||mt.y>1)return!0}return!1}isHorizonVisible(){return this.pitch+Se.radToDeg(this.fovAboveCenter)>88||this.anyCornerOffEdge(new Se.Point(0,0),new Se.Point(this.width,this.height))}zoomDeltaToMovement(Ge,mt){const Dt=Se.length(Se.sub([],this._camera.position,Ge)),Lt=this._zoomFromMercatorZ(Dt)+mt;return Dt-this._mercatorZfromZoom(Lt)}getCameraPoint(){if(\"globe\"===this.projection.name){const Ge=function([Ge,mt,Dt],Lt){const Rt=[Ge,mt,Dt,1];Se.transformMat4$1(Rt,Rt,Lt);const Bt=Rt[3]=Math.max(Rt[3],1e-6);return Rt[0]/=Bt,Rt[1]/=Bt,Rt[2]/=Bt,Rt}([this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]],this.pixelMatrix);return new Se.Point(Ge[0],Ge[1])}{const Ge=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new Se.Point(0,Ge))}}getCameraToCenterDistance(Se,Ge=this.zoom,mt=this.worldSize){const Dt=Wo(Se,Ge,this.width,this.height,1024),Lt=Se.pixelSpaceConversion(this.center.lat,mt,Dt);return.5/Math.tan(.5*this._fov)*this.height*Lt}getWorldToCameraMatrix(){const Ge=this._camera.getWorldToCamera(this.worldSize,\"meters\"===this.projection.zAxisUnit?this.pixelsPerMeter:1);return\"globe\"===this.projection.name&&Se.multiply(Ge,Ge,this.globeMatrix),Ge}}function Yo(Se,Ge){let mt=!1,Dt=null;const r=()=>{Dt=null,mt&&(Se(),Dt=setTimeout(r,Ge),mt=!1)};return()=>(mt=!0,Dt||r(),Dt)}class Ko{constructor(Ge){this._hashName=Ge&&encodeURIComponent(Ge),Se.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=Yo(this._updateHashUnthrottled.bind(this),300)}addTo(Ge){return this._map=Ge,Se.window.addEventListener(\"hashchange\",this._onHashChange,!1),Ge.on(\"moveend\",this._updateHash),this}remove(){return this._map?(this._map.off(\"moveend\",this._updateHash),Se.window.removeEventListener(\"hashchange\",this._onHashChange,!1),clearTimeout(this._updateHash()),this._map=void 0,this):this}getHashString(){const Ge=this._map;if(!Ge)return\"\";const mt=Jo(Ge);if(this._hashName){const Ge=this._hashName;let Dt=!1;const Lt=Se.window.location.hash.slice(1).split(\"&\").map((Se=>{const Lt=Se.split(\"=\")[0];return Lt===Ge?(Dt=!0,`${Lt}=${mt}`):Se})).filter((Se=>Se));return Dt||Lt.push(`${Ge}=${mt}`),`#${Lt.join(\"&\")}`}return`#${mt}`}_getCurrentHash(){const Ge=Se.window.location.hash.replace(\"#\",\"\");if(this._hashName){let Se;return Ge.split(\"&\").map((Se=>Se.split(\"=\"))).forEach((Ge=>{Ge[0]===this._hashName&&(Se=Ge)})),(Se&&Se[1]||\"\").split(\"/\")}return Ge.split(\"/\")}_onHashChange(){const Se=this._map;if(!Se)return!1;const Ge=this._getCurrentHash();if(Ge.length>=3&&!Ge.some((Se=>isNaN(Se)))){const mt=Se.dragRotate.isEnabled()&&Se.touchZoomRotate.isEnabled()?+(Ge[3]||0):Se.getBearing();return Se.jumpTo({center:[+Ge[2],+Ge[1]],zoom:+Ge[0],bearing:mt,pitch:+(Ge[4]||0)}),!0}return!1}_updateHashUnthrottled(){const Ge=Se.window.location.href.replace(/(#.+)?$/,this.getHashString());Se.window.history.replaceState(Se.window.history.state,null,Ge)}}function Jo(Se,Ge){const mt=Se.getCenter(),Dt=Math.round(100*Se.getZoom())/100,Lt=Math.ceil((Dt*Math.LN2+Math.log(512/360/.5))/Math.LN10),Rt=Math.pow(10,Lt),Bt=Math.round(mt.lng*Rt)/Rt,Ft=Math.round(mt.lat*Rt)/Rt,Ot=Se.getBearing(),$t=Se.getPitch();let Ni=Ge?`/${Bt}/${Ft}/${Dt}`:`${Dt}/${Ft}/${Bt}`;return(Ot||$t)&&(Ni+=\"/\"+Math.round(10*Ot)/10),$t&&(Ni+=`/${Math.round($t)}`),Ni}const ul={linearity:.3,easing:Se.bezier(0,0,.3,1)},dl=Se.extend({deceleration:2500,maxSpeed:1400},ul),pl=Se.extend({deceleration:20,maxSpeed:1400},ul),zl=Se.extend({deceleration:1e3,maxSpeed:360},ul),Ll=Se.extend({deceleration:1e3,maxSpeed:90},ul);class rr{constructor(Se){this._map=Se,this.clear()}clear(){this._inertiaBuffer=[]}record(Ge){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:Se.exported.now(),settings:Ge})}_drainInertiaBuffer(){const Ge=this._inertiaBuffer,mt=Se.exported.now();for(;Ge.length>0&&mt-Ge[0].time>160;)Ge.shift()}_onMoveEnd(Ge){if(this._map._prefersReducedMotion())return;if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const mt={zoom:0,bearing:0,pitch:0,pan:new Se.Point(0,0),pinchAround:void 0,around:void 0};for(const{settings:Se}of this._inertiaBuffer)mt.zoom+=Se.zoomDelta||0,mt.bearing+=Se.bearingDelta||0,mt.pitch+=Se.pitchDelta||0,Se.panDelta&&mt.pan._add(Se.panDelta),Se.around&&(mt.around=Se.around),Se.pinchAround&&(mt.pinchAround=Se.pinchAround);const Dt=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,Lt={};if(mt.pan.mag()){const Rt=sr(mt.pan.mag(),Dt,Se.extend({},dl,Ge||{}));Lt.offset=mt.pan.mult(Rt.amount/mt.pan.mag()),Lt.center=this._map.transform.center,nr(Lt,Rt)}if(mt.zoom){const Se=sr(mt.zoom,Dt,pl);Lt.zoom=this._map.transform.zoom+Se.amount,nr(Lt,Se)}if(mt.bearing){const Ge=sr(mt.bearing,Dt,zl);Lt.bearing=this._map.transform.bearing+Se.clamp(Ge.amount,-179,179),nr(Lt,Ge)}if(mt.pitch){const Se=sr(mt.pitch,Dt,Ll);Lt.pitch=this._map.transform.pitch+Se.amount,nr(Lt,Se)}if(Lt.zoom||Lt.bearing){const Se=void 0===mt.pinchAround?mt.around:mt.pinchAround;Lt.around=Se?this._map.unproject(Se):this._map.getCenter()}return this.clear(),Lt.noMoveStart=!0,Lt}}function nr(Se,Ge){(!Se.duration||Se.duration<Ge.duration)&&(Se.duration=Ge.duration,Se.easing=Ge.easing)}function sr(Ge,mt,Dt){const{maxSpeed:Lt,linearity:Rt,deceleration:Bt}=Dt,Ft=Se.clamp(Ge*Rt/(mt/1e3),-Lt,Lt),Ot=Math.abs(Ft)/(Bt*Rt);return{easing:Dt.easing,duration:1e3*Ot,amount:Ft*(Ot/2)}}class ar extends Se.Event{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(Ge,mt,Dt,Lt={}){const Rt=p(mt.getCanvasContainer(),Dt),Bt=mt.unproject(Rt);super(Ge,Se.extend({point:Rt,lngLat:Bt,originalEvent:Dt},Lt)),this._defaultPrevented=!1,this.target=mt}}class lr extends Se.Event{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(Ge,mt,Dt){const Lt=\"touchend\"===Ge?Dt.changedTouches:Dt.touches,Rt=m(mt.getCanvasContainer(),Lt),Bt=Rt.map((Se=>mt.unproject(Se))),Ft=Rt.reduce(((Se,Ge,mt,Dt)=>Se.add(Ge.div(Dt.length))),new Se.Point(0,0));super(Ge,{points:Rt,point:Ft,lngLats:Bt,lngLat:mt.unproject(Ft),originalEvent:Dt}),this._defaultPrevented=!1}}class cr extends Se.Event{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(Se,Ge,mt){super(Se,{originalEvent:mt}),this._defaultPrevented=!1}}class hr{constructor(Se,Ge){this._map=Se,this._clickTolerance=Ge.clickTolerance}reset(){this._mousedownPos=void 0}wheel(Se){return this._firePreventable(new cr(Se.type,this._map,Se))}mousedown(Se,Ge){return this._mousedownPos=Ge,this._firePreventable(new ar(Se.type,this._map,Se))}mouseup(Se){this._map.fire(new ar(Se.type,this._map,Se))}preclick(Ge){const mt=Se.extend({},Ge);mt.type=\"preclick\",this._map.fire(new ar(mt.type,this._map,mt))}click(Se,Ge){this._mousedownPos&&this._mousedownPos.dist(Ge)>=this._clickTolerance||(this.preclick(Se),this._map.fire(new ar(Se.type,this._map,Se)))}dblclick(Se){return this._firePreventable(new ar(Se.type,this._map,Se))}mouseover(Se){this._map.fire(new ar(Se.type,this._map,Se))}mouseout(Se){this._map.fire(new ar(Se.type,this._map,Se))}touchstart(Se){return this._firePreventable(new lr(Se.type,this._map,Se))}touchmove(Se){this._map.fire(new lr(Se.type,this._map,Se))}touchend(Se){this._map.fire(new lr(Se.type,this._map,Se))}touchcancel(Se){this._map.fire(new lr(Se.type,this._map,Se))}_firePreventable(Se){if(this._map.fire(Se),Se.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ur{constructor(Se){this._map=Se}reset(){this._delayContextMenu=!1,this._contextMenuEvent=void 0}mousemove(Se){this._map.fire(new ar(Se.type,this._map,Se))}mousedown(){this._delayContextMenu=!0}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ar(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(Se){this._delayContextMenu?this._contextMenuEvent=Se:this._map.fire(new ar(Se.type,this._map,Se)),this._map.listens(\"contextmenu\")&&Se.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _r{constructor(Se,Ge){this._map=Se,this._el=Se.getCanvasContainer(),this._container=Se.getContainer(),this._clickTolerance=Ge.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(Se,Ge){this.isEnabled()&&Se.shiftKey&&0===Se.button&&(h(),this._startPos=this._lastPos=Ge,this._active=!0)}mousemoveWindow(Se,Ge){if(!this._active)return;const mt=Ge,Dt=this._startPos,Lt=this._lastPos;if(!Dt||!Lt||Lt.equals(mt)||!this._box&&mt.dist(Dt)<this._clickTolerance)return;this._lastPos=mt,this._box||(this._box=n(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",Se));const Rt=Math.min(Dt.x,mt.x),Bt=Math.max(Dt.x,mt.x),Ft=Math.min(Dt.y,mt.y),Ot=Math.max(Dt.y,mt.y);this._map._requestDomTask((()=>{this._box&&(this._box.style.transform=`translate(${Rt}px,${Ft}px)`,this._box.style.width=Bt-Rt+\"px\",this._box.style.height=Ot-Ft+\"px\")}))}mouseupWindow(Ge,mt){if(!this._active)return;const Dt=this._startPos,Lt=mt;if(Dt&&0===Ge.button){if(this.reset(),d(),Dt.x!==Lt.x||Dt.y!==Lt.y)return this._map.fire(new Se.Event(\"boxzoomend\",{originalEvent:Ge})),{cameraAnimation:Se=>Se.fitScreenCoordinates(Dt,Lt,this._map.getBearing(),{linear:!1})};this._fireEvent(\"boxzoomcancel\",Ge)}}keydown(Se){this._active&&27===Se.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",Se))}blur(){this.reset()}reset(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(this._box.remove(),this._box=null),u(),delete this._startPos,delete this._lastPos}_fireEvent(Ge,mt){return this._map.fire(new Se.Event(Ge,{originalEvent:mt}))}}function dr(Se,Ge){const mt={};for(let Dt=0;Dt<Se.length;Dt++)mt[Se[Dt].identifier]=Ge[Dt];return mt}class pr{constructor(Se){this.reset(),this.numTouches=Se.numTouches}reset(){this.centroid=void 0,this.startTime=0,this.touches={},this.aborted=!1}touchstart(Ge,mt,Dt){(this.centroid||Dt.length>this.numTouches)&&(this.aborted=!0),this.aborted||(0===this.startTime&&(this.startTime=Ge.timeStamp),Dt.length===this.numTouches&&(this.centroid=function(Ge){const mt=new Se.Point(0,0);for(const Se of Ge)mt._add(Se);return mt.div(Ge.length)}(mt),this.touches=dr(Dt,mt)))}touchmove(Se,Ge,mt){if(this.aborted||!this.centroid)return;const Dt=dr(mt,Ge);for(const Se in this.touches){const Ge=Dt[Se];(!Ge||Ge.dist(this.touches[Se])>30)&&(this.aborted=!0)}}touchend(Se,Ge,mt){if((!this.centroid||Se.timeStamp-this.startTime>500)&&(this.aborted=!0),0===mt.length){const Se=!this.aborted&&this.centroid;if(this.reset(),Se)return Se}}}class mr{constructor(Se){this.singleTap=new pr(Se),this.numTaps=Se.numTaps,this.reset()}reset(){this.lastTime=1/0,this.lastTap=void 0,this.count=0,this.singleTap.reset()}touchstart(Se,Ge,mt){this.singleTap.touchstart(Se,Ge,mt)}touchmove(Se,Ge,mt){this.singleTap.touchmove(Se,Ge,mt)}touchend(Se,Ge,mt){const Dt=this.singleTap.touchend(Se,Ge,mt);if(Dt){const Ge=Se.timeStamp-this.lastTime<500,mt=!this.lastTap||this.lastTap.dist(Dt)<30;if(Ge&&mt||this.reset(),this.count++,this.lastTime=Se.timeStamp,this.lastTap=Dt,this.count===this.numTaps)return this.reset(),Dt}}}class fr{constructor(){this._zoomIn=new mr({numTouches:1,numTaps:2}),this._zoomOut=new mr({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(Se,Ge,mt){this._zoomIn.touchstart(Se,Ge,mt),this._zoomOut.touchstart(Se,Ge,mt)}touchmove(Se,Ge,mt){this._zoomIn.touchmove(Se,Ge,mt),this._zoomOut.touchmove(Se,Ge,mt)}touchend(Se,Ge,mt){const Dt=this._zoomIn.touchend(Se,Ge,mt),Lt=this._zoomOut.touchend(Se,Ge,mt);return Dt?(this._active=!0,Se.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:Ge=>Ge.easeTo({duration:300,zoom:Ge.getZoom()+1,around:Ge.unproject(Dt)},{originalEvent:Se})}):Lt?(this._active=!0,Se.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:Ge=>Ge.easeTo({duration:300,zoom:Ge.getZoom()-1,around:Ge.unproject(Lt)},{originalEvent:Se})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const Rl={0:1,2:2};class vr{constructor(Se){this.reset(),this._clickTolerance=Se.clickTolerance||1}blur(){this.reset()}reset(){this._active=!1,this._moved=!1,this._lastPoint=void 0,this._eventButton=void 0}_correctButton(Se,Ge){return!1}_move(Se,Ge){return{}}mousedown(Se,Ge){if(this._lastPoint)return;const mt=f(Se);this._correctButton(Se,mt)&&(this._lastPoint=Ge,this._eventButton=mt)}mousemoveWindow(Se,Ge){const mt=this._lastPoint;if(mt)if(Se.preventDefault(),null!=this._eventButton&&function(Se,Ge){const mt=Rl[Ge];return void 0===Se.buttons||(Se.buttons&mt)!==mt}(Se,this._eventButton))this.reset();else if(this._moved||!(Ge.dist(mt)<this._clickTolerance))return this._moved=!0,this._lastPoint=Ge,this._move(mt,Ge)}mouseupWindow(Se){this._lastPoint&&f(Se)===this._eventButton&&(this._moved&&d(),this.reset())}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class xr extends vr{mousedown(Se,Ge){super.mousedown(Se,Ge),this._lastPoint&&(this._active=!0)}_correctButton(Se,Ge){return 0===Ge&&!Se.ctrlKey}_move(Se,Ge){return{around:Ge,panDelta:Ge.sub(Se)}}}class yr extends vr{_correctButton(Se,Ge){return 0===Ge&&Se.ctrlKey||2===Ge}_move(Se,Ge){const mt=.8*(Ge.x-Se.x);if(mt)return this._active=!0,{bearingDelta:mt}}contextmenu(Se){Se.preventDefault()}}class br extends vr{_correctButton(Se,Ge){return 0===Ge&&Se.ctrlKey||2===Ge}_move(Se,Ge){const mt=-.5*(Ge.y-Se.y);if(mt)return this._active=!0,{pitchDelta:mt}}contextmenu(Se){Se.preventDefault()}}class wr{constructor(Ge,mt){this._map=Ge,this._el=Ge.getCanvasContainer(),this._minTouches=1,this._clickTolerance=mt.clickTolerance||1,this.reset(),Se.bindAll([\"_addTouchPanBlocker\",\"_showTouchPanBlockerAlert\"],this)}reset(){this._active=!1,this._touches={},this._sum=new Se.Point(0,0)}touchstart(Se,Ge,mt){return this._calculateTransform(Se,Ge,mt)}touchmove(Ge,mt,Dt){if(this._active&&!(Dt.length<this._minTouches)){if(this._map._cooperativeGestures&&!this._map.isMoving()){if(1===Dt.length&&!Se.isFullscreen())return void this._showTouchPanBlockerAlert();\"hidden\"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility=\"hidden\",clearTimeout(this._alertTimer))}return Ge.cancelable&&Ge.preventDefault(),this._calculateTransform(Ge,mt,Dt)}}touchend(Se,Ge,mt){this._calculateTransform(Se,Ge,mt),this._active&&mt.length<this._minTouches&&this.reset()}touchcancel(){this.reset()}_calculateTransform(Ge,mt,Dt){Dt.length>0&&(this._active=!0);const Lt=dr(Dt,mt),Rt=new Se.Point(0,0),Bt=new Se.Point(0,0);let Ft=0;for(const Se in Lt){const Ge=Lt[Se],mt=this._touches[Se];mt&&(Rt._add(Ge),Bt._add(Ge.sub(mt)),Ft++,Lt[Se]=Ge)}if(this._touches=Lt,Ft<this._minTouches||!Bt.mag())return;const Ot=Bt.div(Ft);return this._sum._add(Ot),this._sum.mag()<this._clickTolerance?void 0:{around:Rt.div(Ft),panDelta:Ot}}enable(){this._enabled=!0,this._map._cooperativeGestures&&(this._addTouchPanBlocker(),this._el.classList.add(\"mapboxgl-touch-pan-blocker-override\",\"mapboxgl-scrollable-page\"))}disable(){this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove(),this._el.classList.remove(\"mapboxgl-touch-pan-blocker-override\",\"mapboxgl-scrollable-page\")),this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}_addTouchPanBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=n(\"div\",\"mapboxgl-touch-pan-blocker\",this._map._container),this._alertContainer.textContent=this._map._getUIString(\"TouchPanBlocker.Message\"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`)}_showTouchPanBlockerAlert(){this._alertContainer.style.visibility=\"visible\",this._alertContainer.classList.add(\"mapboxgl-touch-pan-blocker-show\"),this._alertContainer.setAttribute(\"role\",\"alert\"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove(\"mapboxgl-touch-pan-blocker-show\"),this._alertContainer.setAttribute(\"role\",\"null\")}),500)}}class Tr{constructor(){this.reset()}reset(){this._active=!1,this._firstTwoTouches=void 0}_start(Se){}_move(Se,Ge,mt){return{}}touchstart(Se,Ge,mt){this._firstTwoTouches||mt.length<2||(this._firstTwoTouches=[mt[0].identifier,mt[1].identifier],this._start([Ge[0],Ge[1]]))}touchmove(Se,Ge,mt){const Dt=this._firstTwoTouches;if(!Dt)return;Se.preventDefault();const[Lt,Rt]=Dt,Bt=Er(mt,Ge,Lt),Ft=Er(mt,Ge,Rt);if(!Bt||!Ft)return;const Ot=this._aroundCenter?null:Bt.add(Ft).div(2);return this._move([Bt,Ft],Ot,Se)}touchend(Se,Ge,mt){if(!this._firstTwoTouches)return;const[Dt,Lt]=this._firstTwoTouches,Rt=Er(mt,Ge,Dt),Bt=Er(mt,Ge,Lt);Rt&&Bt||(this._active&&d(),this.reset())}touchcancel(){this.reset()}enable(Se){this._enabled=!0,this._aroundCenter=!!Se&&\"center\"===Se.around}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}function Er(Se,Ge,mt){for(let Dt=0;Dt<Se.length;Dt++)if(Se[Dt].identifier===mt)return Ge[Dt]}function Cr(Se,Ge){return Math.log(Se/Ge)/Math.LN2}class Mr extends Tr{reset(){super.reset(),this._distance=0,this._startDistance=0}_start(Se){this._startDistance=this._distance=Se[0].dist(Se[1])}_move(Se,Ge){const mt=this._distance;if(this._distance=Se[0].dist(Se[1]),this._active||!(Math.abs(Cr(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:Cr(this._distance,mt),pinchAround:Ge}}}function Ir(Se,Ge){return 180*Se.angleWith(Ge)/Math.PI}class Pr extends Tr{reset(){super.reset(),this._minDiameter=0,this._startVector=void 0,this._vector=void 0}_start(Se){this._startVector=this._vector=Se[0].sub(Se[1]),this._minDiameter=Se[0].dist(Se[1])}_move(Se,Ge){const mt=this._vector;if(this._vector=Se[0].sub(Se[1]),mt&&(this._active||!this._isBelowThreshold(this._vector)))return this._active=!0,{bearingDelta:Ir(this._vector,mt),pinchAround:Ge}}_isBelowThreshold(Se){this._minDiameter=Math.min(this._minDiameter,Se.mag());const Ge=25/(Math.PI*this._minDiameter)*360,mt=this._startVector;if(!mt)return!1;const Dt=Ir(Se,mt);return Math.abs(Dt)<Ge}}function Sr(Se){return Math.abs(Se.y)>Math.abs(Se.x)}class Dr extends Tr{constructor(Se){super(),this._map=Se}reset(){super.reset(),this._valid=void 0,this._firstMove=void 0,this._lastPoints=void 0}_start(Se){this._lastPoints=Se,Sr(Se[0].sub(Se[1]))&&(this._valid=!1)}_move(Ge,mt,Dt){const Lt=this._lastPoints;if(!Lt)return;const Rt=Ge[0].sub(Lt[0]),Bt=Ge[1].sub(Lt[1]);return this._map._cooperativeGestures&&!Se.isFullscreen()&&Dt.touches.length<3||(this._valid=this.gestureBeginsVertically(Rt,Bt,Dt.timeStamp),!this._valid)?void 0:(this._lastPoints=Ge,this._active=!0,{pitchDelta:(Rt.y+Bt.y)/2*-.5})}gestureBeginsVertically(Se,Ge,mt){if(void 0!==this._valid)return this._valid;const Dt=Se.mag()>=2,Lt=Ge.mag()>=2;if(!Dt&&!Lt)return;if(!Dt||!Lt)return null==this._firstMove&&(this._firstMove=mt),mt-this._firstMove<100&&void 0;const Rt=Se.y>0==Ge.y>0;return Sr(Se)&&Sr(Ge)&&Rt}}const Fl={panStep:100,bearingStep:15,pitchStep:10};class Ar{constructor(){const Se=Fl;this._panStep=Se.panStep,this._bearingStep=Se.bearingStep,this._pitchStep=Se.pitchStep,this._rotationDisabled=!1}blur(){this.reset()}reset(){this._active=!1}keydown(Se){if(Se.altKey||Se.ctrlKey||Se.metaKey)return;let Ge=0,mt=0,Dt=0,Lt=0,Rt=0;switch(Se.keyCode){case 61:case 107:case 171:case 187:Ge=1;break;case 189:case 109:case 173:Ge=-1;break;case 37:Se.shiftKey?mt=-1:(Se.preventDefault(),Lt=-1);break;case 39:Se.shiftKey?mt=1:(Se.preventDefault(),Lt=1);break;case 38:Se.shiftKey?Dt=1:(Se.preventDefault(),Rt=-1);break;case 40:Se.shiftKey?Dt=-1:(Se.preventDefault(),Rt=1);break;default:return}return this._rotationDisabled&&(mt=0,Dt=0),{cameraAnimation:Bt=>{const Ft=Bt.getZoom();Bt.easeTo({duration:300,easeId:\"keyboardHandler\",easing:zr,zoom:Ge?Math.round(Ft)+Ge*(Se.shiftKey?2:1):Ft,bearing:Bt.getBearing()+mt*this._bearingStep,pitch:Bt.getPitch()+Dt*this._pitchStep,offset:[-Lt*this._panStep,-Rt*this._panStep],center:Bt.getCenter()},{originalEvent:Se})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function zr(Se){return Se*(2-Se)}const Ol=4.000244140625;class Or{constructor(Ge,mt){this._map=Ge,this._el=Ge.getCanvasContainer(),this._handler=mt,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,Se.bindAll([\"_onTimeout\",\"_addScrollZoomBlocker\",\"_showBlockerAlert\"],this)}setZoomRate(Se){this._defaultZoomRate=Se}setWheelZoomRate(Se){this._wheelZoomRate=Se}isEnabled(){return!!this._enabled}isActive(){return this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(Se){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!Se&&\"center\"===Se.around,this._map._cooperativeGestures&&this._addScrollZoomBlocker())}disable(){this.isEnabled()&&(this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove()))}wheel(Ge){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!(Ge.ctrlKey||Ge.metaKey||this.isZooming()||Se.isFullscreen()))return void this._showBlockerAlert();\"hidden\"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility=\"hidden\",clearTimeout(this._alertTimer))}let mt=Ge.deltaMode===Se.window.WheelEvent.DOM_DELTA_LINE?40*Ge.deltaY:Ge.deltaY;const Dt=Se.exported.now(),Lt=Dt-(this._lastWheelEventTime||0);this._lastWheelEventTime=Dt,0!==mt&&mt%Ol==0?this._type=\"wheel\":0!==mt&&Math.abs(mt)<4?this._type=\"trackpad\":Lt>400?(this._type=null,this._lastValue=mt,this._timeout=setTimeout(this._onTimeout,40,Ge)):this._type||(this._type=Math.abs(Lt*mt)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,mt+=this._lastValue)),Ge.shiftKey&&mt&&(mt/=4),this._type&&(this._lastWheelEvent=Ge,this._delta-=mt,this._active||this._start(Ge)),Ge.preventDefault()}_onTimeout(Se){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Se)}_start(Se){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const Ge=p(this._el,Se);this._aroundPoint=this._aroundCenter?this._map.transform.centerPoint:Ge,this._aroundCoord=this._map.transform.pointCoordinate3D(this._aroundPoint),this._targetZoom=void 0,this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const Ge=this._map.transform;\"wheel\"===this._type&&Ge.projection.wrap&&(Ge._center.lng>=180||Ge._center.lng<=-180)&&(this._prevEase=null,this._easing=null,this._lastWheelEvent=null,this._lastWheelEventTime=0);const i=()=>Ge._terrainEnabled()&&this._aroundCoord?Ge.computeZoomRelativeTo(this._aroundCoord):Ge.zoom;if(0!==this._delta){const Se=\"wheel\"===this._type&&Math.abs(this._delta)>Ol?this._wheelZoomRate:this._defaultZoomRate;let mt=2/(1+Math.exp(-Math.abs(this._delta*Se)));this._delta<0&&0!==mt&&(mt=1/mt);const Dt=i(),Lt=Math.pow(2,Dt),Rt=\"number\"==typeof this._targetZoom?Ge.zoomScale(this._targetZoom):Lt;this._targetZoom=Math.min(Ge.maxZoom,Math.max(Ge.minZoom,Ge.scaleZoom(Rt*mt))),\"wheel\"===this._type&&(this._startZoom=Dt,this._easing=this._smoothOutEasing(200)),this._delta=0}const mt=\"number\"==typeof this._targetZoom?this._targetZoom:i(),Dt=this._startZoom,Lt=this._easing;let Rt,Bt=!1;if(\"wheel\"===this._type&&Dt&&Lt){const Ge=Math.min((Se.exported.now()-this._lastWheelEventTime)/200,1),Ft=Lt(Ge);Rt=Se.number(Dt,mt,Ft),Ge<1?this._frameId||(this._frameId=!0):Bt=!0}else Rt=mt,Bt=!0;return this._active=!0,Bt&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!Bt,zoomDelta:Rt-i(),around:this._aroundPoint,aroundCoord:this._aroundCoord,originalEvent:this._lastWheelEvent}}_smoothOutEasing(Ge){let mt=Se.ease;if(this._prevEase){const Ge=this._prevEase,Dt=(Se.exported.now()-Ge.start)/Ge.duration,Lt=Ge.easing(Dt+.01)-Ge.easing(Dt),Rt=.27/Math.sqrt(Lt*Lt+1e-4)*.01,Bt=Math.sqrt(.0729-Rt*Rt);mt=Se.bezier(Rt,Bt,.25,1)}return this._prevEase={start:Se.exported.now(),duration:Ge,easing:mt},mt}blur(){this.reset()}reset(){this._active=!1}_addScrollZoomBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=n(\"div\",\"mapboxgl-scroll-zoom-blocker\",this._map._container),this._alertContainer.textContent=/(Mac|iPad)/i.test(Se.window.navigator.userAgent)?this._map._getUIString(\"ScrollZoomBlocker.CmdMessage\"):this._map._getUIString(\"ScrollZoomBlocker.CtrlMessage\"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`)}_showBlockerAlert(){this._alertContainer.style.visibility=\"visible\",this._alertContainer.classList.add(\"mapboxgl-scroll-zoom-blocker-show\"),this._alertContainer.setAttribute(\"role\",\"alert\"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove(\"mapboxgl-scroll-zoom-blocker-show\"),this._alertContainer.setAttribute(\"role\",\"null\")}),200)}}class Br{constructor(Se,Ge){this._clickZoom=Se,this._tapZoom=Ge}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class kr{constructor(){this.reset()}reset(){this._active=!1}blur(){this.reset()}dblclick(Se,Ge){return Se.preventDefault(),{cameraAnimation:mt=>{mt.easeTo({duration:300,zoom:mt.getZoom()+(Se.shiftKey?-1:1),around:mt.unproject(Ge)},{originalEvent:Se})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fr{constructor(){this._tap=new mr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,this._swipePoint=void 0,this._swipeTouch=0,this._tapTime=0,this._tap.reset()}touchstart(Se,Ge,mt){this._swipePoint||(this._tapTime&&Se.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?mt.length>0&&(this._swipePoint=Ge[0],this._swipeTouch=mt[0].identifier):this._tap.touchstart(Se,Ge,mt))}touchmove(Se,Ge,mt){if(this._tapTime){if(this._swipePoint){if(mt[0].identifier!==this._swipeTouch)return;const Dt=Ge[0],Lt=Dt.y-this._swipePoint.y;return this._swipePoint=Dt,Se.preventDefault(),this._active=!0,{zoomDelta:Lt/128}}}else this._tap.touchmove(Se,Ge,mt)}touchend(Se,Ge,mt){this._tapTime?this._swipePoint&&0===mt.length&&this.reset():this._tap.touchend(Se,Ge,mt)&&(this._tapTime=Se.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ur{constructor(Se,Ge,mt){this._el=Se,this._mousePan=Ge,this._touchPan=mt}enable(Se){this._inertiaOptions=Se||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Nr{constructor(Se,Ge,mt){this._pitchWithRotate=Se.pitchWithRotate,this._mouseRotate=Ge,this._mousePitch=mt}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class jr{constructor(Se,Ge,mt,Dt){this._el=Se,this._touchZoom=Ge,this._touchRotate=mt,this._tapDragZoom=Dt,this._rotationDisabled=!1,this._enabled=!0}enable(Se){this._touchZoom.enable(Se),this._rotationDisabled||this._touchRotate.enable(Se),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const Gr=Se=>Se.zoom||Se.drag||Se.pitch||Se.rotate;class Zr extends Se.Event{}class Vr{constructor(){this.constants=[1,1,.01],this.radius=0}setup(Ge,mt){const Dt=Se.sub([],mt,Ge);this.radius=Se.length(Dt[2]<0?Se.div([],Dt,this.constants):[Dt[0],Dt[1],0])}projectRay(Ge){Se.div(Ge,Ge,this.constants),Se.normalize(Ge,Ge),Se.mul$1(Ge,Ge,this.constants);const mt=Se.scale$2([],Ge,this.radius);if(mt[2]>0){const Ge=Se.scale$2([],[0,0,1],Se.dot(mt,[0,0,1])),Dt=Se.scale$2([],Se.normalize([],[mt[0],mt[1],0]),this.radius),Lt=Se.add([],mt,Se.scale$2([],Se.sub([],Se.add([],Dt,Ge),mt),2));mt[0]=Lt[0],mt[1]=Lt[1]}return mt}}function Wr(Se){return Se.panDelta&&Se.panDelta.mag()||Se.zoomDelta||Se.bearingDelta||Se.pitchDelta}class Xr{constructor(Ge,mt){this._map=Ge,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new rr(Ge),this._bearingSnap=mt.bearingSnap,this._previousActiveHandlers={},this._trackingEllipsoid=new Vr,this._dragOrigin=null,this._eventsInProgress={},this._addDefaultHandlers(mt),Se.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);const Dt=this._el;this._listeners=[[Dt,\"touchstart\",{passive:!0}],[Dt,\"touchmove\",{passive:!1}],[Dt,\"touchend\",void 0],[Dt,\"touchcancel\",void 0],[Dt,\"mousedown\",void 0],[Dt,\"mousemove\",void 0],[Dt,\"mouseup\",void 0],[Se.window.document,\"mousemove\",{capture:!0}],[Se.window.document,\"mouseup\",void 0],[Dt,\"mouseover\",void 0],[Dt,\"mouseout\",void 0],[Dt,\"dblclick\",void 0],[Dt,\"click\",void 0],[Dt,\"keydown\",{capture:!1}],[Dt,\"keyup\",void 0],[Dt,\"wheel\",{passive:!1}],[Dt,\"contextmenu\",void 0],[Se.window,\"blur\",void 0]];for(const[Ge,mt,Dt]of this._listeners)Ge.addEventListener(mt,Ge===Se.window.document?this.handleWindowEvent:this.handleEvent,Dt)}destroy(){for(const[Ge,mt,Dt]of this._listeners)Ge.removeEventListener(mt,Ge===Se.window.document?this.handleWindowEvent:this.handleEvent,Dt)}_addDefaultHandlers(Se){const Ge=this._map,mt=Ge.getCanvasContainer();this._add(\"mapEvent\",new hr(Ge,Se));const Dt=Ge.boxZoom=new _r(Ge,Se);this._add(\"boxZoom\",Dt);const Lt=new fr,Rt=new kr;Ge.doubleClickZoom=new Br(Rt,Lt),this._add(\"tapZoom\",Lt),this._add(\"clickZoom\",Rt);const Bt=new Fr;this._add(\"tapDragZoom\",Bt);const Ft=Ge.touchPitch=new Dr(Ge);this._add(\"touchPitch\",Ft);const Ot=new yr(Se),$t=new br(Se);Ge.dragRotate=new Nr(Se,Ot,$t),this._add(\"mouseRotate\",Ot,[\"mousePitch\"]),this._add(\"mousePitch\",$t,[\"mouseRotate\"]);const Ni=new xr(Se),tr=new wr(Ge,Se);Ge.dragPan=new Ur(mt,Ni,tr),this._add(\"mousePan\",Ni),this._add(\"touchPan\",tr,[\"touchZoom\",\"touchRotate\"]);const Lr=new Pr,Rr=new Mr;Ge.touchZoomRotate=new jr(mt,Rr,Lr,Bt),this._add(\"touchRotate\",Lr,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",Rr,[\"touchPan\",\"touchRotate\"]),this._add(\"blockableMapEvent\",new ur(Ge));const Qr=Ge.scrollZoom=new Or(Ge,this);this._add(\"scrollZoom\",Qr,[\"mousePan\"]);const an=Ge.keyboard=new Ar;this._add(\"keyboard\",an);for(const mt of[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"])Se.interactive&&Se[mt]&&Ge[mt].enable(Se[mt])}_add(Se,Ge,mt){this._handlers.push({handlerName:Se,handler:Ge,allowed:mt}),this._handlersById[Se]=Ge}stop(Se){if(!this._updatingCamera){for(const{handler:Se}of this._handlers)Se.reset();this._inertia.clear(),this._fireEvents({},{},Se),this._changes=[]}}isActive(){for(const{handler:Se}of this._handlers)if(Se.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Gr(this._eventsInProgress)||this.isZooming()}_isDragging(){return!!this._eventsInProgress.drag}_blockedByActive(Se,Ge,mt){for(const Dt in Se)if(Dt!==mt&&(!Ge||Ge.indexOf(Dt)<0))return!0;return!1}handleWindowEvent(Se){this.handleEvent(Se,`${Se.type}Window`)}_getMapTouches(Se){const Ge=[];for(const mt of Se)this._el.contains(mt.target)&&Ge.push(mt);return Ge}handleEvent(Se,Ge){this._updatingCamera=!0;const mt=\"renderFrame\"===Se.type,Dt=mt?void 0:Se,Lt={needsRenderFrame:!1},Rt={},Bt={},Ft=Se.touches?this._getMapTouches(Se.touches):void 0,Ot=Ft?m(this._el,Ft):mt?void 0:p(this._el,Se);for(const{handlerName:mt,handler:$t,allowed:Ni}of this._handlers){if(!$t.isEnabled())continue;let tr;this._blockedByActive(Bt,Ni,mt)?$t.reset():$t[Ge||Se.type]&&(tr=$t[Ge||Se.type](Se,Ot,Ft),this.mergeHandlerResult(Lt,Rt,tr,mt,Dt),tr&&tr.needsRenderFrame&&this._triggerRenderFrame()),(tr||$t.isActive())&&(Bt[mt]=$t)}const $t={};for(const Se in this._previousActiveHandlers)Bt[Se]||($t[Se]=Dt);this._previousActiveHandlers=Bt,(Object.keys($t).length||Wr(Lt))&&(this._changes.push([Lt,Rt,$t]),this._triggerRenderFrame()),(Object.keys(Bt).length||Wr(Lt))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:Ni}=Lt;Ni&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],Ni(this._map))}mergeHandlerResult(Ge,mt,Dt,Lt,Rt){if(!Dt)return;Se.extend(Ge,Dt);const Bt={handlerName:Lt,originalEvent:Dt.originalEvent||Rt};void 0!==Dt.zoomDelta&&(mt.zoom=Bt),void 0!==Dt.panDelta&&(mt.drag=Bt),void 0!==Dt.pitchDelta&&(mt.pitch=Bt),void 0!==Dt.bearingDelta&&(mt.rotate=Bt)}_applyChanges(){const Ge={},mt={},Dt={};for(const[Lt,Rt,Bt]of this._changes)Lt.panDelta&&(Ge.panDelta=(Ge.panDelta||new Se.Point(0,0))._add(Lt.panDelta)),Lt.zoomDelta&&(Ge.zoomDelta=(Ge.zoomDelta||0)+Lt.zoomDelta),Lt.bearingDelta&&(Ge.bearingDelta=(Ge.bearingDelta||0)+Lt.bearingDelta),Lt.pitchDelta&&(Ge.pitchDelta=(Ge.pitchDelta||0)+Lt.pitchDelta),void 0!==Lt.around&&(Ge.around=Lt.around),void 0!==Lt.aroundCoord&&(Ge.aroundCoord=Lt.aroundCoord),void 0!==Lt.pinchAround&&(Ge.pinchAround=Lt.pinchAround),Lt.noInertia&&(Ge.noInertia=Lt.noInertia),Se.extend(mt,Rt),Se.extend(Dt,Bt);this._updateMapTransform(Ge,mt,Dt),this._changes=[]}_updateMapTransform(Ge,mt,Dt){const Lt=this._map,Rt=Lt.transform,s=Se=>[Se.x,Se.y,Se.z];if((Se=>{const Ge=this._eventsInProgress.drag;return Ge&&!this._handlersById[Ge.handlerName].isActive()})()&&!Wr(Ge)){const Se=Rt.zoom;Rt.cameraElevationReference=\"sea\",Rt.recenterOnTerrain(),Rt.cameraElevationReference=\"ground\",Se!==Rt.zoom&&this._map._update(!0)}if(Rt._isCameraConstrained&&Lt._stop(!0),!Wr(Ge))return void this._fireEvents(mt,Dt,!0);let{panDelta:Bt,zoomDelta:Ft,bearingDelta:Ot,pitchDelta:$t,around:Ni,aroundCoord:tr,pinchAround:Lr}=Ge;Rt._isCameraConstrained&&(Ft>0&&(Ft=0),Rt._isCameraConstrained=!1),void 0!==Lr&&(Ni=Lr),(Ft||(Se=>mt[Se]&&!this._eventsInProgress[Se])(\"drag\"))&&Ni&&(this._dragOrigin=s(Rt.pointCoordinate3D(Ni)),this._trackingEllipsoid.setup(Rt._camera.position,this._dragOrigin)),Rt.cameraElevationReference=\"sea\",Lt._stop(!0),Ni=Ni||Lt.transform.centerPoint,Ot&&(Rt.bearing+=Ot),$t&&(Rt.pitch+=$t),Rt._updateCameraState();const Rr=[0,0,0];if(Bt)if(\"mercator\"===Rt.projection.name){const Se=this._trackingEllipsoid.projectRay(Rt.screenPointToMercatorRay(Ni).dir),Ge=this._trackingEllipsoid.projectRay(Rt.screenPointToMercatorRay(Ni.sub(Bt)).dir);Rr[0]=Ge[0]-Se[0],Rr[1]=Ge[1]-Se[1]}else{const Ge=Rt.pointCoordinate(Ni);if(\"globe\"===Rt.projection.name){Bt=Bt.rotate(-Rt.angle);const mt=Rt._pixelsPerMercatorPixel/Rt.worldSize;Rr[0]=-Bt.x*Se.mercatorScale(Se.latFromMercatorY(Ge.y))*mt,Rr[1]=-Bt.y*Se.mercatorScale(Rt.center.lat)*mt}else{const Se=Rt.pointCoordinate(Ni.sub(Bt));Ge&&Se&&(Rr[0]=Se.x-Ge.x,Rr[1]=Se.y-Ge.y)}}const Qr=Rt.zoom,an=[0,0,0];if(Ft){const Ge=s(tr||Rt.pointCoordinate3D(Ni)),mt={dir:Se.normalize([],Se.sub([],Ge,Rt._camera.position))};if(mt.dir[2]<0){const Dt=Rt.zoomDeltaToMovement(Ge,Ft);Se.scale$2(an,mt.dir,Dt)}}const ln=Se.add(Rr,Rr,an);Rt._translateCameraConstrained(ln),Ft&&Math.abs(Rt.zoom-Qr)>1e-4&&Rt.recenterOnTerrain(),Rt.cameraElevationReference=\"ground\",this._map._update(),Ge.noInertia||this._inertia.record(Ge),this._fireEvents(mt,Dt,!0)}_fireEvents(Ge,mt,Dt){const Lt=Gr(this._eventsInProgress),Rt=Gr(Ge),Bt={};for(const Se in Ge){const{originalEvent:mt}=Ge[Se];this._eventsInProgress[Se]||(Bt[`${Se}start`]=mt),this._eventsInProgress[Se]=Ge[Se]}!Lt&&Rt&&this._fireEvent(\"movestart\",Rt.originalEvent);for(const Se in Bt)this._fireEvent(Se,Bt[Se]);Rt&&this._fireEvent(\"move\",Rt.originalEvent);for(const Se in Ge){const{originalEvent:mt}=Ge[Se];this._fireEvent(Se,mt)}const Ft={};let Ot;for(const Se in this._eventsInProgress){const{handlerName:Ge,originalEvent:Dt}=this._eventsInProgress[Se];this._handlersById[Ge].isActive()||(delete this._eventsInProgress[Se],Ot=mt[Ge]||Dt,Ft[`${Se}end`]=Ot)}for(const Se in Ft)this._fireEvent(Se,Ft[Se]);const $t=Gr(this._eventsInProgress);if(Dt&&(Lt||Rt)&&!$t){this._updatingCamera=!0;const Ge=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=Se=>0!==Se&&-this._bearingSnap<Se&&Se<this._bearingSnap;Ge?(i(Ge.bearing||this._map.getBearing())&&(Ge.bearing=0),this._map.easeTo(Ge,{originalEvent:Ot})):(this._map.fire(new Se.Event(\"moveend\",{originalEvent:Ot})),i(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}}_fireEvent(Ge,mt){this._map.fire(new Se.Event(Ge,mt?{originalEvent:mt}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add((Se=>{this._frameId=void 0,this.handleEvent(new Zr(\"renderFrame\",{timeStamp:Se})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Ul=\"map.setFreeCameraOptions(...) and map.getFreeCameraOptions() are not yet supported for non-mercator projections.\";class $r extends Se.Evented{constructor(Ge,mt){super(),this._moving=!1,this._zooming=!1,this.transform=Ge,this._bearingSnap=mt.bearingSnap,this._respectPrefersReducedMotion=!1!==mt.respectPrefersReducedMotion,Se.bindAll([\"_renderFrameCallback\"],this)}getCenter(){return new Se.LngLat(this.transform.center.lng,this.transform.center.lat)}setCenter(Se,Ge){return this.jumpTo({center:Se},Ge)}panBy(Ge,mt,Dt){return Ge=Se.Point.convert(Ge).mult(-1),this.panTo(this.transform.center,Se.extend({offset:Ge},mt),Dt)}panTo(Ge,mt,Dt){return this.easeTo(Se.extend({center:Ge},mt),Dt)}getZoom(){return this.transform.zoom}setZoom(Se,Ge){return this.jumpTo({zoom:Se},Ge),this}zoomTo(Ge,mt,Dt){return this.easeTo(Se.extend({zoom:Ge},mt),Dt)}zoomIn(Se,Ge){return this.zoomTo(this.getZoom()+1,Se,Ge),this}zoomOut(Se,Ge){return this.zoomTo(this.getZoom()-1,Se,Ge),this}getBearing(){return this.transform.bearing}setBearing(Se,Ge){return this.jumpTo({bearing:Se},Ge),this}getPadding(){return this.transform.padding}setPadding(Se,Ge){return this.jumpTo({padding:Se},Ge),this}rotateTo(Ge,mt,Dt){return this.easeTo(Se.extend({bearing:Ge},mt),Dt)}resetNorth(Ge,mt){return this.rotateTo(0,Se.extend({duration:1e3},Ge),mt),this}resetNorthPitch(Ge,mt){return this.easeTo(Se.extend({bearing:0,pitch:0,duration:1e3},Ge),mt),this}snapToNorth(Se,Ge){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(Se,Ge):this}getPitch(){return this.transform.pitch}setPitch(Se,Ge){return this.jumpTo({pitch:Se},Ge),this}cameraForBounds(Ge,mt){Ge=Se.LngLatBounds.convert(Ge);const Dt=mt&&mt.bearing||0,Lt=mt&&mt.pitch||0,Rt=Ge.getNorthWest(),Bt=Ge.getSouthEast();return this._cameraForBounds(this.transform,Rt,Bt,Dt,Lt,mt)}_extendCameraOptions(Ge){const mt={top:0,bottom:0,right:0,left:0};if(\"number\"==typeof(Ge=Se.extend({padding:mt,offset:[0,0],maxZoom:this.transform.maxZoom},Ge)).padding){const Se=Ge.padding;Ge.padding={top:Se,bottom:Se,right:Se,left:Se}}return Ge.padding=Se.extend(mt,Ge.padding),Ge}_minimumAABBFrustumDistance(Se,Ge){const mt=Ge.max[0]-Ge.min[0],Dt=Ge.max[1]-Ge.min[1];return mt/Dt>Se.aspect?mt/(2*Math.tan(.5*Se.fovX)*Se.aspect):Dt/(2*Math.tan(.5*Se.fovY)*Se.aspect)}_cameraForBoundsOnGlobe(Ge,mt,Dt,Lt,Rt,Bt){const Ft=Ge.clone(),Ot=this._extendCameraOptions(Bt);Ft.bearing=Lt,Ft.pitch=Rt;const $t=Se.LngLat.convert(mt),Ni=Se.LngLat.convert(Dt),tr=.5*($t.lat+Ni.lat),Lr=.5*($t.lng+Ni.lng),Rr=Se.latLngToECEF(tr,Lr),Qr=Se.normalize([],Rr),an=Se.normalize([],Se.cross([],Qr,[0,1,0])),ln=Se.cross([],an,Qr),pn=[an[0],an[1],an[2],0,ln[0],ln[1],ln[2],0,Qr[0],Qr[1],Qr[2],0,0,0,0,1],fn=[Rr,Se.latLngToECEF($t.lat,$t.lng),Se.latLngToECEF(Ni.lat,$t.lng),Se.latLngToECEF(Ni.lat,Ni.lng),Se.latLngToECEF($t.lat,Ni.lng),Se.latLngToECEF(tr,$t.lng),Se.latLngToECEF(tr,Ni.lng),Se.latLngToECEF($t.lat,Lr),Se.latLngToECEF(Ni.lat,Lr)];let mn=Se.Aabb.fromPoints(fn.map((Ge=>[Se.dot(an,Ge),Se.dot(ln,Ge),Se.dot(Qr,Ge)])));const _n=Se.transformMat4([],mn.center,pn);0===Se.squaredLength(_n)&&Se.set(_n,0,0,1),Se.normalize(_n,_n),Se.scale$2(_n,_n,Se.GLOBE_RADIUS),Ft.center=Se.ecefToLatLng(_n);const bn=Ft.getWorldToCameraMatrix(),wn=Se.invert(new Float64Array(16),bn);mn=Se.Aabb.applyTransform(mn,Se.multiply([],bn,pn)),Se.transformMat4(_n,_n,bn);const Tn=.5*(mn.max[2]-mn.min[2]),Sn=this._minimumAABBFrustumDistance(Ft,mn),An=Se.scale$2([],[0,0,1],Tn),Pn=Se.add(An,_n,An),kn=Sn+(0===Ft.pitch?0:Se.distance(_n,Pn)),eo=Ft.globeCenterInViewSpace,ao=Se.sub([],_n,[eo[0],eo[1],eo[2]]);Se.normalize(ao,ao),Se.scale$2(ao,ao,kn);const Oo=Se.add([],_n,ao);Se.transformMat4(Oo,Oo,wn);const Qo=Se.earthRadius/Se.GLOBE_RADIUS,ts=Se.length(Oo),cs=Se.mercatorZfromAltitude(Math.max(ts*Qo-Se.earthRadius,Number.EPSILON),0),hs=Math.min(Ft.zoomFromMercatorZAdjusted(cs),Ot.maxZoom);return hs>.5*(Se.GLOBE_ZOOM_THRESHOLD_MIN+Se.GLOBE_ZOOM_THRESHOLD_MAX)?(Ft.setProjection({name:\"mercator\"}),Ft.zoom=hs,this._cameraForBounds(Ft,mt,Dt,Lt,Rt,Bt)):{center:Ft.center,zoom:hs,bearing:Lt,pitch:Rt}}queryTerrainElevation(Ge,mt){const Dt=this.transform.elevation;return Dt?(mt=Se.extend({},{exaggerated:!0},mt),Dt.getAtPoint(Se.MercatorCoordinate.fromLngLat(Ge),null,mt.exaggerated)):null}_cameraForBounds(Ge,mt,Dt,Lt,Rt,Bt){if(\"globe\"===Ge.projection.name)return this._cameraForBoundsOnGlobe(Ge,mt,Dt,Lt,Rt,Bt);const Ft=Ge.clone(),Ot=this._extendCameraOptions(Bt),$t=Ft.padding;Ft.bearing=Lt,Ft.pitch=Rt;const Ni=Se.LngLat.convert(mt),tr=Se.LngLat.convert(Dt),Lr=new Se.LngLat(Ni.lng,tr.lat),Rr=new Se.LngLat(tr.lng,Ni.lat),Qr=Ft.project(Ni),an=Ft.project(tr),ln=this.queryTerrainElevation(Ni),pn=this.queryTerrainElevation(tr),fn=this.queryTerrainElevation(Lr),mn=this.queryTerrainElevation(Rr),_n=[[Qr.x,Qr.y,Math.min(ln||0,pn||0,fn||0,mn||0)],[an.x,an.y,Math.max(ln||0,pn||0,fn||0,mn||0)]];let bn=Se.Aabb.fromPoints(_n);const wn=Ft.getWorldToCameraMatrix(),Tn=Se.invert(new Float64Array(16),wn);bn=Se.Aabb.applyTransform(bn,wn);const Sn=Se.sub([],bn.max,bn.min),An=$t.left||0,Pn=$t.right||0,kn=$t.bottom||0,eo=$t.top||0,{left:ao,right:Oo,top:Qo,bottom:ts}=Ot.padding,cs=.5*(An+Pn),hs=.5*(eo+kn),us=Math.min(Ft.scaleZoom(Ft.scale*Math.min((Ft.width-(An+Pn+ao+Oo))/Sn[0],(Ft.height-(kn+eo+ts+Qo))/Sn[1])),Ot.maxZoom),ds=Ft.scale/Ft.zoomScale(us);bn=new Se.Aabb([bn.min[0]-(ao+cs)*ds,bn.min[1]-(ts+hs)*ds,bn.min[2]],[bn.max[0]+(Oo+cs)*ds,bn.max[1]+(Qo+hs)*ds,bn.max[2]]);const ps=.5*Sn[2],fs=this._minimumAABBFrustumDistance(Ft,bn),gs=[0,0,1,0];Se.transformMat4$1(gs,gs,wn),Se.normalize$2(gs,gs);const bs=Se.scale$2([],gs,fs+ps),Vs=Se.add([],bn.center,bs),_a=(\"number\"==typeof Ot.offset.x&&\"number\"==typeof Ot.offset.y?new Se.Point(Ot.offset.x,Ot.offset.y):Se.Point.convert(Ot.offset)).rotate(-Se.degToRad(Lt));bn.center[0]-=_a.x*ds,bn.center[1]+=_a.y*ds,Se.transformMat4(bn.center,bn.center,Tn),Se.transformMat4(Vs,Vs,Tn);const Ta=[bn.center[0],bn.center[1],Vs[2]*Ft.pixelsPerMeter];Se.scale$2(Ta,Ta,1/Ft.worldSize);const Ma=Se.lngFromMercatorX(Ta[0]),Sa=Se.latFromMercatorY(Ta[1]),Aa=Math.min(Ft._zoomFromMercatorZ(Ta[2]),Ot.maxZoom),Ia=new Se.LngLat(Ma,Sa);return Ft.mercatorFromTransition&&Aa<.5*(Se.GLOBE_ZOOM_THRESHOLD_MIN+Se.GLOBE_ZOOM_THRESHOLD_MAX)?(Ft.setProjection({name:\"globe\"}),Ft.zoom=Aa,this._cameraForBounds(Ft,mt,Dt,Lt,Rt,Bt)):{center:Ia,zoom:Aa,bearing:Lt,pitch:Rt}}fitBounds(Se,Ge,mt){const Dt=this.cameraForBounds(Se,Ge);return this._fitInternal(Dt,Ge,mt)}fitScreenCoordinates(Ge,mt,Dt,Lt,Rt){const Bt=Se.Point.convert(Ge),Ft=Se.Point.convert(mt),Ot=new Se.Point(Math.min(Bt.x,Ft.x),Math.min(Bt.y,Ft.y)),$t=new Se.Point(Math.max(Bt.x,Ft.x),Math.max(Bt.y,Ft.y));if(\"mercator\"===this.transform.projection.name&&this.transform.anyCornerOffEdge(Bt,Ft))return this;const Ni=this.transform.pointLocation3D(Ot),tr=this.transform.pointLocation3D($t),Lr=this.transform.pointLocation3D(new Se.Point(Ot.x,$t.y)),Rr=this.transform.pointLocation3D(new Se.Point($t.x,Ot.y)),Qr=[Math.min(Ni.lng,tr.lng,Lr.lng,Rr.lng),Math.min(Ni.lat,tr.lat,Lr.lat,Rr.lat)],an=[Math.max(Ni.lng,tr.lng,Lr.lng,Rr.lng),Math.max(Ni.lat,tr.lat,Lr.lat,Rr.lat)],ln=Lt&&Lt.pitch?Lt.pitch:this.getPitch(),pn=this._cameraForBounds(this.transform,Qr,an,Dt,ln,Lt);return this._fitInternal(pn,Lt,Rt)}_fitInternal(Ge,mt,Dt){return Ge?(delete(mt=Se.extend(Ge,mt)).padding,mt.linear?this.easeTo(mt,Dt):this.flyTo(mt,Dt)):this}jumpTo(Ge,mt){this.stop();const Dt=Ge.preloadOnly?this.transform.clone():this.transform;let Lt=!1,Rt=!1,Bt=!1;return\"zoom\"in Ge&&Dt.zoom!==+Ge.zoom&&(Lt=!0,Dt.zoom=+Ge.zoom),void 0!==Ge.center&&(Dt.center=Se.LngLat.convert(Ge.center)),\"bearing\"in Ge&&Dt.bearing!==+Ge.bearing&&(Rt=!0,Dt.bearing=+Ge.bearing),\"pitch\"in Ge&&Dt.pitch!==+Ge.pitch&&(Bt=!0,Dt.pitch=+Ge.pitch),null==Ge.padding||Dt.isPaddingEqual(Ge.padding)||(Dt.padding=Ge.padding),Ge.preloadOnly?(this._preloadTiles(Dt),this):(this.fire(new Se.Event(\"movestart\",mt)).fire(new Se.Event(\"move\",mt)),Lt&&this.fire(new Se.Event(\"zoomstart\",mt)).fire(new Se.Event(\"zoom\",mt)).fire(new Se.Event(\"zoomend\",mt)),Rt&&this.fire(new Se.Event(\"rotatestart\",mt)).fire(new Se.Event(\"rotate\",mt)).fire(new Se.Event(\"rotateend\",mt)),Bt&&this.fire(new Se.Event(\"pitchstart\",mt)).fire(new Se.Event(\"pitch\",mt)).fire(new Se.Event(\"pitchend\",mt)),this.fire(new Se.Event(\"moveend\",mt)))}getFreeCameraOptions(){return this.transform.projection.supportsFreeCamera||Se.warnOnce(Ul),this.transform.getFreeCameraOptions()}setFreeCameraOptions(Ge,mt){const Dt=this.transform;if(!Dt.projection.supportsFreeCamera)return Se.warnOnce(Ul),this;this.stop();const Lt=Dt.zoom,Rt=Dt.pitch,Bt=Dt.bearing;Dt.setFreeCameraOptions(Ge);const Ft=Lt!==Dt.zoom,Ot=Rt!==Dt.pitch,$t=Bt!==Dt.bearing;return this.fire(new Se.Event(\"movestart\",mt)).fire(new Se.Event(\"move\",mt)),Ft&&this.fire(new Se.Event(\"zoomstart\",mt)).fire(new Se.Event(\"zoom\",mt)).fire(new Se.Event(\"zoomend\",mt)),$t&&this.fire(new Se.Event(\"rotatestart\",mt)).fire(new Se.Event(\"rotate\",mt)).fire(new Se.Event(\"rotateend\",mt)),Ot&&this.fire(new Se.Event(\"pitchstart\",mt)).fire(new Se.Event(\"pitch\",mt)).fire(new Se.Event(\"pitchend\",mt)),this.fire(new Se.Event(\"moveend\",mt)),this}easeTo(Ge,mt){this._stop(!1,Ge.easeId),(!1===(Ge=Se.extend({offset:[0,0],duration:500,easing:Se.ease},Ge)).animate||this._prefersReducedMotion(Ge))&&(Ge.duration=0);const Dt=this.transform,Lt=this.getZoom(),Rt=this.getBearing(),Bt=this.getPitch(),Ft=this.getPadding(),Ot=\"zoom\"in Ge?+Ge.zoom:Lt,$t=\"bearing\"in Ge?this._normalizeBearing(Ge.bearing,Rt):Rt,Ni=\"pitch\"in Ge?+Ge.pitch:Bt,tr=\"padding\"in Ge?Ge.padding:Dt.padding,Lr=Se.Point.convert(Ge.offset);let Rr,Qr,an;if(\"globe\"===Dt.projection.name){const mt=Se.MercatorCoordinate.fromLngLat(Dt.center),Lt=Lr.rotate(-Dt.angle);mt.x+=Lt.x/Dt.worldSize,mt.y+=Lt.y/Dt.worldSize;const Rt=mt.toLngLat(),Bt=Se.LngLat.convert(Ge.center||Rt);this._normalizeCenter(Bt),Rr=Dt.centerPoint.add(Lt),Qr=new Se.Point(mt.x,mt.y).mult(Dt.worldSize),an=new Se.Point(Se.mercatorXfromLng(Bt.lng),Se.mercatorYfromLat(Bt.lat)).mult(Dt.worldSize).sub(Qr)}else{Rr=Dt.centerPoint.add(Lr);const mt=Dt.pointLocation(Rr),Lt=Se.LngLat.convert(Ge.center||mt);this._normalizeCenter(Lt),Qr=Dt.project(mt),an=Dt.project(Lt).sub(Qr)}const ln=Dt.zoomScale(Ot-Lt);let pn,fn;Ge.around&&(pn=Se.LngLat.convert(Ge.around),fn=Dt.locationPoint(pn));const mn=this._zooming||Ot!==Lt,_n=this._rotating||Rt!==$t,bn=this._pitching||Ni!==Bt,wn=!Dt.isPaddingEqual(tr),T=Dt=>Tn=>{if(mn&&(Dt.zoom=Se.number(Lt,Ot,Tn)),_n&&(Dt.bearing=Se.number(Rt,$t,Tn)),bn&&(Dt.pitch=Se.number(Bt,Ni,Tn)),wn&&(Dt.interpolatePadding(Ft,tr,Tn),Rr=Dt.centerPoint.add(Lr)),pn)Dt.setLocationAtPoint(pn,fn);else{const Se=Dt.zoomScale(Dt.zoom-Lt),Ge=Ot>Lt?Math.min(2,ln):Math.max(.5,ln),mt=Math.pow(Ge,1-Tn),Rt=Dt.unproject(Qr.add(an.mult(Tn*mt)).mult(Se));Dt.setLocationAtPoint(Dt.renderWorldCopies?Rt.wrap():Rt,Rr)}return Ge.preloadOnly||this._fireMoveEvents(mt),Dt};if(Ge.preloadOnly){const Se=this._emulate(T,Ge.duration,Dt);return this._preloadTiles(Se),this}const Tn={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=mn,this._rotating=_n,this._pitching=bn,this._padding=wn,this._easeId=Ge.easeId,this._prepareEase(mt,Ge.noMoveStart,Tn),this._ease(T(Dt),(Se=>{Dt.recenterOnTerrain(),this._afterEase(mt,Se)}),Ge),this}_prepareEase(Ge,mt,Dt={}){this._moving=!0,this.transform.cameraElevationReference=\"sea\",mt||Dt.moving||this.fire(new Se.Event(\"movestart\",Ge)),this._zooming&&!Dt.zooming&&this.fire(new Se.Event(\"zoomstart\",Ge)),this._rotating&&!Dt.rotating&&this.fire(new Se.Event(\"rotatestart\",Ge)),this._pitching&&!Dt.pitching&&this.fire(new Se.Event(\"pitchstart\",Ge))}_fireMoveEvents(Ge){this.fire(new Se.Event(\"move\",Ge)),this._zooming&&this.fire(new Se.Event(\"zoom\",Ge)),this._rotating&&this.fire(new Se.Event(\"rotate\",Ge)),this._pitching&&this.fire(new Se.Event(\"pitch\",Ge))}_afterEase(Ge,mt){if(this._easeId&&mt&&this._easeId===mt)return;this._easeId=void 0,this.transform.cameraElevationReference=\"ground\";const Dt=this._zooming,Lt=this._rotating,Rt=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Dt&&this.fire(new Se.Event(\"zoomend\",Ge)),Lt&&this.fire(new Se.Event(\"rotateend\",Ge)),Rt&&this.fire(new Se.Event(\"pitchend\",Ge)),this.fire(new Se.Event(\"moveend\",Ge))}flyTo(Ge,mt){if(this._prefersReducedMotion(Ge)){const Dt=Se.pick(Ge,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Dt,mt)}this.stop(),Ge=Se.extend({offset:[0,0],speed:1.2,curve:1.42,easing:Se.ease},Ge);const Dt=this.transform,Lt=this.getZoom(),Rt=this.getBearing(),Bt=this.getPitch(),Ft=this.getPadding(),Ot=\"zoom\"in Ge?Se.clamp(+Ge.zoom,Dt.minZoom,Dt.maxZoom):Lt,$t=\"bearing\"in Ge?this._normalizeBearing(Ge.bearing,Rt):Rt,Ni=\"pitch\"in Ge?+Ge.pitch:Bt,tr=\"padding\"in Ge?Ge.padding:Dt.padding,Lr=Dt.zoomScale(Ot-Lt),Rr=Se.Point.convert(Ge.offset);let Qr=Dt.centerPoint.add(Rr);const an=Dt.pointLocation(Qr),ln=Se.LngLat.convert(Ge.center||an);this._normalizeCenter(ln);const pn=Dt.project(an),fn=Dt.project(ln).sub(pn);let mn=Ge.curve;const _n=Math.max(Dt.width,Dt.height),bn=_n/Lr,wn=fn.mag();if(\"minZoom\"in Ge){const mt=Se.clamp(Math.min(Ge.minZoom,Lt,Ot),Dt.minZoom,Dt.maxZoom),Rt=_n/Dt.zoomScale(mt-Lt);mn=Math.sqrt(Rt/wn*2)}const Tn=mn*mn;function E(Se){const Ge=(bn*bn-_n*_n+(Se?-1:1)*Tn*Tn*wn*wn)/(2*(Se?bn:_n)*Tn*wn);return Math.log(Math.sqrt(Ge*Ge+1)-Ge)}function C(Se){return(Math.exp(Se)-Math.exp(-Se))/2}function M(Se){return(Math.exp(Se)+Math.exp(-Se))/2}const Sn=E(0);let P=function(Se){return M(Sn)/M(Sn+mn*Se)},S=function(Se){return _n*((M(Sn)*(C(Ge=Sn+mn*Se)/M(Ge))-C(Sn))/Tn)/wn;var Ge},An=(E(1)-Sn)/mn;if(Math.abs(wn)<1e-6||!isFinite(An)){if(Math.abs(_n-bn)<1e-6)return this.easeTo(Ge,mt);const Se=bn<_n?-1:1;An=Math.abs(Math.log(bn/_n))/mn,S=function(){return 0},P=function(Ge){return Math.exp(Se*mn*Ge)}}Ge.duration=\"duration\"in Ge?+Ge.duration:1e3*An/(\"screenSpeed\"in Ge?+Ge.screenSpeed/mn:+Ge.speed),Ge.maxDuration&&Ge.duration>Ge.maxDuration&&(Ge.duration=0);const Pn=Rt!==$t,kn=Ni!==Bt,eo=!Dt.isPaddingEqual(tr),R=Dt=>Lr=>{const an=Lr*An,mn=1/P(an);Dt.zoom=1===Lr?Ot:Lt+Dt.scaleZoom(mn),Pn&&(Dt.bearing=Se.number(Rt,$t,Lr)),kn&&(Dt.pitch=Se.number(Bt,Ni,Lr)),eo&&(Dt.interpolatePadding(Ft,tr,Lr),Qr=Dt.centerPoint.add(Rr));const _n=1===Lr?ln:Dt.unproject(pn.add(fn.mult(S(an))).mult(mn));return Dt.setLocationAtPoint(Dt.renderWorldCopies?_n.wrap():_n,Qr),Dt._updateCameraOnTerrain(),Ge.preloadOnly||this._fireMoveEvents(mt),Dt};if(Ge.preloadOnly){const Se=this._emulate(R,Ge.duration,Dt);return this._preloadTiles(Se),this}return this._zooming=!0,this._rotating=Pn,this._pitching=kn,this._padding=eo,this._prepareEase(mt,!1),this._ease(R(Dt),(()=>this._afterEase(mt)),Ge),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(Se,Ge){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),this._easeFrameId=void 0,this._onEaseFrame=void 0),this._onEaseEnd){const Se=this._onEaseEnd;this._onEaseEnd=void 0,Se.call(this,Ge)}if(!Se){const Se=this.handlers;Se&&Se.stop(!1)}return this}_ease(Ge,mt,Dt){!1===Dt.animate||0===Dt.duration?(Ge(1),mt()):(this._easeStart=Se.exported.now(),this._easeOptions=Dt,this._onEaseFrame=Ge,this._onEaseEnd=mt,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const Ge=Math.min((Se.exported.now()-this._easeStart)/this._easeOptions.duration,1),mt=this._onEaseFrame;mt&&mt(this._easeOptions.easing(Ge)),Ge<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(Ge,mt){Ge=Se.wrap(Ge,-180,180);const Dt=Math.abs(Ge-mt);return Math.abs(Ge-360-mt)<Dt&&(Ge-=360),Math.abs(Ge+360-mt)<Dt&&(Ge+=360),Ge}_normalizeCenter(Se){const Ge=this.transform;if(!Ge.renderWorldCopies||Ge.maxBounds)return;const mt=Se.lng-Ge.center.lng;Se.lng+=mt>180?-360:mt<-180?360:0}_prefersReducedMotion(Ge){return this._respectPrefersReducedMotion&&Se.exported.prefersReducedMotion&&!(Ge&&Ge.essential)}_emulate(Se,Ge,mt){const Dt=Math.ceil(15*Ge/1e3),Lt=[],Rt=Se(mt.clone());for(let Se=0;Se<=Dt;Se++){const Ge=Rt(Se/Dt);Lt.push(Ge.clone())}return Lt}}class Hr{constructor(Ge={}){this.options=Ge,Se.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)}getDefaultPosition(){return\"bottom-right\"}onAdd(Se){const Ge=this.options&&this.options.compact;return this._map=Se,this._container=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=n(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),n(\"span\",\"mapboxgl-ctrl-icon\",this._compactButton).setAttribute(\"aria-hidden\",\"true\"),this._compactButton.type=\"button\",this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=n(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),Ge&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===Ge&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container}onRemove(){this._container.remove(),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0}_setElementTitle(Se,Ge){const mt=this._map._getUIString(`AttributionControl.${Ge}`);Se.setAttribute(\"aria-label\",mt),Se.removeAttribute(\"title\"),Se.firstElementChild&&Se.firstElementChild.setAttribute(\"title\",mt)}_toggleAttribution(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-expanded\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-expanded\",\"true\"))}_updateEditLink(){let Ge=this._editLink;Ge||(Ge=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));const mt=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||Se.config.ACCESS_TOKEN}];if(Ge){const Dt=mt.reduce(((Se,Ge,Dt)=>(Ge.value&&(Se+=`${Ge.key}=${Ge.value}${Dt<mt.length-1?\"&\":\"\"}`),Se)),\"?\");Ge.href=`${Se.config.FEEDBACK_URL}/${Dt}#${Jo(this._map,!0)}`,Ge.rel=\"noopener nofollow\",this._setElementTitle(Ge,\"MapFeedback\")}}_updateData(Se){!Se||\"metadata\"!==Se.sourceDataType&&\"visibility\"!==Se.sourceDataType&&\"style\"!==Se.dataType||(this._updateAttributions(),this._updateEditLink())}_updateAttributions(){if(!this._map.style)return;let Se=[];if(this._map.style.stylesheet){const Se=this._map.style.stylesheet;this.styleOwner=Se.owner,this.styleId=Se.id}const Ge=this._map.style._sourceCaches;for(const mt in Ge){const Dt=Ge[mt];if(Dt.used){const Ge=Dt.getSource();Ge.attribution&&Se.indexOf(Ge.attribution)<0&&Se.push(Ge.attribution)}}Se.sort(((Se,Ge)=>Se.length-Ge.length)),Se=Se.filter(((Ge,mt)=>{for(let Dt=mt+1;Dt<Se.length;Dt++)if(Se[Dt].indexOf(Ge)>=0)return!1;return!0})),this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?Se=[...this.options.customAttribution,...Se]:Se.unshift(this.options.customAttribution));const mt=Se.join(\" | \");mt!==this._attribHTML&&(this._attribHTML=mt,Se.length?(this._innerContainer.innerHTML=mt,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")}}class Yr{constructor(){Se.bindAll([\"_updateLogo\",\"_updateCompact\"],this)}onAdd(Se){this._map=Se,this._container=n(\"div\",\"mapboxgl-ctrl\");const Ge=n(\"a\",\"mapboxgl-ctrl-logo\");return Ge.target=\"_blank\",Ge.rel=\"noopener nofollow\",Ge.href=\"https://www.mapbox.com/\",Ge.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),Ge.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(Ge),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)}getDefaultPosition(){return\"bottom-left\"}_updateLogo(Se){Se&&\"metadata\"!==Se.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")}_logoRequired(){if(!this._map.style)return!0;const Se=this._map.style._sourceCaches;if(0===Object.entries(Se).length)return!0;for(const Ge in Se){const mt=Se[Ge].getSource();if(mt.hasOwnProperty(\"mapbox_logo\")&&!mt.mapbox_logo)return!1}return!0}_updateCompact(){const Se=this._container.children;if(Se.length){const Ge=Se[0];this._map.getCanvasContainer().offsetWidth<250?Ge.classList.add(\"mapboxgl-compact\"):Ge.classList.remove(\"mapboxgl-compact\")}}}class Kr{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(Se){const Ge=++this._id;return this._queue.push({callback:Se,id:Ge,cancelled:!1}),Ge}remove(Se){const Ge=this._currentlyRunning,mt=Ge?this._queue.concat(Ge):this._queue;for(const Ge of mt)if(Ge.id===Se)return void(Ge.cancelled=!0)}run(Se=0){const Ge=this._currentlyRunning=this._queue;this._queue=[];for(const mt of Ge)if(!mt.cancelled&&(mt.callback(Se),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}function Jr(Ge,mt,Dt){if(Ge=new Se.LngLat(Ge.lng,Ge.lat),mt){const Lt=new Se.LngLat(Ge.lng-360,Ge.lat),Rt=new Se.LngLat(Ge.lng+360,Ge.lat),Bt=360*Math.ceil(Math.abs(Ge.lng-Dt.center.lng)/360),Ft=Dt.locationPoint(Ge).distSqr(mt),Ot=mt.x<0||mt.y<0||mt.x>Dt.width||mt.y>Dt.height;Dt.locationPoint(Lt).distSqr(mt)<Ft&&(Ot||Math.abs(Lt.lng-Dt.center.lng)<Bt)?Ge=Lt:Dt.locationPoint(Rt).distSqr(mt)<Ft&&(Ot||Math.abs(Rt.lng-Dt.center.lng)<Bt)&&(Ge=Rt)}for(;Math.abs(Ge.lng-Dt.center.lng)>180;){const Se=Dt.locationPoint(Ge);if(Se.x>=0&&Se.y>=0&&Se.x<=Dt.width&&Se.y<=Dt.height)break;Ge.lng>Dt.center.lng?Ge.lng-=360:Ge.lng+=360}return Ge}const $l={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%)\"};class en extends Se.Evented{constructor(Ge,mt){if(super(),(Ge instanceof Se.window.HTMLElement||mt)&&(Ge=Se.extend({element:Ge},mt)),Se.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\",\"_clearFadeTimer\"],this),this._anchor=Ge&&Ge.anchor||\"center\",this._color=Ge&&Ge.color||\"#3FB1CE\",this._scale=Ge&&Ge.scale||1,this._draggable=Ge&&Ge.draggable||!1,this._clickTolerance=Ge&&Ge.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=Ge&&Ge.rotation||0,this._rotationAlignment=Ge&&Ge.rotationAlignment||\"auto\",this._pitchAlignment=Ge&&Ge.pitchAlignment&&Ge.pitchAlignment||\"auto\",this._updateMoving=()=>this._update(!0),this._occludedOpacity=Ge&&Ge.occludedOpacity||.2,Ge&&Ge.element)this._element=Ge.element,this._offset=Se.Point.convert(Ge&&Ge.offset||[0,0]);else{this._defaultMarker=!0,this._element=n(\"div\");const mt=41,Dt=27,Lt=s(\"svg\",{display:\"block\",height:mt*this._scale+\"px\",width:Dt*this._scale+\"px\",viewBox:`0 0 ${Dt} ${mt}`},this._element),Rt=s(\"radialGradient\",{id:\"shadowGradient\"},s(\"defs\",{},Lt));s(\"stop\",{offset:\"10%\",\"stop-opacity\":.4},Rt),s(\"stop\",{offset:\"100%\",\"stop-opacity\":.05},Rt),s(\"ellipse\",{cx:13.5,cy:34.8,rx:10.5,ry:5.25,fill:\"url(#shadowGradient)\"},Lt),s(\"path\",{fill:this._color,d:\"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z\"},Lt),s(\"path\",{opacity:.25,d:\"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z\"},Lt),s(\"circle\",{fill:\"white\",cx:13.5,cy:13.5,r:5.5},Lt),this._offset=Se.Point.convert(Ge&&Ge.offset||[0,-14])}this._element.hasAttribute(\"aria-label\")||this._element.setAttribute(\"aria-label\",\"Map marker\"),this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(Se=>{Se.preventDefault()})),this._element.addEventListener(\"mousedown\",(Se=>{Se.preventDefault()}));const Dt=this._element.classList;for(const Se in $l)Dt.remove(`mapboxgl-marker-anchor-${Se}`);Dt.add(`mapboxgl-marker-anchor-${this._anchor}`),this._popup=null}addTo(Se){return Se===this._map||(this.remove(),this._map=Se,Se.getCanvasContainer().appendChild(this._element),Se.on(\"move\",this._updateMoving),Se.on(\"moveend\",this._update),Se.on(\"remove\",this._clearFadeTimer),Se._addMarker(this),this.setDraggable(this._draggable),this._update(),Se.on(\"click\",this._onMapClick)),this}remove(){const Se=this._map;return Se&&(Se.off(\"click\",this._onMapClick),Se.off(\"move\",this._updateMoving),Se.off(\"moveend\",this._update),Se.off(\"mousedown\",this._addDragHandler),Se.off(\"touchstart\",this._addDragHandler),Se.off(\"mouseup\",this._onUp),Se.off(\"touchend\",this._onUp),Se.off(\"mousemove\",this._onMove),Se.off(\"touchmove\",this._onMove),Se.off(\"remove\",this._clearFadeTimer),Se._removeMarker(this),this._map=void 0),this._clearFadeTimer(),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(Ge){return this._lngLat=Se.LngLat.convert(Ge),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(!0),this}getElement(){return this._element}setPopup(Se){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeAttribute(\"role\"),this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),Se){if(!(\"offset\"in Se.options)){const Ge=38.1,mt=13.5,Dt=Math.sqrt(Math.pow(mt,2)/2);Se.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-Ge],\"bottom-left\":[Dt,-1*(Ge-mt+Dt)],\"bottom-right\":[-Dt,-1*(Ge-mt+Dt)],left:[mt,-1*(Ge-mt)],right:[-mt,-1*(Ge-mt)]}:this._offset}this._popup=Se,Se._marker=this,this._lngLat&&this._popup.setLngLat(this._lngLat),this._element.setAttribute(\"role\",\"button\"),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress),this._element.setAttribute(\"aria-expanded\",\"false\")}return this}_onKeyPress(Se){const Ge=Se.code,mt=Se.charCode||Se.keyCode;\"Space\"!==Ge&&\"Enter\"!==Ge&&32!==mt&&13!==mt||this.togglePopup()}_onMapClick(Se){const Ge=Se.originalEvent.target,mt=this._element;this._popup&&(Ge===mt||mt.contains(Ge))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const Se=this._popup;return Se?(Se.isOpen()?(Se.remove(),this._element.setAttribute(\"aria-expanded\",\"false\")):this._map&&(Se.addTo(this._map),this._element.setAttribute(\"aria-expanded\",\"true\")),this):this}_behindTerrain(){const Se=this._map,Ge=this._pos;if(!Se||!Ge)return!1;const mt=Se.unproject(Ge),Dt=Se.getFreeCameraOptions();if(!Dt.position)return!1;const Lt=Dt.position.toLngLat();return Lt.distanceTo(mt)<.9*Lt.distanceTo(this._lngLat)}_evaluateOpacity(){const Ge=this._map;if(!Ge)return;const mt=this._pos;if(!mt||mt.x<0||mt.x>Ge.transform.width||mt.y<0||mt.y>Ge.transform.height)return void this._clearFadeTimer();const Dt=Ge.unproject(mt);let Lt;Ge._showingGlobe()&&Se.isLngLatBehindGlobe(Ge.transform,this._lngLat)?Lt=0:(Lt=1-Ge._queryFogOpacity(Dt),Ge.transform._terrainEnabled()&&Ge.getTerrain()&&this._behindTerrain()&&(Lt*=this._occludedOpacity)),this._element.style.opacity=`${Lt}`,this._element.style.pointerEvents=Lt>0?\"auto\":\"none\",this._popup&&this._popup._setOpacity(Lt),this._fadeTimer=null}_clearFadeTimer(){this._fadeTimer&&(clearTimeout(this._fadeTimer),this._fadeTimer=null)}_updateDOM(){const Se=this._pos;if(!Se||!this._map)return;const Ge=this._offset.mult(this._scale);this._element.style.transform=`\\n            translate(${Se.x}px,${Se.y}px)\\n            ${$l[this._anchor]}\\n            ${this._calculateXYTransform()} ${this._calculateZTransform()}\\n            translate(${Ge.x}px,${Ge.y}px)\\n        `}_calculateXYTransform(){const Ge=this._pos,mt=this._map,Dt=this.getPitchAlignment();if(!mt||!Ge||\"map\"!==Dt)return\"\";if(!mt._showingGlobe()){const Se=mt.getPitch();return Se?`rotateX(${Se}deg)`:\"\"}const Lt=Se.radToDeg(Se.globeTiltAtLngLat(mt.transform,this._lngLat)),Rt=Ge.sub(Se.globeCenterToScreenPoint(mt.transform)),Bt=Math.abs(Rt.x)+Math.abs(Rt.y);if(0===Bt)return\"\";const Ft=Lt/Bt;return`rotateX(${-Rt.y*Ft}deg) rotateY(${Rt.x*Ft}deg)`}_calculateZTransform(){const Ge=this._pos,mt=this._map;if(!mt||!Ge)return\"\";let Dt=0;const Lt=this.getRotationAlignment();if(\"map\"===Lt)if(mt._showingGlobe()){const Ge=mt.project(new Se.LngLat(this._lngLat.lng,this._lngLat.lat+.001)),Lt=mt.project(new Se.LngLat(this._lngLat.lng,this._lngLat.lat-.001)).sub(Ge);Dt=Se.radToDeg(Math.atan2(Lt.y,Lt.x))-90}else Dt=-mt.getBearing();else if(\"horizon\"===Lt){const Lt=Se.smoothstep(4,6,mt.getZoom()),Rt=Se.globeCenterToScreenPoint(mt.transform);Rt.y+=Lt*mt.transform.height;const Bt=Ge.sub(Rt),Ft=Se.radToDeg(Math.atan2(Bt.y,Bt.x));Dt=(Ft>90?Ft-270:Ft+90)*(1-Lt)}return Dt+=this._rotation,Dt?`rotateZ(${Dt}deg)`:\"\"}_update(Ge){Se.window.cancelAnimationFrame(this._updateFrameId);const mt=this._map;mt&&(mt.transform.renderWorldCopies&&(this._lngLat=Jr(this._lngLat,this._pos,mt.transform)),this._pos=mt.project(this._lngLat),!0===Ge?this._updateFrameId=Se.window.requestAnimationFrame((()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM())})):this._pos=this._pos.round(),mt._requestDomTask((()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(mt._showingGlobe()||mt.getTerrain()||mt.getFog())&&!this._fadeTimer&&(this._fadeTimer=setTimeout(this._evaluateOpacity.bind(this),60)))})))}getOffset(){return this._offset}setOffset(Ge){return this._offset=Se.Point.convert(Ge),this._update(),this}_onMove(Ge){const mt=this._map;if(!mt)return;const Dt=this._pointerdownPos,Lt=this._positionDelta;if(Dt&&Lt){if(!this._isDragging){const Se=this._clickTolerance||mt._clickTolerance;if(Ge.point.dist(Dt)<Se)return;this._isDragging=!0}this._pos=Ge.point.sub(Lt),this._lngLat=mt.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new Se.Event(\"dragstart\"))),this.fire(new Se.Event(\"drag\"))}}_onUp(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1;const Ge=this._map;Ge&&(Ge.off(\"mousemove\",this._onMove),Ge.off(\"touchmove\",this._onMove)),\"active\"===this._state&&this.fire(new Se.Event(\"dragend\")),this._state=\"inactive\"}_addDragHandler(Se){const Ge=this._map,mt=this._pos;Ge&&mt&&this._element.contains(Se.originalEvent.target)&&(Se.preventDefault(),this._positionDelta=Se.point.sub(mt),this._pointerdownPos=Se.point,this._state=\"pending\",Ge.on(\"mousemove\",this._onMove),Ge.on(\"touchmove\",this._onMove),Ge.once(\"mouseup\",this._onUp),Ge.once(\"touchend\",this._onUp))}setDraggable(Se){this._draggable=!!Se;const Ge=this._map;return Ge&&(Se?(Ge.on(\"mousedown\",this._addDragHandler),Ge.on(\"touchstart\",this._addDragHandler)):(Ge.off(\"mousedown\",this._addDragHandler),Ge.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(Se){return this._rotation=Se||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(Se){return this._rotationAlignment=Se||\"auto\",this._update(),this}getRotationAlignment(){return\"auto\"===this._rotationAlignment||\"horizon\"===this._rotationAlignment&&this._map&&!this._map._showingGlobe()?\"viewport\":this._rotationAlignment}setPitchAlignment(Se){return this._pitchAlignment=Se||\"auto\",this._update(),this}getPitchAlignment(){return\"auto\"===this._pitchAlignment?this.getRotationAlignment():this._pitchAlignment}setOccludedOpacity(Se){return this._occludedOpacity=Se||.2,this._update(),this}getOccludedOpacity(){return this._occludedOpacity}}const Hl={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},xc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function rn(Ge=new Se.Point(0,0),mt=\"bottom\"){if(\"number\"==typeof Ge){const Dt=Math.round(Math.sqrt(.5*Math.pow(Ge,2)));switch(mt){case\"top\":return new Se.Point(0,Ge);case\"top-left\":return new Se.Point(Dt,Dt);case\"top-right\":return new Se.Point(-Dt,Dt);case\"bottom\":return new Se.Point(0,-Ge);case\"bottom-left\":return new Se.Point(Dt,-Dt);case\"bottom-right\":return new Se.Point(-Dt,-Dt);case\"left\":return new Se.Point(Ge,0);case\"right\":return new Se.Point(-Ge,0)}return new Se.Point(0,0)}return Ge instanceof Se.Point||Array.isArray(Ge)?Se.Point.convert(Ge):Se.Point.convert(Ge[mt]||[0,0])}class nn{constructor(Se){this.jumpTo(Se)}getValue(Ge){if(Ge<=this._startTime)return this._start;if(Ge>=this._endTime)return this._end;const mt=Se.easeCubicInOut((Ge-this._startTime)/(this._endTime-this._startTime));return this._start*(1-mt)+this._end*mt}isEasing(Se){return Se>=this._startTime&&Se<=this._endTime}jumpTo(Se){this._startTime=-1/0,this._endTime=-1/0,this._start=Se,this._end=Se}easeTo(Se,Ge,mt){this._start=this.getValue(Ge),this._end=Se,this._startTime=Ge,this._endTime=Ge+mt}}const Tc={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"Map.Title\":\"Map\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScrollZoomBlocker.CtrlMessage\":\"Use ctrl + scroll to zoom the map\",\"ScrollZoomBlocker.CmdMessage\":\"Use ⌘ + scroll to zoom the map\",\"TouchPanBlocker.Message\":\"Use two fingers to move the map\"},Ec={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:85,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,performanceMetricsCollection:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,optimizeForTerrain:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,minTileCacheSize:null,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",localFontFamily:null,transformRequest:null,accessToken:null,fadeDuration:300,respectPrefersReducedMotion:!0,crossSourceCollisions:!0},Cc={showCompass:!0,showZoom:!0,visualizePitch:!1};class cn{constructor(Ge,mt,Dt=!1){this._clickTolerance=10,this.element=mt,this.mouseRotate=new yr({clickTolerance:Ge.dragRotate._mouseRotate._clickTolerance}),this.map=Ge,Dt&&(this.mousePitch=new br({clickTolerance:Ge.dragRotate._mousePitch._clickTolerance})),Se.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),mt.addEventListener(\"mousedown\",this.mousedown),mt.addEventListener(\"touchstart\",this.touchstart,{passive:!1}),mt.addEventListener(\"touchmove\",this.touchmove),mt.addEventListener(\"touchend\",this.touchend),mt.addEventListener(\"touchcancel\",this.reset)}down(Se,Ge){this.mouseRotate.mousedown(Se,Ge),this.mousePitch&&this.mousePitch.mousedown(Se,Ge),h()}move(Se,Ge){const mt=this.map,Dt=this.mouseRotate.mousemoveWindow(Se,Ge),Lt=Dt&&Dt.bearingDelta;if(Lt&&mt.setBearing(mt.getBearing()+Lt),this.mousePitch){const Dt=this.mousePitch.mousemoveWindow(Se,Ge),Lt=Dt&&Dt.pitchDelta;Lt&&mt.setPitch(mt.getPitch()+Lt)}}off(){const Se=this.element;Se.removeEventListener(\"mousedown\",this.mousedown),Se.removeEventListener(\"touchstart\",this.touchstart,{passive:!1}),Se.removeEventListener(\"touchmove\",this.touchmove),Se.removeEventListener(\"touchend\",this.touchend),Se.removeEventListener(\"touchcancel\",this.reset),this.offTemp()}offTemp(){u(),Se.window.removeEventListener(\"mousemove\",this.mousemove),Se.window.removeEventListener(\"mouseup\",this.mouseup)}mousedown(Ge){this.down(Se.extend({},Ge,{ctrlKey:!0,preventDefault:()=>Ge.preventDefault()}),p(this.element,Ge)),Se.window.addEventListener(\"mousemove\",this.mousemove),Se.window.addEventListener(\"mouseup\",this.mouseup)}mousemove(Se){this.move(Se,p(this.element,Se))}mouseup(Se){this.mouseRotate.mouseupWindow(Se),this.mousePitch&&this.mousePitch.mouseupWindow(Se),this.offTemp()}touchstart(Se){1!==Se.targetTouches.length?this.reset():(this._startPos=this._lastPos=m(this.element,Se.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:()=>Se.preventDefault()},this._startPos))}touchmove(Se){1!==Se.targetTouches.length?this.reset():(this._lastPos=m(this.element,Se.targetTouches)[0],this.move({preventDefault:()=>Se.preventDefault()},this._lastPos))}touchend(Se){0===Se.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()}reset(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()}}const zc={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0,showUserHeading:!1},Pc={maxWidth:100,unit:\"metric\"},Dc={kilometer:\"km\",meter:\"m\",mile:\"mi\",foot:\"ft\",\"nautical-mile\":\"nm\"},Lc={version:Se.version,supported:Ge,setRTLTextPlugin:Se.setRTLTextPlugin,getRTLTextPluginStatus:Se.getRTLTextPluginStatus,Map:class extends $r{constructor(Ge){if(Se.LivePerformanceUtils.mark(Se.PerformanceMarkers.create),null!=(Ge=Se.extend({},Ec,Ge)).minZoom&&null!=Ge.maxZoom&&Ge.minZoom>Ge.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=Ge.minPitch&&null!=Ge.maxPitch&&Ge.minPitch>Ge.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=Ge.minPitch&&Ge.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=Ge.maxPitch&&Ge.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(Ge.antialias&&Se.isSafariWithAntialiasingBug(Se.window)&&(Ge.antialias=!1,Se.warnOnce(\"Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609\")),super(new Ho(Ge.minZoom,Ge.maxZoom,Ge.minPitch,Ge.maxPitch,Ge.renderWorldCopies),Ge),this._interactive=Ge.interactive,this._minTileCacheSize=Ge.minTileCacheSize,this._maxTileCacheSize=Ge.maxTileCacheSize,this._failIfMajorPerformanceCaveat=Ge.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=Ge.preserveDrawingBuffer,this._antialias=Ge.antialias,this._useWebGL2=Ge.useWebGL2,this._trackResize=Ge.trackResize,this._bearingSnap=Ge.bearingSnap,this._refreshExpiredTiles=Ge.refreshExpiredTiles,this._fadeDuration=Ge.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=Ge.crossSourceCollisions,this._collectResourceTiming=Ge.collectResourceTiming,this._optimizeForTerrain=Ge.optimizeForTerrain,this._language=this._parseLanguage(Ge.language),this._worldview=Ge.worldview,this._renderTaskQueue=new Kr,this._domRenderTaskQueue=new Kr,this._controls=[],this._markers=[],this._popups=[],this._mapId=Se.uniqueId(),this._locale=Se.extend({},Tc,Ge.locale),this._clickTolerance=Ge.clickTolerance,this._cooperativeGestures=Ge.cooperativeGestures,this._performanceMetricsCollection=Ge.performanceMetricsCollection,this._containerWidth=0,this._containerHeight=0,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new nn(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._requestManager=new Se.RequestManager(Ge.transformRequest,Ge.accessToken,Ge.testMode),this._silenceAuthErrors=!!Ge.testMode,\"string\"==typeof Ge.container){if(this._container=Se.window.document.getElementById(Ge.container),!this._container)throw new Error(`Container '${Ge.container}' not found.`)}else{if(!(Ge.container instanceof Se.window.HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=Ge.container}if(this._container.childNodes.length>0&&Se.warnOnce(\"The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead.\"),Ge.maxBounds&&this.setMaxBounds(Ge.maxBounds),Se.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onVisibilityChange\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",(()=>this._update(!1))),this.on(\"moveend\",(()=>this._update(!1))),this.on(\"zoom\",(()=>this._update(!0))),void 0!==Se.window&&(Se.window.addEventListener(\"online\",this._onWindowOnline,!1),Se.window.addEventListener(\"resize\",this._onWindowResize,!1),Se.window.addEventListener(\"orientationchange\",this._onWindowResize,!1),Se.window.addEventListener(\"webkitfullscreenchange\",this._onWindowResize,!1),Se.window.addEventListener(\"visibilitychange\",this._onVisibilityChange,!1)),this.handlers=new Xr(this,Ge),this._localFontFamily=Ge.localFontFamily,this._localIdeographFontFamily=Ge.localIdeographFontFamily,Ge.style&&this.setStyle(Ge.style,{localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),Ge.projection&&this.setProjection(Ge.projection),this._hash=Ge.hash&&new Ko(\"string\"==typeof Ge.hash&&Ge.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:Ge.center,zoom:Ge.zoom,bearing:Ge.bearing,pitch:Ge.pitch}),Ge.bounds&&(this.resize(),this.fitBounds(Ge.bounds,Se.extend({},Ge.fitBoundsOptions,{duration:0})))),this.resize(),Ge.attributionControl&&this.addControl(new Hr({customAttribution:Ge.customAttribution})),this._logoControl=new Yr,this.addControl(this._logoControl,Ge.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on(\"data\",(Ge=>{this._update(\"style\"===Ge.dataType),this.fire(new Se.Event(`${Ge.dataType}data`,Ge))})),this.on(\"dataloading\",(Ge=>{this.fire(new Se.Event(`${Ge.dataType}dataloading`,Ge))}))}_getMapId(){return this._mapId}addControl(Ge,mt){if(void 0===mt&&(mt=Ge.getDefaultPosition?Ge.getDefaultPosition():\"top-right\"),!Ge||!Ge.onAdd)return this.fire(new Se.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const Dt=Ge.onAdd(this);this._controls.push(Ge);const Lt=this._controlPositions[mt];return-1!==mt.indexOf(\"bottom\")?Lt.insertBefore(Dt,Lt.firstChild):Lt.appendChild(Dt),this}removeControl(Ge){if(!Ge||!Ge.onRemove)return this.fire(new Se.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));const mt=this._controls.indexOf(Ge);return mt>-1&&this._controls.splice(mt,1),Ge.onRemove(this),this}hasControl(Se){return this._controls.indexOf(Se)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(Ge){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const mt=!this._moving;return mt&&this.fire(new Se.Event(\"movestart\",Ge)).fire(new Se.Event(\"move\",Ge)),this.fire(new Se.Event(\"resize\",Ge)),mt&&this.fire(new Se.Event(\"moveend\",Ge)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(Ge){return this.transform.setMaxBounds(Se.LngLatBounds.convert(Ge)),this._update()}setMinZoom(Ge){if((Ge=null==Ge?-2:Ge)>=-2&&Ge<=this.transform.maxZoom)return this.transform.minZoom=Ge,this._update(),this.getZoom()<Ge?this.setZoom(Ge):this.fire(new Se.Event(\"zoomstart\")).fire(new Se.Event(\"zoom\")).fire(new Se.Event(\"zoomend\")),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")}getMinZoom(){return this.transform.minZoom}setMaxZoom(Ge){if((Ge=null==Ge?22:Ge)>=this.transform.minZoom)return this.transform.maxZoom=Ge,this._update(),this.getZoom()>Ge?this.setZoom(Ge):this.fire(new Se.Event(\"zoomstart\")).fire(new Se.Event(\"zoom\")).fire(new Se.Event(\"zoomend\")),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(Ge){if((Ge=null==Ge?0:Ge)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(Ge>=0&&Ge<=this.transform.maxPitch)return this.transform.minPitch=Ge,this._update(),this.getPitch()<Ge?this.setPitch(Ge):this.fire(new Se.Event(\"pitchstart\")).fire(new Se.Event(\"pitch\")).fire(new Se.Event(\"pitchend\")),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")}getMinPitch(){return this.transform.minPitch}setMaxPitch(Ge){if((Ge=null==Ge?85:Ge)>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(Ge>=this.transform.minPitch)return this.transform.maxPitch=Ge,this._update(),this.getPitch()>Ge?this.setPitch(Ge):this.fire(new Se.Event(\"pitchstart\")).fire(new Se.Event(\"pitch\")).fire(new Se.Event(\"pitchend\")),this;throw new Error(\"maxPitch must be greater than or equal to minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(Se){return this.transform.renderWorldCopies=Se,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(Ge){return\"auto\"===Ge?Se.window.navigator.language:Array.isArray(Ge)?0===Ge.length?void 0:Ge.map((Ge=>\"auto\"===Ge?Se.window.navigator.language:Ge)):Ge}setLanguage(Se){const Ge=this._parseLanguage(Se);if(!this.style||Ge===this._language)return this;this._language=Ge,this.style._reloadSources();for(const Se of this._controls)Se._setLanguage&&Se._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(Se){return this.style&&Se!==this._worldview?(this._worldview=Se,this.style._reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:\"globe\",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return\"globe\"===this.transform.projection.name}setProjection(Se){return this._lazyInitEmptyStyle(),Se?\"string\"==typeof Se&&(Se={name:Se}):Se=null,this._useExplicitProjection=!!Se,this._prioritizeAndUpdateProjection(Se,this.style.stylesheet?this.style.stylesheet.projection:null)}_updateProjectionTransition(){if(\"globe\"!==this.getProjection().name)return;const Ge=this.transform,mt=Ge.projection.name;let Dt;\"globe\"===mt&&Ge.zoom>=Se.GLOBE_ZOOM_THRESHOLD_MAX?(Ge.setMercatorFromTransition(),Dt=!0):\"mercator\"===mt&&Ge.zoom<Se.GLOBE_ZOOM_THRESHOLD_MAX&&(Ge.setProjection({name:\"globe\"}),Dt=!0),Dt&&(this.style.applyProjectionUpdate(),this.style._forceSymbolLayerUpdate())}_prioritizeAndUpdateProjection(Se,Ge){return this._updateProjection(Se||Ge||{name:\"mercator\"})}_updateProjection(Ge){let mt;if(mt=\"globe\"===Ge.name&&this.transform.zoom>=Se.GLOBE_ZOOM_THRESHOLD_MAX?this.transform.setMercatorFromTransition():this.transform.setProjection(Ge),this.style.applyProjectionUpdate(),mt){this.painter.clearBackgroundTiles();for(const Se in this.style._sourceCaches)this.style._sourceCaches[Se].clearTiles();this._update(!0),this._forceMarkerAndPopupUpdate(!0)}return this}project(Ge){return this.transform.locationPoint3D(Se.LngLat.convert(Ge))}unproject(Ge){return this.transform.pointLocation3D(Se.Point.convert(Ge))}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(Se,Ge,mt){if(\"mouseenter\"===Se||\"mouseover\"===Se){let Dt=!1;const r=Lt=>{const Rt=Ge.filter((Se=>this.getLayer(Se))),Bt=Rt.length?this.queryRenderedFeatures(Lt.point,{layers:Rt}):[];Bt.length?Dt||(Dt=!0,mt.call(this,new ar(Se,this,Lt.originalEvent,{features:Bt}))):Dt=!1},n=()=>{Dt=!1};return{layers:new Set(Ge),listener:mt,delegates:{mousemove:r,mouseout:n}}}if(\"mouseleave\"===Se||\"mouseout\"===Se){let Dt=!1;const r=Lt=>{const Rt=Ge.filter((Se=>this.getLayer(Se)));(Rt.length?this.queryRenderedFeatures(Lt.point,{layers:Rt}):[]).length?Dt=!0:Dt&&(Dt=!1,mt.call(this,new ar(Se,this,Lt.originalEvent)))},n=Ge=>{Dt&&(Dt=!1,mt.call(this,new ar(Se,this,Ge.originalEvent)))};return{layers:new Set(Ge),listener:mt,delegates:{mousemove:r,mouseout:n}}}{const o=Se=>{const Dt=Ge.filter((Se=>this.getLayer(Se))),Lt=Dt.length?this.queryRenderedFeatures(Se.point,{layers:Dt}):[];Lt.length&&(Se.features=Lt,mt.call(this,Se),delete Se.features)};return{layers:new Set(Ge),listener:mt,delegates:{[Se]:o}}}}on(Se,Ge,mt){if(void 0===mt)return super.on(Se,Ge);Array.isArray(Ge)||(Ge=[Ge]);const Dt=this._createDelegatedListener(Se,Ge,mt);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[Se]=this._delegatedListeners[Se]||[],this._delegatedListeners[Se].push(Dt);for(const Se in Dt.delegates)this.on(Se,Dt.delegates[Se]);return this}once(Se,Ge,mt){if(void 0===mt)return super.once(Se,Ge);Array.isArray(Ge)||(Ge=[Ge]);const Dt=this._createDelegatedListener(Se,Ge,mt);for(const Se in Dt.delegates)this.once(Se,Dt.delegates[Se]);return this}off(Se,Ge,mt){if(void 0===mt)return super.off(Se,Ge);Ge=new Set(Array.isArray(Ge)?Ge:[Ge]);const o=(Se,Ge)=>{if(Se.size!==Ge.size)return!1;for(const mt of Se)if(!Ge.has(mt))return!1;return!0},Dt=this._delegatedListeners?this._delegatedListeners[Se]:void 0;return Dt&&(Se=>{for(let Dt=0;Dt<Se.length;Dt++){const Lt=Se[Dt];if(Lt.listener===mt&&o(Lt.layers,Ge)){for(const Se in Lt.delegates)this.off(Se,Lt.delegates[Se]);return Se.splice(Dt,1),this}}})(Dt),this}queryRenderedFeatures(Ge,mt){return this.style?(void 0!==mt||void 0===Ge||Ge instanceof Se.Point||Array.isArray(Ge)||(mt=Ge,Ge=void 0),this.style.queryRenderedFeatures(Ge=Ge||[[0,0],[this.transform.width,this.transform.height]],mt=mt||{},this.transform)):[]}querySourceFeatures(Se,Ge){return this.style.querySourceFeatures(Se,Ge)}isPointOnSurface(Ge){const{name:mt}=this.transform.projection;return\"globe\"!==mt&&\"mercator\"!==mt&&Se.warnOnce(`${mt} projection does not support isPointOnSurface, this API may behave unexpectedly.`),this.transform.isPointOnSurface(Se.Point.convert(Ge))}setStyle(Ge,mt){return!1!==(mt=Se.extend({},{localIdeographFontFamily:this._localIdeographFontFamily,localFontFamily:this._localFontFamily},mt)).diff&&mt.localIdeographFontFamily===this._localIdeographFontFamily&&mt.localFontFamily===this._localFontFamily&&this.style&&Ge?(this._diffStyle(Ge,mt),this):(this._localIdeographFontFamily=mt.localIdeographFontFamily,this._localFontFamily=mt.localFontFamily,this._updateStyle(Ge,mt))}_getUIString(Se){const Ge=this._locale[Se];if(null==Ge)throw new Error(`Missing UI string '${Se}'`);return Ge}_updateStyle(Se,Ge){return this.style&&(this.style.setEventedParent(null),this.style._remove(),this.style=void 0),Se&&(this.style=new Kt(this,Ge||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof Se?this.style.loadURL(Se):this.style.loadJSON(Se)),this._updateTerrain(),this}_lazyInitEmptyStyle(){this.style||(this.style=new Kt(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(Ge,mt){if(\"string\"==typeof Ge){const Dt=this._requestManager.normalizeStyleURL(Ge),Lt=this._requestManager.transformRequest(Dt,Se.ResourceType.Style);Se.getJSON(Lt,((Ge,Dt)=>{Ge?this.fire(new Se.ErrorEvent(Ge)):Dt&&this._updateDiff(Dt,mt)}))}else\"object\"==typeof Ge&&this._updateDiff(Ge,mt)}_updateDiff(Ge,mt){try{this.style.setState(Ge)&&this._update(!0)}catch(Dt){Se.warnOnce(`Unable to perform style diff: ${Dt.message||Dt.error||Dt}.  Rebuilding the style from scratch.`),this._updateStyle(Ge,mt)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(Se.warnOnce(\"There is no style added to the map.\"),!1)}addSource(Se,Ge){return this._lazyInitEmptyStyle(),this.style.addSource(Se,Ge),this._update(!0)}isSourceLoaded(Se){return!!this.style&&this.style._isSourceCacheLoaded(Se)}areTilesLoaded(){const Se=this.style&&this.style._sourceCaches;for(const Ge in Se){const mt=Se[Ge]._tiles;for(const Se in mt){const Ge=mt[Se];if(\"loaded\"!==Ge.state&&\"errored\"!==Ge.state)return!1}}return!0}addSourceType(Se,Ge,mt){this._lazyInitEmptyStyle(),this.style.addSourceType(Se,Ge,mt)}removeSource(Se){return this.style.removeSource(Se),this._updateTerrain(),this._update(!0)}getSource(Se){return this.style.getSource(Se)}addImage(Ge,mt,{pixelRatio:Dt=1,sdf:Lt=!1,stretchX:Rt,stretchY:Bt,content:Ft}={}){if(this._lazyInitEmptyStyle(),mt instanceof Se.window.HTMLImageElement||Se.window.ImageBitmap&&mt instanceof Se.window.ImageBitmap){const{width:Ot,height:$t,data:Ni}=Se.exported.getImageData(mt);this.style.addImage(Ge,{data:new Se.RGBAImage({width:Ot,height:$t},Ni),pixelRatio:Dt,stretchX:Rt,stretchY:Bt,content:Ft,sdf:Lt,version:0})}else if(void 0===mt.width||void 0===mt.height)this.fire(new Se.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));else{const{width:Ot,height:$t}=mt,Ni=mt;this.style.addImage(Ge,{data:new Se.RGBAImage({width:Ot,height:$t},new Uint8Array(Ni.data)),pixelRatio:Dt,stretchX:Rt,stretchY:Bt,content:Ft,sdf:Lt,version:0,userImage:Ni}),Ni.onAdd&&Ni.onAdd(this,Ge)}}updateImage(Ge,mt){const Dt=this.style.getImage(Ge);if(!Dt)return void this.fire(new Se.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const Lt=mt instanceof Se.window.HTMLImageElement||Se.window.ImageBitmap&&mt instanceof Se.window.ImageBitmap?Se.exported.getImageData(mt):mt,{width:Rt,height:Bt}=Lt;void 0!==Rt&&void 0!==Bt?Rt===Dt.data.width&&Bt===Dt.data.height?(Dt.data.replace(Lt.data,!(mt instanceof Se.window.HTMLImageElement||Se.window.ImageBitmap&&mt instanceof Se.window.ImageBitmap)),this.style.updateImage(Ge,Dt)):this.fire(new Se.ErrorEvent(new Error(`The width and height of the updated image (${Rt}, ${Bt})\\n                must be that same as the previous version of the image\\n                (${Dt.data.width}, ${Dt.data.height})`))):this.fire(new Se.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")))}hasImage(Ge){return Ge?!!this.style.getImage(Ge):(this.fire(new Se.ErrorEvent(new Error(\"Missing required image id\"))),!1)}removeImage(Se){this.style.removeImage(Se)}loadImage(Ge,mt){Se.getImage(this._requestManager.transformRequest(Ge,Se.ResourceType.Image),((Ge,Dt)=>{mt(Ge,Dt instanceof Se.window.HTMLImageElement?Se.exported.getImageData(Dt):Dt)}))}listImages(){return this.style.listImages()}addLayer(Se,Ge){return this._lazyInitEmptyStyle(),this.style.addLayer(Se,Ge),this._update(!0)}moveLayer(Se,Ge){return this.style.moveLayer(Se,Ge),this._update(!0)}removeLayer(Se){return this.style.removeLayer(Se),this._update(!0)}getLayer(Se){return this.style.getLayer(Se)}setLayerZoomRange(Se,Ge,mt){return this.style.setLayerZoomRange(Se,Ge,mt),this._update(!0)}setFilter(Se,Ge,mt={}){return this.style.setFilter(Se,Ge,mt),this._update(!0)}getFilter(Se){return this.style.getFilter(Se)}setPaintProperty(Se,Ge,mt,Dt={}){return this.style.setPaintProperty(Se,Ge,mt,Dt),this._update(!0)}getPaintProperty(Se,Ge){return this.style.getPaintProperty(Se,Ge)}setLayoutProperty(Se,Ge,mt,Dt={}){return this.style.setLayoutProperty(Se,Ge,mt,Dt),this._update(!0)}getLayoutProperty(Se,Ge){return this.style.getLayoutProperty(Se,Ge)}setLight(Se,Ge={}){return this._lazyInitEmptyStyle(),this.style.setLight(Se,Ge),this._update(!0)}getLight(){return this.style.getLight()}setTerrain(Se){return this._lazyInitEmptyStyle(),!Se&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(Se),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(Se){return this._lazyInitEmptyStyle(),this.style.setFog(Se),this._update(!0)}getFog(){return this.style?this.style.getFog():null}_queryFogOpacity(Ge){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(Se.LngLat.convert(Ge),this.transform):0}setFeatureState(Se,Ge){return this.style.setFeatureState(Se,Ge),this._update()}removeFeatureState(Se,Ge){return this.style.removeFeatureState(Se,Ge),this._update()}getFeatureState(Se){return this.style.getFeatureState(Se)}_updateContainerDimensions(){if(!this._container)return;const Ge=this._container.getBoundingClientRect().width||400,mt=this._container.getBoundingClientRect().height||300;let Dt,Lt,Rt,Bt=this._container;for(;Bt&&(!Lt||!Rt);){const Ge=Se.window.getComputedStyle(Bt).transform;Ge&&\"none\"!==Ge&&(Dt=Ge.match(/matrix.*\\((.+)\\)/)[1].split(\", \"),Dt[0]&&\"0\"!==Dt[0]&&\"1\"!==Dt[0]&&(Lt=Dt[0]),Dt[3]&&\"0\"!==Dt[3]&&\"1\"!==Dt[3]&&(Rt=Dt[3])),Bt=Bt.parentElement}this._containerWidth=Lt?Math.abs(Ge/Lt):Ge,this._containerHeight=Rt?Math.abs(mt/Rt):mt}_detectMissingCSS(){\"rgb(250, 128, 114)\"!==Se.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\")&&Se.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/.\")}_setupContainer(){const Se=this._container;Se.classList.add(\"mapboxgl-map\"),(this._missingCSSCanary=n(\"div\",\"mapboxgl-canary\",Se)).style.visibility=\"hidden\",this._detectMissingCSS();const Ge=this._canvasContainer=n(\"div\",\"mapboxgl-canvas-container\",Se);this._interactive&&Ge.classList.add(\"mapboxgl-interactive\"),this._canvas=n(\"canvas\",\"mapboxgl-canvas\",Ge),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const mt=this._controlContainer=n(\"div\",\"mapboxgl-control-container\",Se),Dt=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((Se=>{Dt[Se]=n(\"div\",`mapboxgl-ctrl-${Se}`,mt)})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(Ge,mt){const Dt=Se.exported.devicePixelRatio||1;this._canvas.width=Dt*Math.ceil(Ge),this._canvas.height=Dt*Math.ceil(mt),this._canvas.style.width=`${Ge}px`,this._canvas.style.height=`${mt}px`}_addMarker(Se){this._markers.push(Se)}_removeMarker(Se){const Ge=this._markers.indexOf(Se);-1!==Ge&&this._markers.splice(Ge,1)}_addPopup(Se){this._popups.push(Se)}_removePopup(Se){const Ge=this._popups.indexOf(Se);-1!==Ge&&this._popups.splice(Ge,1)}_setupPainter(){const mt=Se.extend({},Ge.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),Dt=this._useWebGL2&&this._canvas.getContext(\"webgl2\",mt),Lt=Dt||this._canvas.getContext(\"webgl\",mt)||this._canvas.getContext(\"experimental-webgl\",mt);Lt?(this._useWebGL2&&!Dt&&Se.warnOnce(\"Failed to create WebGL 2 context. Using WebGL 1.\"),Se.storeAuthState(Lt,!0),this.painter=new Bo(Lt,this.transform,!!Dt),this.on(\"data\",(Se=>{\"source\"===Se.dataType&&this.painter.setTileLoadedFlag(!0)})),Se.exported$1.testSupport(Lt)):this.fire(new Se.ErrorEvent(new Error(\"Failed to initialize WebGL\")))}_contextLost(Ge){Ge.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new Se.Event(\"webglcontextlost\",{originalEvent:Ge}))}_contextRestored(Ge){this._setupPainter(),this.resize(),this._update(),this.fire(new Se.Event(\"webglcontextrestored\",{originalEvent:Ge}))}_onMapScroll(Se){if(Se.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(Se){return this.style?(this._styleDirty=this._styleDirty||Se,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(Se){return this._update(),this._renderTaskQueue.add(Se)}_cancelRenderFrame(Se){this._renderTaskQueue.remove(Se)}_requestDomTask(Se){!this.loaded()||this.loaded()&&!this.isMoving()?Se():this._domRenderTaskQueue.add(Se)}_render(Ge){let mt;const Dt=this.painter.context.extTimerQuery,Lt=Se.exported.now();if(this.listens(\"gpu-timing-frame\")&&(mt=Dt.createQueryEXT(),Dt.beginQueryEXT(Dt.TIME_ELAPSED_EXT,mt)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],Se.window.performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],Se.window.performance.now())),this._renderTaskQueue.run(Ge),this._domRenderTaskQueue.run(Ge),this._removed)return;this._updateProjectionTransition();const Rt=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const Ge=this.transform.zoom,mt=this.transform.pitch,Dt=Se.exported.now(),Lt=new Se.EvaluationParameters(Ge,{now:Dt,fadeDuration:Rt,pitch:mt,transition:this.style.getTransition()});this.style.update(Lt)}this.style&&this.style.fog&&this.style.fog.hasTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let Bt=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),Bt=this._updateAverageElevation(Lt),this.style._updateSources(this.transform),this._forceMarkerAndPopupUpdate()):Bt=this._updateAverageElevation(Lt),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,Rt,this._crossSourceCollisions),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showTerrainWireframe:this.showTerrainWireframe,showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:Rt,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\"),gpuTimingDeferredRender:!!this.listens(\"gpu-timing-deferred-render\"),speedIndexTiming:this.speedIndexTiming}),this.fire(new Se.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new Se.Event(\"load\"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),mt){const Ge=Se.exported.now()-Lt;Dt.endQueryEXT(Dt.TIME_ELAPSED_EXT,mt),setTimeout((()=>{const Rt=Dt.getQueryObjectEXT(mt,Dt.QUERY_RESULT_EXT)/1e6;Dt.deleteQueryEXT(mt),this.fire(new Se.Event(\"gpu-timing-frame\",{cpuTime:Ge,gpuTime:Rt})),Se.window.performance.mark(\"frame-gpu\",{startTime:Lt,detail:{gpuTime:Rt}})}),50)}if(this.listens(\"gpu-timing-layer\")){const Ge=this.painter.collectGpuTimers();setTimeout((()=>{const mt=this.painter.queryGpuTimers(Ge);this.fire(new Se.Event(\"gpu-timing-layer\",{layerTimes:mt}))}),50)}if(this.listens(\"gpu-timing-deferred-render\")){const Ge=this.painter.collectDeferredRenderGpuQueries();setTimeout((()=>{const mt=this.painter.queryGpuTimeDeferredRender(Ge);this.fire(new Se.Event(\"gpu-timing-deferred-render\",{gpuTime:mt}))}),50)}const Ft=this._sourcesDirty||this._styleDirty||this._placementDirty||Bt;if(Ft||this._repaint)this.triggerRepaint();else{const Ge=!this.isMoving()&&this.loaded();if(Ge&&(Bt=this._updateAverageElevation(Lt,!0)),Bt)this.triggerRepaint();else if(this._triggerFrame(!1),Ge&&(this.fire(new Se.Event(\"idle\")),this._isInitialLoad=!1,this.speedIndexTiming)){const Ge=this._calculateSpeedIndex();this.fire(new Se.Event(\"speedindexcompleted\",{speedIndex:Ge})),this.speedIndexTiming=!1}}!this._loaded||this._fullyLoaded||Ft||(this._fullyLoaded=!0,Se.LivePerformanceUtils.mark(Se.PerformanceMarkers.fullLoad),this._performanceMetricsCollection&&Se.postPerformanceEvent(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate())}_forceMarkerAndPopupUpdate(Se){for(const Ge of this._markers)Se&&!this.getRenderWorldCopies()&&(Ge._lngLat=Ge._lngLat.wrap()),Ge._update();for(const Ge of this._popups)!Se||this.getRenderWorldCopies()||Ge._trackPointer||(Ge._lngLat=Ge._lngLat.wrap()),Ge._update()}_updateAverageElevation(Se,Ge=!1){const i=Se=>(this.transform.averageElevation=Se,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return 0!==this.transform.averageElevation&&i(0);if((Ge||Se-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(Se)){const Ge=this.transform.averageElevation;let mt=this.transform.sampleAverageElevation(),Dt=!1;this.transform.elevation&&(Dt=this.transform.elevation.exaggeration()!==this._averageElevationExaggeration,this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(mt)?mt=0:this._averageElevationLastSampledAt=Se;const Lt=Math.abs(Ge-mt);if(Lt>1){if(this._isInitialLoad||Dt)return this._averageElevation.jumpTo(mt),i(mt);this._averageElevation.easeTo(mt,Se,300)}else if(Lt>1e-4)return this._averageElevation.jumpTo(mt),i(mt)}return!!this._averageElevation.isEasing(Se)&&i(this._averageElevation.getValue(Se))}_authenticate(){Se.getMapSessionAPI(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(Ge=>{if(Ge&&(Ge.message===Se.AUTH_ERR_MSG||401===Ge.status)){const Ge=this.painter.context.gl;Se.storeAuthState(Ge,!1),this._logoControl instanceof Yr&&this._logoControl._updateLogo(),Ge&&Ge.clear(Ge.DEPTH_BUFFER_BIT|Ge.COLOR_BUFFER_BIT|Ge.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new Se.ErrorEvent(new Error(\"A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/\")))}})),Se.postMapLoadEvent(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(()=>{}))}_updateTerrain(){const Se=this._isDragging();this.painter.updateTerrain(this.style,Se)}_calculateSpeedIndex(){const Se=this.painter.canvasCopy(),Ge=this.painter.getCanvasCopiesAndTimestamps();Ge.timeStamps.push(performance.now());const mt=this.painter.context.gl,Dt=mt.createFramebuffer();function r(Se){mt.framebufferTexture2D(mt.FRAMEBUFFER,mt.COLOR_ATTACHMENT0,mt.TEXTURE_2D,Se,0);const Ge=new Uint8Array(mt.drawingBufferWidth*mt.drawingBufferHeight*4);return mt.readPixels(0,0,mt.drawingBufferWidth,mt.drawingBufferHeight,mt.RGBA,mt.UNSIGNED_BYTE,Ge),Ge}return mt.bindFramebuffer(mt.FRAMEBUFFER,Dt),this._canvasPixelComparison(r(Se),Ge.canvasCopies.map(r),Ge.timeStamps)}_canvasPixelComparison(Se,Ge,mt){let Dt=mt[1]-mt[0];const Lt=Se.length/4;for(let Rt=0;Rt<Ge.length;Rt++){const Bt=Ge[Rt];let Ft=0;for(let Ge=0;Ge<Bt.length;Ge+=4)Bt[Ge]===Se[Ge]&&Bt[Ge+1]===Se[Ge+1]&&Bt[Ge+2]===Se[Ge+2]&&Bt[Ge+3]===Se[Ge+3]&&(Ft+=1);Dt+=(mt[Rt+2]-mt[Rt+1])*(1-Ft/Lt)}return Dt}remove(){this._hash&&this._hash.remove();for(const Se of this._controls)Se.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this._domRenderTaskQueue.clear(),this.style&&this.style.destroy(),this.painter.destroy(),this.handlers&&this.handlers.destroy(),this.handlers=void 0,this.setStyle(null),void 0!==Se.window&&(Se.window.removeEventListener(\"resize\",this._onWindowResize,!1),Se.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),Se.window.removeEventListener(\"webkitfullscreenchange\",this._onWindowResize,!1),Se.window.removeEventListener(\"online\",this._onWindowOnline,!1),Se.window.removeEventListener(\"visibilitychange\",this._onVisibilityChange,!1));const Ge=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");Ge&&Ge.loseContext(),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvasContainer.remove(),this._controlContainer.remove(),this._missingCSSCanary.remove(),this._canvas=void 0,this._canvasContainer=void 0,this._controlContainer=void 0,this._missingCSSCanary=void 0,this._container.classList.remove(\"mapboxgl-map\"),this._container.removeEventListener(\"scroll\",this._onMapScroll,!1),Se.removeAuthState(this.painter.context.gl),this._removed=!0,this.fire(new Se.Event(\"remove\"))}triggerRepaint(){this._triggerFrame(!0)}_triggerFrame(Ge){this._renderNextFrame=this._renderNextFrame||Ge,this.style&&!this._frame&&(this._frame=Se.exported.frame((Se=>{const Ge=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,Ge&&this._render(Se)})))}_preloadTiles(Ge){const mt=this.style?Object.values(this.style._sourceCaches):[];return Se.asyncAll(mt,((Se,mt)=>Se._preloadTiles(Ge,mt)),(()=>{this.triggerRepaint()})),this}_onWindowOnline(){this._update()}_onWindowResize(Se){this._trackResize&&this.resize({originalEvent:Se})._update()}_onVisibilityChange(){\"hidden\"===Se.window.document.visibilityState&&this._visibilityHidden++}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(Se){this._showTileBoundaries!==Se&&(this._showTileBoundaries=Se,this._update())}get showTerrainWireframe(){return!!this._showTerrainWireframe}set showTerrainWireframe(Se){this._showTerrainWireframe!==Se&&(this._showTerrainWireframe=Se,this._update())}get speedIndexTiming(){return!!this._speedIndexTiming}set speedIndexTiming(Se){this._speedIndexTiming!==Se&&(this._speedIndexTiming=Se,this._update())}get showPadding(){return!!this._showPadding}set showPadding(Se){this._showPadding!==Se&&(this._showPadding=Se,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(Se){this._showCollisionBoxes!==Se&&(this._showCollisionBoxes=Se,Se?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(Se){this._showOverdrawInspector!==Se&&(this._showOverdrawInspector=Se,this._update())}get repaint(){return!!this._repaint}set repaint(Se){this._repaint!==Se&&(this._repaint=Se,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(Se){this._vertices=Se,this._update()}get showTileAABBs(){return!!this._showTileAABBs}set showTileAABBs(Se){this._showTileAABBs!==Se&&(this._showTileAABBs=Se,Se&&this._update())}_setCacheLimits(Ge,mt){Se.setCacheLimits(Ge,mt)}get version(){return Se.version}},NavigationControl:class{constructor(Ge){this.options=Se.extend({},Cc,Ge),this._container=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(Se=>Se.preventDefault())),this.options.showZoom&&(Se.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",(Se=>{this._map&&this._map.zoomIn({},{originalEvent:Se})})),n(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",(Se=>{this._map&&this._map.zoomOut({},{originalEvent:Se})})),n(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(Se.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",(Se=>{const Ge=this._map;Ge&&(this.options.visualizePitch?Ge.resetNorthPitch({},{originalEvent:Se}):Ge.resetNorth({},{originalEvent:Se}))})),this._compassIcon=n(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}_updateZoomButtons(){const Se=this._map;if(!Se)return;const Ge=Se.getZoom(),mt=Ge===Se.getMaxZoom(),Dt=Ge===Se.getMinZoom();this._zoomInButton.disabled=mt,this._zoomOutButton.disabled=Dt,this._zoomInButton.setAttribute(\"aria-disabled\",mt.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Dt.toString())}_rotateCompassArrow(){const Se=this._map;if(!Se)return;const Ge=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(Se.transform.pitch*(Math.PI/180)),.5)}) rotateX(${Se.transform.pitch}deg) rotateZ(${Se.transform.angle*(180/Math.PI)}deg)`:`rotate(${Se.transform.angle*(180/Math.PI)}deg)`;Se._requestDomTask((()=>{this._compassIcon&&(this._compassIcon.style.transform=Ge)}))}onAdd(Se){return this._map=Se,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),Se.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&Se.on(\"pitch\",this._rotateCompassArrow),Se.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new cn(Se,this._compass,this.options.visualizePitch)),this._container}onRemove(){const Se=this._map;Se&&(this._container.remove(),this.options.showZoom&&Se.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&Se.off(\"pitch\",this._rotateCompassArrow),Se.off(\"rotate\",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0)}_createButton(Se,Ge){const mt=n(\"button\",Se,this._container);return mt.type=\"button\",mt.addEventListener(\"click\",Ge),mt}_setButtonTitle(Se,Ge){if(!this._map)return;const mt=this._map._getUIString(`NavigationControl.${Ge}`);Se.setAttribute(\"aria-label\",mt),Se.firstElementChild&&Se.firstElementChild.setAttribute(\"title\",mt)}},GeolocateControl:class extends Se.Evented{constructor(Ge){super(),this.options=Se.extend({geolocation:Se.window.navigator.geolocation},zc,Ge),Se.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\",\"_updateMarkerRotation\",\"_onDeviceOrientation\"],this),this._updateMarkerRotationThrottled=Yo(this._updateMarkerRotation,20),this._numberOfWatches=0}onAdd(Se){return this._map=Se,this._container=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){void 0!==this._geolocationWatchID&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off(\"zoom\",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1}_checkGeolocationSupport(Ge){const i=(Se=!!this.options.geolocation)=>{this._supportsGeolocation=Se,Ge(Se)};void 0!==this._supportsGeolocation?Ge(this._supportsGeolocation):void 0!==Se.window.navigator.permissions?Se.window.navigator.permissions.query({name:\"geolocation\"}).then((Se=>i(\"denied\"!==Se.state))).catch((()=>i())):i()}_isOutOfMapMaxBounds(Se){const Ge=this._map.getMaxBounds(),mt=Se.coords;return!!Ge&&(mt.longitude<Ge.getWest()||mt.longitude>Ge.getEast()||mt.latitude<Ge.getSouth()||mt.latitude>Ge.getNorth())}_setErrorState(){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\")}}_onSuccess(Ge){if(this._map){if(this._isOutOfMapMaxBounds(Ge))return this._setErrorState(),this.fire(new Se.Event(\"outofmaxbounds\",Ge)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=Ge,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(Ge),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(Ge),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new Se.Event(\"geolocate\",Ge)),this._finish()}}_updateCamera(Ge){const mt=new Se.LngLat(Ge.coords.longitude,Ge.coords.latitude),Dt=Ge.coords.accuracy,Lt=this._map.getBearing(),Rt=Se.extend({bearing:Lt},this.options.fitBoundsOptions);this._map.fitBounds(mt.toBounds(Dt),Rt,{geolocateSource:!0})}_updateMarker(Ge){if(Ge){const mt=new Se.LngLat(Ge.coords.longitude,Ge.coords.latitude);this._accuracyCircleMarker.setLngLat(mt).addTo(this._map),this._userLocationDotMarker.setLngLat(mt).addTo(this._map),this._accuracy=Ge.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const Ge=this._map.transform,mt=Se.mercatorZfromAltitude(1,Ge._center.lat)*Ge.worldSize,Dt=Math.ceil(2*this._accuracy*mt);this._circleElement.style.width=`${Dt}px`,this._circleElement.style.height=`${Dt}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_updateMarkerRotation(){this._userLocationDotMarker&&\"number\"==typeof this._heading?(this._userLocationDotMarker.setRotation(this._heading),this._dotElement.classList.add(\"mapboxgl-user-location-show-heading\")):(this._dotElement.classList.remove(\"mapboxgl-user-location-show-heading\"),this._userLocationDotMarker.setRotation(0))}_onError(Ge){if(this._map){if(this.options.trackUserLocation)if(1===Ge.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;const Se=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.setAttribute(\"aria-label\",Se),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute(\"title\",Se),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===Ge.code&&this._noTimeout)return;this._setErrorState()}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new Se.Event(\"error\",Ge)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(Ge){if(void 0!==this._map){if(this._container.addEventListener(\"contextmenu\",(Se=>Se.preventDefault())),this._geolocateButton=n(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),n(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",!1===Ge){Se.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const Ge=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute(\"aria-label\",Ge),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute(\"title\",Ge)}else{const Se=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.setAttribute(\"aria-label\",Se),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute(\"title\",Se)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=n(\"div\",\"mapboxgl-user-location\"),this._dotElement.appendChild(n(\"div\",\"mapboxgl-user-location-dot\")),this._dotElement.appendChild(n(\"div\",\"mapboxgl-user-location-heading\")),this._userLocationDotMarker=new en({element:this._dotElement,rotationAlignment:\"map\",pitchAlignment:\"map\"}),this._circleElement=n(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new en({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(Ge=>{Ge.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||Ge.originalEvent&&\"resize\"===Ge.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this.fire(new Se.Event(\"trackuserlocationend\")))}))}}_onDeviceOrientation(Se){this._userLocationDotMarker&&(Se.webkitCompassHeading?this._heading=Se.webkitCompassHeading:!0===Se.absolute&&(this._heading=-1*Se.alpha),this._updateMarkerRotationThrottled())}trigger(){if(!this._setup)return Se.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 Se.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":this._numberOfWatches--,this._noTimeout=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new Se.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 Se.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let Se;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),this._numberOfWatches++,this._numberOfWatches>1?(Se={maximumAge:6e5,timeout:0},this._noTimeout=!0):(Se=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,Se),this.options.showUserHeading&&this._addDeviceOrientationListener()}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_addDeviceOrientationListener(){const t=()=>{Se.window.addEventListener(\"ondeviceorientationabsolute\"in Se.window?\"deviceorientationabsolute\":\"deviceorientation\",this._onDeviceOrientation)};void 0!==Se.window.DeviceMotionEvent&&\"function\"==typeof Se.window.DeviceMotionEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((Se=>{\"granted\"===Se&&t()})).catch(console.error):t()}_clearWatch(){this.options.geolocation.clearWatch(this._geolocationWatchID),Se.window.removeEventListener(\"deviceorientation\",this._onDeviceOrientation),Se.window.removeEventListener(\"deviceorientationabsolute\",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Hr,ScaleControl:class{constructor(Ge){this.options=Se.extend({},Pc,Ge),this._isNumberFormatSupported=function(){try{return new Intl.NumberFormat(\"en\",{style:\"unit\",unitDisplay:\"short\",unit:\"meter\"}),!0}catch(Se){return!1}}(),Se.bindAll([\"_update\",\"_setScale\",\"setUnit\"],this)}getDefaultPosition(){return\"bottom-left\"}_update(){const Se=this.options.maxWidth||100,Ge=this._map,mt=Ge._containerHeight/2,Dt=Ge._containerWidth/2-Se/2,Lt=Ge.unproject([Dt,mt]),Rt=Ge.unproject([Dt+Se,mt]),Bt=Lt.distanceTo(Rt);if(\"imperial\"===this.options.unit){const Ge=3.2808*Bt;Ge>5280?this._setScale(Se,Ge/5280,\"mile\"):this._setScale(Se,Ge,\"foot\")}else\"nautical\"===this.options.unit?this._setScale(Se,Bt/1852,\"nautical-mile\"):Bt>=1e3?this._setScale(Se,Bt/1e3,\"kilometer\"):this._setScale(Se,Bt,\"meter\")}_setScale(Se,Ge,mt){this._map._requestDomTask((()=>{const Dt=function(Se){const Ge=Math.pow(10,`${Math.floor(Se)}`.length-1);let mt=Se/Ge;return mt=mt>=10?10:mt>=5?5:mt>=3?3:mt>=2?2:mt>=1?1:function(Se){const Ge=Math.pow(10,Math.ceil(-Math.log(Se)/Math.LN10));return Math.round(Se*Ge)/Ge}(mt),Ge*mt}(Ge),Lt=Dt/Ge;this._container.innerHTML=this._isNumberFormatSupported&&\"nautical-mile\"!==mt?new Intl.NumberFormat(this._language,{style:\"unit\",unitDisplay:\"short\",unit:mt}).format(Dt):`${Dt}&nbsp;${Dc[mt]}`,this._container.style.width=Se*Lt+\"px\"}))}onAdd(Se){return this._map=Se,this._language=Se.getLanguage(),this._container=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",Se.getContainer()),this._container.dir=\"auto\",this._map.on(\"move\",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off(\"move\",this._update),this._map=void 0}_setLanguage(Se){this._language=Se,this._update()}setUnit(Se){this.options.unit=Se,this._update()}},FullscreenControl:class{constructor(Ge){this._fullscreen=!1,Ge&&Ge.container&&(Ge.container instanceof Se.window.HTMLElement?this._container=Ge.container:Se.warnOnce(\"Full screen control 'container' must be a DOM element.\")),Se.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in Se.window.document?this._fullscreenchange=\"fullscreenchange\":\"onwebkitfullscreenchange\"in Se.window.document&&(this._fullscreenchange=\"webkitfullscreenchange\")}onAdd(Ge){return this._map=Ge,this._container||(this._container=this._map.getContainer()),this._controlContainer=n(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",Se.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,Se.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!(!Se.window.document.fullscreenEnabled&&!Se.window.document.webkitFullscreenEnabled)}_setupUI(){const Ge=this._fullscreenButton=n(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);n(\"span\",\"mapboxgl-ctrl-icon\",Ge).setAttribute(\"aria-hidden\",\"true\"),Ge.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),Se.window.document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const Se=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",Se),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute(\"title\",Se)}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_changeIcon(){(Se.window.document.fullscreenElement||Se.window.document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?Se.window.document.exitFullscreen?Se.window.document.exitFullscreen():Se.window.document.webkitCancelFullScreen&&Se.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},Popup:class extends Se.Evented{constructor(Ge){super(),this.options=Se.extend(Object.create(Hl),Ge),Se.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseEvent\"],this),this._classList=new Set(Ge&&Ge.className?Ge.className.trim().split(/\\s+/):[])}addTo(Ge){return this._map&&this.remove(),this._map=Ge,this.options.closeOnClick&&Ge.on(\"preclick\",this._onClose),this.options.closeOnMove&&Ge.on(\"move\",this._onClose),Ge.on(\"remove\",this.remove),this._update(),Ge._addPopup(this),this._focusFirstElement(),this._trackPointer?(Ge.on(\"mousemove\",this._onMouseEvent),Ge.on(\"mouseup\",this._onMouseEvent),Ge._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):Ge.on(\"move\",this._update),this.fire(new Se.Event(\"open\")),this}isOpen(){return!!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const Ge=this._map;return Ge&&(Ge.off(\"move\",this._update),Ge.off(\"move\",this._onClose),Ge.off(\"preclick\",this._onClose),Ge.off(\"click\",this._onClose),Ge.off(\"remove\",this.remove),Ge.off(\"mousemove\",this._onMouseEvent),Ge.off(\"mouseup\",this._onMouseEvent),Ge.off(\"drag\",this._onMouseEvent),Ge._canvasContainer&&Ge._canvasContainer.classList.remove(\"mapboxgl-track-pointer\"),Ge._removePopup(this),this._map=void 0),this.fire(new Se.Event(\"close\")),this}getLngLat(){return this._lngLat}setLngLat(Ge){this._lngLat=Se.LngLat.convert(Ge),this._pos=null,this._trackPointer=!1,this._update();const mt=this._map;return mt&&(mt.on(\"move\",this._update),mt.off(\"mousemove\",this._onMouseEvent),mt._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const Se=this._map;return Se&&(Se.off(\"move\",this._update),Se.on(\"mousemove\",this._onMouseEvent),Se.on(\"drag\",this._onMouseEvent),Se._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this}getElement(){return this._container}setText(Ge){return this.setDOMContent(Se.window.document.createTextNode(Ge))}setHTML(Ge){const mt=Se.window.document.createDocumentFragment(),Dt=Se.window.document.createElement(\"body\");let Lt;for(Dt.innerHTML=Ge;Lt=Dt.firstChild,Lt;)mt.appendChild(Lt);return this.setDOMContent(mt)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(Se){return this.options.maxWidth=Se,this._update(),this}setDOMContent(Se){let Ge=this._content;if(Ge)for(;Ge.hasChildNodes();)Ge.firstChild&&Ge.removeChild(Ge.firstChild);else Ge=this._content=n(\"div\",\"mapboxgl-popup-content\",this._container||void 0);if(Ge.appendChild(Se),this.options.closeButton){const Se=this._closeButton=n(\"button\",\"mapboxgl-popup-close-button\",Ge);Se.type=\"button\",Se.setAttribute(\"aria-label\",\"Close popup\"),Se.setAttribute(\"aria-hidden\",\"true\"),Se.innerHTML=\"&#215;\",Se.addEventListener(\"click\",this._onClose)}return this._update(),this._focusFirstElement(),this}addClassName(Se){return this._classList.add(Se),this._updateClassList(),this}removeClassName(Se){return this._classList.delete(Se),this._updateClassList(),this}setOffset(Se){return this.options.offset=Se,this._update(),this}toggleClassName(Se){let Ge;return this._classList.delete(Se)?Ge=!1:(this._classList.add(Se),Ge=!0),this._updateClassList(),Ge}_onMouseEvent(Se){this._update(Se.point)}_getAnchor(Se){if(this.options.anchor)return this.options.anchor;const Ge=this._map,mt=this._container,Dt=this._pos;if(!Ge||!mt||!Dt)return\"bottom\";const Lt=mt.offsetWidth,Rt=mt.offsetHeight,Bt=Dt.x<Lt/2,Ft=Dt.x>Ge.transform.width-Lt/2;if(Dt.y+Se<Rt)return Bt?\"top-left\":Ft?\"top-right\":\"top\";if(Dt.y>Ge.transform.height-Rt){if(Bt)return\"bottom-left\";if(Ft)return\"bottom-right\"}return Bt?\"left\":Ft?\"right\":\"bottom\"}_updateClassList(){const Se=this._container;if(!Se)return;const Ge=[...this._classList];Ge.push(\"mapboxgl-popup\"),this._anchor&&Ge.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&Ge.push(\"mapboxgl-popup-track-pointer\"),Se.className=Ge.join(\" \")}_update(Ge){const mt=this._map,Dt=this._content;if(!mt||!this._lngLat&&!this._trackPointer||!Dt)return;let Lt=this._container;if(Lt||(Lt=this._container=n(\"div\",\"mapboxgl-popup\",mt.getContainer()),this._tip=n(\"div\",\"mapboxgl-popup-tip\",Lt),Lt.appendChild(Dt)),this.options.maxWidth&&Lt.style.maxWidth!==this.options.maxWidth&&(Lt.style.maxWidth=this.options.maxWidth),mt.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Jr(this._lngLat,this._pos,mt.transform)),!this._trackPointer||Ge){const Se=this._pos=this._trackPointer&&Ge?Ge:mt.project(this._lngLat),Dt=rn(this.options.offset),Lt=this._anchor=this._getAnchor(Dt.y),Rt=rn(this.options.offset,Lt),Bt=Se.add(Rt).round();mt._requestDomTask((()=>{this._container&&Lt&&(this._container.style.transform=`${$l[Lt]} translate(${Bt.x}px,${Bt.y}px)`)}))}if(!this._marker&&mt._showingGlobe()){const Ge=Se.isLngLatBehindGlobe(mt.transform,this._lngLat)?0:1;this._setOpacity(Ge)}this._updateClassList()}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const Se=this._container.querySelector(xc);Se&&Se.focus()}_onClose(){this.remove()}_setOpacity(Se){this._container&&(this._container.style.opacity=`${Se}`),this._content&&(this._content.style.pointerEvents=Se?\"auto\":\"none\")}},Marker:en,Style:Kt,LngLat:Se.LngLat,LngLatBounds:Se.LngLatBounds,Point:Se.Point,MercatorCoordinate:Se.MercatorCoordinate,FreeCameraOptions:jo,Evented:Se.Evented,config:Se.config,prewarm:function(){Ue().acquire(Qr)},clearPrewarmedResources:function(){const Se=an;Se&&(Se.isPreloaded()&&1===Se.numActive()?(Se.release(Qr),an=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},get accessToken(){return Se.config.ACCESS_TOKEN},set accessToken(Ge){Se.config.ACCESS_TOKEN=Ge},get baseApiUrl(){return Se.config.API_URL},set baseApiUrl(Ge){Se.config.API_URL=Ge},get workerCount(){return ke.workerCount},set workerCount(Se){ke.workerCount=Se},get maxParallelImageRequests(){return Se.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Ge){Se.config.MAX_PARALLEL_IMAGE_REQUESTS=Ge},clearStorage(Ge){Se.clearTileCache(Ge)},workerUrl:\"\",workerClass:null,setNow:Se.exported.setNow,restoreNow:Se.exported.restoreNow};return Lc}));var Rt=Lt;return Rt}));var Lt=mt;export{Lt as default};\n\n//# sourceMappingURL=mapbox-gl.js.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useEffect,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import mapboxgl from\"mapbox-gl\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *//**\n * @framerIntrinsicHeight 600\n * @framerIntrinsicWidth 600\n */function Map(props){const mapContainerRef=useRef(null);const mapRef=useRef(null);const[hasReactMapboxGlScriptLoaded,setHasReactMapboxGlScriptLoaded]=useState(false);const geocoderRef=useRef(null);const directionsRef=useRef(null);const observerRef=useRef(null);const[hasDirectionsLoaded,setHasDirectionsLoaded]=useState(false);const[hasGeocoderLoaded,setHasGeocoderLoaded]=useState(false);const[directionsButtonAdded,setDirectionsButtonAdded]=useState(false);const[directionsAdded,setDirectionsAdded]=useState(false);const[geolocateControlAdded,setGeolocateControlAdded]=useState(false);const[fullscreenControlAdded,setFullscreenControlAdded]=useState(false);const[geocoderControlAdded,setGeocoderControlAdded]=useState(false);const[directionsVisible1,setDirectionsVisible1]=useState(false);const styles={streets:\"mapbox://styles/mapbox/streets-v11\",outdoors:\"mapbox://styles/mapbox/outdoors-v11\",light:\"mapbox://styles/mapbox/light-v10\",dark:\"mapbox://styles/mapbox/dark-v10\",satellite:\"mapbox://styles/mapbox/satellite-v9\",satelliteStreets:\"mapbox://styles/mapbox/satellite-streets-v11\"};const handleLocationSelect=location=>{if(mapRef.current){mapRef.current.flyTo({center:location.coordinates,zoom:14,essential:true});}console.log(\"Selected Location:\",location);};const setObserver=()=>{const observer=new MutationObserver(()=>{const geocoderContainerElement=geocoderRef.current?.container;const geocoderInputElement=geocoderRef.current?._inputEl;const directionsContainerElement=directionsRef.current?.container;if(geocoderInputElement){geocoderInputElement.style.padding=\"6px 35px\";if(props.geocoderBorder.borderWidth&&props.geocoderBorder.borderWidth!==0){geocoderContainerElement.style.border=`${props.geocoderBorder.borderWidth}px ${props.geocoderBorder.borderStyle} ${props.geocoderBorder.borderColor}`;}else if(props.geocoderBorder.borderWidth!==0){geocoderContainerElement.style.borderStyle=`${props.geocoderBorder.borderStyle}`;geocoderContainerElement.style.borderColor=`${props.geocoderBorder.borderColor}`;geocoderContainerElement.style.borderLeftWidth=`${props.geocoderBorder.borderLeftWidth}px`;geocoderContainerElement.style.borderTopWidth=`${props.geocoderBorder.borderTopWidth}px`;geocoderContainerElement.style.borderRightWidth=`${props.geocoderBorder.borderRightWidth}px`;geocoderContainerElement.style.borderBottomWidth=`${props.geocoderBorder.borderBottomWidth}px`;}geocoderContainerElement.style.width=`${props.geocoderWidth}px`;geocoderContainerElement.style.borderRadius=props.geocoderBorderRadius;}if(directionsContainerElement){directionsContainerElement.style.width=\"400px\";}observer.disconnect();});observer.observe(document.body,{childList:true,subtree:true});};//connecting plugin scripts and their styles\nuseEffect(()=>{const link=document.createElement(\"link\");link.href=\"https://api.mapbox.com/mapbox-gl-js/v3.7.0/mapbox-gl.css\";link.rel=\"stylesheet\";document.head.appendChild(link);const reactMapboxGlScript=document.createElement(\"script\");reactMapboxGlScript.type=\"module\";reactMapboxGlScript.textContent=\"import reactMapboxGl from 'https://cdn.jsdelivr.net/npm/react-mapbox-gl@5.1.1/+esm'; window.reactMapboxGl = reactMapboxGl; console.log(reactMapboxGl)\";reactMapboxGlScript.onload=()=>setHasReactMapboxGlScriptLoaded(true);document.body.appendChild(reactMapboxGlScript);const directionsLink=document.createElement(\"link\");directionsLink.rel=\"stylesheet\";document.head.appendChild(directionsLink);const directionsScript=document.createElement(\"script\");directionsScript.src=\"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-directions/v4.3.1/mapbox-gl-directions.js\";directionsScript.async=true;directionsScript.onload=()=>setHasDirectionsLoaded(true);document.body.appendChild(directionsScript);const geocoderLink=document.createElement(\"link\");geocoderLink.href=\"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.3/mapbox-gl-geocoder.css\";geocoderLink.rel=\"stylesheet\";document.head.appendChild(geocoderLink);const geocoderScript=document.createElement(\"script\");geocoderScript.src=\"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v5.0.3/mapbox-gl-geocoder.min.js\";geocoderScript.async=true;geocoderScript.onload=()=>setHasGeocoderLoaded(true);document.body.appendChild(geocoderScript);return()=>{if(document.head.contains(link))document.head.removeChild(link);if(document.head.contains(directionsLink))document.head.removeChild(directionsLink);if(document.head.contains(geocoderLink))document.head.removeChild(geocoderLink);if(document.body.contains(directionsScript))document.body.removeChild(directionsScript);if(document.body.contains(geocoderScript))document.body.removeChild(geocoderScript);if(document.body.contains(reactMapboxGlScript))document.body.removeChild(reactMapboxGlScript);};},[]);useEffect(()=>{if(!mapContainerRef.current||!props.accessToken)return;mapboxgl.accessToken=props.accessToken;mapRef.current=new mapboxgl.Map({container:mapContainerRef.current,style:styles[props.mapStyle],center:[props.centerLon,props.centerLat],zoom:props.zoom});mapRef.current.addControl(new mapboxgl.NavigationControl,\"top-right\");return()=>{if(mapRef.current){mapRef.current.remove();}};},[props.accessToken]);useEffect(()=>{if(mapRef.current){mapRef.current.setStyle(styles[props.mapStyle]);}},[props.mapStyle]);useEffect(()=>{if(mapRef.current){mapRef.current.setCenter([props.centerLon,props.centerLat]);}},[props.centerLon,props.centerLat]);useEffect(()=>{if(mapRef.current){mapRef.current.setZoom(props.zoom);}},[props.zoom]);useEffect(()=>{if(!mapRef.current)return;const fullscreen=new mapboxgl.FullscreenControl;if(props.showFullscreen&&!fullscreenControlAdded){setFullscreenControlAdded(true);mapRef.current.addControl(fullscreen,\"bottom-right\");}else if(!props.showFullscreen&&fullscreenControlAdded){mapRef.current.removeControl(fullscreen);setFullscreenControlAdded(false);}},[props.showFullscreen,fullscreenControlAdded]);useEffect(()=>{if(!mapRef.current)return;const geolocateControl=new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:true},trackUserLocation:true,showUserHeading:true});if(props.showGeolocateControl&&!geolocateControlAdded){setGeolocateControlAdded(true);mapRef.current.addControl(geolocateControl,\"top-right\");}else if(!props.showGeolocateControl&&geolocateControlAdded){mapRef.current.removeControl(geolocateControl);setGeolocateControlAdded(false);}},[props.showGeolocateControl,geolocateControlAdded]);//Creating and adding a Geocoder\nuseEffect(()=>{if(!mapRef.current||!hasGeocoderLoaded)return;let geocoder=new MapboxGeocoder({accessToken:mapboxgl.accessToken,mapboxgl:mapboxgl,language:\"en\",marker:false});geocoderRef.current=geocoder;setObserver();if(props.showGeocoder&&!geocoderControlAdded){mapRef.current.addControl(geocoder,props.geocoderPosition);setGeocoderControlAdded(true);}else if(!props.showGeocoder&&geocoderControlAdded){mapRef.current.removeControl(geocoder);setGeocoderControlAdded(false);}},[props.showGeocoder,hasGeocoderLoaded,geocoderControlAdded]);useEffect(()=>{if(mapRef.current&&geocoderRef.current){const map=mapRef.current;const geocoder=geocoderRef.current;map.removeControl(geocoder);map.addControl(geocoder,props.geocoderPosition);setObserver();}},[props.geocoderPosition]);useEffect(()=>{if(mapRef.current&&geocoderRef.current){const geocoderContainerElement=geocoderRef.current.container;if(props.geocoderBorder.borderWidth&&props.geocoderBorder.borderWidth!==0){geocoderContainerElement.style.border=`${props.geocoderBorder.borderWidth}px ${props.geocoderBorder.borderStyle} ${props.geocoderBorder.borderColor}`;}else if(props.geocoderBorder.borderWidth!==0){geocoderContainerElement.style.borderStyle=`${props.geocoderBorder.borderStyle}`;geocoderContainerElement.style.borderColor=`${props.geocoderBorder.borderColor}`;geocoderContainerElement.style.borderLeftWidth=`${props.geocoderBorder.borderLeftWidth}px`;geocoderContainerElement.style.borderTopWidth=`${props.geocoderBorder.borderTopWidth}px`;geocoderContainerElement.style.borderRightWidth=`${props.geocoderBorder.borderRightWidth}px`;geocoderContainerElement.style.borderBottomWidth=`${props.geocoderBorder.borderBottomWidth}px`;}}},[props.geocoderBorder]);useEffect(()=>{if(mapRef.current&&geocoderRef.current){const geocoderContainerElement=geocoderRef.current.container;geocoderContainerElement.style.borderRadius=props.geocoderBorderRadius;}},[props.geocoderBorderRadius]);useEffect(()=>{if(mapRef.current&&geocoderRef.current){const geocoderContainerElement=geocoderRef.current.container;geocoderContainerElement.style.width=`${props.geocoderWidth}px`;}},[props.geocoderWidth]);useEffect(()=>{const resizeObserver=new ResizeObserver(()=>{if(mapRef.current){mapRef.current.resize();}});if(mapContainerRef.current){resizeObserver.observe(mapContainerRef.current);}return()=>{resizeObserver.disconnect();};},[]);// Function to add markers to the map\nconst addMarkers=()=>{if(mapRef.current&&props.markers){props.markers.forEach(marker=>{let markerElement;console.log(\"framerMarker\",marker,props.markerWidth,props.markerHeight);if(marker.img){const el=document.createElement(\"div\");el.className=\"custom-marker\";el.style.backgroundImage=`url(${marker.img})`;el.style.width=`${props.markerWidth}px`;el.style.height=`${props.markerHeight}px`;el.style.backgroundSize=\"cover\";markerElement=el;}new mapboxgl.Marker(markerElement).setLngLat([marker.longitude,marker.latitude]).addTo(mapRef.current);});}};// Add markers whenever the markers prop changes\nuseEffect(()=>{addMarkers();},[props.markers]);// Show error message if no API key is provided\nif(!props.accessToken){return /*#__PURE__*/_jsx(\"div\",{style:{...props.style,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"#f0f0f0\",color:\"#666\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"h3\",{children:\"Mapbox API Key Required\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Please add your Mapbox API key in the component properties\"})]})});}return /*#__PURE__*/_jsx(\"div\",{style:{...props.style},children:/*#__PURE__*/_jsx(\"div\",{className:\"map-container\",style:{...mapContainer},ref:mapContainerRef})});}export default Map;Map.defaultProps={accessToken:\"\",showDirectionsControl:true,showGeolocateControl:false,showFullscreen:true,showGeocoder:true,centerLat:54.5,centerLon:25.19,zoom:9,mapStyle:\"streets\",markerWidth:30,markerHeight:30};addPropertyControls(Map,{accessToken:{type:ControlType.String,title:\"Mapbox API Key\",defaultValue:\"\",placeholder:\"Enter your Mapbox API key\"},mapStyle:{type:ControlType.Enum,title:\"Map Style\",defaultValue:\"streets\",displaySegmentedControl:false,segmentedControlDirection:\"vertical\",options:[\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satelliteStreets\"],optionTitles:[\"Streets\",\"Outdoors\",\"Light\",\"Dark\",\"Satellite\",\"Satellite Streets\"]},centerLat:{type:ControlType.Number,title:\"Center Latitude\",defaultValue:54.5,min:-90,max:90,step:.001},centerLon:{type:ControlType.Number,title:\"Center Longitude\",defaultValue:25.19,min:-180,max:180,step:.001},zoom:{type:ControlType.Number,title:\"Zoom Level\",defaultValue:9,min:0,max:22,step:1},showGeocoder:{type:ControlType.Boolean,title:\"Show Search (Geocoder)\",defaultValue:true},geocoderPosition:{type:ControlType.Enum,title:\"Search Position\",defaultValue:\"top-left\",displaySegmentedControl:false,segmentedControlDirection:\"vertical\",options:[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\",\"top\",\"bottom\"],optionTitles:[\"Top-Left\",\"Top-Right\",\"Bottom-Left\",\"Bottom-Right\",\"Top\",\"Bottom\"],hidden(props){return props.showGeocoder===false;}},geocoderWidth:{type:ControlType.Number,title:\"Search Width\",defaultValue:400,min:240,max:500,unit:\"px\",step:1,hidden(props){return props.showGeocoder===false;}},geocoderBorder:{type:ControlType.Border,title:\"Search Border\",defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0.5)\"},hidden(props){return props.showGeocoder===false;}},geocoderBorderRadius:{type:ControlType.BorderRadius,title:\"Search Border Radius\",defaultValue:\"10px\",hidden(props){return props.showGeocoder===false;}},showGeolocateControl:{type:ControlType.Boolean,title:\"Show User Location\",defaultValue:false},showFullscreen:{type:ControlType.Boolean,title:\"Show Fullscreen Button\",defaultValue:true},markers:{type:ControlType.Array,title:\"Markers\",propertyControl:{type:ControlType.Object,controls:{id:{type:ControlType.String,title:\"ID\"},title:{type:ControlType.String,title:\"Title\"},latitude:{type:ControlType.Number,title:\"Latitude\"},longitude:{type:ControlType.Number,title:\"Longitude\"},content:{type:ControlType.String,title:\"Content\"},img:{type:ControlType.String,title:\"Image URL\"}}}},markerWidth:{type:ControlType.Number,title:\"Marker Width\",defaultValue:30,min:10,max:100,unit:\"px\"},markerHeight:{type:ControlType.Number,title:\"Marker Height\",defaultValue:30,min:10,max:100,unit:\"px\"}});const mapContainer={width:\"100%\",height:\"100%\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Map\",\"slots\":[\"children\"],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"600\",\"framerIntrinsicWidth\":\"600\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Map.map"],"mappings":"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"}